This file is indexed.

/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