/usr/share/acl2-6.3/books/cutil/defprojection-tests.cert is in acl2-books-certs 6.3-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | (IN-PACKAGE "ACL2")
"ACL2 Version 6.3"
:BEGIN-PORTCULLIS-CMDS
(INCLUDE-BOOK "portcullis")
:END-PORTCULLIS-CMDS
:EXPANSION-ALIST
((3 RECORD-EXPANSION (MAKE-EVENT (PROG2$ (CW "~%~%~%WARNING! PRINTER ON FIRE!~%You are loading ~
cutil/defprojection-tests! Don't do that!~%~%") (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION T) (MAKE-EVENT (PROG2$ (CW "~%~%~%WARNING! PRINTER ON FIRE!~%You are loading ~
cutil/defprojection-tests! Don't do that!~%~%") (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (6 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::DUPE-LIST (CUTIL::X) (CUTIL::DUPE CUTIL::X) :OPTIMIZE NIL) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::DUPE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::DUPE-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::DUPE-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::DUPE-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::DUPE-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-CONS (EQUAL (CUTIL::DUPE-LIST (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-DUPE-LIST (EQUAL (TRUE-LISTP (CUTIL::DUPE-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-DUPE-LIST (EQUAL (LEN (CUTIL::DUPE-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-DUPE-LIST (EQUAL (CONSP (CUTIL::DUPE-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-DUPE-LIST (EQUAL (CAR (CUTIL::DUPE-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::DUPE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-DUPE-LIST (EQUAL (CDR (CUTIL::DUPE-LIST CUTIL::X)) (CUTIL::DUPE-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-UNDER-IFF (IFF (CUTIL::DUPE-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-LIST-FIX (EQUAL (CUTIL::DUPE-LIST (LIST-FIX CUTIL::X)) (CUTIL::DUPE-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-APPEND (EQUAL (CUTIL::DUPE-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::DUPE-LIST CUTIL::X) (CUTIL::DUPE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-REV (EQUAL (CUTIL::DUPE-LIST (REV CUTIL::X)) (REV (CUTIL::DUPE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-OF-APPEND CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-REVAPPEND (EQUAL (CUTIL::DUPE-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::DUPE-LIST CUTIL::X) (CUTIL::DUPE-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-OF-APPEND CUTIL::DUPE-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-DUPE-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::DUPE-LIST CUTIL::X)) (CUTIL::DUPE-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-DUPE-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::DUPE-LIST CUTIL::X) (CUTIL::DUPE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST-WHEN-MEMBER-EQUAL CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-EXEC-REMOVAL (EQUAL (CUTIL::DUPE-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::DUPE-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::DUPE-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-EXEC CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST CUTIL::DUPE-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-DUPE-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::DUPE-LIST CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::DUPE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::DUPE-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::DUPE-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::DUPE-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::DUPE-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-CONS (EQUAL (CUTIL::DUPE-LIST (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-DUPE-LIST (EQUAL (TRUE-LISTP (CUTIL::DUPE-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-DUPE-LIST (EQUAL (LEN (CUTIL::DUPE-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-DUPE-LIST (EQUAL (CONSP (CUTIL::DUPE-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-DUPE-LIST (EQUAL (CAR (CUTIL::DUPE-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::DUPE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-DUPE-LIST (EQUAL (CDR (CUTIL::DUPE-LIST CUTIL::X)) (CUTIL::DUPE-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-UNDER-IFF (IFF (CUTIL::DUPE-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-LIST-FIX (EQUAL (CUTIL::DUPE-LIST (LIST-FIX CUTIL::X)) (CUTIL::DUPE-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-APPEND (EQUAL (CUTIL::DUPE-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::DUPE-LIST CUTIL::X) (CUTIL::DUPE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-REV (EQUAL (CUTIL::DUPE-LIST (REV CUTIL::X)) (REV (CUTIL::DUPE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-OF-APPEND CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-OF-REVAPPEND (EQUAL (CUTIL::DUPE-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::DUPE-LIST CUTIL::X) (CUTIL::DUPE-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-OF-APPEND CUTIL::DUPE-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-DUPE-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::DUPE-LIST CUTIL::X)) (CUTIL::DUPE-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-DUPE-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::DUPE-LIST CUTIL::X) (CUTIL::DUPE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST-WHEN-MEMBER-EQUAL CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST-EXEC-REMOVAL (EQUAL (CUTIL::DUPE-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::DUPE-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::DUPE-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-EXEC CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST CUTIL::DUPE-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-DUPE-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::DUPE-LIST CUTIL::DUPE-LIST-WHEN-NOT-CONSP CUTIL::DUPE-LIST-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::DUPE-LIST)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call DUPE-LIST) maps @(see CUTIL::DUPE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::DUPE-LIST) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call DUPE-LIST) maps @(see CUTIL::DUPE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|DUPE-LIST-EXEC|)
@(def |CUTIL|::|DUPE-LIST|)
@(def |CUTIL|::|DUPE-LIST-WHEN-NOT-CONSP|)
@(def |CUTIL|::|DUPE-LIST-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-DUPE-LIST|)
@(def |CUTIL|::|LEN-OF-DUPE-LIST|)
@(def |CUTIL|::|CONSP-OF-DUPE-LIST|)
@(def |CUTIL|::|CAR-OF-DUPE-LIST|)
@(def |CUTIL|::|CDR-OF-DUPE-LIST|)
@(def |CUTIL|::|DUPE-LIST-UNDER-IFF|)
@(def |CUTIL|::|DUPE-LIST-OF-LIST-FIX|)
@(def |CUTIL|::|DUPE-LIST-OF-APPEND|)
@(def |CUTIL|::|DUPE-LIST-OF-REV|)
@(def |CUTIL|::|DUPE-LIST-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-DUPE-LIST|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-DUPE-LISTS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|DUPE-LIST-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::DUPE-LIST)))))) (VALUE-TRIPLE (QUOTE CUTIL::DUPE-LIST))))) (7 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::DUPE-LIST2 (CUTIL::X) (CUTIL::DUPE CUTIL::X) :OPTIMIZE T) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST2)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::DUPE-LIST2-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST2-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST2 (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST2 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::DUPE-LIST2-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::DUPE-LIST2-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::DUPE-LIST2-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::DUPE-LIST2 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-CONS (EQUAL (CUTIL::DUPE-LIST2 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST2 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-DUPE-LIST2 (EQUAL (TRUE-LISTP (CUTIL::DUPE-LIST2 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-DUPE-LIST2 (EQUAL (LEN (CUTIL::DUPE-LIST2 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-DUPE-LIST2 (EQUAL (CONSP (CUTIL::DUPE-LIST2 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-DUPE-LIST2 (EQUAL (CAR (CUTIL::DUPE-LIST2 CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::DUPE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-DUPE-LIST2 (EQUAL (CDR (CUTIL::DUPE-LIST2 CUTIL::X)) (CUTIL::DUPE-LIST2 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-UNDER-IFF (IFF (CUTIL::DUPE-LIST2 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-LIST-FIX (EQUAL (CUTIL::DUPE-LIST2 (LIST-FIX CUTIL::X)) (CUTIL::DUPE-LIST2 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-APPEND (EQUAL (CUTIL::DUPE-LIST2 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::DUPE-LIST2 CUTIL::X) (CUTIL::DUPE-LIST2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-REV (EQUAL (CUTIL::DUPE-LIST2 (REV CUTIL::X)) (REV (CUTIL::DUPE-LIST2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-OF-APPEND CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-REVAPPEND (EQUAL (CUTIL::DUPE-LIST2 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::DUPE-LIST2 CUTIL::X) (CUTIL::DUPE-LIST2 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-OF-APPEND CUTIL::DUPE-LIST2-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-DUPE-LIST2 (EQUAL (NTHCDR CUTIL::N (CUTIL::DUPE-LIST2 CUTIL::X)) (CUTIL::DUPE-LIST2 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST2-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-DUPE-LIST2S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::DUPE-LIST2 CUTIL::X) (CUTIL::DUPE-LIST2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST2-WHEN-MEMBER-EQUAL CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-EXEC-REMOVAL (EQUAL (CUTIL::DUPE-LIST2-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::DUPE-LIST2 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::DUPE-LIST2-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-EXEC CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST2-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST2 :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2 CUTIL::DUPE-LIST2-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-DUPE-LIST2 REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST2) (QUOTE (DEFUN CUTIL::DUPE-LIST2 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::DUPE-LIST2-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST2 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::DUPE-LIST2 CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::DUPE-LIST2-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST2-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST2 (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST2 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::DUPE-LIST2-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::DUPE-LIST2-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::DUPE-LIST2-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::DUPE-LIST2 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-CONS (EQUAL (CUTIL::DUPE-LIST2 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST2 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-DUPE-LIST2 (EQUAL (TRUE-LISTP (CUTIL::DUPE-LIST2 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-DUPE-LIST2 (EQUAL (LEN (CUTIL::DUPE-LIST2 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-DUPE-LIST2 (EQUAL (CONSP (CUTIL::DUPE-LIST2 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-DUPE-LIST2 (EQUAL (CAR (CUTIL::DUPE-LIST2 CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::DUPE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-DUPE-LIST2 (EQUAL (CDR (CUTIL::DUPE-LIST2 CUTIL::X)) (CUTIL::DUPE-LIST2 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-UNDER-IFF (IFF (CUTIL::DUPE-LIST2 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-LIST-FIX (EQUAL (CUTIL::DUPE-LIST2 (LIST-FIX CUTIL::X)) (CUTIL::DUPE-LIST2 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-APPEND (EQUAL (CUTIL::DUPE-LIST2 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::DUPE-LIST2 CUTIL::X) (CUTIL::DUPE-LIST2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-REV (EQUAL (CUTIL::DUPE-LIST2 (REV CUTIL::X)) (REV (CUTIL::DUPE-LIST2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-OF-APPEND CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-OF-REVAPPEND (EQUAL (CUTIL::DUPE-LIST2 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::DUPE-LIST2 CUTIL::X) (CUTIL::DUPE-LIST2 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-OF-APPEND CUTIL::DUPE-LIST2-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-DUPE-LIST2 (EQUAL (NTHCDR CUTIL::N (CUTIL::DUPE-LIST2 CUTIL::X)) (CUTIL::DUPE-LIST2 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST2-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-DUPE-LIST2S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::DUPE-LIST2 CUTIL::X) (CUTIL::DUPE-LIST2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST2-WHEN-MEMBER-EQUAL CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST2-EXEC-REMOVAL (EQUAL (CUTIL::DUPE-LIST2-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::DUPE-LIST2 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::DUPE-LIST2-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-EXEC CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST2-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::DUPE-LIST2 :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST2 CUTIL::DUPE-LIST2-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-DUPE-LIST2 REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST2) (QUOTE (DEFUN CUTIL::DUPE-LIST2 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::DUPE-LIST2-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST2 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST2) (QUOTE (DEFUN CUTIL::DUPE-LIST2 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST2) (QUOTE (DEFUN CUTIL::DUPE-LIST2 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::DUPE-LIST2-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::DUPE-LIST2-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST2 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST2-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::DUPE-LIST2 CUTIL::DUPE-LIST2-WHEN-NOT-CONSP CUTIL::DUPE-LIST2-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::DUPE-LIST2)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call DUPE-LIST2) maps @(see CUTIL::DUPE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST2))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::DUPE-LIST2) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call DUPE-LIST2) maps @(see CUTIL::DUPE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|DUPE-LIST2-EXEC|)
@(def |CUTIL|::|DUPE-LIST2|)
@(def |CUTIL|::|DUPE-LIST2-WHEN-NOT-CONSP|)
@(def |CUTIL|::|DUPE-LIST2-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-DUPE-LIST2|)
@(def |CUTIL|::|LEN-OF-DUPE-LIST2|)
@(def |CUTIL|::|CONSP-OF-DUPE-LIST2|)
@(def |CUTIL|::|CAR-OF-DUPE-LIST2|)
@(def |CUTIL|::|CDR-OF-DUPE-LIST2|)
@(def |CUTIL|::|DUPE-LIST2-UNDER-IFF|)
@(def |CUTIL|::|DUPE-LIST2-OF-LIST-FIX|)
@(def |CUTIL|::|DUPE-LIST2-OF-APPEND|)
@(def |CUTIL|::|DUPE-LIST2-OF-REV|)
@(def |CUTIL|::|DUPE-LIST2-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-DUPE-LIST2|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST2-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-DUPE-LIST2S-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|DUPE-LIST2-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::DUPE-LIST2)))))) (VALUE-TRIPLE (QUOTE CUTIL::DUPE-LIST2))))) (8 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::DUPE-LIST3 (CUTIL::X) (CUTIL::DUPE CUTIL::X) :VERIFY-GUARDS NIL) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST3)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::DUPE-LIST3-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST3-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST3 (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST3 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::DUPE-LIST3-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::DUPE-LIST3-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::DUPE-LIST3-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::DUPE-LIST3 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-CONS (EQUAL (CUTIL::DUPE-LIST3 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST3 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-DUPE-LIST3 (EQUAL (TRUE-LISTP (CUTIL::DUPE-LIST3 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-DUPE-LIST3 (EQUAL (LEN (CUTIL::DUPE-LIST3 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-DUPE-LIST3 (EQUAL (CONSP (CUTIL::DUPE-LIST3 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-DUPE-LIST3 (EQUAL (CAR (CUTIL::DUPE-LIST3 CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::DUPE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-DUPE-LIST3 (EQUAL (CDR (CUTIL::DUPE-LIST3 CUTIL::X)) (CUTIL::DUPE-LIST3 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-UNDER-IFF (IFF (CUTIL::DUPE-LIST3 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-LIST-FIX (EQUAL (CUTIL::DUPE-LIST3 (LIST-FIX CUTIL::X)) (CUTIL::DUPE-LIST3 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-APPEND (EQUAL (CUTIL::DUPE-LIST3 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::DUPE-LIST3 CUTIL::X) (CUTIL::DUPE-LIST3 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-REV (EQUAL (CUTIL::DUPE-LIST3 (REV CUTIL::X)) (REV (CUTIL::DUPE-LIST3 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-OF-APPEND CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-REVAPPEND (EQUAL (CUTIL::DUPE-LIST3 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::DUPE-LIST3 CUTIL::X) (CUTIL::DUPE-LIST3 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-OF-APPEND CUTIL::DUPE-LIST3-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-DUPE-LIST3 (EQUAL (NTHCDR CUTIL::N (CUTIL::DUPE-LIST3 CUTIL::X)) (CUTIL::DUPE-LIST3 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST3-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST3 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-DUPE-LIST3S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::DUPE-LIST3 CUTIL::X) (CUTIL::DUPE-LIST3 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST3-WHEN-MEMBER-EQUAL CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-EXEC-REMOVAL (EQUAL (CUTIL::DUPE-LIST3-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::DUPE-LIST3 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::DUPE-LIST3-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-EXEC CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST3) (QUOTE (DEFUN CUTIL::DUPE-LIST3 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::DUPE-LIST3-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST3 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::DUPE-LIST3 CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::DUPE-LIST3-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST3-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST3 (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST3 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::DUPE-LIST3-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::DUPE-LIST3-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::DUPE-LIST3-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::DUPE-LIST3 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-CONS (EQUAL (CUTIL::DUPE-LIST3 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST3 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-DUPE-LIST3 (EQUAL (TRUE-LISTP (CUTIL::DUPE-LIST3 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-DUPE-LIST3 (EQUAL (LEN (CUTIL::DUPE-LIST3 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-DUPE-LIST3 (EQUAL (CONSP (CUTIL::DUPE-LIST3 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-DUPE-LIST3 (EQUAL (CAR (CUTIL::DUPE-LIST3 CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::DUPE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-DUPE-LIST3 (EQUAL (CDR (CUTIL::DUPE-LIST3 CUTIL::X)) (CUTIL::DUPE-LIST3 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-UNDER-IFF (IFF (CUTIL::DUPE-LIST3 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-LIST-FIX (EQUAL (CUTIL::DUPE-LIST3 (LIST-FIX CUTIL::X)) (CUTIL::DUPE-LIST3 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-APPEND (EQUAL (CUTIL::DUPE-LIST3 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::DUPE-LIST3 CUTIL::X) (CUTIL::DUPE-LIST3 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-REV (EQUAL (CUTIL::DUPE-LIST3 (REV CUTIL::X)) (REV (CUTIL::DUPE-LIST3 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-OF-APPEND CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-OF-REVAPPEND (EQUAL (CUTIL::DUPE-LIST3 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::DUPE-LIST3 CUTIL::X) (CUTIL::DUPE-LIST3 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-OF-APPEND CUTIL::DUPE-LIST3-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-DUPE-LIST3 (EQUAL (NTHCDR CUTIL::N (CUTIL::DUPE-LIST3 CUTIL::X)) (CUTIL::DUPE-LIST3 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST3-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::DUPE CUTIL::A) (CUTIL::DUPE-LIST3 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-DUPE-LIST3S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::DUPE-LIST3 CUTIL::X) (CUTIL::DUPE-LIST3 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST3-WHEN-MEMBER-EQUAL CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::DUPE-LIST3-EXEC-REMOVAL (EQUAL (CUTIL::DUPE-LIST3-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::DUPE-LIST3 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::DUPE-LIST3-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::DUPE-LIST3-EXEC CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST3) (QUOTE (DEFUN CUTIL::DUPE-LIST3 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::DUPE-LIST3-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST3 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST3) (QUOTE (DEFUN CUTIL::DUPE-LIST3 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST3) (QUOTE (DEFUN CUTIL::DUPE-LIST3 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::DUPE-LIST3-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::DUPE-LIST3-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST3 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST3-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::DUPE-LIST3 CUTIL::DUPE-LIST3-WHEN-NOT-CONSP CUTIL::DUPE-LIST3-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::DUPE-LIST3)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call DUPE-LIST3) maps @(see CUTIL::DUPE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST3))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::DUPE-LIST3) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call DUPE-LIST3) maps @(see CUTIL::DUPE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|DUPE-LIST3-EXEC|)
@(def |CUTIL|::|DUPE-LIST3|)
@(def |CUTIL|::|DUPE-LIST3-WHEN-NOT-CONSP|)
@(def |CUTIL|::|DUPE-LIST3-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-DUPE-LIST3|)
@(def |CUTIL|::|LEN-OF-DUPE-LIST3|)
@(def |CUTIL|::|CONSP-OF-DUPE-LIST3|)
@(def |CUTIL|::|CAR-OF-DUPE-LIST3|)
@(def |CUTIL|::|CDR-OF-DUPE-LIST3|)
@(def |CUTIL|::|DUPE-LIST3-UNDER-IFF|)
@(def |CUTIL|::|DUPE-LIST3-OF-LIST-FIX|)
@(def |CUTIL|::|DUPE-LIST3-OF-APPEND|)
@(def |CUTIL|::|DUPE-LIST3-OF-REV|)
@(def |CUTIL|::|DUPE-LIST3-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-DUPE-LIST3|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-DUPE-IN-DUPE-LIST3-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-DUPE-LIST3S-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|DUPE-LIST3-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::DUPE-LIST3)))))) (VALUE-TRIPLE (QUOTE CUTIL::DUPE-LIST3))))) (9 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::DUPE-LIST4 (CUTIL::X) (CUTIL::DUPE CUTIL::X) :MODE :PROGRAM) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST4)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (PROGRAM) (DEFUND CUTIL::DUPE-LIST4-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST4-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST4 (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST4 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST4) (QUOTE (DEFUN CUTIL::DUPE-LIST4 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::DUPE-LIST4-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST4 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (PROGRAM) (DEFUND CUTIL::DUPE-LIST4-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD T :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::DUPE-LIST4-EXEC (CDR CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::DUPE-LIST4 (CUTIL::X) (DECLARE (XARGS :GUARD T :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::DUPE (CAR CUTIL::X)) (CUTIL::DUPE-LIST4 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST4) (QUOTE (DEFUN CUTIL::DUPE-LIST4 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::DUPE-LIST4-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST4 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST4) (QUOTE (DEFUN CUTIL::DUPE-LIST4 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::DUPE-LIST4) (QUOTE (DEFUN CUTIL::DUPE-LIST4 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::DUPE-LIST4-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::DUPE-LIST4-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::DUPE-LIST4 (CUTIL::X) (NREVERSE (CUTIL::DUPE-LIST4-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::DUPE-LIST4)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call DUPE-LIST4) maps @(see CUTIL::DUPE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::DUPE-LIST4))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::DUPE-LIST4) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call DUPE-LIST4) maps @(see CUTIL::DUPE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|DUPE-LIST4-EXEC|)
@(def |CUTIL|::|DUPE-LIST4|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::DUPE-LIST4)))))) (VALUE-TRIPLE (QUOTE CUTIL::DUPE-LIST4))))) (12 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::SLOW-SQUARE-LIST (CUTIL::X) (CUTIL::SQUARE CUTIL::X) :GUARD (INTEGER-LISTP CUTIL::X) :OPTIMIZE NIL) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SLOW-SQUARE-LIST)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SLOW-SQUARE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SLOW-SQUARE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SLOW-SQUARE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SLOW-SQUARE-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SLOW-SQUARE-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SLOW-SQUARE-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-CONS (EQUAL (CUTIL::SLOW-SQUARE-LIST (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SLOW-SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SLOW-SQUARE-LIST (EQUAL (TRUE-LISTP (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SLOW-SQUARE-LIST (EQUAL (LEN (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SLOW-SQUARE-LIST (EQUAL (CONSP (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SLOW-SQUARE-LIST (EQUAL (CAR (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SLOW-SQUARE-LIST (EQUAL (CDR (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-UNDER-IFF (IFF (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-LIST-FIX (EQUAL (CUTIL::SLOW-SQUARE-LIST (LIST-FIX CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-APPEND (EQUAL (CUTIL::SLOW-SQUARE-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CUTIL::SLOW-SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-REV (EQUAL (CUTIL::SLOW-SQUARE-LIST (REV CUTIL::X)) (REV (CUTIL::SLOW-SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-OF-APPEND CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-REVAPPEND (EQUAL (CUTIL::SLOW-SQUARE-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CUTIL::SLOW-SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-OF-APPEND CUTIL::SLOW-SQUARE-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SLOW-SQUARE-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SLOW-SQUARE-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SLOW-SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SLOW-SQUARE-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CUTIL::SLOW-SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SLOW-SQUARE-LIST-WHEN-MEMBER-EQUAL CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SLOW-SQUARE-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SLOW-SQUARE-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SLOW-SQUARE-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST CUTIL::SLOW-SQUARE-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SLOW-SQUARE-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::SLOW-SQUARE-LIST CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SLOW-SQUARE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SLOW-SQUARE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SLOW-SQUARE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SLOW-SQUARE-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SLOW-SQUARE-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SLOW-SQUARE-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-CONS (EQUAL (CUTIL::SLOW-SQUARE-LIST (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SLOW-SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SLOW-SQUARE-LIST (EQUAL (TRUE-LISTP (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SLOW-SQUARE-LIST (EQUAL (LEN (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SLOW-SQUARE-LIST (EQUAL (CONSP (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SLOW-SQUARE-LIST (EQUAL (CAR (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SLOW-SQUARE-LIST (EQUAL (CDR (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-UNDER-IFF (IFF (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-LIST-FIX (EQUAL (CUTIL::SLOW-SQUARE-LIST (LIST-FIX CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-APPEND (EQUAL (CUTIL::SLOW-SQUARE-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CUTIL::SLOW-SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-REV (EQUAL (CUTIL::SLOW-SQUARE-LIST (REV CUTIL::X)) (REV (CUTIL::SLOW-SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-OF-APPEND CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-OF-REVAPPEND (EQUAL (CUTIL::SLOW-SQUARE-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CUTIL::SLOW-SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-OF-APPEND CUTIL::SLOW-SQUARE-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SLOW-SQUARE-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (CUTIL::SLOW-SQUARE-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SLOW-SQUARE-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SLOW-SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SLOW-SQUARE-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SLOW-SQUARE-LIST CUTIL::X) (CUTIL::SLOW-SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SLOW-SQUARE-LIST-WHEN-MEMBER-EQUAL CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SLOW-SQUARE-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SLOW-SQUARE-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-EXEC CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SLOW-SQUARE-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SLOW-SQUARE-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SLOW-SQUARE-LIST CUTIL::SLOW-SQUARE-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SLOW-SQUARE-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::SLOW-SQUARE-LIST CUTIL::SLOW-SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SLOW-SQUARE-LIST-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::SLOW-SQUARE-LIST)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call SLOW-SQUARE-LIST) maps @(see CUTIL::SQUARE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SLOW-SQUARE-LIST))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::SLOW-SQUARE-LIST) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call SLOW-SQUARE-LIST) maps @(see CUTIL::SQUARE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|SLOW-SQUARE-LIST-EXEC|)
@(def |CUTIL|::|SLOW-SQUARE-LIST|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-WHEN-NOT-CONSP|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-SLOW-SQUARE-LIST|)
@(def |CUTIL|::|LEN-OF-SLOW-SQUARE-LIST|)
@(def |CUTIL|::|CONSP-OF-SLOW-SQUARE-LIST|)
@(def |CUTIL|::|CAR-OF-SLOW-SQUARE-LIST|)
@(def |CUTIL|::|CDR-OF-SLOW-SQUARE-LIST|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-UNDER-IFF|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-OF-LIST-FIX|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-OF-APPEND|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-OF-REV|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-SLOW-SQUARE-LIST|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-SQUARE-IN-SLOW-SQUARE-LIST-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-SLOW-SQUARE-LISTS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|SLOW-SQUARE-LIST-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::SLOW-SQUARE-LIST)))))) (VALUE-TRIPLE (QUOTE CUTIL::SLOW-SQUARE-LIST))))) (13 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::SQUARE-LIST (CUTIL::X) (CUTIL::SQUARE CUTIL::X) :GUARD (INTEGER-LISTP CUTIL::X)) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SQUARE-LIST)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SQUARE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SQUARE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SQUARE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SQUARE-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SQUARE-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::SQUARE-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SQUARE-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-CONS (EQUAL (CUTIL::SQUARE-LIST (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SQUARE-LIST (EQUAL (TRUE-LISTP (CUTIL::SQUARE-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SQUARE-LIST (EQUAL (LEN (CUTIL::SQUARE-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SQUARE-LIST (EQUAL (CONSP (CUTIL::SQUARE-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SQUARE-LIST (EQUAL (CAR (CUTIL::SQUARE-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SQUARE-LIST (EQUAL (CDR (CUTIL::SQUARE-LIST CUTIL::X)) (CUTIL::SQUARE-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-UNDER-IFF (IFF (CUTIL::SQUARE-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-LIST-FIX (EQUAL (CUTIL::SQUARE-LIST (LIST-FIX CUTIL::X)) (CUTIL::SQUARE-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-APPEND (EQUAL (CUTIL::SQUARE-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-REV (EQUAL (CUTIL::SQUARE-LIST (REV CUTIL::X)) (REV (CUTIL::SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-OF-APPEND CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-REVAPPEND (EQUAL (CUTIL::SQUARE-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-OF-APPEND CUTIL::SQUARE-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SQUARE-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SQUARE-LIST CUTIL::X)) (CUTIL::SQUARE-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SQUARE-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-WHEN-MEMBER-EQUAL CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SQUARE-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-EXEC CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST CUTIL::SQUARE-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SQUARE-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SQUARE-LIST) (QUOTE (DEFUN CUTIL::SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::SQUARE-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::SQUARE-LIST CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SQUARE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SQUARE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SQUARE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SQUARE-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SQUARE-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::SQUARE-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SQUARE-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-CONS (EQUAL (CUTIL::SQUARE-LIST (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SQUARE-LIST (EQUAL (TRUE-LISTP (CUTIL::SQUARE-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SQUARE-LIST (EQUAL (LEN (CUTIL::SQUARE-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SQUARE-LIST (EQUAL (CONSP (CUTIL::SQUARE-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SQUARE-LIST (EQUAL (CAR (CUTIL::SQUARE-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SQUARE-LIST (EQUAL (CDR (CUTIL::SQUARE-LIST CUTIL::X)) (CUTIL::SQUARE-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-UNDER-IFF (IFF (CUTIL::SQUARE-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-LIST-FIX (EQUAL (CUTIL::SQUARE-LIST (LIST-FIX CUTIL::X)) (CUTIL::SQUARE-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-APPEND (EQUAL (CUTIL::SQUARE-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-REV (EQUAL (CUTIL::SQUARE-LIST (REV CUTIL::X)) (REV (CUTIL::SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-OF-APPEND CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-OF-REVAPPEND (EQUAL (CUTIL::SQUARE-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-OF-APPEND CUTIL::SQUARE-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SQUARE-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SQUARE-LIST CUTIL::X)) (CUTIL::SQUARE-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SQUARE-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::SQUARE-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-WHEN-MEMBER-EQUAL CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SQUARE-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SQUARE-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-EXEC CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST CUTIL::SQUARE-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SQUARE-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SQUARE-LIST) (QUOTE (DEFUN CUTIL::SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::SQUARE-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SQUARE-LIST) (QUOTE (DEFUN CUTIL::SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SQUARE-LIST) (QUOTE (DEFUN CUTIL::SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::SQUARE-LIST-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::SQUARE-LIST-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::SQUARE-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::SQUARE-LIST CUTIL::SQUARE-LIST-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::SQUARE-LIST)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call SQUARE-LIST) maps @(see CUTIL::SQUARE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SQUARE-LIST))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::SQUARE-LIST) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call SQUARE-LIST) maps @(see CUTIL::SQUARE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|SQUARE-LIST-EXEC|)
@(def |CUTIL|::|SQUARE-LIST|)
@(def |CUTIL|::|SQUARE-LIST-WHEN-NOT-CONSP|)
@(def |CUTIL|::|SQUARE-LIST-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-SQUARE-LIST|)
@(def |CUTIL|::|LEN-OF-SQUARE-LIST|)
@(def |CUTIL|::|CONSP-OF-SQUARE-LIST|)
@(def |CUTIL|::|CAR-OF-SQUARE-LIST|)
@(def |CUTIL|::|CDR-OF-SQUARE-LIST|)
@(def |CUTIL|::|SQUARE-LIST-UNDER-IFF|)
@(def |CUTIL|::|SQUARE-LIST-OF-LIST-FIX|)
@(def |CUTIL|::|SQUARE-LIST-OF-APPEND|)
@(def |CUTIL|::|SQUARE-LIST-OF-REV|)
@(def |CUTIL|::|SQUARE-LIST-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-SQUARE-LIST|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-SQUARE-LISTS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|SQUARE-LIST-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::SQUARE-LIST)))))) (VALUE-TRIPLE (QUOTE CUTIL::SQUARE-LIST))))) (14 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (CUTIL::SQUARE CUTIL::X) :GUARD (INTEGER-LISTP CUTIL::X) :MODE :PROGRAM) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::PROGRAM-SQUARE-LIST)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (PROGRAM) (DEFUND CUTIL::PROGRAM-SQUARE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::PROGRAM-SQUARE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::PROGRAM-SQUARE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::PROGRAM-SQUARE-LIST) (QUOTE (DEFUN CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::PROGRAM-SQUARE-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (PROGRAM) (DEFUND CUTIL::PROGRAM-SQUARE-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::PROGRAM-SQUARE-LIST-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :PROGRAM :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::PROGRAM-SQUARE-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::PROGRAM-SQUARE-LIST) (QUOTE (DEFUN CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::PROGRAM-SQUARE-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::PROGRAM-SQUARE-LIST) (QUOTE (DEFUN CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::PROGRAM-SQUARE-LIST) (QUOTE (DEFUN CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::PROGRAM-SQUARE-LIST-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::PROGRAM-SQUARE-LIST-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::PROGRAM-SQUARE-LIST (CUTIL::X) (NREVERSE (CUTIL::PROGRAM-SQUARE-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::PROGRAM-SQUARE-LIST)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call PROGRAM-SQUARE-LIST) maps @(see CUTIL::SQUARE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::PROGRAM-SQUARE-LIST))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::PROGRAM-SQUARE-LIST) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call PROGRAM-SQUARE-LIST) maps @(see CUTIL::SQUARE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|PROGRAM-SQUARE-LIST-EXEC|)
@(def |CUTIL|::|PROGRAM-SQUARE-LIST|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::PROGRAM-SQUARE-LIST)))))) (VALUE-TRIPLE (QUOTE CUTIL::PROGRAM-SQUARE-LIST))))) (15 RECORD-EXPANSION (ASSERT! (LET ((CUTIL::X (QUOTE (1 2 3 4 5 6 7 8 9 10)))) (AND (EQUAL (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::SLOW-SQUARE-LIST CUTIL::X)) (EQUAL (CUTIL::SQUARE-LIST CUTIL::X) (CUTIL::PROGRAM-SQUARE-LIST CUTIL::X))))) (VALUE-TRIPLE :SUCCESS)) (18 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::SQUARE-LIST-R (CUTIL::X) (CUTIL::SQUARE CUTIL::X) :GUARD (INTEGER-LISTP CUTIL::X) :RESULT-TYPE INTEGER-LISTP :OPTIMIZE NIL) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SQUARE-LIST-R)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SQUARE-LIST-R-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE-LIST-R-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SQUARE-LIST-R (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SQUARE-LIST-R (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SQUARE-LIST-R-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SQUARE-LIST-R-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SQUARE-LIST-R-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SQUARE-LIST-R CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-CONS (EQUAL (CUTIL::SQUARE-LIST-R (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R (EQUAL (TRUE-LISTP (CUTIL::SQUARE-LIST-R CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SQUARE-LIST-R (EQUAL (LEN (CUTIL::SQUARE-LIST-R CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SQUARE-LIST-R (EQUAL (CONSP (CUTIL::SQUARE-LIST-R CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SQUARE-LIST-R (EQUAL (CAR (CUTIL::SQUARE-LIST-R CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SQUARE-LIST-R (EQUAL (CDR (CUTIL::SQUARE-LIST-R CUTIL::X)) (CUTIL::SQUARE-LIST-R (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-UNDER-IFF (IFF (CUTIL::SQUARE-LIST-R CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-LIST-FIX (EQUAL (CUTIL::SQUARE-LIST-R (LIST-FIX CUTIL::X)) (CUTIL::SQUARE-LIST-R CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-APPEND (EQUAL (CUTIL::SQUARE-LIST-R (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SQUARE-LIST-R CUTIL::X) (CUTIL::SQUARE-LIST-R CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-REV (EQUAL (CUTIL::SQUARE-LIST-R (REV CUTIL::X)) (REV (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-OF-APPEND CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-REVAPPEND (EQUAL (CUTIL::SQUARE-LIST-R (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SQUARE-LIST-R CUTIL::X) (CUTIL::SQUARE-LIST-R CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-OF-APPEND CUTIL::SQUARE-LIST-R-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SQUARE-LIST-R (EQUAL (NTHCDR CUTIL::N (CUTIL::SQUARE-LIST-R CUTIL::X)) (CUTIL::SQUARE-LIST-R (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SQUARE-LIST-RS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SQUARE-LIST-R CUTIL::X) (CUTIL::SQUARE-LIST-R CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R-WHEN-MEMBER-EQUAL CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-EXEC-REMOVAL (EQUAL (CUTIL::SQUARE-LIST-R-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SQUARE-LIST-R CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SQUARE-LIST-R-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-EXEC CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R CUTIL::SQUARE-LIST-R-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::SQUARE-LIST-R CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS))) (DEFTHM CUTIL::INTEGER-LISTP-OF-SQUARE-LIST-R (IMPLIES (FORCE (INTEGER-LISTP CUTIL::X)) (INTEGER-LISTP (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (ENABLE (:INDUCTION LEN))))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SQUARE-LIST-R-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE-LIST-R-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SQUARE-LIST-R (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SQUARE-LIST-R (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SQUARE-LIST-R-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SQUARE-LIST-R-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SQUARE-LIST-R-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SQUARE-LIST-R CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-CONS (EQUAL (CUTIL::SQUARE-LIST-R (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R (EQUAL (TRUE-LISTP (CUTIL::SQUARE-LIST-R CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SQUARE-LIST-R (EQUAL (LEN (CUTIL::SQUARE-LIST-R CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SQUARE-LIST-R (EQUAL (CONSP (CUTIL::SQUARE-LIST-R CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SQUARE-LIST-R (EQUAL (CAR (CUTIL::SQUARE-LIST-R CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SQUARE-LIST-R (EQUAL (CDR (CUTIL::SQUARE-LIST-R CUTIL::X)) (CUTIL::SQUARE-LIST-R (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-UNDER-IFF (IFF (CUTIL::SQUARE-LIST-R CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-LIST-FIX (EQUAL (CUTIL::SQUARE-LIST-R (LIST-FIX CUTIL::X)) (CUTIL::SQUARE-LIST-R CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-APPEND (EQUAL (CUTIL::SQUARE-LIST-R (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SQUARE-LIST-R CUTIL::X) (CUTIL::SQUARE-LIST-R CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-REV (EQUAL (CUTIL::SQUARE-LIST-R (REV CUTIL::X)) (REV (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-OF-APPEND CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-OF-REVAPPEND (EQUAL (CUTIL::SQUARE-LIST-R (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SQUARE-LIST-R CUTIL::X) (CUTIL::SQUARE-LIST-R CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-OF-APPEND CUTIL::SQUARE-LIST-R-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SQUARE-LIST-R (EQUAL (NTHCDR CUTIL::N (CUTIL::SQUARE-LIST-R CUTIL::X)) (CUTIL::SQUARE-LIST-R (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SQUARE-LIST-RS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SQUARE-LIST-R CUTIL::X) (CUTIL::SQUARE-LIST-R CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R-WHEN-MEMBER-EQUAL CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R-EXEC-REMOVAL (EQUAL (CUTIL::SQUARE-LIST-R-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SQUARE-LIST-R CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SQUARE-LIST-R-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-EXEC CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R CUTIL::SQUARE-LIST-R-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::SQUARE-LIST-R CUTIL::SQUARE-LIST-R-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R-OF-CONS))) (DEFTHM CUTIL::INTEGER-LISTP-OF-SQUARE-LIST-R (IMPLIES (FORCE (INTEGER-LISTP CUTIL::X)) (INTEGER-LISTP (CUTIL::SQUARE-LIST-R CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (ENABLE (:INDUCTION LEN)))))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::SQUARE-LIST-R)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call SQUARE-LIST-R) maps @(see CUTIL::SQUARE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SQUARE-LIST-R))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::SQUARE-LIST-R) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call SQUARE-LIST-R) maps @(see CUTIL::SQUARE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|SQUARE-LIST-R-EXEC|)
@(def |CUTIL|::|SQUARE-LIST-R|)
@(def |CUTIL|::|SQUARE-LIST-R-WHEN-NOT-CONSP|)
@(def |CUTIL|::|SQUARE-LIST-R-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-SQUARE-LIST-R|)
@(def |CUTIL|::|LEN-OF-SQUARE-LIST-R|)
@(def |CUTIL|::|CONSP-OF-SQUARE-LIST-R|)
@(def |CUTIL|::|CAR-OF-SQUARE-LIST-R|)
@(def |CUTIL|::|CDR-OF-SQUARE-LIST-R|)
@(def |CUTIL|::|SQUARE-LIST-R-UNDER-IFF|)
@(def |CUTIL|::|SQUARE-LIST-R-OF-LIST-FIX|)
@(def |CUTIL|::|SQUARE-LIST-R-OF-APPEND|)
@(def |CUTIL|::|SQUARE-LIST-R-OF-REV|)
@(def |CUTIL|::|SQUARE-LIST-R-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-SQUARE-LIST-R|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-SQUARE-LIST-RS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|SQUARE-LIST-R-EXEC-REMOVAL|)
@(def |CUTIL|::|INTEGER-LISTP-OF-SQUARE-LIST-R|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::SQUARE-LIST-R)))))) (VALUE-TRIPLE (QUOTE CUTIL::SQUARE-LIST-R))))) (19 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::SQUARE-LIST-R2 (CUTIL::X) (CUTIL::SQUARE CUTIL::X) :GUARD (INTEGER-LISTP CUTIL::X) :RESULT-TYPE INTEGER-LISTP :OPTIMIZE NIL :PARALLELIZE T) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SQUARE-LIST-R2)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SQUARE-LIST-R2-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE-LIST-R2-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SQUARE-LIST-R2 (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (PARGS (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SQUARE-LIST-R2 (CDR CUTIL::X)))) NIL)) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SQUARE-LIST-R2-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SQUARE-LIST-R2-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SQUARE-LIST-R2 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-CONS (EQUAL (CUTIL::SQUARE-LIST-R2 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R2 (EQUAL (TRUE-LISTP (CUTIL::SQUARE-LIST-R2 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SQUARE-LIST-R2 (EQUAL (LEN (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SQUARE-LIST-R2 (EQUAL (CONSP (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SQUARE-LIST-R2 (EQUAL (CAR (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SQUARE-LIST-R2 (EQUAL (CDR (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (CUTIL::SQUARE-LIST-R2 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-UNDER-IFF (IFF (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-LIST-FIX (EQUAL (CUTIL::SQUARE-LIST-R2 (LIST-FIX CUTIL::X)) (CUTIL::SQUARE-LIST-R2 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-APPEND (EQUAL (CUTIL::SQUARE-LIST-R2 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CUTIL::SQUARE-LIST-R2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-REV (EQUAL (CUTIL::SQUARE-LIST-R2 (REV CUTIL::X)) (REV (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-OF-APPEND CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-REVAPPEND (EQUAL (CUTIL::SQUARE-LIST-R2 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CUTIL::SQUARE-LIST-R2 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-OF-APPEND CUTIL::SQUARE-LIST-R2-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SQUARE-LIST-R2 (EQUAL (NTHCDR CUTIL::N (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (CUTIL::SQUARE-LIST-R2 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R2-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SQUARE-LIST-R2S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CUTIL::SQUARE-LIST-R2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R2-WHEN-MEMBER-EQUAL CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-EXEC-REMOVAL (EQUAL (CUTIL::SQUARE-LIST-R2-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SQUARE-LIST-R2 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SQUARE-LIST-R2-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-EXEC CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R2-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R2 :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2 CUTIL::SQUARE-LIST-R2-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R2 REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::SQUARE-LIST-R2 CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS))) (DEFTHM CUTIL::INTEGER-LISTP-OF-SQUARE-LIST-R2 (IMPLIES (FORCE (INTEGER-LISTP CUTIL::X)) (INTEGER-LISTP (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (ENABLE (:INDUCTION LEN))))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SQUARE-LIST-R2-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE-LIST-R2-EXEC (CDR CUTIL::X) (CONS (CUTIL::SQUARE (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SQUARE-LIST-R2 (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (PARGS (CONS (CUTIL::SQUARE (CAR CUTIL::X)) (CUTIL::SQUARE-LIST-R2 (CDR CUTIL::X)))) NIL)) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SQUARE-LIST-R2-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SQUARE-LIST-R2-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SQUARE-LIST-R2 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-CONS (EQUAL (CUTIL::SQUARE-LIST-R2 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R2 (EQUAL (TRUE-LISTP (CUTIL::SQUARE-LIST-R2 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SQUARE-LIST-R2 (EQUAL (LEN (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SQUARE-LIST-R2 (EQUAL (CONSP (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SQUARE-LIST-R2 (EQUAL (CAR (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (IF (CONSP CUTIL::X) (CUTIL::SQUARE (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SQUARE-LIST-R2 (EQUAL (CDR (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (CUTIL::SQUARE-LIST-R2 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-UNDER-IFF (IFF (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-LIST-FIX (EQUAL (CUTIL::SQUARE-LIST-R2 (LIST-FIX CUTIL::X)) (CUTIL::SQUARE-LIST-R2 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-APPEND (EQUAL (CUTIL::SQUARE-LIST-R2 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CUTIL::SQUARE-LIST-R2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-REV (EQUAL (CUTIL::SQUARE-LIST-R2 (REV CUTIL::X)) (REV (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-OF-APPEND CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-OF-REVAPPEND (EQUAL (CUTIL::SQUARE-LIST-R2 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CUTIL::SQUARE-LIST-R2 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-OF-APPEND CUTIL::SQUARE-LIST-R2-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SQUARE-LIST-R2 (EQUAL (NTHCDR CUTIL::N (CUTIL::SQUARE-LIST-R2 CUTIL::X)) (CUTIL::SQUARE-LIST-R2 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R2-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::SQUARE CUTIL::A) (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SQUARE-LIST-R2S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SQUARE-LIST-R2 CUTIL::X) (CUTIL::SQUARE-LIST-R2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R2-WHEN-MEMBER-EQUAL CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SQUARE-LIST-R2-EXEC-REMOVAL (EQUAL (CUTIL::SQUARE-LIST-R2-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SQUARE-LIST-R2 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SQUARE-LIST-R2-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-EXEC CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R2-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SQUARE-LIST-R2 :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SQUARE-LIST-R2 CUTIL::SQUARE-LIST-R2-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SQUARE-LIST-R2 REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (LOCAL (IN-THEORY (ENABLE CUTIL::SQUARE-LIST-R2 CUTIL::SQUARE-LIST-R2-WHEN-NOT-CONSP CUTIL::SQUARE-LIST-R2-OF-CONS))) (DEFTHM CUTIL::INTEGER-LISTP-OF-SQUARE-LIST-R2 (IMPLIES (FORCE (INTEGER-LISTP CUTIL::X)) (INTEGER-LISTP (CUTIL::SQUARE-LIST-R2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (ENABLE (:INDUCTION LEN)))))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::SQUARE-LIST-R2)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call SQUARE-LIST-R2) maps @(see CUTIL::SQUARE) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SQUARE-LIST-R2))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::SQUARE-LIST-R2) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call SQUARE-LIST-R2) maps @(see CUTIL::SQUARE) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|SQUARE-LIST-R2-EXEC|)
@(def |CUTIL|::|SQUARE-LIST-R2|)
@(def |CUTIL|::|SQUARE-LIST-R2-WHEN-NOT-CONSP|)
@(def |CUTIL|::|SQUARE-LIST-R2-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-SQUARE-LIST-R2|)
@(def |CUTIL|::|LEN-OF-SQUARE-LIST-R2|)
@(def |CUTIL|::|CONSP-OF-SQUARE-LIST-R2|)
@(def |CUTIL|::|CAR-OF-SQUARE-LIST-R2|)
@(def |CUTIL|::|CDR-OF-SQUARE-LIST-R2|)
@(def |CUTIL|::|SQUARE-LIST-R2-UNDER-IFF|)
@(def |CUTIL|::|SQUARE-LIST-R2-OF-LIST-FIX|)
@(def |CUTIL|::|SQUARE-LIST-R2-OF-APPEND|)
@(def |CUTIL|::|SQUARE-LIST-R2-OF-REV|)
@(def |CUTIL|::|SQUARE-LIST-R2-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-SQUARE-LIST-R2|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-SQUARE-IN-SQUARE-LIST-R2-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-SQUARE-LIST-R2S-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|SQUARE-LIST-R2-EXEC-REMOVAL|)
@(def |CUTIL|::|INTEGER-LISTP-OF-SQUARE-LIST-R2|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::SQUARE-LIST-R2)))))) (VALUE-TRIPLE (QUOTE CUTIL::SQUARE-LIST-R2))))) (20 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::ADD1-LIST (CUTIL::X) (+ 1 CUTIL::X) :GUARD (INTEGER-LISTP CUTIL::X) :PARENTS (CUTIL::FOO) :REST ((DEFTHM CUTIL::ADD1-LIST-INTEGER-LIST (IMPLIES (INTEGER-LISTP CUTIL::X) (INTEGER-LISTP (CUTIL::ADD1-LIST CUTIL::X)))))) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::ADD1-LIST)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::ADD1-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::ADD1-LIST-EXEC (CDR CUTIL::X) (CONS (+ 1 (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::ADD1-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (+ 1 (CAR CUTIL::X)) (CUTIL::ADD1-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::ADD1-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::ADD1-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::ADD1-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::ADD1-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-CONS (EQUAL (CUTIL::ADD1-LIST (CONS CUTIL::A CUTIL::X)) (CONS (+ 1 CUTIL::A) (CUTIL::ADD1-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-ADD1-LIST (EQUAL (TRUE-LISTP (CUTIL::ADD1-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-ADD1-LIST (EQUAL (LEN (CUTIL::ADD1-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-ADD1-LIST (EQUAL (CONSP (CUTIL::ADD1-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-ADD1-LIST (EQUAL (CAR (CUTIL::ADD1-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (+ 1 (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-ADD1-LIST (EQUAL (CDR (CUTIL::ADD1-LIST CUTIL::X)) (CUTIL::ADD1-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-UNDER-IFF (IFF (CUTIL::ADD1-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-LIST-FIX (EQUAL (CUTIL::ADD1-LIST (LIST-FIX CUTIL::X)) (CUTIL::ADD1-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-APPEND (EQUAL (CUTIL::ADD1-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::ADD1-LIST CUTIL::X) (CUTIL::ADD1-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-REV (EQUAL (CUTIL::ADD1-LIST (REV CUTIL::X)) (REV (CUTIL::ADD1-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-OF-APPEND CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-REVAPPEND (EQUAL (CUTIL::ADD1-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::ADD1-LIST CUTIL::X) (CUTIL::ADD1-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-OF-APPEND CUTIL::ADD1-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-ADD1-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::ADD1-LIST CUTIL::X)) (CUTIL::ADD1-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-+-IN-ADD1-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (+ 1 CUTIL::A) (CUTIL::ADD1-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-ADD1-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::ADD1-LIST CUTIL::X) (CUTIL::ADD1-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-+-IN-ADD1-LIST-WHEN-MEMBER-EQUAL CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-EXEC-REMOVAL (EQUAL (CUTIL::ADD1-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::ADD1-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::ADD1-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-EXEC CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::ADD1-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::ADD1-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST CUTIL::ADD1-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-ADD1-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::ADD1-LIST) (QUOTE (DEFUN CUTIL::ADD1-LIST (CUTIL::X) (NREVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::ADD1-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::ADD1-LIST (CUTIL::X) (NREVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::ADD1-LIST CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS))) (DEFTHM CUTIL::ADD1-LIST-INTEGER-LIST (IMPLIES (INTEGER-LISTP CUTIL::X) (INTEGER-LISTP (CUTIL::ADD1-LIST CUTIL::X)))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::ADD1-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::ADD1-LIST-EXEC (CDR CUTIL::X) (CONS (+ 1 (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::ADD1-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (INTEGER-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (+ 1 (CAR CUTIL::X)) (CUTIL::ADD1-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::ADD1-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::ADD1-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::ADD1-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::ADD1-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-CONS (EQUAL (CUTIL::ADD1-LIST (CONS CUTIL::A CUTIL::X)) (CONS (+ 1 CUTIL::A) (CUTIL::ADD1-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-ADD1-LIST (EQUAL (TRUE-LISTP (CUTIL::ADD1-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-ADD1-LIST (EQUAL (LEN (CUTIL::ADD1-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-ADD1-LIST (EQUAL (CONSP (CUTIL::ADD1-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-ADD1-LIST (EQUAL (CAR (CUTIL::ADD1-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (+ 1 (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-ADD1-LIST (EQUAL (CDR (CUTIL::ADD1-LIST CUTIL::X)) (CUTIL::ADD1-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-UNDER-IFF (IFF (CUTIL::ADD1-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-LIST-FIX (EQUAL (CUTIL::ADD1-LIST (LIST-FIX CUTIL::X)) (CUTIL::ADD1-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-APPEND (EQUAL (CUTIL::ADD1-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::ADD1-LIST CUTIL::X) (CUTIL::ADD1-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-REV (EQUAL (CUTIL::ADD1-LIST (REV CUTIL::X)) (REV (CUTIL::ADD1-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-OF-APPEND CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-OF-REVAPPEND (EQUAL (CUTIL::ADD1-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::ADD1-LIST CUTIL::X) (CUTIL::ADD1-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-OF-APPEND CUTIL::ADD1-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-ADD1-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::ADD1-LIST CUTIL::X)) (CUTIL::ADD1-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-+-IN-ADD1-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (+ 1 CUTIL::A) (CUTIL::ADD1-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-ADD1-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::ADD1-LIST CUTIL::X) (CUTIL::ADD1-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-+-IN-ADD1-LIST-WHEN-MEMBER-EQUAL CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::ADD1-LIST-EXEC-REMOVAL (EQUAL (CUTIL::ADD1-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::ADD1-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::ADD1-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-EXEC CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::ADD1-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::ADD1-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::ADD1-LIST CUTIL::ADD1-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-ADD1-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::ADD1-LIST) (QUOTE (DEFUN CUTIL::ADD1-LIST (CUTIL::X) (NREVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::ADD1-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::ADD1-LIST (CUTIL::X) (NREVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::ADD1-LIST) (QUOTE (DEFUN CUTIL::ADD1-LIST (CUTIL::X) (NREVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::ADD1-LIST) (QUOTE (DEFUN CUTIL::ADD1-LIST (CUTIL::X) (NREVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::ADD1-LIST-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::ADD1-LIST-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::ADD1-LIST (CUTIL::X) (NREVERSE (CUTIL::ADD1-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::ADD1-LIST CUTIL::ADD1-LIST-WHEN-NOT-CONSP CUTIL::ADD1-LIST-OF-CONS))) (DEFTHM CUTIL::ADD1-LIST-INTEGER-LIST (IMPLIES (INTEGER-LISTP CUTIL::X) (INTEGER-LISTP (CUTIL::ADD1-LIST CUTIL::X))))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::ADD1-LIST)) (XDOC::PARENTS (QUOTE (CUTIL::FOO))) (XDOC::SHORT (QUOTE "@(call ADD1-LIST) maps @(see COMMON-LISP::+) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::ADD1-LIST))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::ADD1-LIST) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS CUTIL::FOO) (:SHORT . "@(call ADD1-LIST) maps @(see COMMON-LISP::+) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|ADD1-LIST-EXEC|)
@(def |CUTIL|::|ADD1-LIST|)
@(def |CUTIL|::|ADD1-LIST-WHEN-NOT-CONSP|)
@(def |CUTIL|::|ADD1-LIST-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-ADD1-LIST|)
@(def |CUTIL|::|LEN-OF-ADD1-LIST|)
@(def |CUTIL|::|CONSP-OF-ADD1-LIST|)
@(def |CUTIL|::|CAR-OF-ADD1-LIST|)
@(def |CUTIL|::|CDR-OF-ADD1-LIST|)
@(def |CUTIL|::|ADD1-LIST-UNDER-IFF|)
@(def |CUTIL|::|ADD1-LIST-OF-LIST-FIX|)
@(def |CUTIL|::|ADD1-LIST-OF-APPEND|)
@(def |CUTIL|::|ADD1-LIST-OF-REV|)
@(def |CUTIL|::|ADD1-LIST-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-ADD1-LIST|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-+-IN-ADD1-LIST-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-ADD1-LISTS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|ADD1-LIST-EXEC-REMOVAL|)
@(def |CUTIL|::|ADD1-LIST-INTEGER-LIST|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::ADD1-LIST)))))) (VALUE-TRIPLE (QUOTE CUTIL::ADD1-LIST))))) (22 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (SYMBOL-< :FOO CUTIL::X) :GUARD (SYMBOL-LISTP CUTIL::X)) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SYMBOL-<-FOO-LIST)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SYMBOL-<-FOO-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST-EXEC (CDR CUTIL::X) (CONS (SYMBOL-< :FOO (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (SYMBOL-< :FOO (CAR CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SYMBOL-<-FOO-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-CONS (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (CONS CUTIL::A CUTIL::X)) (CONS (SYMBOL-< :FOO CUTIL::A) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SYMBOL-<-FOO-LIST (EQUAL (TRUE-LISTP (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SYMBOL-<-FOO-LIST (EQUAL (LEN (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SYMBOL-<-FOO-LIST (EQUAL (CONSP (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SYMBOL-<-FOO-LIST (EQUAL (CAR (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (SYMBOL-< :FOO (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SYMBOL-<-FOO-LIST (EQUAL (CDR (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-UNDER-IFF (IFF (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-LIST-FIX (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (LIST-FIX CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-APPEND (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-REV (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (REV CUTIL::X)) (REV (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-OF-APPEND CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-REVAPPEND (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-OF-APPEND CUTIL::SYMBOL-<-FOO-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SYMBOL-<-FOO-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-FOO-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (SYMBOL-< :FOO CUTIL::A) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SYMBOL-<-FOO-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-FOO-LIST-WHEN-MEMBER-EQUAL CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-FOO-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-FOO-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST CUTIL::SYMBOL-<-FOO-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SYMBOL-<-FOO-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-FOO-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::SYMBOL-<-FOO-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::SYMBOL-<-FOO-LIST CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SYMBOL-<-FOO-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST-EXEC (CDR CUTIL::X) (CONS (SYMBOL-< :FOO (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (SYMBOL-< :FOO (CAR CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SYMBOL-<-FOO-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-CONS (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (CONS CUTIL::A CUTIL::X)) (CONS (SYMBOL-< :FOO CUTIL::A) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SYMBOL-<-FOO-LIST (EQUAL (TRUE-LISTP (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SYMBOL-<-FOO-LIST (EQUAL (LEN (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SYMBOL-<-FOO-LIST (EQUAL (CONSP (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SYMBOL-<-FOO-LIST (EQUAL (CAR (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (SYMBOL-< :FOO (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SYMBOL-<-FOO-LIST (EQUAL (CDR (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-UNDER-IFF (IFF (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-LIST-FIX (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (LIST-FIX CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-APPEND (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-REV (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (REV CUTIL::X)) (REV (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-OF-APPEND CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-OF-REVAPPEND (EQUAL (CUTIL::SYMBOL-<-FOO-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-OF-APPEND CUTIL::SYMBOL-<-FOO-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SYMBOL-<-FOO-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X)) (CUTIL::SYMBOL-<-FOO-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-FOO-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (SYMBOL-< :FOO CUTIL::A) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SYMBOL-<-FOO-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) (CUTIL::SYMBOL-<-FOO-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-FOO-LIST-WHEN-MEMBER-EQUAL CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-FOO-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SYMBOL-<-FOO-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-FOO-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-FOO-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-FOO-LIST CUTIL::SYMBOL-<-FOO-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SYMBOL-<-FOO-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-FOO-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::SYMBOL-<-FOO-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-FOO-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-FOO-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::SYMBOL-<-FOO-LIST-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::SYMBOL-<-FOO-LIST-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SYMBOL-<-FOO-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-FOO-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::SYMBOL-<-FOO-LIST CUTIL::SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-FOO-LIST-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::SYMBOL-<-FOO-LIST)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call SYMBOL-<-FOO-LIST) maps @(see ACL2::SYMBOL-<) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SYMBOL-<-FOO-LIST))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::SYMBOL-<-FOO-LIST) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call SYMBOL-<-FOO-LIST) maps @(see ACL2::SYMBOL-<) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|SYMBOL-<-FOO-LIST-EXEC|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-WHEN-NOT-CONSP|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-SYMBOL-<-FOO-LIST|)
@(def |CUTIL|::|LEN-OF-SYMBOL-<-FOO-LIST|)
@(def |CUTIL|::|CONSP-OF-SYMBOL-<-FOO-LIST|)
@(def |CUTIL|::|CAR-OF-SYMBOL-<-FOO-LIST|)
@(def |CUTIL|::|CDR-OF-SYMBOL-<-FOO-LIST|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-UNDER-IFF|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-OF-LIST-FIX|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-OF-APPEND|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-OF-REV|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-SYMBOL-<-FOO-LIST|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-FOO-LIST-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-SYMBOL-<-FOO-LISTS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|SYMBOL-<-FOO-LIST-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::SYMBOL-<-FOO-LIST)))))) (VALUE-TRIPLE (QUOTE CUTIL::SYMBOL-<-FOO-LIST))))) (23 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (SYMBOL-< (QUOTE CUTIL::BAR) CUTIL::X) :GUARD (SYMBOL-LISTP CUTIL::X)) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SYMBOL-<-BAR-LIST)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SYMBOL-<-BAR-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST-EXEC (CDR CUTIL::X) (CONS (SYMBOL-< (QUOTE CUTIL::BAR) (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (SYMBOL-< (QUOTE CUTIL::BAR) (CAR CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SYMBOL-<-BAR-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-CONS (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (CONS CUTIL::A CUTIL::X)) (CONS (SYMBOL-< (QUOTE CUTIL::BAR) CUTIL::A) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SYMBOL-<-BAR-LIST (EQUAL (TRUE-LISTP (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SYMBOL-<-BAR-LIST (EQUAL (LEN (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SYMBOL-<-BAR-LIST (EQUAL (CONSP (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SYMBOL-<-BAR-LIST (EQUAL (CAR (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (SYMBOL-< (QUOTE CUTIL::BAR) (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SYMBOL-<-BAR-LIST (EQUAL (CDR (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-UNDER-IFF (IFF (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-LIST-FIX (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (LIST-FIX CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-APPEND (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-REV (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (REV CUTIL::X)) (REV (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-OF-APPEND CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-REVAPPEND (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-OF-APPEND CUTIL::SYMBOL-<-BAR-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SYMBOL-<-BAR-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-BAR-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (SYMBOL-< (QUOTE CUTIL::BAR) CUTIL::A) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SYMBOL-<-BAR-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-BAR-LIST-WHEN-MEMBER-EQUAL CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-BAR-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-BAR-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST CUTIL::SYMBOL-<-BAR-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SYMBOL-<-BAR-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-BAR-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::SYMBOL-<-BAR-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::SYMBOL-<-BAR-LIST CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::SYMBOL-<-BAR-LIST-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST-EXEC (CDR CUTIL::X) (CONS (SYMBOL-< (QUOTE CUTIL::BAR) (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (DECLARE (XARGS :GUARD (SYMBOL-LISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (SYMBOL-< (QUOTE CUTIL::BAR) (CAR CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::SYMBOL-<-BAR-LIST-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-CONS (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (CONS CUTIL::A CUTIL::X)) (CONS (SYMBOL-< (QUOTE CUTIL::BAR) CUTIL::A) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-SYMBOL-<-BAR-LIST (EQUAL (TRUE-LISTP (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-SYMBOL-<-BAR-LIST (EQUAL (LEN (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-SYMBOL-<-BAR-LIST (EQUAL (CONSP (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-SYMBOL-<-BAR-LIST (EQUAL (CAR (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (IF (CONSP CUTIL::X) (SYMBOL-< (QUOTE CUTIL::BAR) (CAR CUTIL::X)) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-SYMBOL-<-BAR-LIST (EQUAL (CDR (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-UNDER-IFF (IFF (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-LIST-FIX (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (LIST-FIX CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-APPEND (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-REV (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (REV CUTIL::X)) (REV (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-OF-APPEND CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-OF-REVAPPEND (EQUAL (CUTIL::SYMBOL-<-BAR-LIST (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-OF-APPEND CUTIL::SYMBOL-<-BAR-LIST-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-SYMBOL-<-BAR-LIST (EQUAL (NTHCDR CUTIL::N (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X)) (CUTIL::SYMBOL-<-BAR-LIST (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-BAR-LIST-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (SYMBOL-< (QUOTE CUTIL::BAR) CUTIL::A) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-SYMBOL-<-BAR-LISTS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) (CUTIL::SYMBOL-<-BAR-LIST CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-BAR-LIST-WHEN-MEMBER-EQUAL CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SYMBOL-<-BAR-LIST-EXEC-REMOVAL (EQUAL (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::SYMBOL-<-BAR-LIST CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-BAR-LIST-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::SYMBOL-<-BAR-LIST :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::SYMBOL-<-BAR-LIST CUTIL::SYMBOL-<-BAR-LIST-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-SYMBOL-<-BAR-LIST REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-BAR-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::SYMBOL-<-BAR-LIST-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-BAR-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::SYMBOL-<-BAR-LIST) (QUOTE (DEFUN CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::SYMBOL-<-BAR-LIST-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::SYMBOL-<-BAR-LIST-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::SYMBOL-<-BAR-LIST (CUTIL::X) (NREVERSE (CUTIL::SYMBOL-<-BAR-LIST-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::SYMBOL-<-BAR-LIST CUTIL::SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP CUTIL::SYMBOL-<-BAR-LIST-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::SYMBOL-<-BAR-LIST)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call SYMBOL-<-BAR-LIST) maps @(see ACL2::SYMBOL-<) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::SYMBOL-<-BAR-LIST))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::SYMBOL-<-BAR-LIST) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call SYMBOL-<-BAR-LIST) maps @(see ACL2::SYMBOL-<) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|SYMBOL-<-BAR-LIST-EXEC|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-WHEN-NOT-CONSP|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-SYMBOL-<-BAR-LIST|)
@(def |CUTIL|::|LEN-OF-SYMBOL-<-BAR-LIST|)
@(def |CUTIL|::|CONSP-OF-SYMBOL-<-BAR-LIST|)
@(def |CUTIL|::|CAR-OF-SYMBOL-<-BAR-LIST|)
@(def |CUTIL|::|CDR-OF-SYMBOL-<-BAR-LIST|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-UNDER-IFF|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-OF-LIST-FIX|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-OF-APPEND|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-OF-REV|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-OF-REVAPPEND|)
@(def |CUTIL|::|NTHCDR-OF-SYMBOL-<-BAR-LIST|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-SYMBOL-<-IN-SYMBOL-<-BAR-LIST-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-SYMBOL-<-BAR-LISTS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|SYMBOL-<-BAR-LIST-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::SYMBOL-<-BAR-LIST)))))) (VALUE-TRIPLE (QUOTE CUTIL::SYMBOL-<-BAR-LIST))))) (25 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::MY-STRIP-CARS (CUTIL::X) (CAR CUTIL::X) :NIL-PRESERVINGP T :GUARD (ALISTP CUTIL::X)) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::MY-STRIP-CARS)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::MY-STRIP-CARS-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::MY-STRIP-CARS-EXEC (CDR CUTIL::X) (CONS (CAR (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::MY-STRIP-CARS (CUTIL::X) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CAR (CAR CUTIL::X)) (CUTIL::MY-STRIP-CARS (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (CUTIL::MAYBE-DEFTHM-AS-REWRITE CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA (EQUAL (CAR (QUOTE NIL)) NIL))) (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::MY-STRIP-CARS CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-CONS (EQUAL (CUTIL::MY-STRIP-CARS (CONS CUTIL::A CUTIL::X)) (CONS (CAR CUTIL::A) (CUTIL::MY-STRIP-CARS CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS (EQUAL (TRUE-LISTP (CUTIL::MY-STRIP-CARS CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-MY-STRIP-CARS (EQUAL (LEN (CUTIL::MY-STRIP-CARS CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-MY-STRIP-CARS (EQUAL (CONSP (CUTIL::MY-STRIP-CARS CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-MY-STRIP-CARS (EQUAL (CAR (CUTIL::MY-STRIP-CARS CUTIL::X)) (CAR (CAR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-MY-STRIP-CARS (EQUAL (CDR (CUTIL::MY-STRIP-CARS CUTIL::X)) (CUTIL::MY-STRIP-CARS (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-UNDER-IFF (IFF (CUTIL::MY-STRIP-CARS CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-LIST-FIX (EQUAL (CUTIL::MY-STRIP-CARS (LIST-FIX CUTIL::X)) (CUTIL::MY-STRIP-CARS CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-APPEND (EQUAL (CUTIL::MY-STRIP-CARS (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::MY-STRIP-CARS CUTIL::X) (CUTIL::MY-STRIP-CARS CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-REV (EQUAL (CUTIL::MY-STRIP-CARS (REV CUTIL::X)) (REV (CUTIL::MY-STRIP-CARS CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-OF-APPEND CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-REVAPPEND (EQUAL (CUTIL::MY-STRIP-CARS (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::MY-STRIP-CARS CUTIL::X) (CUTIL::MY-STRIP-CARS CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-OF-APPEND CUTIL::MY-STRIP-CARS-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TAKE-OF-MY-STRIP-CARS (EQUAL (TAKE CUTIL::N (CUTIL::MY-STRIP-CARS CUTIL::X)) (CUTIL::MY-STRIP-CARS (TAKE CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (TAKE CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (TAKE-REDEFINITION CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-MY-STRIP-CARS (EQUAL (NTHCDR CUTIL::N (CUTIL::MY-STRIP-CARS CUTIL::X)) (CUTIL::MY-STRIP-CARS (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-CAR-IN-MY-STRIP-CARS-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CAR CUTIL::A) (CUTIL::MY-STRIP-CARS CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-MY-STRIP-CARSS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::MY-STRIP-CARS CUTIL::X) (CUTIL::MY-STRIP-CARS CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-CAR-IN-MY-STRIP-CARS-WHEN-MEMBER-EQUAL CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTH-OF-MY-STRIP-CARS (EQUAL (NTH CUTIL::N (CUTIL::MY-STRIP-CARS CUTIL::X)) (CAR (NTH CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTH CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTH CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-EXEC-REMOVAL (EQUAL (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::MY-STRIP-CARS CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS CUTIL::MY-STRIP-CARS-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::MY-STRIP-CARS-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::MY-STRIP-CARS (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::MY-STRIP-CARS CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::MY-STRIP-CARS-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::MY-STRIP-CARS-EXEC (CDR CUTIL::X) (CONS (CAR (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::MY-STRIP-CARS (CUTIL::X) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CAR (CAR CUTIL::X)) (CUTIL::MY-STRIP-CARS (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (CUTIL::MAYBE-DEFTHM-AS-REWRITE CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA (EQUAL (CAR (QUOTE NIL)) NIL))) (LOCAL (VALUE-TRIPLE :ELIDED))) (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::MY-STRIP-CARS CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-CONS (EQUAL (CUTIL::MY-STRIP-CARS (CONS CUTIL::A CUTIL::X)) (CONS (CAR CUTIL::A) (CUTIL::MY-STRIP-CARS CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS (EQUAL (TRUE-LISTP (CUTIL::MY-STRIP-CARS CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-MY-STRIP-CARS (EQUAL (LEN (CUTIL::MY-STRIP-CARS CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-MY-STRIP-CARS (EQUAL (CONSP (CUTIL::MY-STRIP-CARS CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-MY-STRIP-CARS (EQUAL (CAR (CUTIL::MY-STRIP-CARS CUTIL::X)) (CAR (CAR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-MY-STRIP-CARS (EQUAL (CDR (CUTIL::MY-STRIP-CARS CUTIL::X)) (CUTIL::MY-STRIP-CARS (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-UNDER-IFF (IFF (CUTIL::MY-STRIP-CARS CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-LIST-FIX (EQUAL (CUTIL::MY-STRIP-CARS (LIST-FIX CUTIL::X)) (CUTIL::MY-STRIP-CARS CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-APPEND (EQUAL (CUTIL::MY-STRIP-CARS (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::MY-STRIP-CARS CUTIL::X) (CUTIL::MY-STRIP-CARS CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-REV (EQUAL (CUTIL::MY-STRIP-CARS (REV CUTIL::X)) (REV (CUTIL::MY-STRIP-CARS CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-OF-APPEND CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-OF-REVAPPEND (EQUAL (CUTIL::MY-STRIP-CARS (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::MY-STRIP-CARS CUTIL::X) (CUTIL::MY-STRIP-CARS CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-OF-APPEND CUTIL::MY-STRIP-CARS-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TAKE-OF-MY-STRIP-CARS (EQUAL (TAKE CUTIL::N (CUTIL::MY-STRIP-CARS CUTIL::X)) (CUTIL::MY-STRIP-CARS (TAKE CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (TAKE CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (TAKE-REDEFINITION CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-MY-STRIP-CARS (EQUAL (NTHCDR CUTIL::N (CUTIL::MY-STRIP-CARS CUTIL::X)) (CUTIL::MY-STRIP-CARS (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-CAR-IN-MY-STRIP-CARS-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CAR CUTIL::A) (CUTIL::MY-STRIP-CARS CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-MY-STRIP-CARSS-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::MY-STRIP-CARS CUTIL::X) (CUTIL::MY-STRIP-CARS CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-CAR-IN-MY-STRIP-CARS-WHEN-MEMBER-EQUAL CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTH-OF-MY-STRIP-CARS (EQUAL (NTH CUTIL::N (CUTIL::MY-STRIP-CARS CUTIL::X)) (CAR (NTH CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTH CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTH CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS CUTIL::MY-STRIP-CARS-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS-EXEC-REMOVAL (EQUAL (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::MY-STRIP-CARS CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS CUTIL::MY-STRIP-CARS-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::MY-STRIP-CARS-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::MY-STRIP-CARS (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::MY-STRIP-CARS-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::MY-STRIP-CARS-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::MY-STRIP-CARS (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::MY-STRIP-CARS CUTIL::MY-STRIP-CARS-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::MY-STRIP-CARS)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call MY-STRIP-CARS) maps @(see COMMON-LISP::CAR) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::MY-STRIP-CARS))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::MY-STRIP-CARS) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call MY-STRIP-CARS) maps @(see COMMON-LISP::CAR) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|MY-STRIP-CARS-EXEC|)
@(def |CUTIL|::|MY-STRIP-CARS|)
@(def |CUTIL|::|MY-STRIP-CARS-WHEN-NOT-CONSP|)
@(def |CUTIL|::|MY-STRIP-CARS-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|LEN-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|CONSP-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|CAR-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|CDR-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|MY-STRIP-CARS-UNDER-IFF|)
@(def |CUTIL|::|MY-STRIP-CARS-OF-LIST-FIX|)
@(def |CUTIL|::|MY-STRIP-CARS-OF-APPEND|)
@(def |CUTIL|::|MY-STRIP-CARS-OF-REV|)
@(def |CUTIL|::|MY-STRIP-CARS-OF-REVAPPEND|)
@(def |CUTIL|::|TAKE-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|NTHCDR-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-CAR-IN-MY-STRIP-CARS-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-MY-STRIP-CARSS-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|NTH-OF-MY-STRIP-CARS|)
@(def |CUTIL|::|MY-STRIP-CARS-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::MY-STRIP-CARS)))))) (VALUE-TRIPLE (QUOTE CUTIL::MY-STRIP-CARS))))) (27 RECORD-EXPANSION (CUTIL::DEFPROJECTION CUTIL::MY-STRIP-CARS2 (CUTIL::X) (CUTIL::F CUTIL::X) :NIL-PRESERVINGP T :GUARD (ALISTP CUTIL::X)) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::MY-STRIP-CARS2)) (RECORD-EXPANSION (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::MY-STRIP-CARS2-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::MY-STRIP-CARS2-EXEC (CDR CUTIL::X) (CONS (CUTIL::F (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::MY-STRIP-CARS2 (CUTIL::X) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::F (CAR CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (LOCAL (CUTIL::MAYBE-DEFTHM-AS-REWRITE CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA (EQUAL (CUTIL::F (QUOTE NIL)) NIL))) (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (DEFTHM CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::MY-STRIP-CARS2 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-CONS (EQUAL (CUTIL::MY-STRIP-CARS2 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::F CUTIL::A) (CUTIL::MY-STRIP-CARS2 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS2 (EQUAL (TRUE-LISTP (CUTIL::MY-STRIP-CARS2 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-MY-STRIP-CARS2 (EQUAL (LEN (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-MY-STRIP-CARS2 (EQUAL (CONSP (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-MY-STRIP-CARS2 (EQUAL (CAR (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::F (CAR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-MY-STRIP-CARS2 (EQUAL (CDR (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-UNDER-IFF (IFF (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-LIST-FIX (EQUAL (CUTIL::MY-STRIP-CARS2 (LIST-FIX CUTIL::X)) (CUTIL::MY-STRIP-CARS2 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-APPEND (EQUAL (CUTIL::MY-STRIP-CARS2 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CUTIL::MY-STRIP-CARS2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-REV (EQUAL (CUTIL::MY-STRIP-CARS2 (REV CUTIL::X)) (REV (CUTIL::MY-STRIP-CARS2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-OF-APPEND CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-REVAPPEND (EQUAL (CUTIL::MY-STRIP-CARS2 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CUTIL::MY-STRIP-CARS2 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-OF-APPEND CUTIL::MY-STRIP-CARS2-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TAKE-OF-MY-STRIP-CARS2 (EQUAL (TAKE CUTIL::N (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (TAKE CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (TAKE CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (TAKE-REDEFINITION CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-MY-STRIP-CARS2 (EQUAL (NTHCDR CUTIL::N (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-F-IN-MY-STRIP-CARS2-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::F CUTIL::A) (CUTIL::MY-STRIP-CARS2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-MY-STRIP-CARS2S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CUTIL::MY-STRIP-CARS2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-F-IN-MY-STRIP-CARS2-WHEN-MEMBER-EQUAL CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTH-OF-MY-STRIP-CARS2 (EQUAL (NTH CUTIL::N (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::F (NTH CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTH CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTH CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-EXEC-REMOVAL (EQUAL (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::MY-STRIP-CARS2 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS2-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS2 :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2 CUTIL::MY-STRIP-CARS2-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS2 REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS2) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS2 (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::MY-STRIP-CARS2-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::MY-STRIP-CARS2 (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (LOCAL (IN-THEORY (ENABLE CUTIL::MY-STRIP-CARS2 CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS))))) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (LOGIC) (DEFUND CUTIL::MY-STRIP-CARS2-EXEC (CUTIL::X CUTIL::ACC) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (IF (CONSP CUTIL::X) (CUTIL::MY-STRIP-CARS2-EXEC (CDR CUTIL::X) (CONS (CUTIL::F (CAR CUTIL::X)) CUTIL::ACC)) CUTIL::ACC)) (DEFUND CUTIL::MY-STRIP-CARS2 (CUTIL::X) (DECLARE (XARGS :GUARD (ALISTP CUTIL::X) :MODE :LOGIC :NORMALIZE NIL :VERIFY-GUARDS NIL)) (MBE :LOGIC (IF (CONSP CUTIL::X) (CONS (CUTIL::F (CAR CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (CDR CUTIL::X))) NIL) :EXEC (REVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))) (SET-INHIBIT-WARNINGS "disable") (RECORD-EXPANSION (LOCAL (CUTIL::MAYBE-DEFTHM-AS-REWRITE CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA (EQUAL (CUTIL::F (QUOTE NIL)) NIL))) (LOCAL (VALUE-TRIPLE :ELIDED))) (RECORD-EXPANSION (LOCAL (MAKE-EVENT (IF (CUTIL::IS-THEOREM-P (QUOTE CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (DEFTHM CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA (OR (EQUAL (ALISTP CUTIL::X) T) (EQUAL (ALISTP CUTIL::X) NIL)) :RULE-CLASSES :TYPE-PRESCRIPTION :HINTS (("Goal" :IN-THEORY (QUOTE ((:TYPE-PRESCRIPTION ALISTP))))))))))) (LOCAL (VALUE-TRIPLE :ELIDED))) (DEFTHM CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP (IMPLIES (NOT (CONSP CUTIL::X)) (EQUAL (CUTIL::MY-STRIP-CARS2 CUTIL::X) NIL)) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-CONS (EQUAL (CUTIL::MY-STRIP-CARS2 (CONS CUTIL::A CUTIL::X)) (CONS (CUTIL::F CUTIL::A) (CUTIL::MY-STRIP-CARS2 CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS2 (EQUAL (TRUE-LISTP (CUTIL::MY-STRIP-CARS2 CUTIL::X)) T) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::LEN-OF-MY-STRIP-CARS2 (EQUAL (LEN (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (LEN CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CONSP-OF-MY-STRIP-CARS2 (EQUAL (CONSP (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CAR-OF-MY-STRIP-CARS2 (EQUAL (CAR (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::F (CAR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::CDR-OF-MY-STRIP-CARS2 (EQUAL (CDR (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (CDR CUTIL::X))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-UNDER-IFF (IFF (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CONSP CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-LIST-FIX (EQUAL (CUTIL::MY-STRIP-CARS2 (LIST-FIX CUTIL::X)) (CUTIL::MY-STRIP-CARS2 CUTIL::X)) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-APPEND (EQUAL (CUTIL::MY-STRIP-CARS2 (APPEND CUTIL::X CUTIL::Y)) (APPEND (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CUTIL::MY-STRIP-CARS2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-REV (EQUAL (CUTIL::MY-STRIP-CARS2 (REV CUTIL::X)) (REV (CUTIL::MY-STRIP-CARS2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-OF-APPEND CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-OF-REVAPPEND (EQUAL (CUTIL::MY-STRIP-CARS2 (REVAPPEND CUTIL::X CUTIL::Y)) (REVAPPEND (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CUTIL::MY-STRIP-CARS2 CUTIL::Y))) :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-OF-APPEND CUTIL::MY-STRIP-CARS2-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::TAKE-OF-MY-STRIP-CARS2 (EQUAL (TAKE CUTIL::N (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (TAKE CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (TAKE CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (TAKE-REDEFINITION CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTHCDR-OF-MY-STRIP-CARS2 (EQUAL (NTHCDR CUTIL::N (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::MY-STRIP-CARS2 (NTHCDR CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTHCDR CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTHCDR CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MEMBER-EQUAL-OF-F-IN-MY-STRIP-CARS2-WHEN-MEMBER-EQUAL (IMPLIES (MEMBER-EQUAL CUTIL::A (DOUBLE-REWRITE CUTIL::X)) (MEMBER-EQUAL (CUTIL::F CUTIL::A) (CUTIL::MY-STRIP-CARS2 CUTIL::X))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (MEMBER-EQUAL CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::SUBSETP-EQUAL-OF-MY-STRIP-CARS2S-WHEN-SUBSETP-EQUAL (IMPLIES (SUBSETP-EQUAL (DOUBLE-REWRITE CUTIL::X) (DOUBLE-REWRITE CUTIL::Y)) (SUBSETP-EQUAL (CUTIL::MY-STRIP-CARS2 CUTIL::X) (CUTIL::MY-STRIP-CARS2 CUTIL::Y))) :HINTS (("Goal" :INDUCT (LEN CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (SUBSETP-EQUAL CUTIL::MEMBER-EQUAL-OF-F-IN-MY-STRIP-CARS2-WHEN-MEMBER-EQUAL CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::NTH-OF-MY-STRIP-CARS2 (EQUAL (NTH CUTIL::N (CUTIL::MY-STRIP-CARS2 CUTIL::X)) (CUTIL::F (NTH CUTIL::N CUTIL::X))) :HINTS (("Goal" :INDUCT (NTH CUTIL::N CUTIL::X) :IN-THEORY (UNION-THEORIES (QUOTE (NTH CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS CUTIL::MY-STRIP-CARS2-NIL-PRESERVINGP-LEMMA DEFAULT-CAR)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (DEFTHM CUTIL::MY-STRIP-CARS2-EXEC-REMOVAL (EQUAL (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X CUTIL::ACC) (REVAPPEND (CUTIL::MY-STRIP-CARS2 CUTIL::X) CUTIL::ACC)) :HINTS (("Goal" :INDUCT (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X CUTIL::ACC) :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS2-EXEC :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2-EXEC)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (VERIFY-GUARDS CUTIL::MY-STRIP-CARS2 :HINTS (("Goal" :IN-THEORY (UNION-THEORIES (QUOTE (CUTIL::MY-STRIP-CARS2 CUTIL::MY-STRIP-CARS2-EXEC-REMOVAL CUTIL::TRUE-LISTP-OF-MY-STRIP-CARS2 REVERSE-REMOVAL REVAPPEND-REMOVAL REV-OF-APPEND REV-OF-REV)) (THEORY (QUOTE CUTIL::DEFPROJECTION-THEORY)))) (AND STABLE-UNDER-SIMPLIFICATIONP (QUOTE (:IN-THEORY (ENABLE)))))) (RECORD-EXPANSION (PROGN (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS2) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS2 (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (NEVER-MEMOIZE CUTIL::MY-STRIP-CARS2-EXEC) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::MY-STRIP-CARS2 (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))) (DEFTTAG NIL)) (PROGN (RECORD-EXPANSION (MAKE-EVENT (IF (GLOBAL-VAL (QUOTE INCLUDE-BOOK-PATH) (W STATE)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))) (VALUE (QUOTE (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS2) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS2 (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))))))))) (VALUE-TRIPLE (CW "~|~%Optimizing definition of ~s0:~% ~p1~%~%" (QUOTE CUTIL::MY-STRIP-CARS2) (QUOTE (DEFUN CUTIL::MY-STRIP-CARS2 (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL))))))) (DEFTTAG CUTIL::CUTIL-OPTIMIZE) (RECORD-EXPANSION (NEVER-MEMOIZE CUTIL::MY-STRIP-CARS2-EXEC) (MAKE-EVENT (PROG2$ (NEVER-MEMOIZE-FN (QUOTE CUTIL::MY-STRIP-CARS2-EXEC)) (QUOTE (VALUE-TRIPLE :INVISIBLE))) :CHECK-EXPANSION (VALUE-TRIPLE :INVISIBLE))) (PROGN! (SET-RAW-MODE T) (DEFUN CUTIL::MY-STRIP-CARS2 (CUTIL::X) (NREVERSE (CUTIL::MY-STRIP-CARS2-EXEC CUTIL::X NIL)))) (DEFTTAG NIL))) (LOCAL (IN-THEORY (ENABLE CUTIL::MY-STRIP-CARS2 CUTIL::MY-STRIP-CARS2-WHEN-NOT-CONSP CUTIL::MY-STRIP-CARS2-OF-CONS)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE CUTIL::MY-STRIP-CARS2)) (XDOC::PARENTS (QUOTE (UNDOCUMENTED))) (XDOC::SHORT (QUOTE "@(call MY-STRIP-CARS2) maps @(see CUTIL::F) across a list.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE CUTIL::MY-STRIP-CARS2))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>This is an ordinary @(see defprojection).</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . CUTIL::MY-STRIP-CARS2) (:BASE-PKG . CUTIL::ACL2-PKG-WITNESS) (:PARENTS UNDOCUMENTED) (:SHORT . "@(call MY-STRIP-CARS2) maps @(see CUTIL::F) across a list.") (:LONG . "<p>This is an ordinary @(see defprojection).</p>
<h3>Definitions and Theorems</h3>@(def |CUTIL|::|MY-STRIP-CARS2-EXEC|)
@(def |CUTIL|::|MY-STRIP-CARS2|)
@(def |CUTIL|::|MY-STRIP-CARS2-WHEN-NOT-CONSP|)
@(def |CUTIL|::|MY-STRIP-CARS2-OF-CONS|)
@(def |CUTIL|::|TRUE-LISTP-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|LEN-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|CONSP-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|CAR-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|CDR-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|MY-STRIP-CARS2-UNDER-IFF|)
@(def |CUTIL|::|MY-STRIP-CARS2-OF-LIST-FIX|)
@(def |CUTIL|::|MY-STRIP-CARS2-OF-APPEND|)
@(def |CUTIL|::|MY-STRIP-CARS2-OF-REV|)
@(def |CUTIL|::|MY-STRIP-CARS2-OF-REVAPPEND|)
@(def |CUTIL|::|TAKE-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|NTHCDR-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|MEMBER-EQUAL-OF-F-IN-MY-STRIP-CARS2-WHEN-MEMBER-EQUAL|)
@(def |CUTIL|::|SUBSETP-EQUAL-OF-MY-STRIP-CARS2S-WHEN-SUBSETP-EQUAL|)
@(def |CUTIL|::|NTH-OF-MY-STRIP-CARS2|)
@(def |CUTIL|::|MY-STRIP-CARS2-EXEC-REMOVAL|)") (:FROM . "[books]/cutil/defprojection-tests.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC CUTIL::MY-STRIP-CARS2)))))) (VALUE-TRIPLE (QUOTE CUTIL::MY-STRIP-CARS2))))))
(("/usr/share/acl2-6.3/books/cutil/portcullis.lisp" "portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1188104018) ("/usr/share/acl2-6.3/books/std/osets/portcullis.lisp" "std/osets/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1689687557) ("/usr/share/acl2-6.3/books/xdoc/portcullis.lisp" "xdoc/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1473208573) ("/usr/share/acl2-6.3/books/str/portcullis.lisp" "str/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2077071243))
(("/usr/share/acl2-6.3/books/cutil/defprojection-tests.lisp" "defprojection-tests" "defprojection-tests" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS (:CUTIL-OPTIMIZE "/usr/share/acl2-6.3/books/cutil/defprojection-tests.lisp"))) . 473381139) ("/usr/share/acl2-6.3/books/cutil/defprojection.lisp" "defprojection" "defprojection" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 854966444) ("/usr/share/acl2-6.3/books/cutil/deflist.lisp" "deflist" "deflist" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 857676809) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/under-set-equiv.lisp" "std/osets/under-set-equiv" "under-set-equiv" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1595680367)) ("/usr/share/acl2-6.3/books/cutil/maybe-defthm.lisp" "maybe-defthm" "maybe-defthm" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 169275099) ("/usr/share/acl2-6.3/books/misc/assert.lisp" "misc/assert" "assert" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1184956729) ("/usr/share/acl2-6.3/books/misc/eval.lisp" "eval" "eval" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1069973718) ("/usr/share/acl2-6.3/books/defsort/duplicated-members.lisp" "defsort/duplicated-members" "duplicated-members" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 720301003) ("/usr/share/acl2-6.3/books/defsort/uniquep.lisp" "uniquep" "uniquep" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1350027706) ("/usr/share/acl2-6.3/books/defsort/defsort.lisp" "defsort" "defsort" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 284418813) ("/usr/share/acl2-6.3/books/defsort/generic.lisp" "generic" "generic" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 992283938) (LOCAL ("/usr/share/acl2-6.3/books/defsort/generic-impl.lisp" "generic-impl" "generic-impl" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 154835353)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/ihs-lemmas.lisp" "ihs/ihs-lemmas" "ihs-lemmas" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1685360399)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/logops-lemmas.lisp" "logops-lemmas" "logops-lemmas" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 998280003)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/logops-definitions.lisp" "logops-definitions" "logops-definitions" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2048680937)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/basic-definitions.lisp" "basic-definitions" "basic-definitions" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1383521171)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/quotient-remainder-lemmas.lisp" "quotient-remainder-lemmas" "quotient-remainder-lemmas" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 603178913)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/ihs-theories.lisp" "ihs-theories" "ihs-theories" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2130795727)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/math-lemmas.lisp" "math-lemmas" "math-lemmas" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1617928370)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/ihs-init.lisp" "ihs-init" "ihs-init" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1992988803)) (LOCAL ("/usr/share/acl2-6.3/books/data-structures/utilities.lisp" "data-structures/utilities" "utilities" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1536684829)) (LOCAL ("/usr/share/acl2-6.3/books/data-structures/doc-section.lisp" "doc-section" "doc-section" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1486104990)) (LOCAL ("/usr/share/acl2-6.3/books/ihs/ihs-doc-topic.lisp" "ihs-doc-topic" "ihs-doc-topic" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 664631734)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/no-duplicatesp.lisp" "std/lists/no-duplicatesp" "no-duplicatesp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 334869696)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/revappend.lisp" "std/lists/revappend" "revappend" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1368863429)) ("/usr/share/acl2-6.3/books/std/lists/duplicity.lisp" "std/lists/duplicity" "duplicity" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 914433854) ("/usr/share/acl2-6.3/books/std/osets/top.lisp" "std/osets/top" "top" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2045504100) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/under-set-equiv.lisp" "under-set-equiv" "under-set-equiv" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1595680367)) ("/usr/share/acl2-6.3/books/std/lists/sets.lisp" "std/lists/sets" "sets" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 878261262) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/sort.lisp" "sort" "sort" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 335087178)) (LOCAL ("/usr/share/acl2-6.3/books/tools/mv-nth.lisp" "tools/mv-nth" "mv-nth" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 82993140)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/outer.lisp" "outer" "outer" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 883866964)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/cardinality.lisp" "cardinality" "cardinality" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 101478632)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/difference.lisp" "difference" "difference" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1211437825)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/intersect.lisp" "intersect" "intersect" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 464592124)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/union.lisp" "union" "union" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 895011797)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/delete.lisp" "delete" "delete" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 929878553)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/membership.lisp" "membership" "membership" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 48714967)) (LOCAL ("/usr/share/acl2-6.3/books/std/osets/primitives.lisp" "primitives" "primitives" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 392002111)) ("/usr/share/acl2-6.3/books/std/osets/computed-hints.lisp" "computed-hints" "computed-hints" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 537896665) ("/usr/share/acl2-6.3/books/std/osets/instance.lisp" "instance" "instance" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1528243117) ("/usr/share/acl2-6.3/books/std/osets/portcullis.lisp" "portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1689687557) ("/usr/share/acl2-6.3/books/misc/total-order.lisp" "misc/total-order" "total-order" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1619824963) (LOCAL ("/usr/share/acl2-6.3/books/misc/total-order-bsd.lisp" "total-order-bsd" "total-order-bsd" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 449327279)) ("/usr/share/acl2-6.3/books/str/cat.lisp" "str/cat" "cat" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1576295912) ("/usr/share/acl2-6.3/books/str/ieqv.lisp" "ieqv" "ieqv" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 620245362) ("/usr/share/acl2-6.3/books/std/lists/list-defuns.lisp" "std/lists/list-defuns" "list-defuns" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 321177760) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/sublistp.lisp" "sublistp" "sublistp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1635583873)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/top-with-meta.lisp" "arithmetic/top-with-meta" "top-with-meta" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 349005499)) (LOCAL ("/usr/share/acl2-6.3/books/meta/meta.lisp" "meta/meta" "meta" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1434715577)) (LOCAL ("/usr/share/acl2-6.3/books/meta/meta-times-equal.lisp" "meta-times-equal" "meta-times-equal" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2078846479)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/equalities.lisp" "arithmetic/equalities" "equalities" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 597034595)) (LOCAL ("/usr/share/acl2-6.3/books/meta/meta-plus-lessp.lisp" "meta-plus-lessp" "meta-plus-lessp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 932651372)) (LOCAL ("/usr/share/acl2-6.3/books/meta/meta-plus-equal.lisp" "meta-plus-equal" "meta-plus-equal" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1948431900)) (LOCAL ("/usr/share/acl2-6.3/books/meta/term-lemmas.lisp" "term-lemmas" "term-lemmas" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 304413851)) (LOCAL ("/usr/share/acl2-6.3/books/meta/term-defuns.lisp" "term-defuns" "term-defuns" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1038247295)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/top.lisp" "top" "top" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 956305966)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/same-lengthp.lisp" "same-lengthp" "same-lengthp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2063823673)) ("/usr/share/acl2-6.3/books/std/lists/sets.lisp" "sets" "sets" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 878261262) ("/usr/share/acl2-6.3/books/std/lists/mfc-utils.lisp" "mfc-utils" "mfc-utils" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1043482843) ("/usr/share/acl2-6.3/books/std/lists/rcons.lisp" "rcons" "rcons" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 105042482) ("/usr/share/acl2-6.3/books/std/lists/repeat.lisp" "repeat" "repeat" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 293545519) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/prefixp.lisp" "prefixp" "prefixp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 689235789)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/final-cdr.lisp" "final-cdr" "final-cdr" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 96013958)) ("/usr/share/acl2-6.3/books/std/lists/duplicity.lisp" "duplicity" "duplicity" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 914433854) ("/usr/share/acl2-6.3/books/std/lists/flatten.lisp" "flatten" "flatten" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1125138266) ("/usr/share/acl2-6.3/books/std/lists/equiv.lisp" "equiv" "equiv" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1948483556) ("/usr/share/acl2-6.3/books/tools/rulesets.lisp" "tools/rulesets" "rulesets" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 639683473) ("/usr/share/acl2-6.3/books/str/char-case.lisp" "char-case" "char-case" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2059343298) ("/usr/share/acl2-6.3/books/str/eqv.lisp" "eqv" "eqv" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1920438599) (LOCAL ("/usr/share/acl2-6.3/books/str/arithmetic.lisp" "arithmetic" "arithmetic" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 216355320)) ("/usr/share/acl2-6.3/books/std/lists/repeat.lisp" "std/lists/repeat" "repeat" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 293545519) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/nthcdr.lisp" "nthcdr" "nthcdr" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1415704060)) ("/usr/share/acl2-6.3/books/std/lists/rev.lisp" "rev" "rev" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 327117871) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/nthcdr.lisp" "std/lists/nthcdr" "nthcdr" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1415704060)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/len.lisp" "std/lists/len" "len" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 963137114)) ("/usr/share/acl2-6.3/books/std/lists/take.lisp" "std/lists/take" "take" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1496833916) ("/usr/share/acl2-6.3/books/std/lists/rev.lisp" "std/lists/rev" "rev" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 327117871) ("/usr/share/acl2-6.3/books/std/lists/append.lisp" "append" "append" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 567759210) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/revappend.lisp" "revappend" "revappend" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1368863429)) ("/usr/share/acl2-6.3/books/std/lists/equiv.lisp" "std/lists/equiv" "equiv" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1948483556) ("/usr/share/acl2-6.3/books/std/lists/take.lisp" "take" "take" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1496833916) ("/usr/share/acl2-6.3/books/str/coerce.lisp" "coerce" "coerce" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1053051260) ("/usr/share/acl2-6.3/books/str/make-character-list.lisp" "make-character-list" "make-character-list" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1622566814) ("/usr/share/acl2-6.3/books/std/lists/append.lisp" "std/lists/append" "append" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 567759210) ("/usr/share/acl2-6.3/books/std/lists/list-fix.lisp" "list-fix" "list-fix" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1844974260) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/top.lisp" "arithmetic/top" "top" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 956305966)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/rationals.lisp" "rationals" "rationals" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1403689963)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/mod-gcd.lisp" "mod-gcd" "mod-gcd" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1629957550)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/natp-posp.lisp" "natp-posp" "natp-posp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2140150970)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/inequalities.lisp" "inequalities" "inequalities" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1221989523)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/nat-listp.lisp" "nat-listp" "nat-listp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1767896370)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/rational-listp.lisp" "rational-listp" "rational-listp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1775556314)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic/equalities.lisp" "equalities" "equalities" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 597034595)) (LOCAL ("/usr/share/acl2-6.3/books/cowles/acl2-crg.lisp" "cowles/acl2-crg" "acl2-crg" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 761519866)) (LOCAL ("/usr/share/acl2-6.3/books/cowles/acl2-agp.lisp" "acl2-agp" "acl2-agp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2007324914)) (LOCAL ("/usr/share/acl2-6.3/books/cowles/acl2-asg.lisp" "acl2-asg" "acl2-asg" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1939433116)) ("/usr/share/acl2-6.3/books/str/char-fix.lisp" "char-fix" "char-fix" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 70055851) ("/usr/share/acl2-6.3/books/cutil/portcullis.lisp" "cutil/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1188104018) ("/usr/share/acl2-6.3/books/misc/definline.lisp" "misc/definline" "definline" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1571016648) ("/usr/share/acl2-6.3/books/tools/bstar.lisp" "tools/bstar" "bstar" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1482974359) ("/usr/share/acl2-6.3/books/tools/pack.lisp" "pack" "pack" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1797170439) ("/usr/share/acl2-6.3/books/xdoc/top.lisp" "xdoc/top" "top" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1214825095) ("/usr/share/acl2-6.3/books/xdoc/book-thms.lisp" "book-thms" "book-thms" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1105796063) ("/usr/share/acl2-6.3/books/xdoc/base.lisp" "base" "base" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 454271148) ("/usr/share/acl2-6.3/books/xdoc/portcullis.lisp" "portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1473208573) ("/usr/share/acl2-6.3/books/cutil/portcullis.lisp" "portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1188104018) ("/usr/share/acl2-6.3/books/std/osets/portcullis.lisp" "std/osets/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1689687557) ("/usr/share/acl2-6.3/books/xdoc/portcullis.lisp" "xdoc/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1473208573) ("/usr/share/acl2-6.3/books/str/portcullis.lisp" "str/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2077071243))
218919013
|