This file is indexed.

/usr/share/acl2-6.3/books/cgen/main.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
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
(IN-PACKAGE "ACL2")
"ACL2 Version 6.3"
:BEGIN-PORTCULLIS-CMDS
(DEFPKG "DEFDATA" (APPEND (QUOTE (GETPROP KEY VAL FORMALS MACRO-ARGS CONST DECODE-LOGICAL-NAME VALUE LEGAL-CONSTANTP ER-LET* B* MACROEXPAND1 TRANS-EVAL SIMPLE-TRANSLATE-AND-EVAL ASSERT-EVENT LEGAL-VARIABLE-OR-CONSTANT-NAMEP F-BOUNDP-GLOBAL F-GET-GLOBAL F-PUT-GLOBAL PROOF-CHECKER EXPANSION EQUIVALENCE-RELATIONP 1+F 1-F +F -F DEFXDOC CURRENT-ACL2-WORLD E/D UNSIGNED-BYTE-P DEFREC VARIABLEP FQUOTEP FFN-SYMB FLAMBDAP FARGS LAMBDA-BODY LAMBDA-FORMALS SUBCOR-VAR DUMB-NEGATE-LIT IS-SUBTYPE IS-DISJOINT NAT-LISTP ALLP ACL2-NUMBER-LISTP NATURALS-LISTP POS-LISTP ONEOF ANYOF DATA-CONSTRUCTORS X N V INFXLST FINXLST LISTOF ENUM RECORD MAP SET NFIXG SET-ACL2S-DEFDATA-VERBOSE GET-ACL2S-DEFDATA-VERBOSE MGET MSET C REGISTER-DATA-CONSTRUCTOR DEFINE-ENUMERATION-TYPE DEFDATA-SUBTYPE DEFDATA-DISJOINT REGISTER-CUSTOM-TYPE DEFDATA DEFDATA-TESTING TEST? TOP-LEVEL-TEST? ACL2S-DEFAULTS SET-ACL2S-RANDOM-TESTING-ENABLED GET-ACL2S-RANDOM-TESTING-ENABLED DONT-PRINT-THANKS-MESSAGE-OVERRIDE-HINT NUM-TRIALS VERBOSITY-LEVEL SHOW-TESTING-OUTPUT NUM-WITNESSES NUM-COUNTEREXAMPLES SHOW-TOP-LEVEL-COUNTEREXAMPLE SAMPLING-METHOD BACKTRACK-LIMIT SUBGOAL-TIMEOUT SEARCH-STRATEGY STOPPING-CONDITION TESTING-ENABLED SYSTEM-DEBUG-FLAG INHIBIT-OUTPUT-FLAG NORMAL-OUTPUT-FLAG VERBOSE-FLAG DEBUG-FLAG)) (UNION-EQ *ACL2-EXPORTS* *COMMON-LISP-SYMBOLS-FROM-MAIN-LISP-PACKAGE*)))
(INCLUDE-BOOK "std/osets/portcullis" :DIR :SYSTEM)
:END-PORTCULLIS-CMDS
:EXPANSION-ALIST
((19 RECORD-EXPANSION (VERIFY-TERMINATION EMPTY-TAU-INTERVALP) (DEFUN EMPTY-TAU-INTERVALP (LO-REL LO HI-REL HI) (COND ((NULL LO) NIL) ((NULL HI) NIL) ((OR LO-REL HI-REL) (<= HI LO)) (T (< HI LO))))) (20 RECORD-EXPANSION (VERIFY-TERMINATION SINGLETON-TAU-INTERVALP) (DEFUN SINGLETON-TAU-INTERVALP (LO-REL LO HI-REL HI) (AND LO (EQUAL LO HI) (NOT LO-REL) (NOT HI-REL)))) (23 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-RANGE-ENUM-INFO% (DEFDATA::DOMAIN DEFDATA::INTERVAL) (DEFDATA::DECL :SIG ((SYMBOLP DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P) DEFDATA::-> DEFDATA::ENUM-INFO%-P) :DOC "given tau-interval interval construct an enum-info% rec with appropriate enum calls") (B* ((DEFDATA::LO (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO)) (DEFDATA::HI (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI)) (DEFDATA::LO-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO-REL)) (DEFDATA::HI-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI-REL))) (CASE DEFDATA::DOMAIN (INTEGER (LET ((DEFDATA::LO (AND DEFDATA::LO (IF DEFDATA::LO-REL (1+ DEFDATA::LO) DEFDATA::LO))) (DEFDATA::HI (AND DEFDATA::HI (IF DEFDATA::HI-REL (1- DEFDATA::HI) DEFDATA::HI)))) (COND ((AND DEFDATA::LO DEFDATA::HI) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE NTH-INTEGER-BETWEEN) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LO (CONS DEFDATA::HI (QUOTE NIL))))) :EXPR2 (CONS (QUOTE DEFDATA::RANDOM-INT-BETWEEN-SEED) (CONS DEFDATA::LO (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (DEFDATA::LO (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))))) ((POSP DEFDATA::HI) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::I-ANS) (CONS (CONS (QUOTE NTH-INTEGER) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::I-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::I-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::I-ANS) (QUOTE NIL))))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::I-ANS) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-INTEGER-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::I-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::I-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::I-ANS) (QUOTE NIL))))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))))) (T (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL)))))))))) (OTHERWISE (COND ((AND DEFDATA::LO DEFDATA::HI) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE NTH-RATIONAL-BETWEEN) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LO (CONS DEFDATA::HI (QUOTE NIL))))) :EXPR2 (CONS (QUOTE DEFDATA::RANDOM-RATIONAL-BETWEEN-SEED) (CONS DEFDATA::LO (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (DEFDATA::LO (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (CONS (QUOTE NTH-POSITIVE-RATIONAL) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-PROBABILITY-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (CONS (QUOTE *) (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))) (QUOTE NIL))))))) ((> DEFDATA::HI 0) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE NTH-RATIONAL) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::RAT-ANS) (QUOTE NIL))))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-PROBABILITY-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-INTEGER-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE *) (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::RAT-ANS) (QUOTE NIL))))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL))))) (QUOTE NIL))))))) (T (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (CONS (QUOTE NTH-POSITIVE-RATIONAL) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-PROBABILITY-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (CONS (QUOTE *) (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))) (QUOTE NIL)))))))))))) (PROGN (DEFUN DEFDATA::MAKE-RANGE-ENUM-INFO% (DEFDATA::DOMAIN DEFDATA::INTERVAL) "given tau-interval interval construct an enum-info% rec with appropriate enum calls" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* ((DEFDATA::LO (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO)) (DEFDATA::HI (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI)) (DEFDATA::LO-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO-REL)) (DEFDATA::HI-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI-REL))) (CASE DEFDATA::DOMAIN (INTEGER (LET ((DEFDATA::LO (AND DEFDATA::LO (IF DEFDATA::LO-REL (1+ DEFDATA::LO) DEFDATA::LO))) (DEFDATA::HI (AND DEFDATA::HI (IF DEFDATA::HI-REL (1- DEFDATA::HI) DEFDATA::HI)))) (COND ((AND DEFDATA::LO DEFDATA::HI) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE NTH-INTEGER-BETWEEN) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LO (CONS DEFDATA::HI (QUOTE NIL))))) :EXPR2 (CONS (QUOTE DEFDATA::RANDOM-INT-BETWEEN-SEED) (CONS DEFDATA::LO (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (DEFDATA::LO (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))))) ((POSP DEFDATA::HI) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::I-ANS) (CONS (CONS (QUOTE NTH-INTEGER) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::I-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::I-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::I-ANS) (QUOTE NIL))))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::I-ANS) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-INTEGER-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::I-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::I-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::I-ANS) (QUOTE NIL))))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))))) (T (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL)))))))))) (OTHERWISE (COND ((AND DEFDATA::LO DEFDATA::HI) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE NTH-RATIONAL-BETWEEN) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LO (CONS DEFDATA::HI (QUOTE NIL))))) :EXPR2 (CONS (QUOTE DEFDATA::RANDOM-RATIONAL-BETWEEN-SEED) (CONS DEFDATA::LO (CONS DEFDATA::HI (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (DEFDATA::LO (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (CONS (QUOTE NTH-POSITIVE-RATIONAL) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-PROBABILITY-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE +) (CONS DEFDATA::LO (CONS (CONS (QUOTE *) (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))) (QUOTE NIL))))))) ((> DEFDATA::HI 0) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE NTH-RATIONAL) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::RAT-ANS) (QUOTE NIL))))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-PROBABILITY-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-INTEGER-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE *) (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE >) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS DEFDATA::HI (QUOTE NIL)))) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::RAT-ANS) (CONS (CONS (QUOTE 1+) (CONS DEFDATA::HI (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::RAT-ANS) (QUOTE NIL))))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL))))) (QUOTE NIL))))))) (T (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :NUMERIC-RANGE :EXPR (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (CONS (QUOTE NTH-POSITIVE-RATIONAL) (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (QUOTE NIL)))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-PROBABILITY-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS (QUOTE -) (CONS DEFDATA::HI (CONS (CONS (QUOTE *) (CONS (QUOTE DEFDATA::P) (CONS (QUOTE DEFDATA::R) (QUOTE NIL)))) (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))) (QUOTE NIL)))))))))))))) (24 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::GET-ENUM-INFO% (TYPE DEFDATA::RANGE DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((DEFDATA::POSSIBLE-DEFDATA-TYPE-P DEFDATA::TAU-INTERVAL FIXNUM DEFDATA::PLIST-WORLD DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> DEFDATA::ENUM-INFO%-P) :DOC "to fill") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (DEFDATA::POSSIBLE-CONSTANT-VALUEP TYPE) (MAKE DEFDATA::ENUM-INFO% :SIZE 1 :CATEGORY :SINGLETON :EXPR TYPE :EXPR2 (CONS (QUOTE MV) (CONS (CONS (QUOTE QUOTE) (CONS TYPE (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))) (LET ((DEFDATA::ENTRY (ASSOC-EQ TYPE (TABLE-ALIST (QUOTE DEFDATA::TYPES-INFO-TABLE) DEFDATA::WRLD)))) (IF DEFDATA::ENTRY (B* ((DEFDATA::TYPES-INFO% (CDR DEFDATA::ENTRY)) (DEFDATA::TI.TEST-ENUMERATOR (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::TEST-ENUMERATOR)) (DEFDATA::TI.ENUMERATOR (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::ENUMERATOR)) (DEFDATA::TI.ENUM-UNIFORM (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::ENUM-UNIFORM)) (DEFDATA::TI.SIZE (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::SIZE)) ((UNLESS (OR (EQ (QUOTE T) DEFDATA::TI.SIZE) (POSP DEFDATA::TI.SIZE))) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: size in type-info ~x0 should be posp.~%" (CDR DEFDATA::ENTRY)) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL))) ((WHEN (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE INTEGER) DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE))) (DEFDATA::MAKE-RANGE-ENUM-INFO% (QUOTE INTEGER) DEFDATA::RANGE)) ((WHEN (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE ACL2-NUMBER) DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE))) (DEFDATA::MAKE-RANGE-ENUM-INFO% (QUOTE RATIONAL) DEFDATA::RANGE))) (IF DEFDATA::TI.TEST-ENUMERATOR (COND ((DEFDATA::ALLOWS-ARITY DEFDATA::TI.TEST-ENUMERATOR 1 DEFDATA::WRLD) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :FUNCTION :EXPR (LIST DEFDATA::TI.TEST-ENUMERATOR (QUOTE DEFDATA::R)) :EXPR2 (LIST (DEFDATA::MODIFY-SYMBOL "" DEFDATA::TI.TEST-ENUMERATOR "-UNIFORM") (QUOTE DEFDATA::M) (QUOTE DEFDATA::SEED.)))) (T (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: ~x0 should be an enum function of arity 1.~%" DEFDATA::TI.TEST-ENUMERATOR) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL)))) (IF (EQ (QUOTE T) DEFDATA::TI.SIZE) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :FUNCTION :EXPR (LIST DEFDATA::TI.ENUMERATOR (QUOTE DEFDATA::R)) :EXPR2 (LIST DEFDATA::TI.ENUM-UNIFORM (QUOTE DEFDATA::M) (QUOTE DEFDATA::SEED.))) (LET ((DEFDATA::STORED-DEFCONST (DEFDATA::ACL2-GETPROP DEFDATA::TI.ENUMERATOR (QUOTE CONST) DEFDATA::WRLD))) (IF DEFDATA::STORED-DEFCONST (B* ((VALUES (SECOND DEFDATA::STORED-DEFCONST)) (DEFDATA::LEN-V (LEN VALUES)) ((UNLESS (POSP DEFDATA::LEN-V)) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: stored-defconst ~x0 has 0 values~%" DEFDATA::STORED-DEFCONST) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL)))) (MAKE DEFDATA::ENUM-INFO% :SIZE DEFDATA::LEN-V :CATEGORY (IF (= DEFDATA::LEN-V 1) :SINGLETON :DEFCONST) :EXPR (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::TI.ENUMERATOR (QUOTE NIL))))) :EXPR2 (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE MV) (CONS (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (QUOTE MV) (CONS (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::SEED.) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::TI.ENUMERATOR (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (IF (DEFDATA::ALLOWS-ARITY DEFDATA::TI.ENUMERATOR 1 DEFDATA::WRLD) (MAKE DEFDATA::ENUM-INFO% :SIZE DEFDATA::TI.SIZE :CATEGORY :FUNCTION :EXPR (LIST DEFDATA::TI.ENUMERATOR (QUOTE DEFDATA::R)) :EXPR2 (LIST DEFDATA::TI.ENUM-UNIFORM (QUOTE DEFDATA::M) (QUOTE DEFDATA::SEED.))) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: ~x0 is neither one of constant, an enum function or a values defconst.~%" DEFDATA::TI.ENUMERATOR) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL)))))))) (LET* ((DEFDATA::VSYM (DEFDATA::MODIFY-SYMBOL "*" TYPE "-VALUES*")) (VALUES (SECOND (DEFDATA::ACL2-GETPROP DEFDATA::VSYM (QUOTE CONST) DEFDATA::WRLD)))) (IF VALUES (LET ((DEFDATA::LEN-V (LEN VALUES))) (MAKE DEFDATA::ENUM-INFO% :SIZE DEFDATA::LEN-V :CATEGORY (IF (= DEFDATA::LEN-V 1) :SINGLETON :DEFCONST) :EXPR (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::VSYM (QUOTE NIL))))) :EXPR2 (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE MV) (CONS (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (QUOTE MV) (CONS (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::SEED) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::VSYM (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (LET ((DEFDATA::ESYM (DEFDATA::MODIFY-SYMBOL "NTH-" TYPE ""))) (COND ((DEFDATA::ALLOWS-ARITY DEFDATA::ESYM 1 DEFDATA::WRLD) (MAKE DEFDATA::ENUM-INFO% :SIZE T :CATEGORY :FUNCTION :EXPR (CONS DEFDATA::ESYM (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS DEFDATA::ESYM (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))))) (T (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: ~x0 doesnt appear to be a type.~%" TYPE) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL))))))))))) (PROGN (DEFUN DEFDATA::GET-ENUM-INFO% (TYPE DEFDATA::RANGE DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) "to fill" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (DEFDATA::POSSIBLE-CONSTANT-VALUEP TYPE) (MAKE DEFDATA::ENUM-INFO% :SIZE 1 :CATEGORY :SINGLETON :EXPR TYPE :EXPR2 (CONS (QUOTE MV) (CONS (CONS (QUOTE QUOTE) (CONS TYPE (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))) (LET ((DEFDATA::ENTRY (ASSOC-EQ TYPE (TABLE-ALIST (QUOTE DEFDATA::TYPES-INFO-TABLE) DEFDATA::WRLD)))) (IF DEFDATA::ENTRY (B* ((DEFDATA::TYPES-INFO% (CDR DEFDATA::ENTRY)) (DEFDATA::TI.TEST-ENUMERATOR (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::TEST-ENUMERATOR)) (DEFDATA::TI.ENUMERATOR (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::ENUMERATOR)) (DEFDATA::TI.ENUM-UNIFORM (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::ENUM-UNIFORM)) (DEFDATA::TI.SIZE (DEFDATA::ACCESS DEFDATA::TYPES-INFO% DEFDATA::SIZE)) ((UNLESS (OR (EQ (QUOTE T) DEFDATA::TI.SIZE) (POSP DEFDATA::TI.SIZE))) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: size in type-info ~x0 should be posp.~%" (CDR DEFDATA::ENTRY)) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL))) ((WHEN (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE INTEGER) DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE))) (DEFDATA::MAKE-RANGE-ENUM-INFO% (QUOTE INTEGER) DEFDATA::RANGE)) ((WHEN (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE ACL2-NUMBER) DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE))) (DEFDATA::MAKE-RANGE-ENUM-INFO% (QUOTE RATIONAL) DEFDATA::RANGE))) (IF DEFDATA::TI.TEST-ENUMERATOR (COND ((DEFDATA::ALLOWS-ARITY DEFDATA::TI.TEST-ENUMERATOR 1 DEFDATA::WRLD) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :FUNCTION :EXPR (LIST DEFDATA::TI.TEST-ENUMERATOR (QUOTE DEFDATA::R)) :EXPR2 (LIST (DEFDATA::MODIFY-SYMBOL "" DEFDATA::TI.TEST-ENUMERATOR "-UNIFORM") (QUOTE DEFDATA::M) (QUOTE DEFDATA::SEED.)))) (T (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: ~x0 should be an enum function of arity 1.~%" DEFDATA::TI.TEST-ENUMERATOR) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL)))) (IF (EQ (QUOTE T) DEFDATA::TI.SIZE) (MAKE DEFDATA::ENUM-INFO% :SIZE (QUOTE T) :CATEGORY :FUNCTION :EXPR (LIST DEFDATA::TI.ENUMERATOR (QUOTE DEFDATA::R)) :EXPR2 (LIST DEFDATA::TI.ENUM-UNIFORM (QUOTE DEFDATA::M) (QUOTE DEFDATA::SEED.))) (LET ((DEFDATA::STORED-DEFCONST (DEFDATA::ACL2-GETPROP DEFDATA::TI.ENUMERATOR (QUOTE CONST) DEFDATA::WRLD))) (IF DEFDATA::STORED-DEFCONST (B* ((VALUES (SECOND DEFDATA::STORED-DEFCONST)) (DEFDATA::LEN-V (LEN VALUES)) ((UNLESS (POSP DEFDATA::LEN-V)) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: stored-defconst ~x0 has 0 values~%" DEFDATA::STORED-DEFCONST) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL)))) (MAKE DEFDATA::ENUM-INFO% :SIZE DEFDATA::LEN-V :CATEGORY (IF (= DEFDATA::LEN-V 1) :SINGLETON :DEFCONST) :EXPR (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::TI.ENUMERATOR (QUOTE NIL))))) :EXPR2 (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE MV) (CONS (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (QUOTE MV) (CONS (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::SEED.) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::TI.ENUMERATOR (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (IF (DEFDATA::ALLOWS-ARITY DEFDATA::TI.ENUMERATOR 1 DEFDATA::WRLD) (MAKE DEFDATA::ENUM-INFO% :SIZE DEFDATA::TI.SIZE :CATEGORY :FUNCTION :EXPR (LIST DEFDATA::TI.ENUMERATOR (QUOTE DEFDATA::R)) :EXPR2 (LIST DEFDATA::TI.ENUM-UNIFORM (QUOTE DEFDATA::M) (QUOTE DEFDATA::SEED.))) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: ~x0 is neither one of constant, an enum function or a values defconst.~%" DEFDATA::TI.ENUMERATOR) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL)))))))) (LET* ((DEFDATA::VSYM (DEFDATA::MODIFY-SYMBOL "*" TYPE "-VALUES*")) (VALUES (SECOND (DEFDATA::ACL2-GETPROP DEFDATA::VSYM (QUOTE CONST) DEFDATA::WRLD)))) (IF VALUES (LET ((DEFDATA::LEN-V (LEN VALUES))) (MAKE DEFDATA::ENUM-INFO% :SIZE DEFDATA::LEN-V :CATEGORY (IF (= DEFDATA::LEN-V 1) :SINGLETON :DEFCONST) :EXPR (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::R) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::VSYM (QUOTE NIL))))) :EXPR2 (IF (= DEFDATA::LEN-V 1) (CONS (QUOTE MV) (CONS (CONS (QUOTE QUOTE) (CONS (CAR VALUES) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (QUOTE MV) (CONS (CONS (QUOTE NTH) (CONS (CONS (QUOTE MOD) (CONS (QUOTE DEFDATA::SEED) (CONS DEFDATA::LEN-V (QUOTE NIL)))) (CONS DEFDATA::VSYM (QUOTE NIL)))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))))))) (LET ((DEFDATA::ESYM (DEFDATA::MODIFY-SYMBOL "NTH-" TYPE ""))) (COND ((DEFDATA::ALLOWS-ARITY DEFDATA::ESYM 1 DEFDATA::WRLD) (MAKE DEFDATA::ENUM-INFO% :SIZE T :CATEGORY :FUNCTION :EXPR (CONS DEFDATA::ESYM (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) :EXPR2 (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (CONS DEFDATA::ESYM (CONS (QUOTE DEFDATA::R) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))))))) (T (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: ~x0 doesnt appear to be a type.~%" TYPE) (MAKE DEFDATA::ENUM-INFO% :SIZE 0 :CATEGORY :EMPTY :EXPR NIL :EXPR2 NIL))))))))))))) (37 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SINGLE-HYPOTHESIS (DEFDATA::HYP-LIST) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST) DEFDATA::-> (ONEOF (QUOTE T) DEFDATA::PSEUDO-TERM)) :DOC "?: Transform a list of hypotheses into an equivalent hypothesis
 eg: (single-hypothesis '((posp x) (stringp s)) ==> (and (posp x) (stringp s))
     (single-hypothesis '()) ==> T") (IF (ENDP DEFDATA::HYP-LIST) (QUOTE T) (CONS (QUOTE AND) DEFDATA::HYP-LIST))) (PROGN (DEFUN DEFDATA::SINGLE-HYPOTHESIS (DEFDATA::HYP-LIST) "?: Transform a list of hypotheses into an equivalent hypothesis
 eg: (single-hypothesis '((posp x) (stringp s)) ==> (and (posp x) (stringp s))
     (single-hypothesis '()) ==> T" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::HYP-LIST) (QUOTE T) (CONS (QUOTE AND) DEFDATA::HYP-LIST))))) (43 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::INITIAL-GCS% (DEFDATA::NC DEFDATA::NW DEFDATA::START DEFDATA::TOP-TERM DEFDATA::TOP-VT-ALIST) (DEFDATA::DECL :SIG ((DEFDATA::FIXNUMP DEFDATA::FIXNUMP RATIONALP ALLP) DEFDATA::-> DEFDATA::GCS%-P) :DOC "reset/initialized global coverage stats record") (MAKE DEFDATA::GCS% :CTS 0 :WTS 0 :CTS-TO-REACH DEFDATA::NC :WTS-TO-REACH DEFDATA::NW :TOTAL-RUNS 0 :VACS 0 :DUPS 0 :START-TIME DEFDATA::START :END-TIME DEFDATA::START :ALL-BETS-OFF? NIL :TOP-TERM DEFDATA::TOP-TERM :TOP-VT-ALIST DEFDATA::TOP-VT-ALIST)) (PROGN (DEFUN DEFDATA::INITIAL-GCS% (DEFDATA::NC DEFDATA::NW DEFDATA::START DEFDATA::TOP-TERM DEFDATA::TOP-VT-ALIST) "reset/initialized global coverage stats record" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (MAKE DEFDATA::GCS% :CTS 0 :WTS 0 :CTS-TO-REACH DEFDATA::NC :WTS-TO-REACH DEFDATA::NW :TOTAL-RUNS 0 :VACS 0 :DUPS 0 :START-TIME DEFDATA::START :END-TIME DEFDATA::START :ALL-BETS-OFF? NIL :TOP-TERM DEFDATA::TOP-TERM :TOP-VT-ALIST DEFDATA::TOP-VT-ALIST)))) (50 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::RUN-SINGLE-TEST. (SAMPLING-METHOD N DEFDATA::I DEFDATA::R. DEFDATA::BE.) (DEFDATA::DECL :SIG ((KEYWORD FIXNUM FIXNUM FIXNUM DEFDATA::SYMBOL-FIXNUM-ALIST) DEFDATA::-> (MV KEYWORD SYMBOL-DOUBLET-LISTP FIXNUM DEFDATA::SYMBOL-FIXNUM-ALIST)) :DOC "?:
* Synopsis 
Run single trial of search for cts/wts for the formula under test.

* Input parameters 
'N' stands for num-trials.  sampling-method is
itself.  i is the current local-trial number.  'r.' is the current
pseudo-random seed.  'BE.' is alist that holds previous
bounded-exhaustive nat arg seeds used to compute sigma.

* Return sig: (mv res A r. BE.)
A is computed sigma (value binding) used to test this run
res is :vacuous if the hypotheses were inconsistent under A
res is :witness if both conclusion and hyps eval to T under A
else is :counterexample
r. is updated pseudo-random seed
BE. is the updated bounded-exhaustive arg/seed alist.

eg:n/a") (B* ((DEFDATA::SM (DEFDATA::LOCAL-SAMPLING-METHOD SAMPLING-METHOD DEFDATA::I N)) ((MV DEFDATA::A DEFDATA::R. DEFDATA::BE.) (DEFDATA::NEXT-SIGMA DEFDATA::SM DEFDATA::R. DEFDATA::BE.)) (DEFDATA::|not vacuous ?| (DEFDATA::HYPOTHESES-VAL DEFDATA::A))) (IF DEFDATA::|not vacuous ?| (LET ((DEFDATA::RES (IF (DEFDATA::CONCLUSION-VAL DEFDATA::A) :WITNESS :COUNTEREXAMPLE))) (MV DEFDATA::RES DEFDATA::A DEFDATA::R. DEFDATA::BE.)) (MV :VACUOUS DEFDATA::A DEFDATA::R. DEFDATA::BE.)))) (PROGN (DEFUN DEFDATA::RUN-SINGLE-TEST. (SAMPLING-METHOD N DEFDATA::I DEFDATA::R. DEFDATA::BE.) "?:
* Synopsis 
Run single trial of search for cts/wts for the formula under test.

* Input parameters 
'N' stands for num-trials.  sampling-method is
itself.  i is the current local-trial number.  'r.' is the current
pseudo-random seed.  'BE.' is alist that holds previous
bounded-exhaustive nat arg seeds used to compute sigma.

* Return sig: (mv res A r. BE.)
A is computed sigma (value binding) used to test this run
res is :vacuous if the hypotheses were inconsistent under A
res is :witness if both conclusion and hyps eval to T under A
else is :counterexample
r. is updated pseudo-random seed
BE. is the updated bounded-exhaustive arg/seed alist.

eg:n/a" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* ((DEFDATA::SM (DEFDATA::LOCAL-SAMPLING-METHOD SAMPLING-METHOD DEFDATA::I N)) ((MV DEFDATA::A DEFDATA::R. DEFDATA::BE.) (DEFDATA::NEXT-SIGMA DEFDATA::SM DEFDATA::R. DEFDATA::BE.)) (DEFDATA::|not vacuous ?| (DEFDATA::HYPOTHESES-VAL DEFDATA::A))) (IF DEFDATA::|not vacuous ?| (LET ((DEFDATA::RES (IF (DEFDATA::CONCLUSION-VAL DEFDATA::A) :WITNESS :COUNTEREXAMPLE))) (MV DEFDATA::RES DEFDATA::A DEFDATA::R. DEFDATA::BE.)) (MV :VACUOUS DEFDATA::A DEFDATA::R. DEFDATA::BE.)))))) (58 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::RECORD-TESTRUN. (DEFDATA::TEST-ASSIGNMENT-WAS DEFDATA::A DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::DECL :SIG ((KEYWORD SYMBOL-DOUBLET-LISTP DEFDATA::RUN-HIST%-P DEFDATA::GCS%-P) DEFDATA::-> (MV DEFDATA::RUN-HIST%-P DEFDATA::GCS%-P)) :DOC "?: records the diagnostics/results of a single test trial run ") (B* ((DEFDATA::NUM-WTS (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::WTS-TO-REACH)) (DEFDATA::NUM-CTS (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::CTS-TO-REACH)) (DEFDATA::A (DEFDATA::MERGE-SORT-CAR-SYMBOL-< DEFDATA::A)) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::TOTAL-RUNS))) (CASE DEFDATA::TEST-ASSIGNMENT-WAS (:COUNTEREXAMPLE (B* ((DEFDATA::A-CTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::CTS)) ((WHEN (MEMBER-EQUAL DEFDATA::A DEFDATA::A-CTS)) (MV (DEFDATA::RUN-HIST-1+ DEFDATA::DUPS) (DEFDATA::GCS-1+ DEFDATA::DUPS))) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::CTS)) (DEFDATA::M (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#cts|)) (DEFDATA::RUN-HIST% (IF (< DEFDATA::M DEFDATA::NUM-CTS) (DEFDATA::CHANGE DEFDATA::RUN-HIST% DEFDATA::CTS (CONS DEFDATA::A DEFDATA::A-CTS)) DEFDATA::RUN-HIST%)) (DEFDATA::RUN-HIST% (DEFDATA::RUN-HIST-1+ DEFDATA::CTS))) (MV DEFDATA::RUN-HIST% DEFDATA::GCS%))) (:WITNESS (B* ((DEFDATA::A-WTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::WTS)) ((WHEN (MEMBER-EQUAL DEFDATA::A DEFDATA::A-WTS)) (MV (DEFDATA::RUN-HIST-1+ DEFDATA::DUPS) (DEFDATA::GCS-1+ DEFDATA::DUPS))) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::WTS)) (DEFDATA::M (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#wts|)) (DEFDATA::RUN-HIST% (IF (< DEFDATA::M DEFDATA::NUM-WTS) (DEFDATA::CHANGE DEFDATA::RUN-HIST% DEFDATA::WTS (CONS DEFDATA::A DEFDATA::A-WTS)) DEFDATA::RUN-HIST%)) (DEFDATA::RUN-HIST% (DEFDATA::RUN-HIST-1+ DEFDATA::WTS))) (MV DEFDATA::RUN-HIST% DEFDATA::GCS%))) (:VACUOUS (B* ((DEFDATA::A-VACS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::VACS)) ((WHEN (MEMBER-EQUAL DEFDATA::A DEFDATA::A-VACS)) (MV (DEFDATA::RUN-HIST-1+ DEFDATA::DUPS) (DEFDATA::GCS-1+ DEFDATA::DUPS))) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::VACS)) (DEFDATA::M (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#vacs|)) (DEFDATA::RUN-HIST% (IF (< DEFDATA::M (+F DEFDATA::NUM-WTS DEFDATA::NUM-CTS)) (DEFDATA::CHANGE DEFDATA::RUN-HIST% DEFDATA::VACS (CONS DEFDATA::A DEFDATA::A-VACS)) DEFDATA::RUN-HIST%)) (DEFDATA::RUN-HIST% (DEFDATA::RUN-HIST-1+ DEFDATA::VACS))) (MV DEFDATA::RUN-HIST% DEFDATA::GCS%))) (OTHERWISE (PROG2$ (ER DEFDATA::HARD (QUOTE TEST?) "not possible") (MV DEFDATA::RUN-HIST% DEFDATA::GCS%)))))) (PROGN (DEFUN DEFDATA::RECORD-TESTRUN. (DEFDATA::TEST-ASSIGNMENT-WAS DEFDATA::A DEFDATA::RUN-HIST% DEFDATA::GCS%) "?: records the diagnostics/results of a single test trial run " (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* ((DEFDATA::NUM-WTS (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::WTS-TO-REACH)) (DEFDATA::NUM-CTS (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::CTS-TO-REACH)) (DEFDATA::A (DEFDATA::MERGE-SORT-CAR-SYMBOL-< DEFDATA::A)) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::TOTAL-RUNS))) (CASE DEFDATA::TEST-ASSIGNMENT-WAS (:COUNTEREXAMPLE (B* ((DEFDATA::A-CTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::CTS)) ((WHEN (MEMBER-EQUAL DEFDATA::A DEFDATA::A-CTS)) (MV (DEFDATA::RUN-HIST-1+ DEFDATA::DUPS) (DEFDATA::GCS-1+ DEFDATA::DUPS))) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::CTS)) (DEFDATA::M (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#cts|)) (DEFDATA::RUN-HIST% (IF (< DEFDATA::M DEFDATA::NUM-CTS) (DEFDATA::CHANGE DEFDATA::RUN-HIST% DEFDATA::CTS (CONS DEFDATA::A DEFDATA::A-CTS)) DEFDATA::RUN-HIST%)) (DEFDATA::RUN-HIST% (DEFDATA::RUN-HIST-1+ DEFDATA::CTS))) (MV DEFDATA::RUN-HIST% DEFDATA::GCS%))) (:WITNESS (B* ((DEFDATA::A-WTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::WTS)) ((WHEN (MEMBER-EQUAL DEFDATA::A DEFDATA::A-WTS)) (MV (DEFDATA::RUN-HIST-1+ DEFDATA::DUPS) (DEFDATA::GCS-1+ DEFDATA::DUPS))) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::WTS)) (DEFDATA::M (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#wts|)) (DEFDATA::RUN-HIST% (IF (< DEFDATA::M DEFDATA::NUM-WTS) (DEFDATA::CHANGE DEFDATA::RUN-HIST% DEFDATA::WTS (CONS DEFDATA::A DEFDATA::A-WTS)) DEFDATA::RUN-HIST%)) (DEFDATA::RUN-HIST% (DEFDATA::RUN-HIST-1+ DEFDATA::WTS))) (MV DEFDATA::RUN-HIST% DEFDATA::GCS%))) (:VACUOUS (B* ((DEFDATA::A-VACS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::VACS)) ((WHEN (MEMBER-EQUAL DEFDATA::A DEFDATA::A-VACS)) (MV (DEFDATA::RUN-HIST-1+ DEFDATA::DUPS) (DEFDATA::GCS-1+ DEFDATA::DUPS))) (DEFDATA::GCS% (DEFDATA::GCS-1+ DEFDATA::VACS)) (DEFDATA::M (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#vacs|)) (DEFDATA::RUN-HIST% (IF (< DEFDATA::M (+F DEFDATA::NUM-WTS DEFDATA::NUM-CTS)) (DEFDATA::CHANGE DEFDATA::RUN-HIST% DEFDATA::VACS (CONS DEFDATA::A DEFDATA::A-VACS)) DEFDATA::RUN-HIST%)) (DEFDATA::RUN-HIST% (DEFDATA::RUN-HIST-1+ DEFDATA::VACS))) (MV DEFDATA::RUN-HIST% DEFDATA::GCS%))) (OTHERWISE (PROG2$ (ER DEFDATA::HARD (QUOTE TEST?) "not possible") (MV DEFDATA::RUN-HIST% DEFDATA::GCS%)))))))) (59 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::RUN-N-TESTS. (N NUM-TRIALS DEFDATA::SM DEFDATA::VL DEFDATA::R. DEFDATA::BE. DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::DECL :SIG ((FIXNUM FIXNUM KEYWORD FIXNUM FIXNUM DEFDATA::SYMBOL-FIXNUM-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS%) DEFDATA::-> (MV BOOLEAN FIXNUM DEFDATA::SYMBOL-FIXNUM-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS%)) :DOC "?: 
* Synopsis
  Run 'n' number of trials on the formula under test

* Input parameters 
   n is num-trials minus current local-trial number.
  'r.'  is the current pseudo-random seed.
   BE. is the alist mapping variables to bounded-exhaustive seeds used in the last instantiation
   num-trials is the current testing default
   sm is sampling-method (the current testing default)
   vl is verbosity-level.
   run-hist% stores test run stats.
   gcs% is the global (testing) coverage statistics which is used in determining stopping condition.

* Returns: (mv stop? r. BE. run-hist% gcs%)
stop? is T when stopping-condition? call is satisfied
r. is updated pseudo-random seed
BE. is the updated alist of bounded-exhaustive seeds
run-hist% is the updated testrun history
gcs% is the updated global coverage stats.

") (DECLARE (IGNORABLE DEFDATA::VL)) (B* (((WHEN (ZPF N)) (MV NIL DEFDATA::R. DEFDATA::RUN-HIST% DEFDATA::GCS%)) ((WHEN (DEFDATA::STOPPING-CONDITION? DEFDATA::GCS%)) (MV T DEFDATA::R. DEFDATA::RUN-HIST% DEFDATA::GCS%)) (DEFDATA::LOCAL-TRIAL-NUM (1+F (-F NUM-TRIALS N))) ((MV DEFDATA::RES DEFDATA::A DEFDATA::R. DEFDATA::BE.) (DEFDATA::RUN-SINGLE-TEST. DEFDATA::SM NUM-TRIALS DEFDATA::LOCAL-TRIAL-NUM DEFDATA::R. DEFDATA::BE.)) ((MV DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::RECORD-TESTRUN. DEFDATA::RES DEFDATA::A DEFDATA::RUN-HIST% DEFDATA::GCS%)) (- (DEFDATA::CW? NIL "~%test num ~x0 got A=~x1~|" N DEFDATA::A))) (DEFDATA::RUN-N-TESTS. (1-F N) NUM-TRIALS DEFDATA::SM DEFDATA::VL DEFDATA::R. DEFDATA::BE. DEFDATA::RUN-HIST% DEFDATA::GCS%))) (PROGN (DEFUN DEFDATA::RUN-N-TESTS. (N NUM-TRIALS DEFDATA::SM DEFDATA::VL DEFDATA::R. DEFDATA::BE. DEFDATA::RUN-HIST% DEFDATA::GCS%) "?: 
* Synopsis
  Run 'n' number of trials on the formula under test

* Input parameters 
   n is num-trials minus current local-trial number.
  'r.'  is the current pseudo-random seed.
   BE. is the alist mapping variables to bounded-exhaustive seeds used in the last instantiation
   num-trials is the current testing default
   sm is sampling-method (the current testing default)
   vl is verbosity-level.
   run-hist% stores test run stats.
   gcs% is the global (testing) coverage statistics which is used in determining stopping condition.

* Returns: (mv stop? r. BE. run-hist% gcs%)
stop? is T when stopping-condition? call is satisfied
r. is updated pseudo-random seed
BE. is the updated alist of bounded-exhaustive seeds
run-hist% is the updated testrun history
gcs% is the updated global coverage stats.

" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (DECLARE (IGNORABLE DEFDATA::VL)) (B* (((WHEN (ZPF N)) (MV NIL DEFDATA::R. DEFDATA::RUN-HIST% DEFDATA::GCS%)) ((WHEN (DEFDATA::STOPPING-CONDITION? DEFDATA::GCS%)) (MV T DEFDATA::R. DEFDATA::RUN-HIST% DEFDATA::GCS%)) (DEFDATA::LOCAL-TRIAL-NUM (1+F (-F NUM-TRIALS N))) ((MV DEFDATA::RES DEFDATA::A DEFDATA::R. DEFDATA::BE.) (DEFDATA::RUN-SINGLE-TEST. DEFDATA::SM NUM-TRIALS DEFDATA::LOCAL-TRIAL-NUM DEFDATA::R. DEFDATA::BE.)) ((MV DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::RECORD-TESTRUN. DEFDATA::RES DEFDATA::A DEFDATA::RUN-HIST% DEFDATA::GCS%)) (- (DEFDATA::CW? NIL "~%test num ~x0 got A=~x1~|" N DEFDATA::A))) (DEFDATA::RUN-N-TESTS. (1-F N) NUM-TRIALS DEFDATA::SM DEFDATA::VL DEFDATA::R. DEFDATA::BE. DEFDATA::RUN-HIST% DEFDATA::GCS%))))) (61 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::RUN-TESTS. (N DEFDATA::SM DEFDATA::VL DEFDATA::FVARS DEFDATA::RSEED. DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::DECL :SIG ((DEFDATA::FIXNUMP KEYWORDP DEFDATA::FIXNUMP SYMBOL-LISTP DEFDATA::FIXNUMP DEFDATA::RUN-HIST%-P DEFDATA::GCS%-P) DEFDATA::-> (MV DEFDATA::FIXNUMP DEFDATA::RUN-HIST%-P DEFDATA::GCS%-P)) :DOC "?: Run a bunch of simple random/bounded-exhaustive tests/trials to
  find cts/wts for form under test") (B* (((MV DEFDATA::STOP? DEFDATA::RSEED. DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::RUN-N-TESTS. N N DEFDATA::SM DEFDATA::VL DEFDATA::RSEED. (PAIRLIS$ DEFDATA::FVARS (MAKE-LIST (LEN DEFDATA::FVARS) :INITIAL-ELEMENT 0)) DEFDATA::RUN-HIST% DEFDATA::GCS%)) (- (DEFDATA::CW? (SYSTEM-DEBUG-FLAG DEFDATA::VL) "~|run-hist: ~x0 ~|gcs%: ~x1~%" DEFDATA::RUN-HIST% DEFDATA::GCS%))) (MV DEFDATA::STOP? DEFDATA::RSEED. DEFDATA::RUN-HIST% DEFDATA::GCS%))) (PROGN (DEFUN DEFDATA::RUN-TESTS. (N DEFDATA::SM DEFDATA::VL DEFDATA::FVARS DEFDATA::RSEED. DEFDATA::RUN-HIST% DEFDATA::GCS%) "?: Run a bunch of simple random/bounded-exhaustive tests/trials to
  find cts/wts for form under test" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* (((MV DEFDATA::STOP? DEFDATA::RSEED. DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::RUN-N-TESTS. N N DEFDATA::SM DEFDATA::VL DEFDATA::RSEED. (PAIRLIS$ DEFDATA::FVARS (MAKE-LIST (LEN DEFDATA::FVARS) :INITIAL-ELEMENT 0)) DEFDATA::RUN-HIST% DEFDATA::GCS%)) (- (DEFDATA::CW? (SYSTEM-DEBUG-FLAG DEFDATA::VL) "~|run-hist: ~x0 ~|gcs%: ~x1~%" DEFDATA::RUN-HIST% DEFDATA::GCS%))) (MV DEFDATA::STOP? DEFDATA::RSEED. DEFDATA::RUN-HIST% DEFDATA::GCS%))))) (64 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. (DEFDATA::TS DEFDATA::WRLD DEFDATA::HC. DEFDATA::HS. DEFDATA::HO.) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::PLIST-WORLD DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM-LIST) DEFDATA::-> (MV DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM-LIST)) :DOC "given a list of hyps, separate constant hyps, simple defdata-type hyps and others") (DEFDATA::F* ((DEFDATA::ADD-OTHERS-AND-RECURSE... NIL (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::RST DEFDATA::WRLD DEFDATA::HC. DEFDATA::HS. (CONS DEFDATA::HYP DEFDATA::HO.))) (DEFDATA::ADD-CONSTANT-AND-RECURSE (DEFDATA::H) (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::RST DEFDATA::WRLD (CONS DEFDATA::H DEFDATA::HC.) DEFDATA::HS. DEFDATA::HO.))) (IF (ENDP DEFDATA::TS) (MV DEFDATA::HC. DEFDATA::HS. DEFDATA::HO.) (B* (((CONS DEFDATA::HYP DEFDATA::RST) DEFDATA::TS)) (CASE-MATCH DEFDATA::HYP ((DEFDATA::P DEFDATA::T1) (IF (AND (SYMBOLP DEFDATA::T1) (DEFDATA::IS-TYPE-PREDICATE DEFDATA::P DEFDATA::WRLD)) (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::RST DEFDATA::WRLD DEFDATA::HC. (CONS DEFDATA::HYP DEFDATA::HS.) DEFDATA::HO.) (DEFDATA::ADD-OTHERS-AND-RECURSE...))) ((DEFDATA::R DEFDATA::T1 DEFDATA::T2) (IF (EQUIVALENCE-RELATIONP DEFDATA::R DEFDATA::WRLD) (COND ((AND (SYMBOLP DEFDATA::T1) (QUOTEP DEFDATA::T2)) (DEFDATA::ADD-CONSTANT-AND-RECURSE (LIST DEFDATA::R DEFDATA::T1 DEFDATA::T2))) ((AND (QUOTEP DEFDATA::T1) (SYMBOLP DEFDATA::T2)) (DEFDATA::ADD-CONSTANT-AND-RECURSE (LIST DEFDATA::R DEFDATA::T2 DEFDATA::T1))) (T (DEFDATA::ADD-OTHERS-AND-RECURSE...))) (DEFDATA::ADD-OTHERS-AND-RECURSE...))) (& (DEFDATA::ADD-OTHERS-AND-RECURSE...))))))) (PROGN (DEFABBREV DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-OTHERS-AND-RECURSE... NIL (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::RST DEFDATA::WRLD DEFDATA::HC. DEFDATA::HS. (CONS DEFDATA::HYP DEFDATA::HO.))) (DEFABBREV DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-CONSTANT-AND-RECURSE (DEFDATA::H) (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::RST DEFDATA::WRLD (CONS DEFDATA::H DEFDATA::HC.) DEFDATA::HS. DEFDATA::HO.)) (DEFUN DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. (DEFDATA::TS DEFDATA::WRLD DEFDATA::HC. DEFDATA::HS. DEFDATA::HO.) "given a list of hyps, separate constant hyps, simple defdata-type hyps and others" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::TS) (MV DEFDATA::HC. DEFDATA::HS. DEFDATA::HO.) (B* (((CONS DEFDATA::HYP DEFDATA::RST) DEFDATA::TS)) (CASE-MATCH DEFDATA::HYP ((DEFDATA::P DEFDATA::T1) (IF (AND (SYMBOLP DEFDATA::T1) (DEFDATA::IS-TYPE-PREDICATE DEFDATA::P DEFDATA::WRLD)) (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::RST DEFDATA::WRLD DEFDATA::HC. (CONS DEFDATA::HYP DEFDATA::HS.) DEFDATA::HO.) (DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-OTHERS-AND-RECURSE...))) ((DEFDATA::R DEFDATA::T1 DEFDATA::T2) (IF (EQUIVALENCE-RELATIONP DEFDATA::R DEFDATA::WRLD) (COND ((AND (SYMBOLP DEFDATA::T1) (QUOTEP DEFDATA::T2)) (DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-CONSTANT-AND-RECURSE (LIST DEFDATA::R DEFDATA::T1 DEFDATA::T2))) ((AND (QUOTEP DEFDATA::T1) (SYMBOLP DEFDATA::T2)) (DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-CONSTANT-AND-RECURSE (LIST DEFDATA::R DEFDATA::T2 DEFDATA::T1))) (T (DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-OTHERS-AND-RECURSE...))) (DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-OTHERS-AND-RECURSE...))) (& (DEFDATA::_SEPARATE-CONST/SIMPLE-HYPS.ADD-OTHERS-AND-RECURSE...)))))))) (65 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::ALL-VARS-LST (DEFDATA::TERMS) (DEFDATA::DECL :SIG ((PSEUDO-TERM-LISTP) DEFDATA::-> DEFDATA::SYMBOL-LIST) :DOC "all free variables in list of terms") (ALL-VARS1-LST DEFDATA::TERMS (QUOTE NIL))) (PROGN (DEFUN DEFDATA::ALL-VARS-LST (DEFDATA::TERMS) "all free variables in list of terms" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (ALL-VARS1-LST DEFDATA::TERMS (QUOTE NIL))))) (66 RECORD-EXPANSION (VERIFY-TERMINATION DUMB-NEGATE-LIT) (VALUE-TRIPLE :REDUNDANT)) (67 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::VARS-IN-DEPENDENCY-ORDER (DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VL DEFDATA::WRLD) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM FIXNUM DEFDATA::PLIST-WORLD) DEFDATA::-> DEFDATA::SYMBOL-LIST) :DOC "return the free variables ordered according to the notion of
  dependency that treats equality relation specially. See FMCAD paper for
  details, but I have not completely implemented the improvements in the
  paper. This is where I can use better heuristics. But with no hard examples
  to work on, I am doing a naive job for now.") (B* ((DEFDATA::CTERMS (CONS (DUMB-NEGATE-LIT DEFDATA::CONCL) DEFDATA::HYPS)) (DEFDATA::VARS (DEFDATA::ALL-VARS-LST DEFDATA::CTERMS)) ((MV DEFDATA::HC DEFDATA::HS DEFDATA::HO) (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::CTERMS DEFDATA::WRLD (QUOTE NIL) (QUOTE NIL) (QUOTE NIL))) (DEFDATA::DGRAPH (DEFDATA::BUILD-VARIABLE-DEPENDENCY-GRAPH DEFDATA::HO DEFDATA::VARS)) (DEFDATA::ORD-VS (DEFDATA::REV (DEFDATA::APPROXIMATE-TOPOLOGICAL-SORT DEFDATA::DGRAPH (DEBUG-FLAG DEFDATA::VL)))) (DEFDATA::CVARS (DEFDATA::ALL-VARS-LST DEFDATA::HC)) (DEFDATA::SVARS (DEFDATA::ALL-VARS-LST DEFDATA::HS)) (DEFDATA::ORD-VS (UNION-EQ DEFDATA::SVARS DEFDATA::ORD-VS)) (DEFDATA::ORD-VS (UNION-EQ DEFDATA::CVARS (SET-DIFFERENCE-EQ DEFDATA::ORD-VS DEFDATA::CVARS))) (DEFDATA::ORD-VS (SET-DIFFERENCE-EQ DEFDATA::ORD-VS (QUOTE (T NIL))))) DEFDATA::ORD-VS)) (PROGN (DEFUN DEFDATA::VARS-IN-DEPENDENCY-ORDER (DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VL DEFDATA::WRLD) "return the free variables ordered according to the notion of
  dependency that treats equality relation specially. See FMCAD paper for
  details, but I have not completely implemented the improvements in the
  paper. This is where I can use better heuristics. But with no hard examples
  to work on, I am doing a naive job for now." (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* ((DEFDATA::CTERMS (CONS (DUMB-NEGATE-LIT DEFDATA::CONCL) DEFDATA::HYPS)) (DEFDATA::VARS (DEFDATA::ALL-VARS-LST DEFDATA::CTERMS)) ((MV DEFDATA::HC DEFDATA::HS DEFDATA::HO) (DEFDATA::SEPARATE-CONST/SIMPLE-HYPS. DEFDATA::CTERMS DEFDATA::WRLD (QUOTE NIL) (QUOTE NIL) (QUOTE NIL))) (DEFDATA::DGRAPH (DEFDATA::BUILD-VARIABLE-DEPENDENCY-GRAPH DEFDATA::HO DEFDATA::VARS)) (DEFDATA::ORD-VS (DEFDATA::REV (DEFDATA::APPROXIMATE-TOPOLOGICAL-SORT DEFDATA::DGRAPH (DEBUG-FLAG DEFDATA::VL)))) (DEFDATA::CVARS (DEFDATA::ALL-VARS-LST DEFDATA::HC)) (DEFDATA::SVARS (DEFDATA::ALL-VARS-LST DEFDATA::HS)) (DEFDATA::ORD-VS (UNION-EQ DEFDATA::SVARS DEFDATA::ORD-VS)) (DEFDATA::ORD-VS (UNION-EQ DEFDATA::CVARS (SET-DIFFERENCE-EQ DEFDATA::ORD-VS DEFDATA::CVARS))) (DEFDATA::ORD-VS (SET-DIFFERENCE-EQ DEFDATA::ORD-VS (QUOTE (T NIL))))) DEFDATA::ORD-VS)))) (68 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MEET (DEFDATA::TYP1 DEFDATA::TYP2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((SYMBOL SYMBOL DEFDATA::VL PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> SYMBOL) :DOC "find smaller type in subtype hierarchy/lattice") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (B* (((WHEN (OR (EQ (QUOTE EMPTY) DEFDATA::TYP1) (EQ (QUOTE EMPTY) DEFDATA::TYP2))) (QUOTE EMPTY)) ((WHEN (EQ DEFDATA::TYP2 DEFDATA::TYP1)) DEFDATA::TYP2) ((UNLESS (AND (DEFDATA::IS-A-TYPENAME DEFDATA::TYP1 DEFDATA::WRLD) (DEFDATA::IS-A-TYPENAME DEFDATA::TYP2 DEFDATA::WRLD))) (PROG2$ (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEgen/Note: ~x0 or ~x1 not a defdata type. ~ Meet returning universal type ALL.~|" DEFDATA::TYP1 DEFDATA::TYP2) (QUOTE ALL))) ((WHEN (EQ (QUOTE ALL) DEFDATA::TYP1)) DEFDATA::TYP2) ((WHEN (EQ (QUOTE ALL) DEFDATA::TYP2)) DEFDATA::TYP1) ((WHEN (DEFDATA::IS-SUBTYPE$$ DEFDATA::TYP1 DEFDATA::TYP2 DEFDATA::R$ DEFDATA::TYPES-HT$)) DEFDATA::TYP1) ((WHEN (DEFDATA::IS-SUBTYPE$$ DEFDATA::TYP2 DEFDATA::TYP1 DEFDATA::R$ DEFDATA::TYPES-HT$)) DEFDATA::TYP2) ((WHEN (DEFDATA::IS-DISJOINT$$ DEFDATA::TYP2 DEFDATA::TYP1 DEFDATA::R$ DEFDATA::TYPES-HT$)) (QUOTE EMPTY)) ((WHEN (DEFDATA::IS-A-CUSTOM-TYPE DEFDATA::TYP1 DEFDATA::WRLD)) DEFDATA::TYP1) ((WHEN (DEFDATA::IS-A-CUSTOM-TYPE DEFDATA::TYP2 DEFDATA::WRLD)) DEFDATA::TYP2) (DEFDATA::U1 (DEFDATA::TYPE-VERTEX-HT-GET DEFDATA::TYP1 DEFDATA::TYPES-HT$)) (DEFDATA::U2 (DEFDATA::TYPE-VERTEX-HT-GET DEFDATA::TYP2 DEFDATA::TYPES-HT$))) (IF (< DEFDATA::U1 DEFDATA::U2) DEFDATA::TYP2 DEFDATA::TYP1))) (PROGN (DEFUN DEFDATA::MEET (DEFDATA::TYP1 DEFDATA::TYP2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) "find smaller type in subtype hierarchy/lattice" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (B* (((WHEN (OR (EQ (QUOTE EMPTY) DEFDATA::TYP1) (EQ (QUOTE EMPTY) DEFDATA::TYP2))) (QUOTE EMPTY)) ((WHEN (EQ DEFDATA::TYP2 DEFDATA::TYP1)) DEFDATA::TYP2) ((UNLESS (AND (DEFDATA::IS-A-TYPENAME DEFDATA::TYP1 DEFDATA::WRLD) (DEFDATA::IS-A-TYPENAME DEFDATA::TYP2 DEFDATA::WRLD))) (PROG2$ (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEgen/Note: ~x0 or ~x1 not a defdata type. ~ Meet returning universal type ALL.~|" DEFDATA::TYP1 DEFDATA::TYP2) (QUOTE ALL))) ((WHEN (EQ (QUOTE ALL) DEFDATA::TYP1)) DEFDATA::TYP2) ((WHEN (EQ (QUOTE ALL) DEFDATA::TYP2)) DEFDATA::TYP1) ((WHEN (DEFDATA::IS-SUBTYPE$$ DEFDATA::TYP1 DEFDATA::TYP2 DEFDATA::R$ DEFDATA::TYPES-HT$)) DEFDATA::TYP1) ((WHEN (DEFDATA::IS-SUBTYPE$$ DEFDATA::TYP2 DEFDATA::TYP1 DEFDATA::R$ DEFDATA::TYPES-HT$)) DEFDATA::TYP2) ((WHEN (DEFDATA::IS-DISJOINT$$ DEFDATA::TYP2 DEFDATA::TYP1 DEFDATA::R$ DEFDATA::TYPES-HT$)) (QUOTE EMPTY)) ((WHEN (DEFDATA::IS-A-CUSTOM-TYPE DEFDATA::TYP1 DEFDATA::WRLD)) DEFDATA::TYP1) ((WHEN (DEFDATA::IS-A-CUSTOM-TYPE DEFDATA::TYP2 DEFDATA::WRLD)) DEFDATA::TYP2) (DEFDATA::U1 (DEFDATA::TYPE-VERTEX-HT-GET DEFDATA::TYP1 DEFDATA::TYPES-HT$)) (DEFDATA::U2 (DEFDATA::TYPE-VERTEX-HT-GET DEFDATA::TYP2 DEFDATA::TYPES-HT$))) (IF (< DEFDATA::U1 DEFDATA::U2) DEFDATA::TYP2 DEFDATA::TYP1))))) (75 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PUT-ADDITIONAL-CONSTRAINTS. (DEFDATA::VS DEFDATA::TERM DEFDATA::V-CS%-ALST.) (DEFDATA::DECL :SIG ((DEFDATA::SYMBOL-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-CS%-ALIST) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC "put term in alist for all keys in vs") (IF (ENDP DEFDATA::VS) DEFDATA::V-CS%-ALST. (B* (((CONS V DEFDATA::CS%) (ASSOC-EQ (CAR DEFDATA::VS) DEFDATA::V-CS%-ALST.)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::ADDITIONAL-CONSTRAINTS (CONS DEFDATA::TERM (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::ADDITIONAL-CONSTRAINTS))))) (DEFDATA::PUT-ADDITIONAL-CONSTRAINTS. (CDR DEFDATA::VS) DEFDATA::TERM (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))))) (PROGN (DEFUN DEFDATA::PUT-ADDITIONAL-CONSTRAINTS. (DEFDATA::VS DEFDATA::TERM DEFDATA::V-CS%-ALST.) "put term in alist for all keys in vs" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::VS) DEFDATA::V-CS%-ALST. (B* (((CONS V DEFDATA::CS%) (ASSOC-EQ (CAR DEFDATA::VS) DEFDATA::V-CS%-ALST.)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::ADDITIONAL-CONSTRAINTS (CONS DEFDATA::TERM (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::ADDITIONAL-CONSTRAINTS))))) (DEFDATA::PUT-ADDITIONAL-CONSTRAINTS. (CDR DEFDATA::VS) DEFDATA::TERM (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))))))) (76 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PUT-VAR-EQ-CONSTRAINT. (DEFDATA::V1 DEFDATA::V2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::V-CS%-ALST.) (DEFDATA::DECL :SIG ((SYMBOL SYMBOL DEFDATA::VL DEFDATA::PLIST-WORLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::SYMBOL-CS%-ALIST) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC "put variable equality constraint in alist for key v") (DECLARE (XARGS :VERIFY-GUARDS NIL) (IGNORE DEFDATA::WRLD)) (B* (((CONS & DEFDATA::CS1%) (ASSOC-EQ DEFDATA::V1 DEFDATA::V-CS%-ALST.)) ((CONS & DEFDATA::CS2%) (ASSOC-EQ DEFDATA::V2 DEFDATA::V-CS%-ALST.)) (DEFDATA::DT1 (ACCESS DEFDATA::CS% DEFDATA::CS1% :DEFDATA-TYPE)) (DEFDATA::DT2 (ACCESS DEFDATA::CS% DEFDATA::CS2% :DEFDATA-TYPE)) ((MV V DEFDATA::OTHER-V DEFDATA::CS% DEFDATA::OTHER-CS%) (IF (DEFDATA::IS-SUBTYPE$$ DEFDATA::DT2 DEFDATA::DT1 DEFDATA::R$ DEFDATA::TYPES-HT$) (MV DEFDATA::V1 DEFDATA::V2 DEFDATA::CS1% DEFDATA::CS2%) (MV DEFDATA::V2 DEFDATA::V1 DEFDATA::CS2% DEFDATA::CS1%))) (DEFDATA::EQC (ACCESS DEFDATA::CS% DEFDATA::CS% :EQ-CONSTRAINT)) (DEFDATA::OTHER-EQC (ACCESS DEFDATA::CS% DEFDATA::OTHER-CS% :EQ-CONSTRAINT)) ((WHEN (EQ DEFDATA::OTHER-V DEFDATA::EQC)) DEFDATA::V-CS%-ALST.) ((WHEN (EQ V DEFDATA::OTHER-EQC)) DEFDATA::V-CS%-ALST.) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (NOT (EQ (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::EQC))) "CEgen/Note: Overwriting eq-constraint for ~x0 with ~x1~|" V DEFDATA::OTHER-V)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::EQ-CONSTRAINT DEFDATA::OTHER-V))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))) (PROGN (DEFUN DEFDATA::PUT-VAR-EQ-CONSTRAINT. (DEFDATA::V1 DEFDATA::V2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::V-CS%-ALST.) "put variable equality constraint in alist for key v" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL) (IGNORE DEFDATA::WRLD)) (B* (((CONS & DEFDATA::CS1%) (ASSOC-EQ DEFDATA::V1 DEFDATA::V-CS%-ALST.)) ((CONS & DEFDATA::CS2%) (ASSOC-EQ DEFDATA::V2 DEFDATA::V-CS%-ALST.)) (DEFDATA::DT1 (ACCESS DEFDATA::CS% DEFDATA::CS1% :DEFDATA-TYPE)) (DEFDATA::DT2 (ACCESS DEFDATA::CS% DEFDATA::CS2% :DEFDATA-TYPE)) ((MV V DEFDATA::OTHER-V DEFDATA::CS% DEFDATA::OTHER-CS%) (IF (DEFDATA::IS-SUBTYPE$$ DEFDATA::DT2 DEFDATA::DT1 DEFDATA::R$ DEFDATA::TYPES-HT$) (MV DEFDATA::V1 DEFDATA::V2 DEFDATA::CS1% DEFDATA::CS2%) (MV DEFDATA::V2 DEFDATA::V1 DEFDATA::CS2% DEFDATA::CS1%))) (DEFDATA::EQC (ACCESS DEFDATA::CS% DEFDATA::CS% :EQ-CONSTRAINT)) (DEFDATA::OTHER-EQC (ACCESS DEFDATA::CS% DEFDATA::OTHER-CS% :EQ-CONSTRAINT)) ((WHEN (EQ DEFDATA::OTHER-V DEFDATA::EQC)) DEFDATA::V-CS%-ALST.) ((WHEN (EQ V DEFDATA::OTHER-EQC)) DEFDATA::V-CS%-ALST.) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (NOT (EQ (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::EQC))) "CEgen/Note: Overwriting eq-constraint for ~x0 with ~x1~|" V DEFDATA::OTHER-V)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::EQ-CONSTRAINT DEFDATA::OTHER-V))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))))) (77 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PUT-EQ-CONSTRAINT. (V DEFDATA::TERM DEFDATA::VL DEFDATA::V-CS%-ALST.) (DEFDATA::DECL :SIG ((SYMBOL DEFDATA::PSEUDO-TERM DEFDATA::VL DEFDATA::SYMBOL-CS%-ALIST) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC "put eq-constraint term in alist for key v") (B* (((CONS & DEFDATA::CS%) (ASSOC-EQ V DEFDATA::V-CS%-ALST.)) (DEFDATA::EQC (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::EQ-CONSTRAINT)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (NOT (EQ (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::EQC))) "CEgen/Note: Overwriting eq-constraint for ~x0 with ~x1~|" V DEFDATA::TERM)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::EQ-CONSTRAINT DEFDATA::TERM))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))) (PROGN (DEFUN DEFDATA::PUT-EQ-CONSTRAINT. (V DEFDATA::TERM DEFDATA::VL DEFDATA::V-CS%-ALST.) "put eq-constraint term in alist for key v" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* (((CONS & DEFDATA::CS%) (ASSOC-EQ V DEFDATA::V-CS%-ALST.)) (DEFDATA::EQC (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::EQ-CONSTRAINT)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (NOT (EQ (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::EQC))) "CEgen/Note: Overwriting eq-constraint for ~x0 with ~x1~|" V DEFDATA::TERM)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::EQ-CONSTRAINT DEFDATA::TERM))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))))) (78 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PUT-DEFDATA-TYPE. (V DEFDATA::TYP DEFDATA::VL DEFDATA::V-CS%-ALST.) (DEFDATA::DECL :SIG ((SYMBOL DEFDATA::POSSIBLE-DEFDATA-TYPE-P FIXNUM DEFDATA::SYMBOL-CS%-ALIST) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC "put defdata type typ in alist for key v") (B* (((CONS & DEFDATA::CS%) (ASSOC-EQ V DEFDATA::V-CS%-ALST.)) (DEFDATA::DT (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::DEFDATA-TYPE)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (NOT (EQ (QUOTE ALL) DEFDATA::DT))) "CEgen/Note: Overwriting defdata type for ~x0. ~x1 -> ~x2~|" V DEFDATA::DT DEFDATA::TYP)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::DEFDATA-TYPE DEFDATA::TYP))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))) (PROGN (DEFUN DEFDATA::PUT-DEFDATA-TYPE. (V DEFDATA::TYP DEFDATA::VL DEFDATA::V-CS%-ALST.) "put defdata type typ in alist for key v" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* (((CONS & DEFDATA::CS%) (ASSOC-EQ V DEFDATA::V-CS%-ALST.)) (DEFDATA::DT (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::DEFDATA-TYPE)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (NOT (EQ (QUOTE ALL) DEFDATA::DT))) "CEgen/Note: Overwriting defdata type for ~x0. ~x1 -> ~x2~|" V DEFDATA::DT DEFDATA::TYP)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::DEFDATA-TYPE DEFDATA::TYP))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))))) (79 RECORD-EXPANSION (DEFDATA::DEFS (DEFDATA::V-CS%-ALIST-FROM-TERM. (DEFDATA::TERM DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM FIXNUM DEFDATA::PLIST-WORLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::SYMBOL-CS%-ALIST) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC "helper to collect-constraints") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (DEFDATA::F* ((DEFDATA::ADD-CONSTRAINTS... NIL (DEFDATA::PUT-ADDITIONAL-CONSTRAINTS. DEFDATA::FVARS DEFDATA::TERM DEFDATA::ANS.)) (DEFDATA::ADD-EQ-CONSTRAINT... (DEFDATA::T1) (IF (EQUIVALENCE-RELATIONP DEFDATA::R DEFDATA::WRLD) (IF (SYMBOLP DEFDATA::T1) (DEFDATA::PUT-VAR-EQ-CONSTRAINT. X DEFDATA::T1 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::PUT-EQ-CONSTRAINT. X DEFDATA::T1 DEFDATA::VL DEFDATA::ANS.)) (DEFDATA::ADD-CONSTRAINTS...)))) (B* ((DEFDATA::FVARS (ALL-VARS DEFDATA::TERM))) (CASE-MATCH DEFDATA::TERM (((QUOTE QUOTE) C) (DECLARE (IGNORE C)) DEFDATA::ANS.) ((DEFDATA::P (DEFDATA::F . &)) (DECLARE (IGNORE DEFDATA::P DEFDATA::F)) (DEFDATA::ADD-CONSTRAINTS...)) (((QUOTE NOT) X) (DEFDATA::PUT-EQ-CONSTRAINT. X (QUOTE (QUOTE NIL)) DEFDATA::VL DEFDATA::ANS.)) ((DEFDATA::P X) (B* ((DEFDATA::TNAME (DEFDATA::IS-TYPE-PREDICATE DEFDATA::P DEFDATA::WRLD)) ((CONS & DEFDATA::CS%) (ASSOC-EQ X DEFDATA::ANS.)) (DEFDATA::CURR-TYP (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::DEFDATA-TYPE)) (DEFDATA::SMALLER-TYP (DEFDATA::MEET DEFDATA::TNAME DEFDATA::CURR-TYP DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (IF DEFDATA::TNAME (IF (NOT (EQ DEFDATA::SMALLER-TYP DEFDATA::CURR-TYP)) (DEFDATA::PUT-DEFDATA-TYPE. X DEFDATA::SMALLER-TYP DEFDATA::VL DEFDATA::ANS.) DEFDATA::ANS.) (DEFDATA::ADD-CONSTRAINTS...)))) ((DEFDATA::R (DEFDATA::F . &) (DEFDATA::G . &)) (DECLARE (IGNORE DEFDATA::R DEFDATA::F DEFDATA::G)) (DEFDATA::ADD-CONSTRAINTS...)) ((DEFDATA::R X ((QUOTE QUOTE) C)) (DEFDATA::ADD-EQ-CONSTRAINT... (KWOTE C))) ((DEFDATA::R ((QUOTE QUOTE) C) X) (DEFDATA::ADD-EQ-CONSTRAINT... (KWOTE C))) ((DEFDATA::R X (DEFDATA::F . ARGS)) (DEFDATA::ADD-EQ-CONSTRAINT... (CONS-TERM DEFDATA::F ARGS))) ((DEFDATA::R (DEFDATA::F . ARGS) X) (DEFDATA::ADD-EQ-CONSTRAINT... (CONS-TERM DEFDATA::F ARGS))) ((DEFDATA::R X DEFDATA::Y) (DEFDATA::ADD-EQ-CONSTRAINT... DEFDATA::Y)) (& (DEFDATA::ADD-CONSTRAINTS...))))))) (PROGN (DEFABBREV DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-CONSTRAINTS... NIL (DEFDATA::PUT-ADDITIONAL-CONSTRAINTS. DEFDATA::FVARS DEFDATA::TERM DEFDATA::ANS.)) (DEFABBREV DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-EQ-CONSTRAINT... (DEFDATA::T1) (IF (EQUIVALENCE-RELATIONP DEFDATA::R DEFDATA::WRLD) (IF (SYMBOLP DEFDATA::T1) (DEFDATA::PUT-VAR-EQ-CONSTRAINT. X DEFDATA::T1 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::PUT-EQ-CONSTRAINT. X DEFDATA::T1 DEFDATA::VL DEFDATA::ANS.)) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-CONSTRAINTS...))) (DEFUN DEFDATA::V-CS%-ALIST-FROM-TERM. (DEFDATA::TERM DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) "helper to collect-constraints" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (B* ((DEFDATA::FVARS (ALL-VARS DEFDATA::TERM))) (CASE-MATCH DEFDATA::TERM (((QUOTE QUOTE) C) (DECLARE (IGNORE C)) DEFDATA::ANS.) ((DEFDATA::P (DEFDATA::F . &)) (DECLARE (IGNORE DEFDATA::P DEFDATA::F)) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-CONSTRAINTS...)) (((QUOTE NOT) X) (DEFDATA::PUT-EQ-CONSTRAINT. X (QUOTE (QUOTE NIL)) DEFDATA::VL DEFDATA::ANS.)) ((DEFDATA::P X) (B* ((DEFDATA::TNAME (DEFDATA::IS-TYPE-PREDICATE DEFDATA::P DEFDATA::WRLD)) ((CONS & DEFDATA::CS%) (ASSOC-EQ X DEFDATA::ANS.)) (DEFDATA::CURR-TYP (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::DEFDATA-TYPE)) (DEFDATA::SMALLER-TYP (DEFDATA::MEET DEFDATA::TNAME DEFDATA::CURR-TYP DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (IF DEFDATA::TNAME (IF (NOT (EQ DEFDATA::SMALLER-TYP DEFDATA::CURR-TYP)) (DEFDATA::PUT-DEFDATA-TYPE. X DEFDATA::SMALLER-TYP DEFDATA::VL DEFDATA::ANS.) DEFDATA::ANS.) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-CONSTRAINTS...)))) ((DEFDATA::R (DEFDATA::F . &) (DEFDATA::G . &)) (DECLARE (IGNORE DEFDATA::R DEFDATA::F DEFDATA::G)) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-CONSTRAINTS...)) ((DEFDATA::R X ((QUOTE QUOTE) C)) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-EQ-CONSTRAINT... (KWOTE C))) ((DEFDATA::R ((QUOTE QUOTE) C) X) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-EQ-CONSTRAINT... (KWOTE C))) ((DEFDATA::R X (DEFDATA::F . ARGS)) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-EQ-CONSTRAINT... (CONS-TERM DEFDATA::F ARGS))) ((DEFDATA::R (DEFDATA::F . ARGS) X) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-EQ-CONSTRAINT... (CONS-TERM DEFDATA::F ARGS))) ((DEFDATA::R X DEFDATA::Y) (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-EQ-CONSTRAINT... DEFDATA::Y)) (& (DEFDATA::_V-CS%-ALIST-FROM-TERM.ADD-CONSTRAINTS...))))))) (80 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::V-CS%-ALIST-FROM-TERMS. (DEFDATA::TERMS DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::DECL :SIG ((PSEUDO-TERM-LISTP FIXNUM PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::SYMBOL-CS%-ALIST) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC "helper to collect-constraints%") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::TERMS) DEFDATA::ANS. (DEFDATA::V-CS%-ALIST-FROM-TERMS. (CDR DEFDATA::TERMS) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::V-CS%-ALIST-FROM-TERM. (CAR DEFDATA::TERMS) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.)))) (PROGN (DEFUN DEFDATA::V-CS%-ALIST-FROM-TERMS. (DEFDATA::TERMS DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) "helper to collect-constraints%" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::TERMS) DEFDATA::ANS. (DEFDATA::V-CS%-ALIST-FROM-TERMS. (CDR DEFDATA::TERMS) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::V-CS%-ALIST-FROM-TERM. (CAR DEFDATA::TERMS) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.)))))) (81 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PUT-RANGE-CONSTRAINT. (V DEFDATA::INT DEFDATA::V-CS%-ALST.) (DEFDATA::DECL :SIG ((SYMBOLP TAU-INTERVALP DEFDATA::SYMBOL-CS%-ALISTP) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALISTP) :DOC "put interval int in alist for key v") (B* (((CONS & DEFDATA::CS%) (ASSOC-EQ V DEFDATA::V-CS%-ALST.)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::RANGE DEFDATA::INT))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))) (PROGN (DEFUN DEFDATA::PUT-RANGE-CONSTRAINT. (V DEFDATA::INT DEFDATA::V-CS%-ALST.) "put interval int in alist for key v" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* (((CONS & DEFDATA::CS%) (ASSOC-EQ V DEFDATA::V-CS%-ALST.)) (DEFDATA::CS% (DEFDATA::CHANGE DEFDATA::CS% DEFDATA::RANGE DEFDATA::INT))) (PUT-ASSOC-EQ V DEFDATA::CS% DEFDATA::V-CS%-ALST.))))) (82 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::RANGE-IS-ALIAS-P (DEFDATA::INTERVAL TYPE DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P SYMBOLP PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> BOOLEAN) :DOC "is interval an alias of type?") (DECLARE (XARGS :VERIFY-GUARDS NIL) (IGNORE DEFDATA::WRLD)) (B* ((DEFDATA::LO (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO)) (DEFDATA::HI (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI)) (DEFDATA::LO-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO-REL)) (DEFDATA::HI-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI-REL))) (CASE (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :DOMAIN) (INTEGERP (OR (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE NAT) DEFDATA::R$ DEFDATA::TYPES-HT$) (EQUAL DEFDATA::LO 0) (NULL DEFDATA::HI)) (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE POS) DEFDATA::R$ DEFDATA::TYPES-HT$) (EQUAL DEFDATA::LO 1) (NULL DEFDATA::HI)) (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE NEG) DEFDATA::R$ DEFDATA::TYPES-HT$) (NULL DEFDATA::LO) (EQUAL DEFDATA::HI -1)))) (OTHERWISE (OR (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE POSITIVE-RATIONAL) DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::LO-REL (NULL DEFDATA::HI) (EQUAL DEFDATA::LO 0)) (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE NEGATIVE-RATIONAL) DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::HI-REL (NULL DEFDATA::LO) (EQUAL DEFDATA::HI 0))))))) (PROGN (DEFUN DEFDATA::RANGE-IS-ALIAS-P (DEFDATA::INTERVAL TYPE DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) "is interval an alias of type?" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL) (IGNORE DEFDATA::WRLD)) (B* ((DEFDATA::LO (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO)) (DEFDATA::HI (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI)) (DEFDATA::LO-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :LO-REL)) (DEFDATA::HI-REL (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :HI-REL))) (CASE (ACCESS TAU-INTERVAL DEFDATA::INTERVAL :DOMAIN) (INTEGERP (OR (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE NAT) DEFDATA::R$ DEFDATA::TYPES-HT$) (EQUAL DEFDATA::LO 0) (NULL DEFDATA::HI)) (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE POS) DEFDATA::R$ DEFDATA::TYPES-HT$) (EQUAL DEFDATA::LO 1) (NULL DEFDATA::HI)) (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE NEG) DEFDATA::R$ DEFDATA::TYPES-HT$) (NULL DEFDATA::LO) (EQUAL DEFDATA::HI -1)))) (OTHERWISE (OR (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE POSITIVE-RATIONAL) DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::LO-REL (NULL DEFDATA::HI) (EQUAL DEFDATA::LO 0)) (AND (DEFDATA::IS-SUBTYPE$$ TYPE (QUOTE NEGATIVE-RATIONAL) DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::HI-REL (NULL DEFDATA::LO) (EQUAL DEFDATA::HI 0))))))))) (83 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (DEFDATA::VS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::DECL :SIG ((DEFDATA::SYMBOL-LIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST FIXNUM DEFDATA::PLIST-WORLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::SYMBOL-CS%-ALIST) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC "overwrite into v-cs%-alst. the type information in type-alist/tau-interval-alist.
Put defdata symbol types into defdata-type field, but put constants
into eq-constraint field, put interval into range constraint field") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::VS) DEFDATA::ANS. (B* ((X (CAR DEFDATA::VS)) (DEFDATA::PRIOR-T (ASSOC-EQ X DEFDATA::TYPE-ALIST)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (CONSP DEFDATA::PRIOR-T) (CONSP (CDR DEFDATA::PRIOR-T)) (NOT (NULL (CDDR DEFDATA::PRIOR-T)))) "~|CEgen/Warning: Ignoring rest of union types ~x0 ~|" (CDDR DEFDATA::PRIOR-T))) (DEFDATA::TYP-GIVEN (IF (AND (CONSP DEFDATA::PRIOR-T) (CONSP (CDR DEFDATA::PRIOR-T))) (CADR DEFDATA::PRIOR-T) (QUOTE ALL))) ((WHEN (DEFDATA::POSSIBLE-CONSTANT-VALUEP DEFDATA::TYP-GIVEN)) (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (CDR DEFDATA::VS) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::PUT-EQ-CONSTRAINT. X DEFDATA::TYP-GIVEN DEFDATA::VL DEFDATA::ANS.))) (DEFDATA::INT-ENTRY (ASSOC-EQ X DEFDATA::TAU-INTERVAL-ALIST)) (DEFDATA::INT (CDR DEFDATA::INT-ENTRY)) ((WHEN (DEFDATA::SINGLETON-TAU-INTERVALP DEFDATA::INT)) (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (CDR DEFDATA::VS) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::PUT-EQ-CONSTRAINT. X (KWOTE (ACCESS TAU-INTERVAL DEFDATA::INT :LO)) DEFDATA::VL DEFDATA::ANS.))) ((CONS & DEFDATA::CS%) (ASSOC-EQ X DEFDATA::ANS.)) (DEFDATA::CURR-TYP (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::DEFDATA-TYPE)) (DEFDATA::FINAL-TYP (DEFDATA::MEET DEFDATA::CURR-TYP DEFDATA::TYP-GIVEN DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) (DEFDATA::ANS. (IF (AND (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::INT) (NOT (DEFDATA::RANGE-IS-ALIAS-P DEFDATA::INT DEFDATA::FINAL-TYP DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (DEFDATA::PUT-RANGE-CONSTRAINT. X DEFDATA::INT DEFDATA::ANS.) DEFDATA::ANS.))) (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (CDR DEFDATA::VS) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::PUT-DEFDATA-TYPE. X DEFDATA::FINAL-TYP DEFDATA::VL DEFDATA::ANS.))))) (PROGN (DEFUN DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (DEFDATA::VS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) "overwrite into v-cs%-alst. the type information in type-alist/tau-interval-alist.
Put defdata symbol types into defdata-type field, but put constants
into eq-constraint field, put interval into range constraint field" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::VS) DEFDATA::ANS. (B* ((X (CAR DEFDATA::VS)) (DEFDATA::PRIOR-T (ASSOC-EQ X DEFDATA::TYPE-ALIST)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (CONSP DEFDATA::PRIOR-T) (CONSP (CDR DEFDATA::PRIOR-T)) (NOT (NULL (CDDR DEFDATA::PRIOR-T)))) "~|CEgen/Warning: Ignoring rest of union types ~x0 ~|" (CDDR DEFDATA::PRIOR-T))) (DEFDATA::TYP-GIVEN (IF (AND (CONSP DEFDATA::PRIOR-T) (CONSP (CDR DEFDATA::PRIOR-T))) (CADR DEFDATA::PRIOR-T) (QUOTE ALL))) ((WHEN (DEFDATA::POSSIBLE-CONSTANT-VALUEP DEFDATA::TYP-GIVEN)) (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (CDR DEFDATA::VS) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::PUT-EQ-CONSTRAINT. X DEFDATA::TYP-GIVEN DEFDATA::VL DEFDATA::ANS.))) (DEFDATA::INT-ENTRY (ASSOC-EQ X DEFDATA::TAU-INTERVAL-ALIST)) (DEFDATA::INT (CDR DEFDATA::INT-ENTRY)) ((WHEN (DEFDATA::SINGLETON-TAU-INTERVALP DEFDATA::INT)) (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (CDR DEFDATA::VS) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::PUT-EQ-CONSTRAINT. X (KWOTE (ACCESS TAU-INTERVAL DEFDATA::INT :LO)) DEFDATA::VL DEFDATA::ANS.))) ((CONS & DEFDATA::CS%) (ASSOC-EQ X DEFDATA::ANS.)) (DEFDATA::CURR-TYP (DEFDATA::ACCESS DEFDATA::CS% DEFDATA::DEFDATA-TYPE)) (DEFDATA::FINAL-TYP (DEFDATA::MEET DEFDATA::CURR-TYP DEFDATA::TYP-GIVEN DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) (DEFDATA::ANS. (IF (AND (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::INT) (NOT (DEFDATA::RANGE-IS-ALIAS-P DEFDATA::INT DEFDATA::FINAL-TYP DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (DEFDATA::PUT-RANGE-CONSTRAINT. X DEFDATA::INT DEFDATA::ANS.) DEFDATA::ANS.))) (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION (CDR DEFDATA::VS) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (DEFDATA::PUT-DEFDATA-TYPE. X DEFDATA::FINAL-TYP DEFDATA::VL DEFDATA::ANS.))))))) (85 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::COLLECT-CONSTRAINTS% (DEFDATA::HYPS DEFDATA::ORDERED-VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((PSEUDO-TERM-LISTP SYMBOL-LISTP SYMBOL-ALISTP SYMBOL-ALISTP FIXNUM PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> DEFDATA::SYMBOL-CS%-ALIST) :DOC " 
* Synopsis 
  For each free variable compute/infer both the simple defdata types
  and additional constraints on it.

* Input hyps is a usually a list of hypotheses of the conjecture under
  query and is a term-listp ordered-vars is the free variables of
  hyps, but in the variable dependency order as computed from the
  dependency graphs of hyps.  type-alist is the type information
  inferred from ACL2 usually (intersected with the top-level dumb type
  inference), or it might be prior type knowledge we dont want to lose
  i.e if the type inferred from hyps are weaker than in type-alist we
  will keep the stronger type information.
  

* Output
  An alist mapping free variables to cs% record
") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (DEFDATA::F* ((DEFDATA::UNCONSTRAINED-V-CS%-ALST (DEFDATA::XS) (PAIRLIS$ DEFDATA::XS (MAKE-LIST (LEN DEFDATA::XS) :INITIAL-ELEMENT DEFDATA::*EMPTY-CS%*)))) (B* ((DEFDATA::V-CS%-ALST (DEFDATA::UNCONSTRAINED-V-CS%-ALST DEFDATA::ORDERED-VARS)) (DEFDATA::V-CS%-ALST (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION DEFDATA::ORDERED-VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::V-CS%-ALST))) (DEFDATA::V-CS%-ALIST-FROM-TERMS. DEFDATA::HYPS DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::V-CS%-ALST)))) (PROGN (DEFABBREV DEFDATA::_COLLECT-CONSTRAINTS%UNCONSTRAINED-V-CS%-ALST (DEFDATA::XS) (PAIRLIS$ DEFDATA::XS (MAKE-LIST (LEN DEFDATA::XS) :INITIAL-ELEMENT DEFDATA::*EMPTY-CS%*))) (DEFUN DEFDATA::COLLECT-CONSTRAINTS% (DEFDATA::HYPS DEFDATA::ORDERED-VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) " 
* Synopsis 
  For each free variable compute/infer both the simple defdata types
  and additional constraints on it.

* Input hyps is a usually a list of hypotheses of the conjecture under
  query and is a term-listp ordered-vars is the free variables of
  hyps, but in the variable dependency order as computed from the
  dependency graphs of hyps.  type-alist is the type information
  inferred from ACL2 usually (intersected with the top-level dumb type
  inference), or it might be prior type knowledge we dont want to lose
  i.e if the type inferred from hyps are weaker than in type-alist we
  will keep the stronger type information.
  

* Output
  An alist mapping free variables to cs% record
" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (B* ((DEFDATA::V-CS%-ALST (DEFDATA::_COLLECT-CONSTRAINTS%UNCONSTRAINED-V-CS%-ALST DEFDATA::ORDERED-VARS)) (DEFDATA::V-CS%-ALST (DEFDATA::ASSIMILATE-APRIORI-TYPE-INFORMATION DEFDATA::ORDERED-VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::V-CS%-ALST))) (DEFDATA::V-CS%-ALIST-FROM-TERMS. DEFDATA::HYPS DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::V-CS%-ALST))))) (90 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-NEXT-SIGMA_MV-LET (DEFDATA::VAR-ENUMCALLS-ALIST DEFDATA::BODY) (DEFDATA::DECL :SIG ((SYMBOL-ALISTP DEFDATA::ALL) DEFDATA::-> DEFDATA::ALL) :DOC "helper function to make-next-sigma") (DEFDATA::F* ((DEFDATA::_MV-VALUE (V EXP DEFDATA::EXP2) (CONS (QUOTE CASE) (CONS (QUOTE SAMPLING-METHOD) (CONS (CONS (QUOTE :UNIFORM-RANDOM) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::?M) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (CONS (QUOTE DEFDATA::RANDOM-INDEX-SEED) (CONS (QUOTE DEFDATA::*RECURSIVE-UNIFORM-ENUM-MEASURE*) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE VAL) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS DEFDATA::EXP2 (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS (QUOTE VAL) (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE :RANDOM) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::?R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS EXP (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE :BE) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (QUOTE DEFDATA::?R) (CONS (CONS (QUOTE CDR) (CONS (CONS (QUOTE ASSOC-EQ) (CONS (CONS (QUOTE QUOTE) (CONS V (QUOTE NIL))) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (CONS (QUOTE DEFDATA::|next BE args|) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))) (CONS EXP (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE OTHERWISE) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS (CONS (QUOTE QUOTE) (CONS (QUOTE 0) (QUOTE NIL))) (QUOTE NIL))))) (QUOTE NIL))) (QUOTE NIL))))))))) (IF (ENDP DEFDATA::VAR-ENUMCALLS-ALIST) DEFDATA::BODY (B* (((CONS DEFDATA::VAR DEFDATA::ECALLS) (FIRST DEFDATA::VAR-ENUMCALLS-ALIST))) (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS DEFDATA::VAR (QUOTE NIL)))) (CONS (DEFDATA::_MV-VALUE DEFDATA::VAR (FIRST DEFDATA::ECALLS) (SECOND DEFDATA::ECALLS)) (CONS (DEFDATA::MAKE-NEXT-SIGMA_MV-LET (REST DEFDATA::VAR-ENUMCALLS-ALIST) DEFDATA::BODY) (QUOTE NIL))))))))) (PROGN (DEFABBREV DEFDATA::_MAKE-NEXT-SIGMA_MV-LET_MV-VALUE (V EXP DEFDATA::EXP2) (CONS (QUOTE CASE) (CONS (QUOTE SAMPLING-METHOD) (CONS (CONS (QUOTE :UNIFORM-RANDOM) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::?M) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (CONS (QUOTE DEFDATA::RANDOM-INDEX-SEED) (CONS (QUOTE DEFDATA::*RECURSIVE-UNIFORM-ENUM-MEASURE*) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE VAL) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS DEFDATA::EXP2 (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS (QUOTE VAL) (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE :RANDOM) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::?R) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (CONS (QUOTE DEFDATA::RANDOM-NATURAL-SEED) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS EXP (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE :BE) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (QUOTE DEFDATA::?R) (CONS (CONS (QUOTE CDR) (CONS (CONS (QUOTE ASSOC-EQ) (CONS (CONS (QUOTE QUOTE) (CONS V (QUOTE NIL))) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (CONS (QUOTE DEFDATA::|next BE args|) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))) (CONS EXP (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE OTHERWISE) (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS (CONS (QUOTE QUOTE) (CONS (QUOTE 0) (QUOTE NIL))) (QUOTE NIL))))) (QUOTE NIL))) (QUOTE NIL)))))))) (DEFUN DEFDATA::MAKE-NEXT-SIGMA_MV-LET (DEFDATA::VAR-ENUMCALLS-ALIST DEFDATA::BODY) "helper function to make-next-sigma" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::VAR-ENUMCALLS-ALIST) DEFDATA::BODY (B* (((CONS DEFDATA::VAR DEFDATA::ECALLS) (FIRST DEFDATA::VAR-ENUMCALLS-ALIST))) (CONS (QUOTE MV-LET) (CONS (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (CONS DEFDATA::VAR (QUOTE NIL)))) (CONS (DEFDATA::_MAKE-NEXT-SIGMA_MV-LET_MV-VALUE DEFDATA::VAR (FIRST DEFDATA::ECALLS) (SECOND DEFDATA::ECALLS)) (CONS (DEFDATA::MAKE-NEXT-SIGMA_MV-LET (REST DEFDATA::VAR-ENUMCALLS-ALIST) DEFDATA::BODY) (QUOTE NIL)))))))))) (91 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-GUARD-VAR-MEMBER-EQ (DEFDATA::VARS DEFDATA::ALST) (DEFDATA::DECL :SIG ((SYMBOL-ALISTP SYMBOL) DEFDATA::-> DEFDATA::ALL) :DOC "helper function to make-next-sigma") (IF (ENDP DEFDATA::VARS) NIL (CONS (CONS (QUOTE MEMBER-EQ) (CONS (CONS (QUOTE QUOTE) (CONS (CAR DEFDATA::VARS) (QUOTE NIL))) (CONS DEFDATA::ALST (QUOTE NIL)))) (DEFDATA::MAKE-GUARD-VAR-MEMBER-EQ (CDR DEFDATA::VARS) DEFDATA::ALST)))) (PROGN (DEFUN DEFDATA::MAKE-GUARD-VAR-MEMBER-EQ (DEFDATA::VARS DEFDATA::ALST) "helper function to make-next-sigma" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::VARS) NIL (CONS (CONS (QUOTE MEMBER-EQ) (CONS (CONS (QUOTE QUOTE) (CONS (CAR DEFDATA::VARS) (QUOTE NIL))) (CONS DEFDATA::ALST (QUOTE NIL)))) (DEFDATA::MAKE-GUARD-VAR-MEMBER-EQ (CDR DEFDATA::VARS) DEFDATA::ALST)))))) (92 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::CS%-ENUMCALLS (DEFDATA::CS% DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::COMPUTED-VARS) (DEFDATA::DECL :SIG ((DEFDATA::CS%-P DEFDATA::FIXNUMP PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$ SYMBOL-LISTP) DEFDATA::-> (MV FIXNUM (CONS PSEUDO-TERMP PSEUDO-TERMP))) :DOC "for each cs% record we translate it into the a (mv
  size (list enumcall enumcall2)), where the enumcall is an expression
  that when evaluated gives a value (with random distribution) of
  correct type/constraint and size is the size of the type i.e the set
  of value satisfied by the constraint. enumcall2 is a similar
  expression but with the random seed accumulated/threaded
  uniformly. Return value of (mv 0 nil) stands for an error and is
  recognized by the caller function as such.") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (CASE-MATCH DEFDATA::CS% (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::RANGE &) (B* ((DEFDATA::ENUM-INFO% (DEFDATA::GET-ENUM-INFO% DEFDATA::DEFDATA-TYPE DEFDATA::RANGE DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (MV (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::SIZE) (LIST (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR) (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR2))))) (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & DEFDATA::EQ-CONSTRAINT DEFDATA::RANGE &) (B* ((DEFDATA::EQ-VS (ALL-VARS DEFDATA::EQ-CONSTRAINT)) (DEFDATA::REMAINING (SET-DIFFERENCE-EQ DEFDATA::EQ-VS DEFDATA::COMPUTED-VARS))) (IF DEFDATA::REMAINING (B* ((DEFDATA::ENUM-INFO% (DEFDATA::GET-ENUM-INFO% DEFDATA::DEFDATA-TYPE DEFDATA::RANGE DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (MV (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::SIZE) (LIST (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR) (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR2)))) (MV 1 (LIST DEFDATA::EQ-CONSTRAINT (LIST (QUOTE MV) DEFDATA::EQ-CONSTRAINT (QUOTE DEFDATA::SEED.))))))) (& (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: BAD record cs% passed to cs%-enumcalls") (MV 0 NIL))))) (PROGN (DEFUN DEFDATA::CS%-ENUMCALLS (DEFDATA::CS% DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::COMPUTED-VARS) "for each cs% record we translate it into the a (mv
  size (list enumcall enumcall2)), where the enumcall is an expression
  that when evaluated gives a value (with random distribution) of
  correct type/constraint and size is the size of the type i.e the set
  of value satisfied by the constraint. enumcall2 is a similar
  expression but with the random seed accumulated/threaded
  uniformly. Return value of (mv 0 nil) stands for an error and is
  recognized by the caller function as such." (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (CASE-MATCH DEFDATA::CS% (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::RANGE &) (B* ((DEFDATA::ENUM-INFO% (DEFDATA::GET-ENUM-INFO% DEFDATA::DEFDATA-TYPE DEFDATA::RANGE DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (MV (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::SIZE) (LIST (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR) (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR2))))) (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & DEFDATA::EQ-CONSTRAINT DEFDATA::RANGE &) (B* ((DEFDATA::EQ-VS (ALL-VARS DEFDATA::EQ-CONSTRAINT)) (DEFDATA::REMAINING (SET-DIFFERENCE-EQ DEFDATA::EQ-VS DEFDATA::COMPUTED-VARS))) (IF DEFDATA::REMAINING (B* ((DEFDATA::ENUM-INFO% (DEFDATA::GET-ENUM-INFO% DEFDATA::DEFDATA-TYPE DEFDATA::RANGE DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (MV (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::SIZE) (LIST (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR) (DEFDATA::ACCESS DEFDATA::ENUM-INFO% DEFDATA::EXPR2)))) (MV 1 (LIST DEFDATA::EQ-CONSTRAINT (LIST (QUOTE MV) DEFDATA::EQ-CONSTRAINT (QUOTE DEFDATA::SEED.))))))) (& (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: BAD record cs% passed to cs%-enumcalls") (MV 0 NIL))))))) (93 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-ENUMERATOR-CALLS-ALIST (DEFDATA::V-CS%-ALST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::DECL :SIG ((DEFDATA::SYMBOL-CS%-ALIST FIXNUM DEFDATA::PLIST-WORLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::SYMBOL-ALIST) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::SYMBOL-ALIST)) :DOC "given an alist mapping variables to cs% records (in dependency order),
  we walk down the alist, translating each type constraint to the corresponding
enumerator call expression") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::V-CS%-ALST) (MV NIL (DEFDATA::REV DEFDATA::ANS.)) (B* (((CONS X DEFDATA::CS%) (CAR DEFDATA::V-CS%-ALST)) ((MV DEFDATA::SIZE DEFDATA::CALLS) (DEFDATA::CS%-ENUMCALLS DEFDATA::CS% DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (STRIP-CARS DEFDATA::ANS.))) ((WHEN (EQUAL DEFDATA::SIZE 0)) (MV T (QUOTE NIL)))) (DEFDATA::MAKE-ENUMERATOR-CALLS-ALIST (CDR DEFDATA::V-CS%-ALST) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (CONS (CONS X DEFDATA::CALLS) DEFDATA::ANS.))))) (PROGN (DEFUN DEFDATA::MAKE-ENUMERATOR-CALLS-ALIST (DEFDATA::V-CS%-ALST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) "given an alist mapping variables to cs% records (in dependency order),
  we walk down the alist, translating each type constraint to the corresponding
enumerator call expression" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::V-CS%-ALST) (MV NIL (DEFDATA::REV DEFDATA::ANS.)) (B* (((CONS X DEFDATA::CS%) (CAR DEFDATA::V-CS%-ALST)) ((MV DEFDATA::SIZE DEFDATA::CALLS) (DEFDATA::CS%-ENUMCALLS DEFDATA::CS% DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (STRIP-CARS DEFDATA::ANS.))) ((WHEN (EQUAL DEFDATA::SIZE 0)) (MV T (QUOTE NIL)))) (DEFDATA::MAKE-ENUMERATOR-CALLS-ALIST (CDR DEFDATA::V-CS%-ALST) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (CONS (CONS X DEFDATA::CALLS) DEFDATA::ANS.))))))) (95 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::DISPLAYED-DEFDATA-TYPE/EQ-CONSTRAINT (DEFDATA::CS% DEFDATA::COMPUTED-VARS) (DEFDATA::DECL :SIG ((DEFDATA::CS%-P SYMBOL-LISTP) DEFDATA::-> (MV FIXNUM PSEUDO-TERMP)) :DOC "for each cs% record we translate it to defdata-type or 
equality constraint that will be used for enumeration. it shadows cs%-enumcall") (CASE-MATCH DEFDATA::CS% (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::RANGE &) (IF (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE) (LIST :TYPE DEFDATA::DEFDATA-TYPE :RANGE (DEFDATA::DISPLAYED-RANGE DEFDATA::RANGE)) DEFDATA::DEFDATA-TYPE)) (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & DEFDATA::EQ-CONSTRAINT DEFDATA::RANGE &) (B* ((DEFDATA::EQ-VS (ALL-VARS DEFDATA::EQ-CONSTRAINT)) (DEFDATA::REMAINING (SET-DIFFERENCE-EQ DEFDATA::EQ-VS DEFDATA::COMPUTED-VARS))) (IF DEFDATA::REMAINING (IF (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE) (LIST :TYPE DEFDATA::DEFDATA-TYPE :RANGE (DEFDATA::DISPLAYED-RANGE DEFDATA::RANGE)) DEFDATA::DEFDATA-TYPE) DEFDATA::EQ-CONSTRAINT))) (& (QUOTE DEFDATA::BAD-TYPE)))) (PROGN (DEFUN DEFDATA::DISPLAYED-DEFDATA-TYPE/EQ-CONSTRAINT (DEFDATA::CS% DEFDATA::COMPUTED-VARS) "for each cs% record we translate it to defdata-type or 
equality constraint that will be used for enumeration. it shadows cs%-enumcall" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (CASE-MATCH DEFDATA::CS% (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & (QUOTE DEFDATA::EMPTY-EQ-CONSTRAINT) DEFDATA::RANGE &) (IF (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE) (LIST :TYPE DEFDATA::DEFDATA-TYPE :RANGE (DEFDATA::DISPLAYED-RANGE DEFDATA::RANGE)) DEFDATA::DEFDATA-TYPE)) (((QUOTE DEFDATA::CS%) DEFDATA::DEFDATA-TYPE & DEFDATA::EQ-CONSTRAINT DEFDATA::RANGE &) (B* ((DEFDATA::EQ-VS (ALL-VARS DEFDATA::EQ-CONSTRAINT)) (DEFDATA::REMAINING (SET-DIFFERENCE-EQ DEFDATA::EQ-VS DEFDATA::COMPUTED-VARS))) (IF DEFDATA::REMAINING (IF (DEFDATA::NON-EMPTY-NON-UNIVERSAL-INTERVAL-P DEFDATA::RANGE) (LIST :TYPE DEFDATA::DEFDATA-TYPE :RANGE (DEFDATA::DISPLAYED-RANGE DEFDATA::RANGE)) DEFDATA::DEFDATA-TYPE) DEFDATA::EQ-CONSTRAINT))) (& (QUOTE DEFDATA::BAD-TYPE)))))) (96 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::DISPLAYED-ENUM-ALIST (DEFDATA::V-CS%-ALST DEFDATA::ANS.) (DEFDATA::DECL :SIG ((DEFDATA::SYMBOL-CS%-ALIST DEFDATA::SYMBOL-ALIST) DEFDATA::-> DEFDATA::SYMBOL-ALIST) :DOC "given an alist mapping variables to cs% records (in dependency order),
  we walk down the alist, translating each type constraint to the corresponding
enumerator type/expr to be displayed in verbose mode") (IF (ENDP DEFDATA::V-CS%-ALST) (DEFDATA::REV DEFDATA::ANS.) (B* (((CONS X DEFDATA::CS%) (CAR DEFDATA::V-CS%-ALST)) (TYPE (DEFDATA::DISPLAYED-DEFDATA-TYPE/EQ-CONSTRAINT DEFDATA::CS% (STRIP-CARS DEFDATA::ANS.)))) (DEFDATA::DISPLAYED-ENUM-ALIST (CDR DEFDATA::V-CS%-ALST) (CONS (CONS X TYPE) DEFDATA::ANS.))))) (PROGN (DEFUN DEFDATA::DISPLAYED-ENUM-ALIST (DEFDATA::V-CS%-ALST DEFDATA::ANS.) "given an alist mapping variables to cs% records (in dependency order),
  we walk down the alist, translating each type constraint to the corresponding
enumerator type/expr to be displayed in verbose mode" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::V-CS%-ALST) (DEFDATA::REV DEFDATA::ANS.) (B* (((CONS X DEFDATA::CS%) (CAR DEFDATA::V-CS%-ALST)) (TYPE (DEFDATA::DISPLAYED-DEFDATA-TYPE/EQ-CONSTRAINT DEFDATA::CS% (STRIP-CARS DEFDATA::ANS.)))) (DEFDATA::DISPLAYED-ENUM-ALIST (CDR DEFDATA::V-CS%-ALST) (CONS (CONS X TYPE) DEFDATA::ANS.))))))) (97 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::KWOTE-SYMBOL-DOUBLET-LIST (DEFDATA::A) (DEFDATA::DECL :SIG ((SYMBOL-DOUBLET-LISTP) DEFDATA::-> DEFDATA::QUOTED-CONSTANTP)) (IF (ENDP DEFDATA::A) NIL (CONS (LIST (QUOTE LIST) (KWOTE (CAAR DEFDATA::A)) (CADAR DEFDATA::A)) (DEFDATA::KWOTE-SYMBOL-DOUBLET-LIST (CDR DEFDATA::A))))) (PROGN (DEFUN DEFDATA::KWOTE-SYMBOL-DOUBLET-LIST (DEFDATA::A) "n/a" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::A) NIL (CONS (LIST (QUOTE LIST) (KWOTE (CAAR DEFDATA::A)) (CADAR DEFDATA::A)) (DEFDATA::KWOTE-SYMBOL-DOUBLET-LIST (CDR DEFDATA::A))))))) (98 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-NEXT-SIGMA-DEFUNS (DEFDATA::HYPS DEFDATA::CONCL DEFDATA::ORD-VS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-LIST SYMBOL-DOUBLET-LISTP DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST FIXNUM PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::ALL DEFDATA::SYMBOL-ALIST)) :DOC "return the defun forms defining next-sigma function, given a
        list of hypotheses and conclusion (terms). Also return the enum-alist to be displayed") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (DEFDATA::F* ((DEFDATA::DEFUN-FORMS NIL (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::NEXT-SIGMA-CURRENT) (CONS (CONS (QUOTE SAMPLING-METHOD) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))) (CONS (QUOTE "returns (mv A seed. BE.)") (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) (CONS (QUOTE SAMPLING-METHOD) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE TYPE) (CONS (CONS (QUOTE UNSIGNED-BYTE) (CONS (QUOTE 31) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :VERIFY-GUARDS) (CONS (QUOTE NIL) (CONS (QUOTE :GUARD) (CONS (CONS (QUOTE AND) (CONS (CONS (QUOTE MEMBER-EQ) (CONS (QUOTE SAMPLING-METHOD) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (QUOTE :RANDOM) (CONS (QUOTE :UNIFORM-RANDOM) (CONS (QUOTE :BE) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL)))) (CONS (CONS (QUOTE UNSIGNED-BYTE-P) (CONS (QUOTE 31) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (CONS (QUOTE DEFDATA::SYMBOL-UNSIGNED-29BITS-ALISTP) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))) (CONS (CONS (QUOTE CONSP) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))) (CONS (CONS (QUOTE AND) (DEFDATA::MAKE-GUARD-VAR-MEMBER-EQ (STRIP-CARS DEFDATA::VAR-ENUMCALLS-ALIST) (QUOTE DEFDATA::BE.))) (QUOTE NIL))))))) (CONS (QUOTE :GUARD-HINTS) (CONS (CONS (CONS (QUOTE "Goal") (CONS (QUOTE :IN-THEORY) (CONS (CONS (QUOTE DISABLE) (CONS (QUOTE UNSIGNED-BYTE-P) (QUOTE NIL))) (QUOTE NIL)))) (QUOTE NIL)) (QUOTE NIL)))))))) (QUOTE NIL))) (CONS (DEFDATA::MAKE-NEXT-SIGMA_MV-LET DEFDATA::VAR-ENUMCALLS-ALIST (CONS (QUOTE MV) (CONS (DEFDATA::MAKE-VAR-VALUE-LIST-BINDINGS (STRIP-CARS DEFDATA::VAR-ENUMCALLS-ALIST) (DEFDATA::KWOTE-SYMBOL-DOUBLET-LIST DEFDATA::PARTIAL-A)) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))))) (QUOTE NIL))))))))) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::NEXT-SIGMA-CURRENT-GV) (CONS (CONS (QUOTE SAMPLING-METHOD) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :GUARD) (CONS (QUOTE T) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE EC-CALL) (CONS (CONS (QUOTE DEFDATA::NEXT-SIGMA-CURRENT) (CONS (QUOTE SAMPLING-METHOD) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL))))) (B* ((DEFDATA::V-CS%-ALST (DEFDATA::COLLECT-CONSTRAINTS% (CONS (DUMB-NEGATE-LIT DEFDATA::CONCL) DEFDATA::HYPS) DEFDATA::ORD-VS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) ((MV DEFDATA::ERP DEFDATA::VAR-ENUMCALLS-ALIST) (DEFDATA::MAKE-ENUMERATOR-CALLS-ALIST DEFDATA::V-CS%-ALST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (QUOTE NIL))) ((WHEN DEFDATA::ERP) (MV DEFDATA::ERP (QUOTE NIL) (QUOTE NIL)))) (MV NIL (DEFDATA::DEFUN-FORMS) (DEFDATA::DISPLAYED-ENUM-ALIST DEFDATA::V-CS%-ALST (QUOTE NIL)))))) (PROGN (DEFABBREV DEFDATA::_MAKE-NEXT-SIGMA-DEFUNSDEFUN-FORMS NIL (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::NEXT-SIGMA-CURRENT) (CONS (CONS (QUOTE SAMPLING-METHOD) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))) (CONS (QUOTE "returns (mv A seed. BE.)") (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) (CONS (QUOTE SAMPLING-METHOD) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE TYPE) (CONS (CONS (QUOTE UNSIGNED-BYTE) (CONS (QUOTE 31) (QUOTE NIL))) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :VERIFY-GUARDS) (CONS (QUOTE NIL) (CONS (QUOTE :GUARD) (CONS (CONS (QUOTE AND) (CONS (CONS (QUOTE MEMBER-EQ) (CONS (QUOTE SAMPLING-METHOD) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (QUOTE :RANDOM) (CONS (QUOTE :UNIFORM-RANDOM) (CONS (QUOTE :BE) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL)))) (CONS (CONS (QUOTE UNSIGNED-BYTE-P) (CONS (QUOTE 31) (CONS (QUOTE DEFDATA::SEED.) (QUOTE NIL)))) (CONS (CONS (QUOTE DEFDATA::SYMBOL-UNSIGNED-29BITS-ALISTP) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))) (CONS (CONS (QUOTE CONSP) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))) (CONS (CONS (QUOTE AND) (DEFDATA::MAKE-GUARD-VAR-MEMBER-EQ (STRIP-CARS DEFDATA::VAR-ENUMCALLS-ALIST) (QUOTE DEFDATA::BE.))) (QUOTE NIL))))))) (CONS (QUOTE :GUARD-HINTS) (CONS (CONS (CONS (QUOTE "Goal") (CONS (QUOTE :IN-THEORY) (CONS (CONS (QUOTE DISABLE) (CONS (QUOTE UNSIGNED-BYTE-P) (QUOTE NIL))) (QUOTE NIL)))) (QUOTE NIL)) (QUOTE NIL)))))))) (QUOTE NIL))) (CONS (DEFDATA::MAKE-NEXT-SIGMA_MV-LET DEFDATA::VAR-ENUMCALLS-ALIST (CONS (QUOTE MV) (CONS (DEFDATA::MAKE-VAR-VALUE-LIST-BINDINGS (STRIP-CARS DEFDATA::VAR-ENUMCALLS-ALIST) (DEFDATA::KWOTE-SYMBOL-DOUBLET-LIST DEFDATA::PARTIAL-A)) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))))) (QUOTE NIL))))))))) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::NEXT-SIGMA-CURRENT-GV) (CONS (CONS (QUOTE SAMPLING-METHOD) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL)))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :GUARD) (CONS (QUOTE T) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE EC-CALL) (CONS (CONS (QUOTE DEFDATA::NEXT-SIGMA-CURRENT) (CONS (QUOTE SAMPLING-METHOD) (CONS (QUOTE DEFDATA::SEED.) (CONS (QUOTE DEFDATA::BE.) (QUOTE NIL))))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL)))) (DEFUN DEFDATA::MAKE-NEXT-SIGMA-DEFUNS (DEFDATA::HYPS DEFDATA::CONCL DEFDATA::ORD-VS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) "return the defun forms defining next-sigma function, given a
        list of hypotheses and conclusion (terms). Also return the enum-alist to be displayed" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (B* ((DEFDATA::V-CS%-ALST (DEFDATA::COLLECT-CONSTRAINTS% (CONS (DUMB-NEGATE-LIT DEFDATA::CONCL) DEFDATA::HYPS) DEFDATA::ORD-VS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) ((MV DEFDATA::ERP DEFDATA::VAR-ENUMCALLS-ALIST) (DEFDATA::MAKE-ENUMERATOR-CALLS-ALIST DEFDATA::V-CS%-ALST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (QUOTE NIL))) ((WHEN DEFDATA::ERP) (MV DEFDATA::ERP (QUOTE NIL) (QUOTE NIL)))) (MV NIL (DEFDATA::_MAKE-NEXT-SIGMA-DEFUNSDEFUN-FORMS) (DEFDATA::DISPLAYED-ENUM-ALIST DEFDATA::V-CS%-ALST (QUOTE NIL))))))) (99 RECORD-EXPANSION (DEFDATA::DEFS (DEFDATA::MV-LIST-IFY (DEFDATA::TERM DEFDATA::MV-SIG-ALIST) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-LIST) DEFDATA::-> DEFDATA::PSEUDO-TERM) :DOC "wrap all mv fn calls with mv-list") (IF (VARIABLEP DEFDATA::TERM) DEFDATA::TERM (IF (FQUOTEP DEFDATA::TERM) DEFDATA::TERM (B* ((DEFDATA::FN (FFN-SYMB DEFDATA::TERM)) (ARGS (FARGS DEFDATA::TERM)) (DEFDATA::A DEFDATA::MV-SIG-ALIST) (DEFDATA::ENTRY (ASSOC-EQ DEFDATA::FN DEFDATA::A)) ((UNLESS DEFDATA::ENTRY) (CONS-TERM DEFDATA::FN (DEFDATA::MV-LIST-IFY-LST ARGS DEFDATA::A))) ((CONS DEFDATA::FN DEFDATA::M) DEFDATA::ENTRY)) (CONS-TERM (QUOTE MV-LIST) (LIST (KWOTE DEFDATA::M) (CONS-TERM DEFDATA::FN (DEFDATA::MV-LIST-IFY-LST ARGS DEFDATA::A)))))))) (DEFDATA::MV-LIST-IFY-LST (DEFDATA::TERMS DEFDATA::MV-SIG-ALIST) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::SYMBOL-LIST) DEFDATA::-> DEFDATA::PSEUDO-TERM-LIST)) (IF (ENDP DEFDATA::TERMS) (QUOTE NIL) (CONS (DEFDATA::MV-LIST-IFY (CAR DEFDATA::TERMS) DEFDATA::MV-SIG-ALIST) (DEFDATA::MV-LIST-IFY-LST (CDR DEFDATA::TERMS) DEFDATA::MV-SIG-ALIST))))) (PROGN (DEFUNS (DEFDATA::MV-LIST-IFY (DEFDATA::TERM DEFDATA::MV-SIG-ALIST) "wrap all mv fn calls with mv-list" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (VARIABLEP DEFDATA::TERM) DEFDATA::TERM (IF (FQUOTEP DEFDATA::TERM) DEFDATA::TERM (B* ((DEFDATA::FN (FFN-SYMB DEFDATA::TERM)) (ARGS (FARGS DEFDATA::TERM)) (DEFDATA::A DEFDATA::MV-SIG-ALIST) (DEFDATA::ENTRY (ASSOC-EQ DEFDATA::FN DEFDATA::A)) ((UNLESS DEFDATA::ENTRY) (CONS-TERM DEFDATA::FN (DEFDATA::MV-LIST-IFY-LST ARGS DEFDATA::A))) ((CONS DEFDATA::FN DEFDATA::M) DEFDATA::ENTRY)) (CONS-TERM (QUOTE MV-LIST) (LIST (KWOTE DEFDATA::M) (CONS-TERM DEFDATA::FN (DEFDATA::MV-LIST-IFY-LST ARGS DEFDATA::A)))))))) (DEFDATA::MV-LIST-IFY-LST (DEFDATA::TERMS DEFDATA::MV-SIG-ALIST) "n/a" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::TERMS) (QUOTE NIL) (CONS (DEFDATA::MV-LIST-IFY (CAR DEFDATA::TERMS) DEFDATA::MV-SIG-ALIST) (DEFDATA::MV-LIST-IFY-LST (CDR DEFDATA::TERMS) DEFDATA::MV-SIG-ALIST))))))) (100 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-LET-BINDING-FOR-SIGMA (DEFDATA::VS DEFDATA::SIGMA-SYMBOL) (DEFDATA::DECL :SIG ((DEFDATA::SYMBOL-LIST SYMBOL) DEFDATA::-> SYMBOL-DOUBLET-LISTP) :DOC "(make-let-binding-for-sigma '(x y) 'A) => ((x (get-val x A))
                                            (y (get-val y A)))
") (IF (ENDP DEFDATA::VS) (QUOTE NIL) (CONS (CONS (FIRST DEFDATA::VS) (CONS (CONS (QUOTE CADR) (CONS (CONS (QUOTE ASSOC-EQ) (CONS (CONS (QUOTE QUOTE) (CONS (FIRST DEFDATA::VS) (QUOTE NIL))) (CONS DEFDATA::SIGMA-SYMBOL (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL))) (DEFDATA::MAKE-LET-BINDING-FOR-SIGMA (CDR DEFDATA::VS) DEFDATA::SIGMA-SYMBOL)))) (PROGN (DEFUN DEFDATA::MAKE-LET-BINDING-FOR-SIGMA (DEFDATA::VS DEFDATA::SIGMA-SYMBOL) "(make-let-binding-for-sigma '(x y) 'A) => ((x (get-val x A))
                                            (y (get-val y A)))
" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::VS) (QUOTE NIL) (CONS (CONS (FIRST DEFDATA::VS) (CONS (CONS (QUOTE CADR) (CONS (CONS (QUOTE ASSOC-EQ) (CONS (CONS (QUOTE QUOTE) (CONS (FIRST DEFDATA::VS) (QUOTE NIL))) (CONS DEFDATA::SIGMA-SYMBOL (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL))) (DEFDATA::MAKE-LET-BINDING-FOR-SIGMA (CDR DEFDATA::VS) DEFDATA::SIGMA-SYMBOL)))))) (101 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-HYPOTHESES-VAL-DEFUNS (DEFDATA::TERMS DEFDATA::ORD-VARS DEFDATA::MV-SIG-ALIST) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::SYMBOL-LIST DEFDATA::SYMBOL-ALIST) DEFDATA::-> DEFDATA::ALL) :DOC "make the defun forms for hypotheses-val defstub") (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::HYPOTHESES-VAL-CURRENT) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :VERIFY-GUARDS) (CONS (QUOTE NIL) (CONS (QUOTE :NORMALIZE) (CONS (QUOTE NIL) (CONS (QUOTE :GUARD) (CONS (CONS (QUOTE SYMBOL-DOUBLET-LISTP) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL)))))))) (QUOTE NIL))) (CONS (CONS (QUOTE LET) (CONS (DEFDATA::MAKE-LET-BINDING-FOR-SIGMA DEFDATA::ORD-VARS (QUOTE DEFDATA::A)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) DEFDATA::ORD-VARS) (QUOTE NIL))) (CONS (DEFDATA::MV-LIST-IFY (DEFDATA::SINGLE-HYPOTHESIS DEFDATA::TERMS) DEFDATA::MV-SIG-ALIST) (QUOTE NIL))))) (QUOTE NIL))))))) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::HYPOTHESES-VAL-CURRENT-GV) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :GUARD) (CONS (QUOTE T) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE EC-CALL) (CONS (CONS (QUOTE DEFDATA::HYPOTHESES-VAL-CURRENT) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL)))) (PROGN (DEFUN DEFDATA::MAKE-HYPOTHESES-VAL-DEFUNS (DEFDATA::TERMS DEFDATA::ORD-VARS DEFDATA::MV-SIG-ALIST) "make the defun forms for hypotheses-val defstub" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::HYPOTHESES-VAL-CURRENT) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :VERIFY-GUARDS) (CONS (QUOTE NIL) (CONS (QUOTE :NORMALIZE) (CONS (QUOTE NIL) (CONS (QUOTE :GUARD) (CONS (CONS (QUOTE SYMBOL-DOUBLET-LISTP) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL)))))))) (QUOTE NIL))) (CONS (CONS (QUOTE LET) (CONS (DEFDATA::MAKE-LET-BINDING-FOR-SIGMA DEFDATA::ORD-VARS (QUOTE DEFDATA::A)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) DEFDATA::ORD-VARS) (QUOTE NIL))) (CONS (DEFDATA::MV-LIST-IFY (DEFDATA::SINGLE-HYPOTHESIS DEFDATA::TERMS) DEFDATA::MV-SIG-ALIST) (QUOTE NIL))))) (QUOTE NIL))))))) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::HYPOTHESES-VAL-CURRENT-GV) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :GUARD) (CONS (QUOTE T) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE EC-CALL) (CONS (CONS (QUOTE DEFDATA::HYPOTHESES-VAL-CURRENT) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL)))))) (102 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MAKE-CONCLUSION-VAL-DEFUNS (DEFDATA::TERM DEFDATA::ORD-VARS DEFDATA::MV-SIG-ALIST) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-LIST DEFDATA::SYMBOL-ALIST) DEFDATA::-> DEFDATA::ALL) :DOC "make the defun forms for conclusion-val defstub") (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::CONCLUSION-VAL-CURRENT) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :VERIFY-GUARDS) (CONS (QUOTE NIL) (CONS (QUOTE :NORMALIZE) (CONS (QUOTE NIL) (CONS (QUOTE :GUARD) (CONS (CONS (QUOTE SYMBOL-DOUBLET-LISTP) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL)))))))) (QUOTE NIL))) (CONS (CONS (QUOTE LET) (CONS (DEFDATA::MAKE-LET-BINDING-FOR-SIGMA DEFDATA::ORD-VARS (QUOTE DEFDATA::A)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) DEFDATA::ORD-VARS) (QUOTE NIL))) (CONS (DEFDATA::MV-LIST-IFY DEFDATA::TERM DEFDATA::MV-SIG-ALIST) (QUOTE NIL))))) (QUOTE NIL))))))) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::CONCLUSION-VAL-CURRENT-GV) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :GUARD) (CONS (QUOTE T) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE EC-CALL) (CONS (CONS (QUOTE DEFDATA::CONCLUSION-VAL-CURRENT) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL)))) (PROGN (DEFUN DEFDATA::MAKE-CONCLUSION-VAL-DEFUNS (DEFDATA::TERM DEFDATA::ORD-VARS DEFDATA::MV-SIG-ALIST) "make the defun forms for conclusion-val defstub" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::CONCLUSION-VAL-CURRENT) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :VERIFY-GUARDS) (CONS (QUOTE NIL) (CONS (QUOTE :NORMALIZE) (CONS (QUOTE NIL) (CONS (QUOTE :GUARD) (CONS (CONS (QUOTE SYMBOL-DOUBLET-LISTP) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL)))))))) (QUOTE NIL))) (CONS (CONS (QUOTE LET) (CONS (DEFDATA::MAKE-LET-BINDING-FOR-SIGMA DEFDATA::ORD-VARS (QUOTE DEFDATA::A)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) DEFDATA::ORD-VARS) (QUOTE NIL))) (CONS (DEFDATA::MV-LIST-IFY DEFDATA::TERM DEFDATA::MV-SIG-ALIST) (QUOTE NIL))))) (QUOTE NIL))))))) (CONS (CONS (QUOTE DEFUN) (CONS (QUOTE DEFDATA::CONCLUSION-VAL-CURRENT-GV) (CONS (CONS (QUOTE DEFDATA::A) (QUOTE NIL)) (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE XARGS) (CONS (QUOTE :GUARD) (CONS (QUOTE T) (QUOTE NIL)))) (QUOTE NIL))) (CONS (CONS (QUOTE EC-CALL) (CONS (CONS (QUOTE DEFDATA::CONCLUSION-VAL-CURRENT) (CONS (QUOTE DEFDATA::A) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL)))))) (115 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::INITIAL-S-HIST-ENTRY% (DEFDATA::NAME DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VARS DEFDATA::ELIDE-MAP DEFDATA::START) (DEFDATA::DECL :SIG ((STRING DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-LIST DEFDATA::SYMBOL-ALIST RATIONAL) DEFDATA::-> DEFDATA::S-HIST-ENTRY%) :DOC "make initial s-hist-entry% given args") (MAKE DEFDATA::S-HIST-ENTRY% :NAME DEFDATA::NAME :HYPS DEFDATA::HYPS :CONCL DEFDATA::CONCL :VARS DEFDATA::VARS :ELIDE-MAP DEFDATA::ELIDE-MAP :START-TIME DEFDATA::START :END-TIME DEFDATA::START :RUN-HIST DEFDATA::*INITIAL-RUN-HIST%*)) (PROGN (DEFUN DEFDATA::INITIAL-S-HIST-ENTRY% (DEFDATA::NAME DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VARS DEFDATA::ELIDE-MAP DEFDATA::START) "make initial s-hist-entry% given args" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (MAKE DEFDATA::S-HIST-ENTRY% :NAME DEFDATA::NAME :HYPS DEFDATA::HYPS :CONCL DEFDATA::CONCL :VARS DEFDATA::VARS :ELIDE-MAP DEFDATA::ELIDE-MAP :START-TIME DEFDATA::START :END-TIME DEFDATA::START :RUN-HIST DEFDATA::*INITIAL-RUN-HIST%*)))) (127 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERM (DEFDATA::TERM DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::DECL :SIG ((PSEUDO-TERM-LISTP FIXNUM PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$ SYMBOL-ALISTP) DEFDATA::-> SYMBOL-ALISTP) :DOC "main aux function to infer type-alist from term") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (DEFDATA::F* ((DEFDATA::ADD-EQ-TYP... (DEFDATA::T1) (IF (EQUIVALENCE-RELATIONP DEFDATA::R DEFDATA::WRLD) (PUT-ASSOC X (LIST DEFDATA::T1) DEFDATA::ANS.) DEFDATA::ANS.))) (CASE-MATCH DEFDATA::TERM (((QUOTE QUOTE) C) (DECLARE (IGNORE C)) DEFDATA::ANS.) ((DEFDATA::P (DEFDATA::F . &)) (DECLARE (IGNORE DEFDATA::P DEFDATA::F)) DEFDATA::ANS.) (((QUOTE NOT) X) (PUT-ASSOC X (LIST (QUOTE (QUOTE NIL))) DEFDATA::ANS.)) ((DEFDATA::P X) (B* ((DEFDATA::TNAME (DEFDATA::IS-TYPE-PREDICATE DEFDATA::P DEFDATA::WRLD)) ((UNLESS DEFDATA::TNAME) DEFDATA::ANS.) (DEFDATA::CURR-TYPS-ENTRY (ASSOC-EQ X DEFDATA::ANS.)) ((UNLESS (AND DEFDATA::CURR-TYPS-ENTRY (CONSP (CDR DEFDATA::CURR-TYPS-ENTRY)))) DEFDATA::ANS.) (DEFDATA::CURR-TYPS (CDR DEFDATA::CURR-TYPS-ENTRY)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (CONSP (CDR DEFDATA::CURR-TYPS))) "~|CEgen/Warning: Ignoring rest of union types ~x0 ~|" (CDR DEFDATA::CURR-TYPS))) (DEFDATA::CURR-TYP (CAR DEFDATA::CURR-TYPS)) ((WHEN (DEFDATA::POSSIBLE-CONSTANT-VALUEP DEFDATA::CURR-TYP)) DEFDATA::ANS.) (DEFDATA::FINAL-TYP (DEFDATA::MEET DEFDATA::TNAME DEFDATA::CURR-TYP DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (PUT-ASSOC X (LIST DEFDATA::FINAL-TYP) DEFDATA::ANS.))) ((DEFDATA::R (DEFDATA::F . &) (DEFDATA::G . &)) (DECLARE (IGNORE DEFDATA::R DEFDATA::F DEFDATA::G)) DEFDATA::ANS.) ((DEFDATA::R X ((QUOTE QUOTE) C)) (DEFDATA::ADD-EQ-TYP... (KWOTE C))) ((DEFDATA::R ((QUOTE QUOTE) C) X) (DEFDATA::ADD-EQ-TYP... (KWOTE C))) (& DEFDATA::ANS.)))) (PROGN (DEFABBREV DEFDATA::_DUMB-TYPE-ALIST-INFER-FROM-TERMADD-EQ-TYP... (DEFDATA::T1) (IF (EQUIVALENCE-RELATIONP DEFDATA::R DEFDATA::WRLD) (PUT-ASSOC X (LIST DEFDATA::T1) DEFDATA::ANS.) DEFDATA::ANS.)) (DEFUN DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERM (DEFDATA::TERM DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) "main aux function to infer type-alist from term" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (CASE-MATCH DEFDATA::TERM (((QUOTE QUOTE) C) (DECLARE (IGNORE C)) DEFDATA::ANS.) ((DEFDATA::P (DEFDATA::F . &)) (DECLARE (IGNORE DEFDATA::P DEFDATA::F)) DEFDATA::ANS.) (((QUOTE NOT) X) (PUT-ASSOC X (LIST (QUOTE (QUOTE NIL))) DEFDATA::ANS.)) ((DEFDATA::P X) (B* ((DEFDATA::TNAME (DEFDATA::IS-TYPE-PREDICATE DEFDATA::P DEFDATA::WRLD)) ((UNLESS DEFDATA::TNAME) DEFDATA::ANS.) (DEFDATA::CURR-TYPS-ENTRY (ASSOC-EQ X DEFDATA::ANS.)) ((UNLESS (AND DEFDATA::CURR-TYPS-ENTRY (CONSP (CDR DEFDATA::CURR-TYPS-ENTRY)))) DEFDATA::ANS.) (DEFDATA::CURR-TYPS (CDR DEFDATA::CURR-TYPS-ENTRY)) (- (DEFDATA::CW? (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (CONSP (CDR DEFDATA::CURR-TYPS))) "~|CEgen/Warning: Ignoring rest of union types ~x0 ~|" (CDR DEFDATA::CURR-TYPS))) (DEFDATA::CURR-TYP (CAR DEFDATA::CURR-TYPS)) ((WHEN (DEFDATA::POSSIBLE-CONSTANT-VALUEP DEFDATA::CURR-TYP)) DEFDATA::ANS.) (DEFDATA::FINAL-TYP (DEFDATA::MEET DEFDATA::TNAME DEFDATA::CURR-TYP DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$))) (PUT-ASSOC X (LIST DEFDATA::FINAL-TYP) DEFDATA::ANS.))) ((DEFDATA::R (DEFDATA::F . &) (DEFDATA::G . &)) (DECLARE (IGNORE DEFDATA::R DEFDATA::F DEFDATA::G)) DEFDATA::ANS.) ((DEFDATA::R X ((QUOTE QUOTE) C)) (DEFDATA::_DUMB-TYPE-ALIST-INFER-FROM-TERMADD-EQ-TYP... (KWOTE C))) ((DEFDATA::R ((QUOTE QUOTE) C) X) (DEFDATA::_DUMB-TYPE-ALIST-INFER-FROM-TERMADD-EQ-TYP... (KWOTE C))) (& DEFDATA::ANS.))))) (128 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERMS (DEFDATA::H DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) (DEFDATA::DECL :SIG ((PSEUDO-TERM-LISTP FIXNUM PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$ SYMBOL-ALISTP) DEFDATA::-> SYMBOL-ALISTP) :DOC "aux function for dumb extraction of defdata types from terms in H") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::H) DEFDATA::ANS. (B* ((DEFDATA::TERM (CAR DEFDATA::H)) (DEFDATA::ANS. (DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERM DEFDATA::TERM DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.))) (DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERMS (CDR DEFDATA::H) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.)))) (PROGN (DEFUN DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERMS (DEFDATA::H DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.) "aux function for dumb extraction of defdata types from terms in H" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (IF (ENDP DEFDATA::H) DEFDATA::ANS. (B* ((DEFDATA::TERM (CAR DEFDATA::H)) (DEFDATA::ANS. (DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERM DEFDATA::TERM DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.))) (DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERMS (CDR DEFDATA::H) DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::ANS.)))))) (129 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::DUMB-TYPE-ALIST-INFER (DEFDATA::H DEFDATA::VARS DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((PSEUDO-TERM-LISTP SYMBOL-LISTP FIXNUM PLIST-WORLDP DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> SYMBOL-ALISTP) :DOC "dumb infer defdata types from terms in H") (DECLARE (XARGS :VERIFY-GUARDS NIL)) (DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERMS DEFDATA::H DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (PAIRLIS$ DEFDATA::VARS (MAKE-LIST (LEN DEFDATA::VARS) :INITIAL-ELEMENT (LIST (QUOTE ALL)))))) (PROGN (DEFUN DEFDATA::DUMB-TYPE-ALIST-INFER (DEFDATA::H DEFDATA::VARS DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) "dumb infer defdata types from terms in H" (DECLARE (XARGS :MODE :LOGIC :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (DECLARE (XARGS :VERIFY-GUARDS NIL)) (DEFDATA::DUMB-TYPE-ALIST-INFER-FROM-TERMS DEFDATA::H DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ (PAIRLIS$ DEFDATA::VARS (MAKE-LIST (LEN DEFDATA::VARS) :INITIAL-ELEMENT (LIST (QUOTE ALL)))))))) (130 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::MEET-TYPE-ALIST (DEFDATA::A1 DEFDATA::A2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((SYMBOL-ALISTP SYMBOL-ALISTP FIXNUM DEFDATA::PLIST-WORLD DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> (MV DEFDATA::ERP SYMBOL-ALISTP)) :MODE :PROGRAM :DOC "take intersection of types in the type alist") (DEFDATA::F* ((DEFDATA::GET-TYPE... (DEFDATA::TYPES) (IF (AND (CONSP DEFDATA::TYPES) (NULL (CDR DEFDATA::TYPES))) (CAR DEFDATA::TYPES) (PROG2$ (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Warning: Ignoring rest of union types ~x0 ~|" (CDR DEFDATA::TYPES)) (CAR DEFDATA::TYPES)))) (DEFDATA::EVAL-AND-GET-MEET (DEFDATA::TYP1 DEFDATA::TYP2) (B* (((MV DEFDATA::DT DEFDATA::ST) (IF (DEFDATA::IS-A-VARIABLEP DEFDATA::TYP1) (MV DEFDATA::TYP1 DEFDATA::TYP2) (MV DEFDATA::TYP2 DEFDATA::TYP1))) (DEFDATA::P (DEFDATA::GET-PREDICATE-SYMBOL DEFDATA::DT)) ((MV DEFDATA::ERP DEFDATA::RES) (EV-FNCALL-W DEFDATA::P (LIST (IF (QUOTEP DEFDATA::ST) (UNQUOTE DEFDATA::ST) DEFDATA::ST)) DEFDATA::WRLD NIL NIL T NIL NIL)) (- (DEFDATA::CW? (AND DEFDATA::ERP (DEBUG-FLAG DEFDATA::VL)) "~|CEgen/Error in ~x0: while calling ev-fncall-w on ~x1~|" DEFDATA::CTX (CONS DEFDATA::P (LIST DEFDATA::ST)))) (- (DEFDATA::CW? (AND (NOT DEFDATA::ERP) (NOT DEFDATA::RES) (DEBUG-FLAG DEFDATA::VL)) "~|CEgen/Debug:: ~x0 evaluated to nil~|" (CONS DEFDATA::P (LIST DEFDATA::ST)))) ((WHEN DEFDATA::ERP) (MV T (QUOTE EMPTY)))) (IF DEFDATA::RES (MV NIL DEFDATA::ST) (MV NIL (QUOTE EMPTY)))))) (IF (ENDP DEFDATA::A1) (MV NIL (QUOTE NIL)) (B* (((CONS DEFDATA::VAR DEFDATA::TYPES1) (CAR DEFDATA::A1)) (DEFDATA::TYP1 (DEFDATA::GET-TYPE... DEFDATA::TYPES1)) (DEFDATA::CTX (QUOTE DEFDATA::MEET-TYPE-ALIST)) (DEFDATA::TYPES2-ENTRY (ASSOC-EQ DEFDATA::VAR DEFDATA::A2)) (DEFDATA::TYPES2 (IF DEFDATA::TYPES2-ENTRY (CDR DEFDATA::TYPES2-ENTRY) (QUOTE (ALL)))) (DEFDATA::TYP2 (DEFDATA::GET-TYPE... DEFDATA::TYPES2)) ((UNLESS (AND (DEFDATA::POSSIBLE-DEFDATA-TYPE-P DEFDATA::TYP1) (DEFDATA::POSSIBLE-DEFDATA-TYPE-P DEFDATA::TYP2))) (MV T (QUOTE NIL))) ((MV DEFDATA::ERP REST) (DEFDATA::MEET-TYPE-ALIST (CDR DEFDATA::A1) DEFDATA::A2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) ((WHEN DEFDATA::ERP) (MV T (QUOTE NIL)))) (COND ((AND (DEFDATA::IS-A-VARIABLEP DEFDATA::TYP1) (DEFDATA::IS-A-VARIABLEP DEFDATA::TYP2)) (MV NIL (ACONS DEFDATA::VAR (LIST (DEFDATA::MEET DEFDATA::TYP1 DEFDATA::TYP2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) REST))) ((AND (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP1) (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP2) (EQUAL DEFDATA::TYP1 DEFDATA::TYP2)) (MV NIL (ACONS DEFDATA::VAR (LIST DEFDATA::TYP1) REST))) ((AND (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP1) (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP2)) (MV NIL (ACONS DEFDATA::VAR (LIST (QUOTE EMPTY)) REST))) (T (B* (((MV DEFDATA::ERP DEFDATA::ANS) (DEFDATA::EVAL-AND-GET-MEET DEFDATA::TYP1 DEFDATA::TYP2))) (MV DEFDATA::ERP (ACONS DEFDATA::VAR (LIST DEFDATA::ANS) REST))))))))) (PROGN (DEFABBREV DEFDATA::_MEET-TYPE-ALISTGET-TYPE... (DEFDATA::TYPES) (IF (AND (CONSP DEFDATA::TYPES) (NULL (CDR DEFDATA::TYPES))) (CAR DEFDATA::TYPES) (PROG2$ (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Warning: Ignoring rest of union types ~x0 ~|" (CDR DEFDATA::TYPES)) (CAR DEFDATA::TYPES)))) (DEFABBREV DEFDATA::_MEET-TYPE-ALISTEVAL-AND-GET-MEET (DEFDATA::TYP1 DEFDATA::TYP2) (B* (((MV DEFDATA::DT DEFDATA::ST) (IF (DEFDATA::IS-A-VARIABLEP DEFDATA::TYP1) (MV DEFDATA::TYP1 DEFDATA::TYP2) (MV DEFDATA::TYP2 DEFDATA::TYP1))) (DEFDATA::P (DEFDATA::GET-PREDICATE-SYMBOL DEFDATA::DT)) ((MV DEFDATA::ERP DEFDATA::RES) (EV-FNCALL-W DEFDATA::P (LIST (IF (QUOTEP DEFDATA::ST) (UNQUOTE DEFDATA::ST) DEFDATA::ST)) DEFDATA::WRLD NIL NIL T NIL NIL)) (- (DEFDATA::CW? (AND DEFDATA::ERP (DEBUG-FLAG DEFDATA::VL)) "~|CEgen/Error in ~x0: while calling ev-fncall-w on ~x1~|" DEFDATA::CTX (CONS DEFDATA::P (LIST DEFDATA::ST)))) (- (DEFDATA::CW? (AND (NOT DEFDATA::ERP) (NOT DEFDATA::RES) (DEBUG-FLAG DEFDATA::VL)) "~|CEgen/Debug:: ~x0 evaluated to nil~|" (CONS DEFDATA::P (LIST DEFDATA::ST)))) ((WHEN DEFDATA::ERP) (MV T (QUOTE EMPTY)))) (IF DEFDATA::RES (MV NIL DEFDATA::ST) (MV NIL (QUOTE EMPTY))))) (DEFUN DEFDATA::MEET-TYPE-ALIST (DEFDATA::A1 DEFDATA::A2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$) "take intersection of types in the type alist" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (DEFDATA::R$ DEFDATA::TYPES-HT$))) (IF (ENDP DEFDATA::A1) (MV NIL (QUOTE NIL)) (B* (((CONS DEFDATA::VAR DEFDATA::TYPES1) (CAR DEFDATA::A1)) (DEFDATA::TYP1 (DEFDATA::_MEET-TYPE-ALISTGET-TYPE... DEFDATA::TYPES1)) (DEFDATA::CTX (QUOTE DEFDATA::MEET-TYPE-ALIST)) (DEFDATA::TYPES2-ENTRY (ASSOC-EQ DEFDATA::VAR DEFDATA::A2)) (DEFDATA::TYPES2 (IF DEFDATA::TYPES2-ENTRY (CDR DEFDATA::TYPES2-ENTRY) (QUOTE (ALL)))) (DEFDATA::TYP2 (DEFDATA::_MEET-TYPE-ALISTGET-TYPE... DEFDATA::TYPES2)) ((UNLESS (AND (DEFDATA::POSSIBLE-DEFDATA-TYPE-P DEFDATA::TYP1) (DEFDATA::POSSIBLE-DEFDATA-TYPE-P DEFDATA::TYP2))) (MV T (QUOTE NIL))) ((MV DEFDATA::ERP REST) (DEFDATA::MEET-TYPE-ALIST (CDR DEFDATA::A1) DEFDATA::A2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) ((WHEN DEFDATA::ERP) (MV T (QUOTE NIL)))) (COND ((AND (DEFDATA::IS-A-VARIABLEP DEFDATA::TYP1) (DEFDATA::IS-A-VARIABLEP DEFDATA::TYP2)) (MV NIL (ACONS DEFDATA::VAR (LIST (DEFDATA::MEET DEFDATA::TYP1 DEFDATA::TYP2 DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)) REST))) ((AND (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP1) (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP2) (EQUAL DEFDATA::TYP1 DEFDATA::TYP2)) (MV NIL (ACONS DEFDATA::VAR (LIST DEFDATA::TYP1) REST))) ((AND (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP1) (DEFDATA::IS-SINGLETON-TYPE-P DEFDATA::TYP2)) (MV NIL (ACONS DEFDATA::VAR (LIST (QUOTE EMPTY)) REST))) (T (B* (((MV DEFDATA::ERP DEFDATA::ANS) (DEFDATA::_MEET-TYPE-ALISTEVAL-AND-GET-MEET DEFDATA::TYP1 DEFDATA::TYP2))) (MV DEFDATA::ERP (ACONS DEFDATA::VAR (LIST DEFDATA::ANS) REST)))))))))) (132 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::CLAUSE-MV-HYPS-CONCL (DEFDATA::CL) (DEFDATA::DECL :SIG ((CLAUSE) DEFDATA::-> (MV DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM)) :DOC "return (mv hyps concl) which are proper terms given a
  clause cl. Adapted from prettyify-clause2 in other-processes.lisp") (COND ((NULL DEFDATA::CL) (MV (QUOTE NIL) (QUOTE (QUOTE NIL)))) ((NULL (CDR DEFDATA::CL)) (MV (QUOTE NIL) (CAR DEFDATA::CL))) ((NULL (CDDR DEFDATA::CL)) (MV (LIST (DUMB-NEGATE-LIT (CAR DEFDATA::CL))) (CADR DEFDATA::CL))) (T (MV (DEFDATA::DUMB-NEGATE-LIT-LST (BUTLAST DEFDATA::CL 1)) (CAR (LAST DEFDATA::CL)))))) (PROGN (DEFUN DEFDATA::CLAUSE-MV-HYPS-CONCL (DEFDATA::CL) "return (mv hyps concl) which are proper terms given a
  clause cl. Adapted from prettyify-clause2 in other-processes.lisp" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (COND ((NULL DEFDATA::CL) (MV (QUOTE NIL) (QUOTE (QUOTE NIL)))) ((NULL (CDR DEFDATA::CL)) (MV (QUOTE NIL) (CAR DEFDATA::CL))) ((NULL (CDDR DEFDATA::CL)) (MV (LIST (DUMB-NEGATE-LIT (CAR DEFDATA::CL))) (CADR DEFDATA::CL))) (T (MV (DEFDATA::DUMB-NEGATE-LIT-LST (BUTLAST DEFDATA::CL 1)) (CAR (LAST DEFDATA::CL)))))))) (133 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::CLAUSIFY-HYPS-CONCL (DEFDATA::HYPS DEFDATA::CONCL) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM) DEFDATA::-> CLAUSE) :DOC "given hyps concl which are proper terms return equivalent
  clause cl. inverse of clause-mv-hyps-concl") (COND ((AND (ENDP DEFDATA::HYPS) (EQUAL DEFDATA::CONCL (QUOTE (QUOTE NIL)))) (QUOTE NIL)) ((ENDP DEFDATA::HYPS) (LIST DEFDATA::CONCL)) ((ENDP (CDR DEFDATA::HYPS)) (LIST (DUMB-NEGATE-LIT (CAR DEFDATA::HYPS)) DEFDATA::CONCL)) (T (APPEND (DEFDATA::DUMB-NEGATE-LIT-LST DEFDATA::HYPS) (LIST DEFDATA::CONCL))))) (PROGN (DEFUN DEFDATA::CLAUSIFY-HYPS-CONCL (DEFDATA::HYPS DEFDATA::CONCL) "given hyps concl which are proper terms return equivalent
  clause cl. inverse of clause-mv-hyps-concl" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (COND ((AND (ENDP DEFDATA::HYPS) (EQUAL DEFDATA::CONCL (QUOTE (QUOTE NIL)))) (QUOTE NIL)) ((ENDP DEFDATA::HYPS) (LIST DEFDATA::CONCL)) ((ENDP (CDR DEFDATA::HYPS)) (LIST (DUMB-NEGATE-LIT (CAR DEFDATA::HYPS)) DEFDATA::CONCL)) (T (APPEND (DEFDATA::DUMB-NEGATE-LIT-LST DEFDATA::HYPS) (LIST DEFDATA::CONCL))))))) (134 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SS-STATS (DEFDATA::SS-TEMP-RESULT DEFDATA::OLD-RUN-HIST%) (DEFDATA::DECL :SIG (((LIST BOOLEANP DEFDATA::RUN-HIST% DEFDATA::GCS%) DEFDATA::RUN-HIST%) DEFDATA::-> DEFDATA::ALL) :DOC "print some stats about this run of simple-search") (B* (((LIST DEFDATA::STOP? DEFDATA::RUN-HIST% &) DEFDATA::SS-TEMP-RESULT) (DEFDATA::NEW-NUM-CTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#cts|)) (DEFDATA::OLD-NUM-CTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#cts|)) (DEFDATA::NEW-NUM-WTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#wts|)) (DEFDATA::OLD-NUM-WTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#wts|)) (DEFDATA::NEW-TOTAL (+ DEFDATA::NEW-NUM-CTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#vacs|) DEFDATA::NEW-NUM-WTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#dups|))) (DEFDATA::OLD-TOTAL (+ DEFDATA::OLD-NUM-CTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#vacs|) DEFDATA::OLD-NUM-WTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#dups|))) (DEFDATA::FOUND-WTS (- DEFDATA::NEW-NUM-WTS DEFDATA::OLD-NUM-WTS)) (DEFDATA::FOUND-CTS (- DEFDATA::NEW-NUM-CTS DEFDATA::OLD-NUM-CTS)) (N (- DEFDATA::NEW-TOTAL DEFDATA::OLD-TOTAL)) (- (DEFDATA::CW? T "~|CEgen/Stats/simple-search: ~x0/~x1 cts/wts found in this run (~x2 tests)!~|" DEFDATA::FOUND-CTS DEFDATA::FOUND-WTS N)) (- (DEFDATA::CW? T "~|CEgen/Stats/simple-search: *END* Stopping condition: ~x0~%~%" DEFDATA::STOP?))) NIL)) (PROGN (DEFUN DEFDATA::SS-STATS (DEFDATA::SS-TEMP-RESULT DEFDATA::OLD-RUN-HIST%) "print some stats about this run of simple-search" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* (((LIST DEFDATA::STOP? DEFDATA::RUN-HIST% &) DEFDATA::SS-TEMP-RESULT) (DEFDATA::NEW-NUM-CTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#cts|)) (DEFDATA::OLD-NUM-CTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#cts|)) (DEFDATA::NEW-NUM-WTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#wts|)) (DEFDATA::OLD-NUM-WTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#wts|)) (DEFDATA::NEW-TOTAL (+ DEFDATA::NEW-NUM-CTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#vacs|) DEFDATA::NEW-NUM-WTS (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::|#dups|))) (DEFDATA::OLD-TOTAL (+ DEFDATA::OLD-NUM-CTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#vacs|) DEFDATA::OLD-NUM-WTS (ACCESS DEFDATA::RUN-HIST% DEFDATA::OLD-RUN-HIST% :|#dups|))) (DEFDATA::FOUND-WTS (- DEFDATA::NEW-NUM-WTS DEFDATA::OLD-NUM-WTS)) (DEFDATA::FOUND-CTS (- DEFDATA::NEW-NUM-CTS DEFDATA::OLD-NUM-CTS)) (N (- DEFDATA::NEW-TOTAL DEFDATA::OLD-TOTAL)) (- (DEFDATA::CW? T "~|CEgen/Stats/simple-search: ~x0/~x1 cts/wts found in this run (~x2 tests)!~|" DEFDATA::FOUND-CTS DEFDATA::FOUND-WTS N)) (- (DEFDATA::CW? T "~|CEgen/Stats/simple-search: *END* Stopping condition: ~x0~%~%" DEFDATA::STOP?))) NIL)))) (135 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SIMPLE-SEARCH (DEFDATA::NAME DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP DEFDATA::INCREMENTAL-FLAG? DEFDATA::CTX DEFDATA::WRLD STATE) (DEFDATA::DECL :SIG ((STRING DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-LIST SYMBOL-DOUBLET-LISTP DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% FIXNUM FIXNUM KEYWORD BOOLEAN BOOLEAN SYMBOL DEFDATA::PLIST-WORLD STATE) DEFDATA::-> (MV DEFDATA::ERP (LIST BOOLEAN DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) :MODE :PROGRAM :DOC "
Use :simple search strategy to find counterexamples and witnesses.

* What it does
  1. if form has no free variables exit with appropriate return val o.w
  2. make hypotheses-val conclusion-val,  attach them
  3. take intersection of acl2 type-alist with top-level one from gcs%.
  4. make next-sigma defun and attach it
  5. call run-tests!.
  6. store/record information (run-hist%,gcs%) and 
     returns (list stop? run-hist% gcs%) where stop? is T when
     stopping condition is satisfied.
") (IF (ENDP DEFDATA::VARS) (B* ((DEFDATA::FORM (CONS (QUOTE IMPLIES) (CONS (CONS (QUOTE AND) DEFDATA::HYPS) (CONS DEFDATA::CONCL (QUOTE NIL))))) ((MV DEFDATA::ERP C STATE) (DEFDATA::TRANS-EVAL-SINGLE-VALUE DEFDATA::FORM DEFDATA::CTX STATE)) ((MV DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::RECORD-TESTRUN. (IF C :WITNESS :COUNTEREXAMPLE) DEFDATA::PARTIAL-A DEFDATA::RUN-HIST% DEFDATA::GCS%))) (PROG2$ (IF DEFDATA::PARTIAL-A (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~%CEgen/Note: No point in searching ~x0; it evals to const ~x1 under ~x2~|" DEFDATA::NAME C DEFDATA::PARTIAL-A) (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~%CEgen/Note: No point in searching ~x0; it evals to const ~x1~|" DEFDATA::NAME C)) (MV DEFDATA::ERP (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) (B* ((- (ASSERT$ (CONSP DEFDATA::VARS) (QUOTE DEFDATA::SIMPLE-SEARCH))) (- (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~%~%")) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEgen/Stats/simple-search:: *START*~|")) (DEFDATA::HYP-VAL-DEFUNS (DEFDATA::MAKE-HYPOTHESES-VAL-DEFUNS DEFDATA::HYPS DEFDATA::VARS DEFDATA::MV-SIG-ALIST)) (DEFDATA::CONCL-VAL-DEFUNS (DEFDATA::MAKE-CONCLUSION-VAL-DEFUNS DEFDATA::CONCL DEFDATA::VARS DEFDATA::MV-SIG-ALIST)) (- (DEFDATA::CW? (SYSTEM-DEBUG-FLAG DEFDATA::VL) "~%~%~x0 **SYSTEM-DEBUG** hyp/concl defuns: ~| ~x1 ~x2~|" DEFDATA::NAME DEFDATA::HYP-VAL-DEFUNS DEFDATA::CONCL-VAL-DEFUNS)) (DEFDATA::TOP-VT-ALIST (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::TOP-VT-ALIST)) ((MV DEFDATA::ERP0 DEFDATA::TR-RES STATE) (TRANS-EVAL (CONS (QUOTE MV-LIST) (CONS (QUOTE 2) (CONS (CONS (QUOTE DEFDATA::MEET-TYPE-ALIST) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TYPE-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TOP-VT-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::WRLD (QUOTE NIL))) (CONS (QUOTE DEFDATA::R$) (CONS (QUOTE DEFDATA::TYPES-HT$) (QUOTE NIL)))))))) (QUOTE NIL)))) DEFDATA::CTX STATE T)) ((WHEN DEFDATA::ERP0) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) ((LIST DEFDATA::ERP DEFDATA::TYPE-ALIST) (CDR DEFDATA::TR-RES)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: Type intersection failed. Skip searching ~x0.~%" DEFDATA::NAME) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) ((MV DEFDATA::ERP0 DEFDATA::TR-RES STATE) (TRANS-EVAL (CONS (QUOTE MV-LIST) (CONS (QUOTE 3) (CONS (CONS (QUOTE DEFDATA::MAKE-NEXT-SIGMA-DEFUNS) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::HYPS (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::CONCL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VARS (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::PARTIAL-A (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TYPE-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TAU-INTERVAL-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::WRLD (QUOTE NIL))) (CONS (QUOTE DEFDATA::R$) (CONS (QUOTE DEFDATA::TYPES-HT$) (QUOTE NIL)))))))))))) (QUOTE NIL)))) DEFDATA::CTX STATE T)) ((WHEN DEFDATA::ERP0) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) ((LIST DEFDATA::ERP DEFDATA::NEXT-SIGMA-DEFUNS DEFDATA::DISP-ENUM-ALIST) (CDR DEFDATA::TR-RES)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: Couldn't determine enumerators. Skip searching ~x0.~|" DEFDATA::NAME) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) (- (DEFDATA::CW? (SYSTEM-DEBUG-FLAG DEFDATA::VL) "~%*** next-sigma : ~| ~x0~|" DEFDATA::NEXT-SIGMA-DEFUNS)) (DEFDATA::RSEED. (DEFDATA::GETSEED STATE)) ((ER &) (ASSIGN DEFDATA::SS-TEMP-RESULT (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%))) (- (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~|CEgen/Note: Enumerating ~x0 with ~x1~|" DEFDATA::NAME DEFDATA::DISP-ENUM-ALIST)) (DEFDATA::CL (DEFDATA::CLAUSIFY-HYPS-CONCL DEFDATA::HYPS DEFDATA::CONCL)) (DEFDATA::PFORM (PRETTYIFY-CLAUSE DEFDATA::CL NIL (W STATE))) (- (DEFDATA::CW? (AND DEFDATA::INCREMENTAL-FLAG? (VERBOSE-FLAG DEFDATA::VL)) "~| incrementally on ~x0 under assignment ~x1~%" DEFDATA::PFORM DEFDATA::PARTIAL-A)) (DEFDATA::CALL-FORM (CONS (QUOTE STATE-GLOBAL-LET*) (CONS (CONS (CONS (QUOTE GUARD-CHECKING-ON) (CONS (IF DEFDATA::PROGRAMP :NONE NIL) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::STOP?) (CONS (QUOTE DEFDATA::RSEED.) (CONS (QUOTE DEFDATA::RUN-HIST%) (CONS (QUOTE DEFDATA::GCS%) (QUOTE NIL)))))) (CONS (CONS (QUOTE DEFDATA::RUN-TESTS.) (CONS N (CONS DEFDATA::SM (CONS DEFDATA::VL (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VARS (QUOTE NIL))) (CONS DEFDATA::RSEED. (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::RUN-HIST% (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::GCS% (QUOTE NIL))) (QUOTE NIL))))))))) (QUOTE NIL))) (CONS (CONS (QUOTE STATE) (CONS (CONS (QUOTE DEFDATA::PUTSEED) (CONS (QUOTE DEFDATA::RSEED.) (CONS (QUOTE STATE) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE ASSIGN) (CONS (QUOTE DEFDATA::SS-TEMP-RESULT) (CONS (CONS (QUOTE LIST) (CONS (QUOTE DEFDATA::STOP?) (CONS (QUOTE DEFDATA::RUN-HIST%) (CONS (QUOTE DEFDATA::GCS%) (QUOTE NIL))))) (QUOTE NIL)))) (CONS (CONS (QUOTE VALUE) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (QUOTE VALUE-TRIPLE) (CONS (QUOTE :INVISIBLE) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))))) (MV-LET (DEFDATA::ERP DEFDATA::TRVAL STATE) (TRANS-EVAL (CONS (QUOTE STATE-GLOBAL-LET*) (CONS (CONS (CONS (QUOTE INHIBIT-OUTPUT-LST) (CONS (IF (SYSTEM-DEBUG-FLAG DEFDATA::VL) (QUOTE (QUOTE (SUMMARY))) (QUOTE (QUOTE (WARNING WARNING! OBSERVATION PROVE PROOF-CHECKER EVENT EXPANSION PROOF-TREE SUMMARY)))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE ACL2S-DEFAULTS) (CONS (QUOTE :SET) (CONS (QUOTE TESTING-ENABLED) (CONS (QUOTE NIL) (QUOTE NIL))))) (APPEND (AND DEFDATA::PROGRAMP (QUOTE ((PROGRAM)))) (APPEND DEFDATA::HYP-VAL-DEFUNS (APPEND DEFDATA::CONCL-VAL-DEFUNS (APPEND DEFDATA::NEXT-SIGMA-DEFUNS (APPEND (AND DEFDATA::PROGRAMP (QUOTE ((DEFTTAG :TESTING)))) (APPEND (IF DEFDATA::PROGRAMP (QUOTE ((DEFATTACH (DEFDATA::HYPOTHESES-VAL DEFDATA::HYPOTHESES-VAL-CURRENT-GV) :SKIP-CHECKS T) (DEFATTACH (DEFDATA::CONCLUSION-VAL DEFDATA::CONCLUSION-VAL-CURRENT-GV) :SKIP-CHECKS T) (DEFATTACH (DEFDATA::NEXT-SIGMA DEFDATA::NEXT-SIGMA-CURRENT-GV) :SKIP-CHECKS T))) (QUOTE ((DEFATTACH (DEFDATA::HYPOTHESES-VAL DEFDATA::HYPOTHESES-VAL-CURRENT-GV)) (DEFATTACH (DEFDATA::CONCLUSION-VAL DEFDATA::CONCLUSION-VAL-CURRENT-GV)) (DEFATTACH (DEFDATA::NEXT-SIGMA DEFDATA::NEXT-SIGMA-CURRENT-GV))))) (APPEND (AND DEFDATA::PROGRAMP (QUOTE ((DEFTTAG NIL)))) (CONS DEFDATA::CALL-FORM (QUOTE NIL))))))))))) (QUOTE NIL))) (QUOTE NIL)))) DEFDATA::CTX STATE T) (DECLARE (IGNORE DEFDATA::TRVAL)) (PROG2$ (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (DEFDATA::SS-STATS (@ DEFDATA::SS-TEMP-RESULT) DEFDATA::RUN-HIST%)) (MV DEFDATA::ERP (@ DEFDATA::SS-TEMP-RESULT) STATE)))))) (PROGN (DEFUN DEFDATA::SIMPLE-SEARCH (DEFDATA::NAME DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP DEFDATA::INCREMENTAL-FLAG? DEFDATA::CTX DEFDATA::WRLD STATE) "
Use :simple search strategy to find counterexamples and witnesses.

* What it does
  1. if form has no free variables exit with appropriate return val o.w
  2. make hypotheses-val conclusion-val,  attach them
  3. take intersection of acl2 type-alist with top-level one from gcs%.
  4. make next-sigma defun and attach it
  5. call run-tests!.
  6. store/record information (run-hist%,gcs%) and 
     returns (list stop? run-hist% gcs%) where stop? is T when
     stopping condition is satisfied.
" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (IF (ENDP DEFDATA::VARS) (B* ((DEFDATA::FORM (CONS (QUOTE IMPLIES) (CONS (CONS (QUOTE AND) DEFDATA::HYPS) (CONS DEFDATA::CONCL (QUOTE NIL))))) ((MV DEFDATA::ERP C STATE) (DEFDATA::TRANS-EVAL-SINGLE-VALUE DEFDATA::FORM DEFDATA::CTX STATE)) ((MV DEFDATA::RUN-HIST% DEFDATA::GCS%) (DEFDATA::RECORD-TESTRUN. (IF C :WITNESS :COUNTEREXAMPLE) DEFDATA::PARTIAL-A DEFDATA::RUN-HIST% DEFDATA::GCS%))) (PROG2$ (IF DEFDATA::PARTIAL-A (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~%CEgen/Note: No point in searching ~x0; it evals to const ~x1 under ~x2~|" DEFDATA::NAME C DEFDATA::PARTIAL-A) (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~%CEgen/Note: No point in searching ~x0; it evals to const ~x1~|" DEFDATA::NAME C)) (MV DEFDATA::ERP (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) (B* ((- (ASSERT$ (CONSP DEFDATA::VARS) (QUOTE DEFDATA::SIMPLE-SEARCH))) (- (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~%~%")) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEgen/Stats/simple-search:: *START*~|")) (DEFDATA::HYP-VAL-DEFUNS (DEFDATA::MAKE-HYPOTHESES-VAL-DEFUNS DEFDATA::HYPS DEFDATA::VARS DEFDATA::MV-SIG-ALIST)) (DEFDATA::CONCL-VAL-DEFUNS (DEFDATA::MAKE-CONCLUSION-VAL-DEFUNS DEFDATA::CONCL DEFDATA::VARS DEFDATA::MV-SIG-ALIST)) (- (DEFDATA::CW? (SYSTEM-DEBUG-FLAG DEFDATA::VL) "~%~%~x0 **SYSTEM-DEBUG** hyp/concl defuns: ~| ~x1 ~x2~|" DEFDATA::NAME DEFDATA::HYP-VAL-DEFUNS DEFDATA::CONCL-VAL-DEFUNS)) (DEFDATA::TOP-VT-ALIST (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::TOP-VT-ALIST)) ((MV DEFDATA::ERP0 DEFDATA::TR-RES STATE) (TRANS-EVAL (CONS (QUOTE MV-LIST) (CONS (QUOTE 2) (CONS (CONS (QUOTE DEFDATA::MEET-TYPE-ALIST) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TYPE-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TOP-VT-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::WRLD (QUOTE NIL))) (CONS (QUOTE DEFDATA::R$) (CONS (QUOTE DEFDATA::TYPES-HT$) (QUOTE NIL)))))))) (QUOTE NIL)))) DEFDATA::CTX STATE T)) ((WHEN DEFDATA::ERP0) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) ((LIST DEFDATA::ERP DEFDATA::TYPE-ALIST) (CDR DEFDATA::TR-RES)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: Type intersection failed. Skip searching ~x0.~%" DEFDATA::NAME) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) ((MV DEFDATA::ERP0 DEFDATA::TR-RES STATE) (TRANS-EVAL (CONS (QUOTE MV-LIST) (CONS (QUOTE 3) (CONS (CONS (QUOTE DEFDATA::MAKE-NEXT-SIGMA-DEFUNS) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::HYPS (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::CONCL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VARS (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::PARTIAL-A (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TYPE-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::TAU-INTERVAL-ALIST (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::WRLD (QUOTE NIL))) (CONS (QUOTE DEFDATA::R$) (CONS (QUOTE DEFDATA::TYPES-HT$) (QUOTE NIL)))))))))))) (QUOTE NIL)))) DEFDATA::CTX STATE T)) ((WHEN DEFDATA::ERP0) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) ((LIST DEFDATA::ERP DEFDATA::NEXT-SIGMA-DEFUNS DEFDATA::DISP-ENUM-ALIST) (CDR DEFDATA::TR-RES)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: Couldn't determine enumerators. Skip searching ~x0.~|" DEFDATA::NAME) (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) (- (DEFDATA::CW? (SYSTEM-DEBUG-FLAG DEFDATA::VL) "~%*** next-sigma : ~| ~x0~|" DEFDATA::NEXT-SIGMA-DEFUNS)) (DEFDATA::RSEED. (DEFDATA::GETSEED STATE)) ((ER &) (ASSIGN DEFDATA::SS-TEMP-RESULT (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%))) (- (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~|CEgen/Note: Enumerating ~x0 with ~x1~|" DEFDATA::NAME DEFDATA::DISP-ENUM-ALIST)) (DEFDATA::CL (DEFDATA::CLAUSIFY-HYPS-CONCL DEFDATA::HYPS DEFDATA::CONCL)) (DEFDATA::PFORM (PRETTYIFY-CLAUSE DEFDATA::CL NIL (W STATE))) (- (DEFDATA::CW? (AND DEFDATA::INCREMENTAL-FLAG? (VERBOSE-FLAG DEFDATA::VL)) "~| incrementally on ~x0 under assignment ~x1~%" DEFDATA::PFORM DEFDATA::PARTIAL-A)) (DEFDATA::CALL-FORM (CONS (QUOTE STATE-GLOBAL-LET*) (CONS (CONS (CONS (QUOTE GUARD-CHECKING-ON) (CONS (IF DEFDATA::PROGRAMP :NONE NIL) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE B*) (CONS (CONS (CONS (CONS (QUOTE MV) (CONS (QUOTE DEFDATA::STOP?) (CONS (QUOTE DEFDATA::RSEED.) (CONS (QUOTE DEFDATA::RUN-HIST%) (CONS (QUOTE DEFDATA::GCS%) (QUOTE NIL)))))) (CONS (CONS (QUOTE DEFDATA::RUN-TESTS.) (CONS N (CONS DEFDATA::SM (CONS DEFDATA::VL (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VARS (QUOTE NIL))) (CONS DEFDATA::RSEED. (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::RUN-HIST% (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::GCS% (QUOTE NIL))) (QUOTE NIL))))))))) (QUOTE NIL))) (CONS (CONS (QUOTE STATE) (CONS (CONS (QUOTE DEFDATA::PUTSEED) (CONS (QUOTE DEFDATA::RSEED.) (CONS (QUOTE STATE) (QUOTE NIL)))) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE ASSIGN) (CONS (QUOTE DEFDATA::SS-TEMP-RESULT) (CONS (CONS (QUOTE LIST) (CONS (QUOTE DEFDATA::STOP?) (CONS (QUOTE DEFDATA::RUN-HIST%) (CONS (QUOTE DEFDATA::GCS%) (QUOTE NIL))))) (QUOTE NIL)))) (CONS (CONS (QUOTE VALUE) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (QUOTE VALUE-TRIPLE) (CONS (QUOTE :INVISIBLE) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))))) (MV-LET (DEFDATA::ERP DEFDATA::TRVAL STATE) (TRANS-EVAL (CONS (QUOTE STATE-GLOBAL-LET*) (CONS (CONS (CONS (QUOTE INHIBIT-OUTPUT-LST) (CONS (IF (SYSTEM-DEBUG-FLAG DEFDATA::VL) (QUOTE (QUOTE (SUMMARY))) (QUOTE (QUOTE (WARNING WARNING! OBSERVATION PROVE PROOF-CHECKER EVENT EXPANSION PROOF-TREE SUMMARY)))) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE ACL2S-DEFAULTS) (CONS (QUOTE :SET) (CONS (QUOTE TESTING-ENABLED) (CONS (QUOTE NIL) (QUOTE NIL))))) (APPEND (AND DEFDATA::PROGRAMP (QUOTE ((PROGRAM)))) (APPEND DEFDATA::HYP-VAL-DEFUNS (APPEND DEFDATA::CONCL-VAL-DEFUNS (APPEND DEFDATA::NEXT-SIGMA-DEFUNS (APPEND (AND DEFDATA::PROGRAMP (QUOTE ((DEFTTAG :TESTING)))) (APPEND (IF DEFDATA::PROGRAMP (QUOTE ((DEFATTACH (DEFDATA::HYPOTHESES-VAL DEFDATA::HYPOTHESES-VAL-CURRENT-GV) :SKIP-CHECKS T) (DEFATTACH (DEFDATA::CONCLUSION-VAL DEFDATA::CONCLUSION-VAL-CURRENT-GV) :SKIP-CHECKS T) (DEFATTACH (DEFDATA::NEXT-SIGMA DEFDATA::NEXT-SIGMA-CURRENT-GV) :SKIP-CHECKS T))) (QUOTE ((DEFATTACH (DEFDATA::HYPOTHESES-VAL DEFDATA::HYPOTHESES-VAL-CURRENT-GV)) (DEFATTACH (DEFDATA::CONCLUSION-VAL DEFDATA::CONCLUSION-VAL-CURRENT-GV)) (DEFATTACH (DEFDATA::NEXT-SIGMA DEFDATA::NEXT-SIGMA-CURRENT-GV))))) (APPEND (AND DEFDATA::PROGRAMP (QUOTE ((DEFTTAG NIL)))) (CONS DEFDATA::CALL-FORM (QUOTE NIL))))))))))) (QUOTE NIL))) (QUOTE NIL)))) DEFDATA::CTX STATE T) (DECLARE (IGNORE DEFDATA::TRVAL)) (PROG2$ (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (DEFDATA::SS-STATS (@ DEFDATA::SS-TEMP-RESULT) DEFDATA::RUN-HIST%)) (MV DEFDATA::ERP (@ DEFDATA::SS-TEMP-RESULT) STATE)))))))) (136 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SELECT (DEFDATA::TERMS DEBUG) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST BOOLEAN) DEFDATA::-> SYMBOL) :DOC "choose the variable with least dependency. Build a dependency
  graph, topologically sort it and return the first sink we find.") (B* ((DEFDATA::VARS (DEFDATA::ALL-VARS-LST DEFDATA::TERMS)) (DEFDATA::G (DEFDATA::BUILD-VARIABLE-DEPENDENCY-GRAPH DEFDATA::TERMS DEFDATA::VARS)) (DEFDATA::VAR (CAR (LAST (DEFDATA::APPROXIMATE-TOPOLOGICAL-SORT DEFDATA::G DEBUG)))) (- (DEFDATA::CW? DEBUG "~|DPLL: Select var: ~x0~%" DEFDATA::VAR))) DEFDATA::VAR)) (PROGN (DEFUN DEFDATA::SELECT (DEFDATA::TERMS DEBUG) "choose the variable with least dependency. Build a dependency
  graph, topologically sort it and return the first sink we find." (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (B* ((DEFDATA::VARS (DEFDATA::ALL-VARS-LST DEFDATA::TERMS)) (DEFDATA::G (DEFDATA::BUILD-VARIABLE-DEPENDENCY-GRAPH DEFDATA::TERMS DEFDATA::VARS)) (DEFDATA::VAR (CAR (LAST (DEFDATA::APPROXIMATE-TOPOLOGICAL-SORT DEFDATA::G DEBUG)))) (- (DEFDATA::CW? DEBUG "~|DPLL: Select var: ~x0~%" DEFDATA::VAR))) DEFDATA::VAR)))) (137 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::ASSIGN-VALUE (X DEFDATA::|#assigns| DEFDATA::CS% DEFDATA::PARTIAL-A DEFDATA::SM DEFDATA::VL DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((SYMBOL FIXNUM DEFDATA::CS% SYMBOL-DOUBLET-LISTP SAMPLING-METHOD FIXNUM SYMBOL DEFDATA::PLIST-WORLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> (MV DEFDATA::ERP (LIST DEFDATA::PSEUDO-TERM KEYWORD FIXNUM) STATE)) :MODE :PROGRAM :DOC "assign a value to x. Infer type constraints from hyps, get the
enumcall for x. trans-eval enumcall to get value to be assigned to x. quote it
to obtain a term. return (mv val :decision i+1), if size of type attributed to
x is greater than 1, otherwise return (mv val :implied i) where i= #assigns
made to x already.") (DEFDATA::F* ((DEFDATA::_EVAL-SINGLE-VALUE (DEFDATA::CALL) (B* ((DEFDATA::VEXP (IF DEFDATA::PARTIAL-A (CONS (QUOTE LET) (CONS DEFDATA::PARTIAL-A (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) DEFDATA::BOUND-VARS) (QUOTE NIL))) (CONS DEFDATA::CALL (QUOTE NIL))))) DEFDATA::CALL)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEgen/Debug/incremental:  ASSIGN ~x0 := eval[~x1]~|" X DEFDATA::VEXP))) (DEFDATA::TRANS-EVAL-SINGLE-VALUE DEFDATA::VEXP DEFDATA::CTX STATE)))) (B* ((- (ASSERT$ (DEFDATA::CS%-P DEFDATA::CS%) (QUOTE DEFDATA::ASSIGN-VALUE))) (DEFDATA::BOUND-VARS (STRIP-CARS DEFDATA::PARTIAL-A)) ((MV DEFDATA::SIZE DEFDATA::CALLS) (DEFDATA::CS%-ENUMCALLS DEFDATA::CS% DEFDATA::CTX DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::BOUND-VARS)) (DEFDATA::SEED. (DEFDATA::GETSEED STATE)) ((MV DEFDATA::ERP DEFDATA::SEED. DEFDATA::ANS STATE) (CASE DEFDATA::SM (:UNIFORM-RANDOM (B* (((MV DEFDATA::M DEFDATA::SEED.) (DEFDATA::RANDOM-INDEX-SEED DEFDATA::*RECURSIVE-UNIFORM-ENUM-MEASURE* DEFDATA::SEED.)) (DEFDATA::CALL (CONS (QUOTE MV-LIST) (CONS (QUOTE 2) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::SEED.) (CONS DEFDATA::SEED. (QUOTE NIL))) (QUOTE NIL)) (CONS (SUBST DEFDATA::M (QUOTE DEFDATA::M) (SECOND DEFDATA::CALLS)) (QUOTE NIL)))) (QUOTE NIL))))) ((MV DEFDATA::ERP DEFDATA::ANS2 STATE) (DEFDATA::_EVAL-SINGLE-VALUE DEFDATA::CALL))) (MV DEFDATA::ERP (CADR DEFDATA::ANS2) (CAR DEFDATA::ANS2) STATE))) (OTHERWISE (B* (((MV DEFDATA::R DEFDATA::SEED.) (DEFDATA::RANDOM-NATURAL-SEED DEFDATA::SEED.)) (DEFDATA::CALL (SUBST DEFDATA::R (QUOTE DEFDATA::R) (FIRST DEFDATA::CALLS))) ((MV DEFDATA::ERP DEFDATA::ANS STATE) (DEFDATA::_EVAL-SINGLE-VALUE DEFDATA::CALL))) (MV DEFDATA::ERP DEFDATA::SEED. DEFDATA::ANS STATE))))) ((WHEN (OR DEFDATA::ERP (EQUAL DEFDATA::SIZE 0))) (MV T NIL STATE)) (STATE (DEFDATA::PUTSEED DEFDATA::SEED. STATE)) (DEFDATA::VAL-TERM (KWOTE DEFDATA::ANS))) (IF (EQUAL DEFDATA::SIZE 1) (VALUE (LIST DEFDATA::VAL-TERM :IMPLIED DEFDATA::|#assigns|)) (VALUE (LIST DEFDATA::VAL-TERM :DECISION (1+ DEFDATA::|#assigns|))))))) (PROGN (DEFABBREV DEFDATA::_ASSIGN-VALUE_EVAL-SINGLE-VALUE (DEFDATA::CALL) (B* ((DEFDATA::VEXP (IF DEFDATA::PARTIAL-A (CONS (QUOTE LET) (CONS DEFDATA::PARTIAL-A (CONS (CONS (QUOTE DECLARE) (CONS (CONS (QUOTE IGNORABLE) DEFDATA::BOUND-VARS) (QUOTE NIL))) (CONS DEFDATA::CALL (QUOTE NIL))))) DEFDATA::CALL)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEgen/Debug/incremental:  ASSIGN ~x0 := eval[~x1]~|" X DEFDATA::VEXP))) (DEFDATA::TRANS-EVAL-SINGLE-VALUE DEFDATA::VEXP DEFDATA::CTX STATE))) (DEFUN DEFDATA::ASSIGN-VALUE (X DEFDATA::|#assigns| DEFDATA::CS% DEFDATA::PARTIAL-A DEFDATA::SM DEFDATA::VL DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) "assign a value to x. Infer type constraints from hyps, get the
enumcall for x. trans-eval enumcall to get value to be assigned to x. quote it
to obtain a term. return (mv val :decision i+1), if size of type attributed to
x is greater than 1, otherwise return (mv val :implied i) where i= #assigns
made to x already." (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE DEFDATA::R$ DEFDATA::TYPES-HT$))) (B* ((- (ASSERT$ (DEFDATA::CS%-P DEFDATA::CS%) (QUOTE DEFDATA::ASSIGN-VALUE))) (DEFDATA::BOUND-VARS (STRIP-CARS DEFDATA::PARTIAL-A)) ((MV DEFDATA::SIZE DEFDATA::CALLS) (DEFDATA::CS%-ENUMCALLS DEFDATA::CS% DEFDATA::CTX DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$ DEFDATA::BOUND-VARS)) (DEFDATA::SEED. (DEFDATA::GETSEED STATE)) ((MV DEFDATA::ERP DEFDATA::SEED. DEFDATA::ANS STATE) (CASE DEFDATA::SM (:UNIFORM-RANDOM (B* (((MV DEFDATA::M DEFDATA::SEED.) (DEFDATA::RANDOM-INDEX-SEED DEFDATA::*RECURSIVE-UNIFORM-ENUM-MEASURE* DEFDATA::SEED.)) (DEFDATA::CALL (CONS (QUOTE MV-LIST) (CONS (QUOTE 2) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE DEFDATA::SEED.) (CONS DEFDATA::SEED. (QUOTE NIL))) (QUOTE NIL)) (CONS (SUBST DEFDATA::M (QUOTE DEFDATA::M) (SECOND DEFDATA::CALLS)) (QUOTE NIL)))) (QUOTE NIL))))) ((MV DEFDATA::ERP DEFDATA::ANS2 STATE) (DEFDATA::_ASSIGN-VALUE_EVAL-SINGLE-VALUE DEFDATA::CALL))) (MV DEFDATA::ERP (CADR DEFDATA::ANS2) (CAR DEFDATA::ANS2) STATE))) (OTHERWISE (B* (((MV DEFDATA::R DEFDATA::SEED.) (DEFDATA::RANDOM-NATURAL-SEED DEFDATA::SEED.)) (DEFDATA::CALL (SUBST DEFDATA::R (QUOTE DEFDATA::R) (FIRST DEFDATA::CALLS))) ((MV DEFDATA::ERP DEFDATA::ANS STATE) (DEFDATA::_ASSIGN-VALUE_EVAL-SINGLE-VALUE DEFDATA::CALL))) (MV DEFDATA::ERP DEFDATA::SEED. DEFDATA::ANS STATE))))) ((WHEN (OR DEFDATA::ERP (EQUAL DEFDATA::SIZE 0))) (MV T NIL STATE)) (STATE (DEFDATA::PUTSEED DEFDATA::SEED. STATE)) (DEFDATA::VAL-TERM (KWOTE DEFDATA::ANS))) (IF (EQUAL DEFDATA::SIZE 1) (VALUE (LIST DEFDATA::VAL-TERM :IMPLIED DEFDATA::|#assigns|)) (VALUE (LIST DEFDATA::VAL-TERM :DECISION (1+ DEFDATA::|#assigns|)))))))) (139 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SIMPLIFY-TERM (DEFDATA::TERM DEFDATA::HYPS DEFDATA::HINTS STATE) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM DEFDATA::PSEUDO-TERM-LIST DEFDATA::TRUE-LIST STATE) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::PSEUDO-TERM STATE)) :MODE :PROGRAM :DOC "simplify term under hyps. erp is T if hyps have a contradiction
  in them. return the simplifed term in error triple") (DEFDATA::EASY-SIMPLIFY-TERM1-FN DEFDATA::TERM DEFDATA::HYPS DEFDATA::HINTS (QUOTE EQUAL) (QUOTE T) (QUOTE T) 1000 1000 STATE)) (PROGN (DEFUN DEFDATA::SIMPLIFY-TERM (DEFDATA::TERM DEFDATA::HYPS DEFDATA::HINTS STATE) "simplify term under hyps. erp is T if hyps have a contradiction
  in them. return the simplifed term in error triple" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (DEFDATA::EASY-SIMPLIFY-TERM1-FN DEFDATA::TERM DEFDATA::HYPS DEFDATA::HINTS (QUOTE EQUAL) (QUOTE T) (QUOTE T) 1000 1000 STATE)))) (140 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT (DEFDATA::REM-HYPS DEFDATA::INIT-HYPS X DEFDATA::A DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM-LIST SYMBOL DEFDATA::QUOTED-CONSTANT DEFDATA::TRUE-LIST DEFDATA::PSEUDO-TERM-LIST DEFDATA::BOOL STATE) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::PSEUDO-TERM STATE)) :MODE :PROGRAM :DOC "simplify each hyp in rem-hyps assuming init-hyps (minus
  hyp), accumulate in ans. and return a value triple containing shyps
  and an error triple if a contradiction is found in an syhp") (IF (ENDP DEFDATA::REM-HYPS) (VALUE DEFDATA::ANS.) (B* ((DEFDATA::HYP (CAR DEFDATA::REM-HYPS)) (DEFDATA::OTHER-HYPS (REMOVE1-EQUAL DEFDATA::HYP DEFDATA::INIT-HYPS)) ((ER DEFDATA::SHYP) (DEFDATA::SIMPLIFY-TERM DEFDATA::HYP DEFDATA::OTHER-HYPS DEFDATA::HINTS STATE)) (DEFDATA::SIMPLIFIED? (TERM-ORDER DEFDATA::SHYP DEFDATA::HYP)) ((WHEN (EQUAL DEFDATA::SHYP (QUOTE (QUOTE NIL)))) (MV T DEFDATA::ANS. STATE)) (- (DEFDATA::CW? (AND (SYSTEM-DEBUG-FLAG DEFDATA::VL) (NOT DEFDATA::SIMPLIFIED?)) "~|ACHTUNG: simplify-hyps result not less than hyp in term-order~|")) (DEFDATA::SHYP (IF DEFDATA::SIMPLIFIED? DEFDATA::SHYP (SUBST DEFDATA::A X DEFDATA::HYP)))) (DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT (CDR DEFDATA::REM-HYPS) DEFDATA::INIT-HYPS X DEFDATA::A DEFDATA::HINTS (IF (EQUAL DEFDATA::SHYP (QUOTE (QUOTE T))) DEFDATA::ANS. (APPEND DEFDATA::ANS. (LIST DEFDATA::SHYP))) DEFDATA::VL STATE)))) (PROGN (DEFUN DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT (DEFDATA::REM-HYPS DEFDATA::INIT-HYPS X DEFDATA::A DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE) "simplify each hyp in rem-hyps assuming init-hyps (minus
  hyp), accumulate in ans. and return a value triple containing shyps
  and an error triple if a contradiction is found in an syhp" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (IF (ENDP DEFDATA::REM-HYPS) (VALUE DEFDATA::ANS.) (B* ((DEFDATA::HYP (CAR DEFDATA::REM-HYPS)) (DEFDATA::OTHER-HYPS (REMOVE1-EQUAL DEFDATA::HYP DEFDATA::INIT-HYPS)) ((ER DEFDATA::SHYP) (DEFDATA::SIMPLIFY-TERM DEFDATA::HYP DEFDATA::OTHER-HYPS DEFDATA::HINTS STATE)) (DEFDATA::SIMPLIFIED? (TERM-ORDER DEFDATA::SHYP DEFDATA::HYP)) ((WHEN (EQUAL DEFDATA::SHYP (QUOTE (QUOTE NIL)))) (MV T DEFDATA::ANS. STATE)) (- (DEFDATA::CW? (AND (SYSTEM-DEBUG-FLAG DEFDATA::VL) (NOT DEFDATA::SIMPLIFIED?)) "~|ACHTUNG: simplify-hyps result not less than hyp in term-order~|")) (DEFDATA::SHYP (IF DEFDATA::SIMPLIFIED? DEFDATA::SHYP (SUBST DEFDATA::A X DEFDATA::HYP)))) (DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT (CDR DEFDATA::REM-HYPS) DEFDATA::INIT-HYPS X DEFDATA::A DEFDATA::HINTS (IF (EQUAL DEFDATA::SHYP (QUOTE (QUOTE T))) DEFDATA::ANS. (APPEND DEFDATA::ANS. (LIST DEFDATA::SHYP))) DEFDATA::VL STATE)))))) (141 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SIMPLIFY-HYPS-UNDER-ASSIGNMENT (DEFDATA::HYPS X DEFDATA::A DEFDATA::VL STATE) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST SYMBOL DEFDATA::QUOTED-CONSTANT BOOLEAN STATE) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::PSEUDO-TERM-LIST STATE)) :MODE :PROGRAM :DOC "simplify hyps assuming x=a. return shyps in an error
        triple. erp=T if contradiction found in shyps") (B* ((DEFDATA::EQ-HYP (LIST (QUOTE EQUAL) X DEFDATA::A)) ((ER DEFDATA::SHYPS1) (DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT DEFDATA::HYPS (LIST DEFDATA::EQ-HYP) X DEFDATA::A (QUOTE NIL) (QUOTE NIL) DEFDATA::VL STATE))) (DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT DEFDATA::SHYPS1 (CONS DEFDATA::EQ-HYP DEFDATA::SHYPS1) X DEFDATA::A (QUOTE NIL) (QUOTE NIL) DEFDATA::VL STATE))) (PROGN (DEFUN DEFDATA::SIMPLIFY-HYPS-UNDER-ASSIGNMENT (DEFDATA::HYPS X DEFDATA::A DEFDATA::VL STATE) "simplify hyps assuming x=a. return shyps in an error
        triple. erp=T if contradiction found in shyps" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* ((DEFDATA::EQ-HYP (LIST (QUOTE EQUAL) X DEFDATA::A)) ((ER DEFDATA::SHYPS1) (DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT DEFDATA::HYPS (LIST DEFDATA::EQ-HYP) X DEFDATA::A (QUOTE NIL) (QUOTE NIL) DEFDATA::VL STATE))) (DEFDATA::SIMPLIFY-HYPS1-UNDER-ASSIGNMENT DEFDATA::SHYPS1 (CONS DEFDATA::EQ-HYP DEFDATA::SHYPS1) X DEFDATA::A (QUOTE NIL) (QUOTE NIL) DEFDATA::VL STATE))))) (142 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PROPAGATE (X DEFDATA::A DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VL STATE) (DEFDATA::DECL :SIG ((SYMBOL DEFDATA::PSEUDO-TERM DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM FIXNUM STATE) DEFDATA::-> (MV DEFDATA::ERP (LIST DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM) STATE)) :MODE :PROGRAM :DOC "propagate the assignment of a to variable x by using a utility
  function from tools/easy-simplify.lisp (earlier I was using
  expander.lisp). return (mv erp (shyps sconcl) state) where erp might be T
  indicating discovery of inconsistency/contradiction in the hypotheses") (B* (((ER DEFDATA::SHYPS) (DEFDATA::SIMPLIFY-HYPS-UNDER-ASSIGNMENT DEFDATA::HYPS X DEFDATA::A DEFDATA::VL STATE)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEGen/Debug/Propagate: ~x0 ---~x1=~x2--> ~x3~|" DEFDATA::HYPS X DEFDATA::A DEFDATA::SHYPS)) (DEFDATA::EQ-HYP (LIST (QUOTE EQUAL) X DEFDATA::A)) ((ER DEFDATA::SCONCL) (DEFDATA::SIMPLIFY-TERM DEFDATA::CONCL (CONS DEFDATA::EQ-HYP DEFDATA::SHYPS) NIL STATE)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEGen/Debug/Propagate: ~x0 ---~x1=~x2--> ~x3~|" DEFDATA::CONCL X DEFDATA::A DEFDATA::SCONCL)) (DEFDATA::VARS (DEFDATA::ALL-VARS-LST (CONS DEFDATA::SCONCL DEFDATA::SHYPS)))) (ASSERT$ (NOT (MEMBER-EQ X DEFDATA::VARS)) (MV NIL (LIST DEFDATA::VARS DEFDATA::SHYPS DEFDATA::SCONCL) STATE)))) (PROGN (DEFUN DEFDATA::PROPAGATE (X DEFDATA::A DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VL STATE) "propagate the assignment of a to variable x by using a utility
  function from tools/easy-simplify.lisp (earlier I was using
  expander.lisp). return (mv erp (shyps sconcl) state) where erp might be T
  indicating discovery of inconsistency/contradiction in the hypotheses" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* (((ER DEFDATA::SHYPS) (DEFDATA::SIMPLIFY-HYPS-UNDER-ASSIGNMENT DEFDATA::HYPS X DEFDATA::A DEFDATA::VL STATE)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEGen/Debug/Propagate: ~x0 ---~x1=~x2--> ~x3~|" DEFDATA::HYPS X DEFDATA::A DEFDATA::SHYPS)) (DEFDATA::EQ-HYP (LIST (QUOTE EQUAL) X DEFDATA::A)) ((ER DEFDATA::SCONCL) (DEFDATA::SIMPLIFY-TERM DEFDATA::CONCL (CONS DEFDATA::EQ-HYP DEFDATA::SHYPS) NIL STATE)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEGen/Debug/Propagate: ~x0 ---~x1=~x2--> ~x3~|" DEFDATA::CONCL X DEFDATA::A DEFDATA::SCONCL)) (DEFDATA::VARS (DEFDATA::ALL-VARS-LST (CONS DEFDATA::SCONCL DEFDATA::SHYPS)))) (ASSERT$ (NOT (MEMBER-EQ X DEFDATA::VARS)) (MV NIL (LIST DEFDATA::VARS DEFDATA::SHYPS DEFDATA::SCONCL) STATE)))))) (147 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::ASSIGN-PROPAGATE (DEFDATA::A% DEFDATA::NAME DEFDATA::SM DEFDATA::VL DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :SIG ((DEFDATA::A% STRING SAMPLING-METHOD FIXNUM SYMBOL DEFDATA::PLIST-WORLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> (MV DEFDATA::ERP (LIST DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-LIST DEFDATA::SYMBOL-DOUBLET-LIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::A%) STATE)) :MODE :PROGRAM :DOC "assign a value to a%.x and propagate this new info to obtain the updated a%") (B* (((CONS (QUOTE DEFDATA::A%) (CONS DEFDATA::LV (QUOTE &))) DEFDATA::A%) ((LIST DEFDATA::H C DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST) DEFDATA::LV) ((MV X DEFDATA::I) (MV (DEFDATA::ACCESS DEFDATA::A% DEFDATA::VAR) (DEFDATA::ACCESS DEFDATA::A% DEFDATA::I))) (DEFDATA::CS% (OR (DEFDATA::ACCESS DEFDATA::A% DEFDATA::CS) (ASSERT$ (MEMBER-EQ X DEFDATA::VARS) (CDR (ASSOC-EQ X (DEFDATA::COLLECT-CONSTRAINTS% DEFDATA::H DEFDATA::VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)))))) ((MV DEFDATA::ERP DEFDATA::ANS STATE) (DEFDATA::ASSIGN-VALUE X DEFDATA::I DEFDATA::CS% DEFDATA::PARTIAL-A DEFDATA::SM DEFDATA::VL DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$)) ((WHEN DEFDATA::ERP) (PROGN$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEGen/Error/incremental: assign-value failed (in ~s0).~|" DEFDATA::NAME) (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Stats: Call was (assign-value ~x0 ~x1 ~x2 ...)~|" X DEFDATA::I DEFDATA::CS%) (MV DEFDATA::ERP NIL STATE))) ((LIST DEFDATA::A DEFDATA::KIND DEFDATA::I) DEFDATA::ANS) (DEFDATA::A% (CHANGE DEFDATA::A% DEFDATA::A% :CS DEFDATA::CS% :VAL DEFDATA::A :KIND DEFDATA::KIND :I DEFDATA::I)) ((MV DEFDATA::ERP DEFDATA::RES STATE) (DEFDATA::PROPAGATE X DEFDATA::A DEFDATA::H C DEFDATA::VL STATE)) (DEFDATA::STR (IF DEFDATA::ERP "inconsistent" "consistent")) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~%CEgen/Stats/incremental: Propagate ~x0 := ~x1 (i:~x3) was ~s2.~|" X DEFDATA::A DEFDATA::STR DEFDATA::I))) (IF DEFDATA::ERP (VALUE (LIST (QUOTE NIL) (QUOTE (QUOTE T)) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (CHANGE DEFDATA::A% DEFDATA::A% :INCONSISTENT? T))) (B* (((LIST DEFDATA::VARS~ DEFDATA::H~ DEFDATA::C~) DEFDATA::RES) (DEFDATA::CL~ (DEFDATA::CLAUSIFY-HYPS-CONCL DEFDATA::H~ DEFDATA::C~)) (DEFDATA::ENS (ENS STATE)) (DEFDATA::NAME~ (CONCATENATE (QUOTE STRING) DEFDATA::NAME " incremental " (DEFDATA::TO-STRING X) " i=" (DEFDATA::TO-STRING DEFDATA::I))) (DEFDATA::TYPE-ALIST~ (DEFDATA::GET-ACL2-TYPE-ALIST DEFDATA::CL~ DEFDATA::NAME~ DEFDATA::ENS DEFDATA::VL STATE)) (DEFDATA::TAU-INTERVAL-ALIST~ (DEFDATA::TAU-INTERVAL-ALIST-CLAUSE DEFDATA::CL~ DEFDATA::NAME~ DEFDATA::ENS DEFDATA::VL DEFDATA::WRLD STATE)) (- (DEFDATA::CW? NIL "~% new ta = ~x0 and old ta = ~x1~%" DEFDATA::TYPE-ALIST~ DEFDATA::TYPE-ALIST)) (- (DEFDATA::CW? NIL "~% new tau-int-alist = ~x0 and old tau-int-alist = ~x1~%" DEFDATA::TAU-INTERVAL-ALIST~ DEFDATA::TAU-INTERVAL-ALIST)) (DEFDATA::PARTIAL-A~ (DEFDATA::PUT-VAL-A X DEFDATA::A DEFDATA::PARTIAL-A))) (VALUE (LIST DEFDATA::H~ DEFDATA::C~ DEFDATA::VARS~ DEFDATA::PARTIAL-A~ DEFDATA::TYPE-ALIST~ DEFDATA::TAU-INTERVAL-ALIST~ (CHANGE DEFDATA::A% DEFDATA::A% :INCONSISTENT? NIL))))))) (PROGN (DEFUN DEFDATA::ASSIGN-PROPAGATE (DEFDATA::A% DEFDATA::NAME DEFDATA::SM DEFDATA::VL DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) "assign a value to a%.x and propagate this new info to obtain the updated a%" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE DEFDATA::R$ DEFDATA::TYPES-HT$))) (B* (((CONS (QUOTE DEFDATA::A%) (CONS DEFDATA::LV (QUOTE &))) DEFDATA::A%) ((LIST DEFDATA::H C DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST) DEFDATA::LV) ((MV X DEFDATA::I) (MV (DEFDATA::ACCESS DEFDATA::A% DEFDATA::VAR) (DEFDATA::ACCESS DEFDATA::A% DEFDATA::I))) (DEFDATA::CS% (OR (DEFDATA::ACCESS DEFDATA::A% DEFDATA::CS) (ASSERT$ (MEMBER-EQ X DEFDATA::VARS) (CDR (ASSOC-EQ X (DEFDATA::COLLECT-CONSTRAINTS% DEFDATA::H DEFDATA::VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::VL DEFDATA::WRLD DEFDATA::R$ DEFDATA::TYPES-HT$)))))) ((MV DEFDATA::ERP DEFDATA::ANS STATE) (DEFDATA::ASSIGN-VALUE X DEFDATA::I DEFDATA::CS% DEFDATA::PARTIAL-A DEFDATA::SM DEFDATA::VL DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$)) ((WHEN DEFDATA::ERP) (PROGN$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEGen/Error/incremental: assign-value failed (in ~s0).~|" DEFDATA::NAME) (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Stats: Call was (assign-value ~x0 ~x1 ~x2 ...)~|" X DEFDATA::I DEFDATA::CS%) (MV DEFDATA::ERP NIL STATE))) ((LIST DEFDATA::A DEFDATA::KIND DEFDATA::I) DEFDATA::ANS) (DEFDATA::A% (CHANGE DEFDATA::A% DEFDATA::A% :CS DEFDATA::CS% :VAL DEFDATA::A :KIND DEFDATA::KIND :I DEFDATA::I)) ((MV DEFDATA::ERP DEFDATA::RES STATE) (DEFDATA::PROPAGATE X DEFDATA::A DEFDATA::H C DEFDATA::VL STATE)) (DEFDATA::STR (IF DEFDATA::ERP "inconsistent" "consistent")) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~%CEgen/Stats/incremental: Propagate ~x0 := ~x1 (i:~x3) was ~s2.~|" X DEFDATA::A DEFDATA::STR DEFDATA::I))) (IF DEFDATA::ERP (VALUE (LIST (QUOTE NIL) (QUOTE (QUOTE T)) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (QUOTE NIL) (CHANGE DEFDATA::A% DEFDATA::A% :INCONSISTENT? T))) (B* (((LIST DEFDATA::VARS~ DEFDATA::H~ DEFDATA::C~) DEFDATA::RES) (DEFDATA::CL~ (DEFDATA::CLAUSIFY-HYPS-CONCL DEFDATA::H~ DEFDATA::C~)) (DEFDATA::ENS (ENS STATE)) (DEFDATA::NAME~ (CONCATENATE (QUOTE STRING) DEFDATA::NAME " incremental " (DEFDATA::TO-STRING X) " i=" (DEFDATA::TO-STRING DEFDATA::I))) (DEFDATA::TYPE-ALIST~ (DEFDATA::GET-ACL2-TYPE-ALIST DEFDATA::CL~ DEFDATA::NAME~ DEFDATA::ENS DEFDATA::VL STATE)) (DEFDATA::TAU-INTERVAL-ALIST~ (DEFDATA::TAU-INTERVAL-ALIST-CLAUSE DEFDATA::CL~ DEFDATA::NAME~ DEFDATA::ENS DEFDATA::VL DEFDATA::WRLD STATE)) (- (DEFDATA::CW? NIL "~% new ta = ~x0 and old ta = ~x1~%" DEFDATA::TYPE-ALIST~ DEFDATA::TYPE-ALIST)) (- (DEFDATA::CW? NIL "~% new tau-int-alist = ~x0 and old tau-int-alist = ~x1~%" DEFDATA::TAU-INTERVAL-ALIST~ DEFDATA::TAU-INTERVAL-ALIST)) (DEFDATA::PARTIAL-A~ (DEFDATA::PUT-VAL-A X DEFDATA::A DEFDATA::PARTIAL-A))) (VALUE (LIST DEFDATA::H~ DEFDATA::C~ DEFDATA::VARS~ DEFDATA::PARTIAL-A~ DEFDATA::TYPE-ALIST~ DEFDATA::TAU-INTERVAL-ALIST~ (CHANGE DEFDATA::A% DEFDATA::A% :INCONSISTENT? NIL))))))))) (148 RECORD-EXPANSION (DEFDATA::DEFS (DEFDATA::INCREMENTAL-SEARCH (DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE) (DEFDATA::DECL :SIG ((DEFDATA::A% DEFDATA::A%-LISTP STRING DEFDATA::SYMBOL-ALIST DEFDATA::RUN-HIST%-P DEFDATA::GCS%-P DEFDATA::FIXNUMP DEFDATA::FIXNUMP (DEFDATA::IN :RANDOM :UNIFORM-RANDOM :BE :MIXED) DEFDATA::FIXNUMP BOOLEANP SYMBOLP PLIST-WORLDP STATE) DEFDATA::-> (MV DEFDATA::ERP (LIST BOOLEAN DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) :MODE :PROGRAM :DOC "DPLL like algorithm that searches for a non-vacuous assignment to
the form P (hyps / nconcl => nil).  This form returns (mv erp (list stop?
run-hist% gcs%) state).  The search consists of a Select, Assign, Propagate
loop.  Any inconsistency in P results in non-chronological backtracking to the
last decision made in Assign. For more details refer to the FMCAD paper.") (DEFDATA::F* ((DEFDATA::SIMPLE-SEARCH... NIL (DEFDATA::SIMPLE-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP T DEFDATA::CTX DEFDATA::WRLD STATE)) (DEFDATA::BACKTRACK... NIL (DEFDATA::BACKTRACK DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE)) (DEFDATA::RECURSE... NIL (DEFDATA::INCREMENTAL-SEARCH DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% (FLOOR N (1+ (LEN DEFDATA::A.))) DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE))) (B* (((MV DEFDATA::ERP DEFDATA::AP-RES STATE) (TRANS-EVAL (CONS (QUOTE DEFDATA::ASSIGN-PROPAGATE) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::A% (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::NAME (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::SM (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::CTX (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::WRLD (QUOTE NIL))) (CONS (QUOTE STATE) (CONS (QUOTE DEFDATA::R$) (CONS (QUOTE DEFDATA::TYPES-HT$) (QUOTE NIL))))))))))) DEFDATA::CTX STATE T)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEGen/Error: Aborting incremental search!~|") (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) ((LIST DEFDATA::H C DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::A%) (CADR (CDR DEFDATA::AP-RES)))) (IF (NOT (DEFDATA::ACCESS DEFDATA::A% DEFDATA::INCONSISTENT?)) (B* (((MV DEFDATA::ERP (LIST DEFDATA::STOP? DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE) (DEFDATA::SIMPLE-SEARCH...)) ((WHEN (OR DEFDATA::ERP DEFDATA::STOP?)) (MV DEFDATA::ERP (LIST DEFDATA::STOP? DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) ((WHEN (OR (ENDP DEFDATA::VARS) (ENDP (CDR DEFDATA::VARS)))) (DEFDATA::BACKTRACK...)) (DEFDATA::A. (CONS DEFDATA::A% DEFDATA::A.)) (DEFDATA::X1 (DEFDATA::SELECT (CONS (DUMB-NEGATE-LIT C) DEFDATA::H) (DEBUG-FLAG DEFDATA::VL))) (DEFDATA::A% (MAKE DEFDATA::A% :VARS DEFDATA::VARS :HYPS DEFDATA::H :CONCL C :PARTIAL-A DEFDATA::PARTIAL-A :TYPE-ALIST DEFDATA::TYPE-ALIST :TAU-INTERVAL-ALIST DEFDATA::TAU-INTERVAL-ALIST :INCONSISTENT? NIL :CS NIL :VAR DEFDATA::X1 :VAL (QUOTE (QUOTE DEFDATA::?)) :KIND :NA :I 0))) (DEFDATA::RECURSE...)) (DEFDATA::BACKTRACK...))))) (DEFDATA::BACKTRACK (DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE) (DEFDATA::DECL :SIG ((DEFDATA::A%-P DEFDATA::A%-LISTP STRING DEFDATA::SYMBOL-ALIST DEFDATA::RUN-HIST%-P DEFDATA::GCS%-P FIXNUM FIXNUM (DEFDATA::IN :RANDOM :UNIFORM-RANDOM :BE :MIXED) FIXNUM BOOLEAN SYMBOL DEFDATA::PLIST-WORLD STATE) DEFDATA::-> (MV DEFDATA::ERP (LIST BOOLEAN DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) :MODE :PROGRAM :DOC "backtrack in dpll like search") (IF (OR (EQ (DEFDATA::ACCESS DEFDATA::A% DEFDATA::KIND) :IMPLIED) (> (DEFDATA::ACCESS DEFDATA::A% DEFDATA::I) DEFDATA::BLIMIT)) (IF (NULL DEFDATA::A.) (PROG2$ (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Note: Incremental search failed to even satisfy the hypotheses.~|") (VALUE (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%))) (B* ((DEFDATA::A% (CAR DEFDATA::A.)) (X (DEFDATA::ACCESS DEFDATA::A% DEFDATA::VAR)) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Stats/incremental:  Backtrack to var : ~x0 -- i = ~x1~|" X (DEFDATA::ACCESS DEFDATA::A% DEFDATA::I)))) (DEFDATA::BACKTRACK DEFDATA::A% (CDR DEFDATA::A.) DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE))) (DEFDATA::INCREMENTAL-SEARCH DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% (FLOOR N (1+ (LEN DEFDATA::A.))) DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE)))) (PROGN (DEFABBREV DEFDATA::_INCREMENTAL-SEARCHSIMPLE-SEARCH... NIL (DEFDATA::SIMPLE-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP T DEFDATA::CTX DEFDATA::WRLD STATE)) (DEFABBREV DEFDATA::_INCREMENTAL-SEARCHBACKTRACK... NIL (DEFDATA::BACKTRACK DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE)) (DEFABBREV DEFDATA::_INCREMENTAL-SEARCHRECURSE... NIL (DEFDATA::INCREMENTAL-SEARCH DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% (FLOOR N (1+ (LEN DEFDATA::A.))) DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE)) (DEFUNS (DEFDATA::INCREMENTAL-SEARCH (DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE) "DPLL like algorithm that searches for a non-vacuous assignment to
the form P (hyps / nconcl => nil).  This form returns (mv erp (list stop?
run-hist% gcs%) state).  The search consists of a Select, Assign, Propagate
loop.  Any inconsistency in P results in non-chronological backtracking to the
last decision made in Assign. For more details refer to the FMCAD paper." (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* (((MV DEFDATA::ERP DEFDATA::AP-RES STATE) (TRANS-EVAL (CONS (QUOTE DEFDATA::ASSIGN-PROPAGATE) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::A% (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::NAME (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::SM (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::VL (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::CTX (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::WRLD (QUOTE NIL))) (CONS (QUOTE STATE) (CONS (QUOTE DEFDATA::R$) (CONS (QUOTE DEFDATA::TYPES-HT$) (QUOTE NIL))))))))))) DEFDATA::CTX STATE T)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEGen/Error: Aborting incremental search!~|") (MV T (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE))) ((LIST DEFDATA::H C DEFDATA::VARS DEFDATA::PARTIAL-A DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::A%) (CADR (CDR DEFDATA::AP-RES)))) (IF (NOT (DEFDATA::ACCESS DEFDATA::A% DEFDATA::INCONSISTENT?)) (B* (((MV DEFDATA::ERP (LIST DEFDATA::STOP? DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE) (DEFDATA::_INCREMENTAL-SEARCHSIMPLE-SEARCH...)) ((WHEN (OR DEFDATA::ERP DEFDATA::STOP?)) (MV DEFDATA::ERP (LIST DEFDATA::STOP? DEFDATA::RUN-HIST% DEFDATA::GCS%) STATE)) ((WHEN (OR (ENDP DEFDATA::VARS) (ENDP (CDR DEFDATA::VARS)))) (DEFDATA::_INCREMENTAL-SEARCHBACKTRACK...)) (DEFDATA::A. (CONS DEFDATA::A% DEFDATA::A.)) (DEFDATA::X1 (DEFDATA::SELECT (CONS (DUMB-NEGATE-LIT C) DEFDATA::H) (DEBUG-FLAG DEFDATA::VL))) (DEFDATA::A% (MAKE DEFDATA::A% :VARS DEFDATA::VARS :HYPS DEFDATA::H :CONCL C :PARTIAL-A DEFDATA::PARTIAL-A :TYPE-ALIST DEFDATA::TYPE-ALIST :TAU-INTERVAL-ALIST DEFDATA::TAU-INTERVAL-ALIST :INCONSISTENT? NIL :CS NIL :VAR DEFDATA::X1 :VAL (QUOTE (QUOTE DEFDATA::?)) :KIND :NA :I 0))) (DEFDATA::_INCREMENTAL-SEARCHRECURSE...)) (DEFDATA::_INCREMENTAL-SEARCHBACKTRACK...)))) (DEFDATA::BACKTRACK (DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE) "backtrack in dpll like search" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (IF (OR (EQ (DEFDATA::ACCESS DEFDATA::A% DEFDATA::KIND) :IMPLIED) (> (DEFDATA::ACCESS DEFDATA::A% DEFDATA::I) DEFDATA::BLIMIT)) (IF (NULL DEFDATA::A.) (PROG2$ (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Note: Incremental search failed to even satisfy the hypotheses.~|") (VALUE (LIST NIL DEFDATA::RUN-HIST% DEFDATA::GCS%))) (B* ((DEFDATA::A% (CAR DEFDATA::A.)) (X (DEFDATA::ACCESS DEFDATA::A% DEFDATA::VAR)) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEGen/Stats/incremental:  Backtrack to var : ~x0 -- i = ~x1~|" X (DEFDATA::ACCESS DEFDATA::A% DEFDATA::I)))) (DEFDATA::BACKTRACK DEFDATA::A% (CDR DEFDATA::A.) DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE))) (DEFDATA::INCREMENTAL-SEARCH DEFDATA::A% DEFDATA::A. DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% (FLOOR N (1+ (LEN DEFDATA::A.))) DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE)))))) (149 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::CTS-WTS-SEARCH (DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::RUN-HIST% DEFDATA::GCS% DEFDATA::CTX DEFDATA::WRLD STATE) (DEFDATA::DECL :SIG ((STRING DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-LIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST BOOLEAN DEFDATA::SYMBOL-ALIST DEFDATA::RUN-HIST%-P DEFDATA::GCS%-P SYMBOL DEFDATA::PLIST-WORLD STATE) DEFDATA::-> (MV DEFDATA::ERP (LIST BOOLEAN DEFDATA::S-HIST DEFDATA::GCS%) STATE)) :MODE :PROGRAM :DOC "
* Synopsis       
  Local interface to subgoal-level counterexample and witness
  search using either naive testing or incremental dpll
  style search for counterexamples.

* Input parameters
  - first 8 params other than vars, see def csearch
  - vars :: free variables of (H=>C) in dependency order
  - run-hist% :: newly created run-hist% for this subgoal
  - gcs% :: global gcs%
  - rest see def csearch

* Output signature 
  - (mv erp (list stop? run-hist% gcs%) state) where erp is the error tag which is non-nil
    when an error took place during evaluation of (search ...). 
    stop? is T if we should abort our search, i.e our stopping
    condition is satisfied (this value is given by run-tests), 
    otherwise stop? is NIL (by default). run-hist% and gcs% are 
    accumulated in the search for cts and wts in the current conjecture

* What it does
  1. retrieve the various search/testing parameters

  2. call simple or incremental search
     depending on the search-strategy set in defaults.
  
  3. return error triple with value (list stop? run-hist% gcs%)
") (B* ((N (DEFDATA::GET-ACL2S-DEFAULT (QUOTE NUM-TRIALS) DEFDATA::DEFAULTS 0)) (DEFDATA::VL (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS 1)) (DEFDATA::SM (DEFDATA::GET-ACL2S-DEFAULT (QUOTE SAMPLING-METHOD) DEFDATA::DEFAULTS :RANDOM)) (DEFDATA::SS (DEFDATA::GET-ACL2S-DEFAULT (QUOTE SEARCH-STRATEGY) DEFDATA::DEFAULTS :SIMPLE)) (DEFDATA::BLIMIT (DEFDATA::GET-ACL2S-DEFAULT (QUOTE BACKTRACK-LIMIT) DEFDATA::DEFAULTS 2))) (CASE DEFDATA::SS (:SIMPLE (DEFDATA::SIMPLE-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS (QUOTE NIL) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP NIL DEFDATA::CTX DEFDATA::WRLD STATE)) (:INCREMENTAL (IF (OR (ENDP DEFDATA::VARS) (ENDP (CDR DEFDATA::VARS))) (DEFDATA::SIMPLE-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS (QUOTE NIL) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP NIL DEFDATA::CTX DEFDATA::WRLD STATE) (B* ((- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~%~%CEgen/Note: Starting incremental (dpll) search~%")) (DEFDATA::X0 (DEFDATA::SELECT (CONS (DUMB-NEGATE-LIT C) DEFDATA::H) (DEBUG-FLAG DEFDATA::VL))) (DEFDATA::A% (MAKE DEFDATA::A% :VARS DEFDATA::VARS :HYPS DEFDATA::H :CONCL C :PARTIAL-A (QUOTE NIL) :TYPE-ALIST DEFDATA::TYPE-ALIST :TAU-INTERVAL-ALIST DEFDATA::TAU-INTERVAL-ALIST :INCONSISTENT? NIL :CS NIL :VAR DEFDATA::X0 :VAL (QUOTE (QUOTE DEFDATA::?)) :KIND :NA :I 0))) (DEFDATA::INCREMENTAL-SEARCH DEFDATA::A% (QUOTE NIL) DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE)))) (OTHERWISE (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: Only simple & incremental search strategy are available~|") (MV T NIL STATE)))))) (PROGN (DEFUN DEFDATA::CTS-WTS-SEARCH (DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::RUN-HIST% DEFDATA::GCS% DEFDATA::CTX DEFDATA::WRLD STATE) "
* Synopsis       
  Local interface to subgoal-level counterexample and witness
  search using either naive testing or incremental dpll
  style search for counterexamples.

* Input parameters
  - first 8 params other than vars, see def csearch
  - vars :: free variables of (H=>C) in dependency order
  - run-hist% :: newly created run-hist% for this subgoal
  - gcs% :: global gcs%
  - rest see def csearch

* Output signature 
  - (mv erp (list stop? run-hist% gcs%) state) where erp is the error tag which is non-nil
    when an error took place during evaluation of (search ...). 
    stop? is T if we should abort our search, i.e our stopping
    condition is satisfied (this value is given by run-tests), 
    otherwise stop? is NIL (by default). run-hist% and gcs% are 
    accumulated in the search for cts and wts in the current conjecture

* What it does
  1. retrieve the various search/testing parameters

  2. call simple or incremental search
     depending on the search-strategy set in defaults.
  
  3. return error triple with value (list stop? run-hist% gcs%)
" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* ((N (DEFDATA::GET-ACL2S-DEFAULT (QUOTE NUM-TRIALS) DEFDATA::DEFAULTS 0)) (DEFDATA::VL (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS 1)) (DEFDATA::SM (DEFDATA::GET-ACL2S-DEFAULT (QUOTE SAMPLING-METHOD) DEFDATA::DEFAULTS :RANDOM)) (DEFDATA::SS (DEFDATA::GET-ACL2S-DEFAULT (QUOTE SEARCH-STRATEGY) DEFDATA::DEFAULTS :SIMPLE)) (DEFDATA::BLIMIT (DEFDATA::GET-ACL2S-DEFAULT (QUOTE BACKTRACK-LIMIT) DEFDATA::DEFAULTS 2))) (CASE DEFDATA::SS (:SIMPLE (DEFDATA::SIMPLE-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS (QUOTE NIL) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP NIL DEFDATA::CTX DEFDATA::WRLD STATE)) (:INCREMENTAL (IF (OR (ENDP DEFDATA::VARS) (ENDP (CDR DEFDATA::VARS))) (DEFDATA::SIMPLE-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS (QUOTE NIL) DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::PROGRAMP NIL DEFDATA::CTX DEFDATA::WRLD STATE) (B* ((- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~%~%CEgen/Note: Starting incremental (dpll) search~%")) (DEFDATA::X0 (DEFDATA::SELECT (CONS (DUMB-NEGATE-LIT C) DEFDATA::H) (DEBUG-FLAG DEFDATA::VL))) (DEFDATA::A% (MAKE DEFDATA::A% :VARS DEFDATA::VARS :HYPS DEFDATA::H :CONCL C :PARTIAL-A (QUOTE NIL) :TYPE-ALIST DEFDATA::TYPE-ALIST :TAU-INTERVAL-ALIST DEFDATA::TAU-INTERVAL-ALIST :INCONSISTENT? NIL :CS NIL :VAR DEFDATA::X0 :VAL (QUOTE (QUOTE DEFDATA::?)) :KIND :NA :I 0))) (DEFDATA::INCREMENTAL-SEARCH DEFDATA::A% (QUOTE NIL) DEFDATA::NAME DEFDATA::MV-SIG-ALIST DEFDATA::RUN-HIST% DEFDATA::GCS% N DEFDATA::VL DEFDATA::SM DEFDATA::BLIMIT DEFDATA::PROGRAMP DEFDATA::CTX DEFDATA::WRLD STATE)))) (OTHERWISE (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: Only simple & incremental search strategy are available~|") (MV T NIL STATE)))))))) (150 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::CSEARCH (DEFDATA::NAME DEFDATA::H C DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::ELIDE-MAP DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE) (DEFDATA::DECL :SIG ((STRING DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST BOOLEAN DEFDATA::SYMBOL-ALIST SYMBOL DEFDATA::PLIST-WORLD STATE) DEFDATA::-> (MV DEFDATA::ERP BOOLEAN STATE)) :MODE :PROGRAM :DOC "
* Synopsis       
  Main Interface to searching for counterexamples (and witnesses)
  in the conjecture (H => C)

* Input parameters
  - name :: name of subgoal or 'top if run from test?
  - H :: hyps - the list of terms constraining the cts and wts search
  - C :: conclusion
  - type-alist :: types inferred by ACL2 forward-chain
  - mv-sig-alist :: for each mv fn, stores its output arity
  - elide-map :: elide-map[v] = term for each elided variable v
  - programp :: T when form has a program mode fun or we are in :program
                Its only use is for efficiency. We use guard-checking :none
                for programp = T and nil otherwise, which is more efficient.
  - defaults :: alist overiding the current acl2s-defaults
  - ctx :: usually the top-level form which employed this procedure
  - wrld :: current acl2 world
  - state :: state

* Output signature 
  - (mv erp stop? state) where erp is the error tag which is non-nil
    when an error took place during evaluation of (search ...). 
    stop? is T if we should abort our search.

* What it does
  1. construct a new s-hist-entry% and call cts.wts.search fun
     with globals @gcs, run-hist% and defaults
  2. the return values of run-hist% (a field in s-hist-entry%), gcs% 
     are recorded in globals @gcs and @s-hist.
  3. return error triple containing stop? (described in simple-search)
") (DEFDATA::F* ((DEFDATA::UPDATE-CTS-SEARCH-GLOBALS NIL (B* ((DEFDATA::S-HIST-ENTRY% (DEFDATA::CHANGE DEFDATA::S-HIST-ENTRY% DEFDATA::RUN-HIST DEFDATA::RUN-HIST%)) ((MV DEFDATA::END STATE) (READ-RUN-TIME STATE)) (DEFDATA::S-HIST-ENTRY% (DEFDATA::CHANGE DEFDATA::S-HIST-ENTRY% DEFDATA::END-TIME DEFDATA::END)) (DEFDATA::S-HIST (DEFDATA::GET-S-HIST-GLOBAL)) (DEFDATA::S-HIST (PUT-ASSOC-EQUAL DEFDATA::NAME DEFDATA::S-HIST-ENTRY% DEFDATA::S-HIST)) (STATE (DEFDATA::PUT-S-HIST-GLOBAL DEFDATA::S-HIST)) (STATE (DEFDATA::PUT-GCS%-GLOBAL DEFDATA::GCS%))) STATE))) (B* (((MV DEFDATA::START STATE) (READ-RUN-TIME STATE)) (DEFDATA::VL (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS 1)) (DEFDATA::VARS (DEFDATA::VARS-IN-DEPENDENCY-ORDER DEFDATA::H C DEFDATA::VL DEFDATA::WRLD)) (DEFDATA::S-HIST-ENTRY% (DEFDATA::INITIAL-S-HIST-ENTRY% DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::ELIDE-MAP DEFDATA::START)) (DEFDATA::RUN-HIST% (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::RUN-HIST)) (DEFDATA::GCS% (DEFDATA::GET-GCS%-GLOBAL)) ((MV DEFDATA::ERP DEFDATA::RES STATE) (DEFDATA::CTS-WTS-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::RUN-HIST% DEFDATA::GCS% DEFDATA::CTX DEFDATA::WRLD STATE)) ((UNLESS (AND (= 3 (LEN DEFDATA::RES)) (BOOLEANP (FIRST DEFDATA::RES)) (DEFDATA::RUN-HIST%-P (SECOND DEFDATA::RES)) (DEFDATA::GCS%-P (THIRD DEFDATA::RES)))) (PROG2$ (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~|CEgen/Error : Bad result from main Cgen procedure!~|") (MV T NIL STATE))) ((LIST DEFDATA::STOP? DEFDATA::RUN-HIST% DEFDATA::GCS%) DEFDATA::RES) (STATE (DEFDATA::UPDATE-CTS-SEARCH-GLOBALS))) (MV DEFDATA::ERP DEFDATA::STOP? STATE)))) (PROGN (DEFABBREV DEFDATA::_CSEARCHUPDATE-CTS-SEARCH-GLOBALS NIL (B* ((DEFDATA::S-HIST-ENTRY% (DEFDATA::CHANGE DEFDATA::S-HIST-ENTRY% DEFDATA::RUN-HIST DEFDATA::RUN-HIST%)) ((MV DEFDATA::END STATE) (READ-RUN-TIME STATE)) (DEFDATA::S-HIST-ENTRY% (DEFDATA::CHANGE DEFDATA::S-HIST-ENTRY% DEFDATA::END-TIME DEFDATA::END)) (DEFDATA::S-HIST (DEFDATA::GET-S-HIST-GLOBAL)) (DEFDATA::S-HIST (PUT-ASSOC-EQUAL DEFDATA::NAME DEFDATA::S-HIST-ENTRY% DEFDATA::S-HIST)) (STATE (DEFDATA::PUT-S-HIST-GLOBAL DEFDATA::S-HIST)) (STATE (DEFDATA::PUT-GCS%-GLOBAL DEFDATA::GCS%))) STATE)) (DEFUN DEFDATA::CSEARCH (DEFDATA::NAME DEFDATA::H C DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::ELIDE-MAP DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE) "
* Synopsis       
  Main Interface to searching for counterexamples (and witnesses)
  in the conjecture (H => C)

* Input parameters
  - name :: name of subgoal or 'top if run from test?
  - H :: hyps - the list of terms constraining the cts and wts search
  - C :: conclusion
  - type-alist :: types inferred by ACL2 forward-chain
  - mv-sig-alist :: for each mv fn, stores its output arity
  - elide-map :: elide-map[v] = term for each elided variable v
  - programp :: T when form has a program mode fun or we are in :program
                Its only use is for efficiency. We use guard-checking :none
                for programp = T and nil otherwise, which is more efficient.
  - defaults :: alist overiding the current acl2s-defaults
  - ctx :: usually the top-level form which employed this procedure
  - wrld :: current acl2 world
  - state :: state

* Output signature 
  - (mv erp stop? state) where erp is the error tag which is non-nil
    when an error took place during evaluation of (search ...). 
    stop? is T if we should abort our search.

* What it does
  1. construct a new s-hist-entry% and call cts.wts.search fun
     with globals @gcs, run-hist% and defaults
  2. the return values of run-hist% (a field in s-hist-entry%), gcs% 
     are recorded in globals @gcs and @s-hist.
  3. return error triple containing stop? (described in simple-search)
" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* (((MV DEFDATA::START STATE) (READ-RUN-TIME STATE)) (DEFDATA::VL (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS 1)) (DEFDATA::VARS (DEFDATA::VARS-IN-DEPENDENCY-ORDER DEFDATA::H C DEFDATA::VL DEFDATA::WRLD)) (DEFDATA::S-HIST-ENTRY% (DEFDATA::INITIAL-S-HIST-ENTRY% DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::ELIDE-MAP DEFDATA::START)) (DEFDATA::RUN-HIST% (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::RUN-HIST)) (DEFDATA::GCS% (DEFDATA::GET-GCS%-GLOBAL)) ((MV DEFDATA::ERP DEFDATA::RES STATE) (DEFDATA::CTS-WTS-SEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::VARS DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::RUN-HIST% DEFDATA::GCS% DEFDATA::CTX DEFDATA::WRLD STATE)) ((UNLESS (AND (= 3 (LEN DEFDATA::RES)) (BOOLEANP (FIRST DEFDATA::RES)) (DEFDATA::RUN-HIST%-P (SECOND DEFDATA::RES)) (DEFDATA::GCS%-P (THIRD DEFDATA::RES)))) (PROG2$ (DEFDATA::CW? (VERBOSE-FLAG DEFDATA::VL) "~|CEgen/Error : Bad result from main Cgen procedure!~|") (MV T NIL STATE))) ((LIST DEFDATA::STOP? DEFDATA::RUN-HIST% DEFDATA::GCS%) DEFDATA::RES) (STATE (DEFDATA::_CSEARCHUPDATE-CTS-SEARCH-GLOBALS))) (MV DEFDATA::ERP DEFDATA::STOP? STATE))))) (151 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::CSEARCH-WITH-TIMEOUT (DEFDATA::NAME DEFDATA::H C DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::ELIDE-MAP DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE) (DEFDATA::DECL :SIG ((STRING DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST DEFDATA::SYMBOL-ALIST BOOLEAN DEFDATA::SYMBOL-ALIST SYMBOL DEFDATA::PLIST-WORLD STATE) DEFDATA::-> (MV DEFDATA::ERP BOOLEAN STATE)) :MODE :PROGRAM :DOC "wrap csearch with a timeout mechanism") (WITH-TIMEOUT1 (ACL2S-DEFAULTS :GET SUBGOAL-TIMEOUT) (DEFDATA::CSEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::ELIDE-MAP DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS 1)) "~|Search for counterexamples TIMED OUT! ~
Use (acl2s-defaults :set subgoal-timeout 0) to disable timeout. ~
For more information see :doc subgoal-timeout.~%") (MV T NIL STATE)))) (PROGN (DEFUN DEFDATA::CSEARCH-WITH-TIMEOUT (DEFDATA::NAME DEFDATA::H C DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::ELIDE-MAP DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE) "wrap csearch with a timeout mechanism" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (WITH-TIMEOUT1 (ACL2S-DEFAULTS :GET SUBGOAL-TIMEOUT) (DEFDATA::CSEARCH DEFDATA::NAME DEFDATA::H C DEFDATA::TYPE-ALIST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST DEFDATA::ELIDE-MAP DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS 1)) "~|Search for counterexamples TIMED OUT! ~
Use (acl2s-defaults :set subgoal-timeout 0) to disable timeout. ~
For more information see :doc subgoal-timeout.~%") (MV T NIL STATE)))))) (160 RECORD-EXPANSION (VERIFY-TERMINATION SUBCOR-VAR1) (VALUE-TRIPLE :REDUNDANT)) (161 RECORD-EXPANSION (VERIFY-TERMINATION SUBCOR-VAR) (VALUE-TRIPLE :REDUNDANT)) (163 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PARTITION-HYPS-CONCL (DEFDATA::TERM DEFDATA::STR STATE) (DEFDATA::DECL :MODE :PROGRAM :SIG ((PSEUDO-TERMP STRINGP STATE) DEFDATA::-> (MV PSEUDO-TERM-LISTP PSEUDO-TERMP STATE)) :DOC "expand lambdas, extracts hyps and concl from term") (B* ((DEFDATA::TERM (DEFDATA::EXPAND-LAMBDA DEFDATA::TERM)) (DEFDATA::WRLD (W STATE)) (DEFDATA::PFORM (PRETTYIFY-CLAUSE (LIST DEFDATA::TERM) NIL DEFDATA::WRLD)) ((MV DEFDATA::PHYPS DEFDATA::PCONCL) (MV (DEFDATA::GET-HYPS DEFDATA::PFORM) (DEFDATA::GET-CONCL DEFDATA::PFORM))) ((ER DEFDATA::HYPS) (TRANSLATE-TERM-LST DEFDATA::PHYPS T NIL T DEFDATA::STR DEFDATA::WRLD STATE)) ((ER DEFDATA::CONCL) (TRANSLATE DEFDATA::PCONCL T NIL T DEFDATA::STR DEFDATA::WRLD STATE))) (MV DEFDATA::HYPS DEFDATA::CONCL STATE))) (PROGN (DEFUN DEFDATA::PARTITION-HYPS-CONCL (DEFDATA::TERM DEFDATA::STR STATE) "expand lambdas, extracts hyps and concl from term" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* ((DEFDATA::TERM (DEFDATA::EXPAND-LAMBDA DEFDATA::TERM)) (DEFDATA::WRLD (W STATE)) (DEFDATA::PFORM (PRETTYIFY-CLAUSE (LIST DEFDATA::TERM) NIL DEFDATA::WRLD)) ((MV DEFDATA::PHYPS DEFDATA::PCONCL) (MV (DEFDATA::GET-HYPS DEFDATA::PFORM) (DEFDATA::GET-CONCL DEFDATA::PFORM))) ((ER DEFDATA::HYPS) (TRANSLATE-TERM-LST DEFDATA::PHYPS T NIL T DEFDATA::STR DEFDATA::WRLD STATE)) ((ER DEFDATA::CONCL) (TRANSLATE DEFDATA::PCONCL T NIL T DEFDATA::STR DEFDATA::WRLD STATE))) (MV DEFDATA::HYPS DEFDATA::CONCL STATE))))) (173 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PRINT-CTS/WTS (DEFDATA::S-HIST DEFDATA::CTS-P DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE) (DEFDATA::DECL :MODE :PROGRAM :SIG ((DEFDATA::S-HIST-P BOOLEANP SYMBOL-LISTP DEFDATA::ALL NATP STATE) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::ALL STATE)) :DOC "print all cts/wts A (sigma) in s-hist subgoal testing
        history alist") (IF (ENDP DEFDATA::S-HIST) (VALUE NIL) (B* (((CONS DEFDATA::NAME DEFDATA::S-HIST-ENTRY%) (CAR DEFDATA::S-HIST)) (DEFDATA::RUN-HIST% (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::RUN-HIST)) (DEFDATA::HYPS (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::HYPS)) (DEFDATA::CONCL (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::CONCL)) ((WHEN (AND DEFDATA::CTS-P (ZP DEFDATA::NC))) (VALUE NIL)) ((WHEN (AND (NOT DEFDATA::CTS-P) (ZP DEFDATA::NW))) (VALUE NIL)) (DEFDATA::A-LST (IF DEFDATA::CTS-P (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::CTS) (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::WTS))) (DEFDATA::ELIDE-MAP (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::ELIDE-MAP)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|DEBUG/print-cts/wts: A-lst:~x0 top-vars:~x1 elide-map:~x2~|" DEFDATA::A-LST DEFDATA::TOP-VARS DEFDATA::ELIDE-MAP)) ((WHEN (ENDP DEFDATA::A-LST)) (DEFDATA::PRINT-CTS/WTS (CDR DEFDATA::S-HIST) DEFDATA::CTS-P DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE)) (DEFDATA::NC (- DEFDATA::NC (IF DEFDATA::CTS-P (LEN DEFDATA::A-LST) 0))) (DEFDATA::NW (- DEFDATA::NW (IF DEFDATA::CTS-P 0 (LEN DEFDATA::A-LST)))) (- (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~| [found in : ~x0]~%" DEFDATA::NAME)) (DEFDATA::CL (DEFDATA::CLAUSIFY-HYPS-CONCL DEFDATA::HYPS DEFDATA::CONCL)) (DEFDATA::PFORM (PRETTYIFY-CLAUSE DEFDATA::CL NIL (W STATE))) (- (DEFDATA::CW? (AND (NOT (EQUAL "top" DEFDATA::NAME)) DEFDATA::CTS-P (NORMAL-OUTPUT-FLAG DEFDATA::VL)) "~x0~%" DEFDATA::PFORM))) (ER-PROGN (DEFDATA::PRINT-ASSIGNMENTS DEFDATA::A-LST DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::ELIDE-MAP DEFDATA::VL DEFDATA::CTS-P STATE) (DEFDATA::PRINT-CTS/WTS (CDR DEFDATA::S-HIST) DEFDATA::CTS-P DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE))))) (PROGN (DEFUN DEFDATA::PRINT-CTS/WTS (DEFDATA::S-HIST DEFDATA::CTS-P DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE) "print all cts/wts A (sigma) in s-hist subgoal testing
        history alist" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (IF (ENDP DEFDATA::S-HIST) (VALUE NIL) (B* (((CONS DEFDATA::NAME DEFDATA::S-HIST-ENTRY%) (CAR DEFDATA::S-HIST)) (DEFDATA::RUN-HIST% (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::RUN-HIST)) (DEFDATA::HYPS (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::HYPS)) (DEFDATA::CONCL (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::CONCL)) ((WHEN (AND DEFDATA::CTS-P (ZP DEFDATA::NC))) (VALUE NIL)) ((WHEN (AND (NOT DEFDATA::CTS-P) (ZP DEFDATA::NW))) (VALUE NIL)) (DEFDATA::A-LST (IF DEFDATA::CTS-P (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::CTS) (DEFDATA::ACCESS DEFDATA::RUN-HIST% DEFDATA::WTS))) (DEFDATA::ELIDE-MAP (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::ELIDE-MAP)) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|DEBUG/print-cts/wts: A-lst:~x0 top-vars:~x1 elide-map:~x2~|" DEFDATA::A-LST DEFDATA::TOP-VARS DEFDATA::ELIDE-MAP)) ((WHEN (ENDP DEFDATA::A-LST)) (DEFDATA::PRINT-CTS/WTS (CDR DEFDATA::S-HIST) DEFDATA::CTS-P DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE)) (DEFDATA::NC (- DEFDATA::NC (IF DEFDATA::CTS-P (LEN DEFDATA::A-LST) 0))) (DEFDATA::NW (- DEFDATA::NW (IF DEFDATA::CTS-P 0 (LEN DEFDATA::A-LST)))) (- (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~| [found in : ~x0]~%" DEFDATA::NAME)) (DEFDATA::CL (DEFDATA::CLAUSIFY-HYPS-CONCL DEFDATA::HYPS DEFDATA::CONCL)) (DEFDATA::PFORM (PRETTYIFY-CLAUSE DEFDATA::CL NIL (W STATE))) (- (DEFDATA::CW? (AND (NOT (EQUAL "top" DEFDATA::NAME)) DEFDATA::CTS-P (NORMAL-OUTPUT-FLAG DEFDATA::VL)) "~x0~%" DEFDATA::PFORM))) (ER-PROGN (DEFDATA::PRINT-ASSIGNMENTS DEFDATA::A-LST DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::ELIDE-MAP DEFDATA::VL DEFDATA::CTS-P STATE) (DEFDATA::PRINT-CTS/WTS (CDR DEFDATA::S-HIST) DEFDATA::CTS-P DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE))))))) (174 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::PRINT-S-HIST (DEFDATA::S-HIST DEFDATA::PRINTC? DEFDATA::PRINTW? DEFDATA::NC DEFDATA::NW DEFDATA::TOP-TERM DEFDATA::TOP-VARS DEFDATA::VL STATE) (DEFDATA::DECL :MODE :PROGRAM :SIG ((DEFDATA::S-HIST-P DEFDATA::BOOL DEFDATA::BOOL NATP NATP PSEUDO-TERMP DEFDATA::SYMBOL-LIST FIXNUM STATE) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::ALL STATE)) :DOC "print counterexample and witnesses recorded in testing subgoal
history s-hist.") (B* (((ER &) (IF DEFDATA::PRINTC? (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|~%We falsified the conjecture. Here are counterexamples:~|") (DEFDATA::PRINT-CTS/WTS DEFDATA::S-HIST T DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE)) (VALUE NIL))) ((ER &) (IF DEFDATA::PRINTW? (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|~%Cases in which the conjecture is true include:~|") (DEFDATA::PRINT-CTS/WTS DEFDATA::S-HIST NIL DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE)) (VALUE NIL)))) (VALUE NIL))) (PROGN (DEFUN DEFDATA::PRINT-S-HIST (DEFDATA::S-HIST DEFDATA::PRINTC? DEFDATA::PRINTW? DEFDATA::NC DEFDATA::NW DEFDATA::TOP-TERM DEFDATA::TOP-VARS DEFDATA::VL STATE) "print counterexample and witnesses recorded in testing subgoal
history s-hist." (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* (((ER &) (IF DEFDATA::PRINTC? (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|~%We falsified the conjecture. Here are counterexamples:~|") (DEFDATA::PRINT-CTS/WTS DEFDATA::S-HIST T DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE)) (VALUE NIL))) ((ER &) (IF DEFDATA::PRINTW? (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|~%Cases in which the conjecture is true include:~|") (DEFDATA::PRINT-CTS/WTS DEFDATA::S-HIST NIL DEFDATA::NC DEFDATA::NW DEFDATA::TOP-VARS DEFDATA::TOP-TERM DEFDATA::VL STATE)) (VALUE NIL)))) (VALUE NIL))))) (178 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::TOTAL-TIME-SPENT-IN-TESTING (DEFDATA::S-HIST) (DEFDATA::DECL :SIG ((DEFDATA::S-HIST-P) DEFDATA::-> RATIONALP) :DOC "calculate testing time across subgoals") (IF (ENDP DEFDATA::S-HIST) 0 (B* (((CONS & DEFDATA::S-HIST-ENTRY%) (CAR DEFDATA::S-HIST))) (DEFDATA::MY+ (DEFDATA::MY- (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::END-TIME) (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::START-TIME)) (DEFDATA::TOTAL-TIME-SPENT-IN-TESTING (CDR DEFDATA::S-HIST)))))) (PROGN (DEFUN DEFDATA::TOTAL-TIME-SPENT-IN-TESTING (DEFDATA::S-HIST) "calculate testing time across subgoals" (DECLARE (XARGS :MODE :LOGIC :STOBJS NIL)) (IF (ENDP DEFDATA::S-HIST) 0 (B* (((CONS & DEFDATA::S-HIST-ENTRY%) (CAR DEFDATA::S-HIST))) (DEFDATA::MY+ (DEFDATA::MY- (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::END-TIME) (DEFDATA::ACCESS DEFDATA::S-HIST-ENTRY% DEFDATA::START-TIME)) (DEFDATA::TOTAL-TIME-SPENT-IN-TESTING (CDR DEFDATA::S-HIST)))))))) (182 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 (DEFDATA::REM-HYPS DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM-LIST DEFDATA::TRUE-LIST DEFDATA::PSEUDO-TERM-LIST FIXNUM STATE) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::PSEUDO-TERM-LIST STATE)) :MODE :PROGRAM :DOC "easy simplify each implicative hyp in rem-hyps assuming
  elim-hyps, accumulate in ans., we just simplify the antecedent and
  keep it if its simplified to true. if not we throw it, and return a
  value triple containing shyps. return erp=T is found contradiction
  in an shyp. order is preserved.") (DECLARE (IGNORABLE DEFDATA::VL)) (IF (ENDP DEFDATA::REM-HYPS) (VALUE DEFDATA::ANS.) (B* ((DEFDATA::HYP (CAR DEFDATA::REM-HYPS)) (DEFDATA::IMPLICATIVE? (AND (CONSP DEFDATA::HYP) (EQ (QUOTE IMPLIES) (FFN-SYMB DEFDATA::HYP))))) (IF DEFDATA::IMPLICATIVE? (B* (((ER DEFDATA::ANTECEDENT) (DEFDATA::SIMPLIFY-TERM (SECOND DEFDATA::HYP) DEFDATA::ELIM-HYPS DEFDATA::HINTS STATE)) (DEFDATA::ANS. (IF (OR (EQUAL DEFDATA::ANTECEDENT (QUOTE (QUOTE T))) (MEMBER-EQUAL DEFDATA::ANTECEDENT DEFDATA::ELIM-HYPS)) (APPEND DEFDATA::ANS. (LIST (THIRD DEFDATA::HYP))) DEFDATA::ANS.))) (DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 (CDR DEFDATA::REM-HYPS) DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE)) (B* (((ER DEFDATA::SHYP) (DEFDATA::SIMPLIFY-TERM DEFDATA::HYP DEFDATA::ELIM-HYPS DEFDATA::HINTS STATE)) (DEFDATA::ANS. (IF (EQUAL DEFDATA::SHYP (QUOTE (QUOTE T))) DEFDATA::ANS. (IF (TERM-ORDER DEFDATA::SHYP DEFDATA::HYP) (APPEND DEFDATA::ANS. (LIST DEFDATA::SHYP)) (APPEND DEFDATA::ANS. (LIST DEFDATA::HYP)))))) (DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 (CDR DEFDATA::REM-HYPS) DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE)))))) (PROGN (DEFUN DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 (DEFDATA::REM-HYPS DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE) "easy simplify each implicative hyp in rem-hyps assuming
  elim-hyps, accumulate in ans., we just simplify the antecedent and
  keep it if its simplified to true. if not we throw it, and return a
  value triple containing shyps. return erp=T is found contradiction
  in an shyp. order is preserved." (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (DECLARE (IGNORABLE DEFDATA::VL)) (IF (ENDP DEFDATA::REM-HYPS) (VALUE DEFDATA::ANS.) (B* ((DEFDATA::HYP (CAR DEFDATA::REM-HYPS)) (DEFDATA::IMPLICATIVE? (AND (CONSP DEFDATA::HYP) (EQ (QUOTE IMPLIES) (FFN-SYMB DEFDATA::HYP))))) (IF DEFDATA::IMPLICATIVE? (B* (((ER DEFDATA::ANTECEDENT) (DEFDATA::SIMPLIFY-TERM (SECOND DEFDATA::HYP) DEFDATA::ELIM-HYPS DEFDATA::HINTS STATE)) (DEFDATA::ANS. (IF (OR (EQUAL DEFDATA::ANTECEDENT (QUOTE (QUOTE T))) (MEMBER-EQUAL DEFDATA::ANTECEDENT DEFDATA::ELIM-HYPS)) (APPEND DEFDATA::ANS. (LIST (THIRD DEFDATA::HYP))) DEFDATA::ANS.))) (DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 (CDR DEFDATA::REM-HYPS) DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE)) (B* (((ER DEFDATA::SHYP) (DEFDATA::SIMPLIFY-TERM DEFDATA::HYP DEFDATA::ELIM-HYPS DEFDATA::HINTS STATE)) (DEFDATA::ANS. (IF (EQUAL DEFDATA::SHYP (QUOTE (QUOTE T))) DEFDATA::ANS. (IF (TERM-ORDER DEFDATA::SHYP DEFDATA::HYP) (APPEND DEFDATA::ANS. (LIST DEFDATA::SHYP)) (APPEND DEFDATA::ANS. (LIST DEFDATA::HYP)))))) (DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 (CDR DEFDATA::REM-HYPS) DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::ANS. DEFDATA::VL STATE)))))))) (183 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::SIMPLIFY/THROW-HYPS-ELIM (DEFDATA::HYPS DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::VL STATE) (DEFDATA::DECL :SIG ((DEFDATA::PSEUDO-TERM-LIST DEFDATA::PSEUDO-TERM-LIST DEFDATA::TRUE-LIST FIXNUM STATE) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::PSEUDO-TERM-LIST STATE)) :MODE :PROGRAM :DOC "see simplify/throw-hyps-elim1 doc") (B* ((- (TIME-TRACKER :SIMPLIFY-HYPS-ELIM :START)) ((MV DEFDATA::ERP DEFDATA::SHYPS STATE) (DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 DEFDATA::HYPS DEFDATA::ELIM-HYPS DEFDATA::HINTS (QUOTE NIL) DEFDATA::VL STATE)) (- (TIME-TRACKER :SIMPLIFY-HYPS-ELIM :STOP)) (- (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (TIME-TRACKER :SIMPLIFY-HYPS-ELIM :PRINT?)))) (MV DEFDATA::ERP DEFDATA::SHYPS STATE))) (PROGN (DEFUN DEFDATA::SIMPLIFY/THROW-HYPS-ELIM (DEFDATA::HYPS DEFDATA::ELIM-HYPS DEFDATA::HINTS DEFDATA::VL STATE) "see simplify/throw-hyps-elim1 doc" (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE))) (B* ((- (TIME-TRACKER :SIMPLIFY-HYPS-ELIM :START)) ((MV DEFDATA::ERP DEFDATA::SHYPS STATE) (DEFDATA::SIMPLIFY/THROW-HYPS-ELIM1 DEFDATA::HYPS DEFDATA::ELIM-HYPS DEFDATA::HINTS (QUOTE NIL) DEFDATA::VL STATE)) (- (TIME-TRACKER :SIMPLIFY-HYPS-ELIM :STOP)) (- (AND (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) (TIME-TRACKER :SIMPLIFY-HYPS-ELIM :PRINT?)))) (MV DEFDATA::ERP DEFDATA::SHYPS STATE))))) (198 RECORD-EXPANSION (VERIFY-TERMINATION LOGICAL-NAMEP) (DEFUN LOGICAL-NAMEP (NAME WRLD) (COND ((SYMBOLP NAME) (COND ((EQ NAME :HERE) (NOT (NULL WRLD))) (T (GETPROP NAME (QUOTE ABSOLUTE-EVENT-NUMBER) NIL (QUOTE CURRENT-ACL2-WORLD) WRLD)))) ((AND (STRINGP NAME) (FIND-NON-HIDDEN-PACKAGE-ENTRY NAME (GLOBAL-VAL (QUOTE KNOWN-PACKAGE-ALIST) WRLD))) T) (T NIL)))) (206 RECORD-EXPANSION (DEFDATA::DEF DEFDATA::TEST?-FN (DEFDATA::FORM DEFDATA::HINTS DEFDATA::OVERRIDE-DEFAULTS DEFDATA::DONT-PTS? DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) (DEFDATA::DECL :MODE :PROGRAM :SIG ((DEFDATA::ANY DEFDATA::TRUE-LIST DEFDATA::SYMBOL-ALIST SYMBOL DEFDATA::PLIST-WORLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) DEFDATA::-> (MV DEFDATA::ERP DEFDATA::ANY STATE)) :DOC "gives an error triple wrapping a form that will be ... ") (DEFDATA::F* ((DEFDATA::CHECK-SYNTAX (DEFDATA::FORM DEFDATA::LOGICP) (STATE-GLOBAL-LET* ((INHIBIT-OUTPUT-LST *VALID-OUTPUT-NAMES*)) (TRANSLATE DEFDATA::FORM T DEFDATA::LOGICP T "test? check" DEFDATA::WRLD STATE)))) (B* ((DEFDATA::DEFAULTS (DEFDATA::ACL2S-DEFAULTS-ALIST DEFDATA::OVERRIDE-DEFAULTS)) (TESTING-ENABLED (DEFDATA::GET-ACL2S-DEFAULT (QUOTE TESTING-ENABLED) DEFDATA::DEFAULTS)) (DEFDATA::VL (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS)) ((WHEN (EQ TESTING-ENABLED NIL)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))))) (B* (((MV DEFDATA::ERP DEFDATA::TERM STATE) (DEFDATA::CHECK-SYNTAX DEFDATA::FORM NIL)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|TEST?: The input form is ill-formed, see below:~%") (STATE-GLOBAL-LET* ((INHIBIT-OUTPUT-LST (QUOTE (SUMMARY)))) (TRANSLATE DEFDATA::FORM T NIL T "test? check" (W STATE) STATE)))) ((MV DEFDATA::ALL-EXECP DEFDATA::UNSUPPORTEDP DEFDATA::MV-SIG-ALIST) (DEFDATA::CGEN-EXCEPTIONAL-FUNCTIONS (LIST DEFDATA::TERM) DEFDATA::VL (W STATE))) ((UNLESS DEFDATA::ALL-EXECP) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE)))) ((WHEN DEFDATA::UNSUPPORTEDP) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE)))) ((MV DEFDATA::PM? & STATE) (DEFDATA::CHECK-SYNTAX DEFDATA::FORM T)) (DEFDATA::PROGRAMP (OR DEFDATA::PM? (EQ (DEFAULT-DEFUN-MODE (W STATE)) :PROGRAM))) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~%~%CEgen/Debug: (pm? ~x0) ~x1~|" DEFDATA::PROGRAMP (CONS (QUOTE TEST?) DEFDATA::FORM))) ((MV DEFDATA::HYPS DEFDATA::CONCL STATE) (DEFDATA::PARTITION-HYPS-CONCL DEFDATA::TERM "test?" STATE)) ((MV DEFDATA::START-TOP STATE) (READ-RUN-TIME STATE)) (DEFDATA::CSE-STACK (@ DEFDATA::CGEN-STATS-EVENT-STACK)) ((UNLESS (DEFDATA::CGEN-STATS-EVENT-STACKP DEFDATA::CSE-STACK)) (ER DEFDATA::SOFT DEFDATA::CTX "~|CEgen/Error: cgen-stats-event-stack is ill-formed~|")) (DEFDATA::VARS (ALL-VARS DEFDATA::TERM)) (DEFDATA::D-TYPE-AL (DEFDATA::DUMB-TYPE-ALIST-INFER (CONS (DUMB-NEGATE-LIT DEFDATA::CONCL) DEFDATA::HYPS) DEFDATA::VARS DEFDATA::VL (W STATE) DEFDATA::R$ DEFDATA::TYPES-HT$)) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEgen/Verbose/test?: dumb type-alist is ~x0~|" DEFDATA::D-TYPE-AL)) (DEFDATA::GCS% (DEFDATA::INITIAL-GCS% (DEFDATA::GET-ACL2S-DEFAULT (QUOTE NUM-COUNTEREXAMPLES) DEFDATA::DEFAULTS) (DEFDATA::GET-ACL2S-DEFAULT (QUOTE NUM-WITNESSES) DEFDATA::DEFAULTS) DEFDATA::START-TOP DEFDATA::TERM DEFDATA::D-TYPE-AL)) (STATE (F-PUT-GLOBAL (QUOTE DEFDATA::CGEN-STATS-EVENT-STACK) (CONS (LIST :GCS% DEFDATA::GCS% :S-HIST (QUOTE NIL) :INSIDE-TEST? T) DEFDATA::CSE-STACK) STATE)) (DEFDATA::VT-ACL2-ALST (IF DEFDATA::PROGRAMP (PAIRLIS$ DEFDATA::VARS (MAKE-LIST (LEN DEFDATA::VARS) :INITIAL-ELEMENT (LIST (QUOTE ALL)))) (DEFDATA::GET-ACL2-TYPE-ALIST (LIST DEFDATA::TERM) "top" (ENS STATE) DEFDATA::VL STATE))) ((MV & DEFDATA::TAU-INTERVAL-ALIST STATE) (DEFDATA::GET-TAU-INTERVAL-ALIST DEFDATA::TERM "top" DEFDATA::VL STATE)) ((MV DEFDATA::?ERROR-OR-TIMEOUTP DEFDATA::?STOP? STATE) (DEFDATA::CSEARCH-WITH-TIMEOUT "top" DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VT-ACL2-ALST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST (QUOTE NIL) DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE)) (DEFDATA::NO-THM-HELP? (OR DEFDATA::STOP? DEFDATA::PROGRAMP (EQ TESTING-ENABLED :NAIVE))) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEgen/Debug: thm+testing OFF: ~x0~%" DEFDATA::NO-THM-HELP?)) ((MV DEFDATA::TRANS-ERP DEFDATA::THM-ERP STATE) (IF DEFDATA::NO-THM-HELP? (MV NIL T STATE) (MV-LET (DEFDATA::ERP DEFDATA::TRVAL STATE) (STATE-GLOBAL-LET* ((INHIBIT-OUTPUT-LST (IF (SYSTEM-DEBUG-FLAG DEFDATA::VL) (QUOTE (SUMMARY)) (QUOTE (WARNING WARNING! OBSERVATION PROVE PROOF-CHECKER EVENT EXPANSION PROOF-TREE SUMMARY))))) (TRANS-EVAL (CONS (QUOTE THM-FN) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::FORM (QUOTE NIL))) (CONS (QUOTE STATE) (CONS (CONS (QUOTE OR) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::HINTS (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (CONS (QUOTE "Goal") (CONS (QUOTE :DO-NOT-INDUCT) (CONS (QUOTE T) (CONS (QUOTE :DO-NOT) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (QUOTE GENERALIZE) (CONS (QUOTE FERTILIZE) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL)) (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE T) (CONS (QUOTE NIL) (QUOTE NIL))))))) (QUOTE DEFDATA::TEST?-FN) STATE T)) (PROG2$ (DEFDATA::CW? (AND DEFDATA::ERP (NORMAL-OUTPUT-FLAG DEFDATA::VL)) "~|CEgen/Error: bad trans-eval call in test?-fn~|") (MV DEFDATA::ERP (IF DEFDATA::ERP T (CADR DEFDATA::TRVAL)) STATE))))) ((MV DEFDATA::END STATE) (READ-RUN-TIME STATE)) (DEFDATA::GCS% (DEFDATA::GET-GCS%-GLOBAL)) (DEFDATA::GCS% (DEFDATA::CHANGE DEFDATA::GCS% DEFDATA::END-TIME DEFDATA::END)) (STATE (DEFDATA::PUT-GCS%-GLOBAL DEFDATA::GCS%)) ((ER &) (IF (OR DEFDATA::ERROR-OR-TIMEOUTP DEFDATA::TRANS-ERP (AND (<= (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::CTS) 0) DEFDATA::DONT-PTS?)) (VALUE NIL) (DEFDATA::PRINT-TESTING-SUMMARY-FN DEFDATA::VL STATE))) ((MV DEFDATA::CTS-FOUND? STATE) (B* ((DEFDATA::GCS% (DEFDATA::GET-GCS%-GLOBAL)) (DEFDATA::NUM-CTS (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::CTS))) (COND ((POSP DEFDATA::NUM-CTS) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~%Test? found a counterexample.~%") (MV T STATE))) (DEFDATA::TRANS-ERP (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Note: test? did not work (probably due to a hard error)!~%") (MV NIL STATE))) ((NOT DEFDATA::THM-ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~%Test? proved the conjecture under consideration (without induction). ~
 Therefore, no counterexamples exist. ~%") (MV NIL STATE))) (DEFDATA::THM-ERP (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~%Test? succeeded. No counterexamples were found.~%") (MV NIL STATE))) (T (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: test?-fn: unreachable print option! Please report this to ACL2s maintainer.~%") (MV NIL STATE)))))) (DEFDATA::CSE-STACK (@ DEFDATA::CGEN-STATS-EVENT-STACK)) (- (ASSERT$ (DEFDATA::VALID-CGEN-STATS-EVENT-STACKP DEFDATA::CSE-STACK) (QUOTE DEFDATA::TEST?-FN))) (STATE (F-PUT-GLOBAL (QUOTE DEFDATA::CGEN-STATS-EVENT-STACK) (CDR DEFDATA::CSE-STACK) STATE))) (MV DEFDATA::CTS-FOUND? (QUOTE (VALUE-TRIPLE :INVISIBLE)) STATE))))) (PROGN (DEFABBREV DEFDATA::_TEST?-FNCHECK-SYNTAX (DEFDATA::FORM DEFDATA::LOGICP) (STATE-GLOBAL-LET* ((INHIBIT-OUTPUT-LST *VALID-OUTPUT-NAMES*)) (TRANSLATE DEFDATA::FORM T DEFDATA::LOGICP T "test? check" DEFDATA::WRLD STATE))) (DEFUN DEFDATA::TEST?-FN (DEFDATA::FORM DEFDATA::HINTS DEFDATA::OVERRIDE-DEFAULTS DEFDATA::DONT-PTS? DEFDATA::CTX DEFDATA::WRLD STATE DEFDATA::R$ DEFDATA::TYPES-HT$) "gives an error triple wrapping a form that will be ... " (DECLARE (XARGS :MODE :PROGRAM :STOBJS (STATE DEFDATA::R$ DEFDATA::TYPES-HT$))) (B* ((DEFDATA::DEFAULTS (DEFDATA::ACL2S-DEFAULTS-ALIST DEFDATA::OVERRIDE-DEFAULTS)) (TESTING-ENABLED (DEFDATA::GET-ACL2S-DEFAULT (QUOTE TESTING-ENABLED) DEFDATA::DEFAULTS)) (DEFDATA::VL (DEFDATA::GET-ACL2S-DEFAULT (QUOTE VERBOSITY-LEVEL) DEFDATA::DEFAULTS)) ((WHEN (EQ TESTING-ENABLED NIL)) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE))))) (B* (((MV DEFDATA::ERP DEFDATA::TERM STATE) (DEFDATA::_TEST?-FNCHECK-SYNTAX DEFDATA::FORM NIL)) ((WHEN DEFDATA::ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|TEST?: The input form is ill-formed, see below:~%") (STATE-GLOBAL-LET* ((INHIBIT-OUTPUT-LST (QUOTE (SUMMARY)))) (TRANSLATE DEFDATA::FORM T NIL T "test? check" (W STATE) STATE)))) ((MV DEFDATA::ALL-EXECP DEFDATA::UNSUPPORTEDP DEFDATA::MV-SIG-ALIST) (DEFDATA::CGEN-EXCEPTIONAL-FUNCTIONS (LIST DEFDATA::TERM) DEFDATA::VL (W STATE))) ((UNLESS DEFDATA::ALL-EXECP) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE)))) ((WHEN DEFDATA::UNSUPPORTEDP) (VALUE (QUOTE (VALUE-TRIPLE :INVISIBLE)))) ((MV DEFDATA::PM? & STATE) (DEFDATA::_TEST?-FNCHECK-SYNTAX DEFDATA::FORM T)) (DEFDATA::PROGRAMP (OR DEFDATA::PM? (EQ (DEFAULT-DEFUN-MODE (W STATE)) :PROGRAM))) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~%~%CEgen/Debug: (pm? ~x0) ~x1~|" DEFDATA::PROGRAMP (CONS (QUOTE TEST?) DEFDATA::FORM))) ((MV DEFDATA::HYPS DEFDATA::CONCL STATE) (DEFDATA::PARTITION-HYPS-CONCL DEFDATA::TERM "test?" STATE)) ((MV DEFDATA::START-TOP STATE) (READ-RUN-TIME STATE)) (DEFDATA::CSE-STACK (@ DEFDATA::CGEN-STATS-EVENT-STACK)) ((UNLESS (DEFDATA::CGEN-STATS-EVENT-STACKP DEFDATA::CSE-STACK)) (ER DEFDATA::SOFT DEFDATA::CTX "~|CEgen/Error: cgen-stats-event-stack is ill-formed~|")) (DEFDATA::VARS (ALL-VARS DEFDATA::TERM)) (DEFDATA::D-TYPE-AL (DEFDATA::DUMB-TYPE-ALIST-INFER (CONS (DUMB-NEGATE-LIT DEFDATA::CONCL) DEFDATA::HYPS) DEFDATA::VARS DEFDATA::VL (W STATE) DEFDATA::R$ DEFDATA::TYPES-HT$)) (- (DEFDATA::CW? (DEFDATA::VERBOSE-STATS-FLAG DEFDATA::VL) "~|CEgen/Verbose/test?: dumb type-alist is ~x0~|" DEFDATA::D-TYPE-AL)) (DEFDATA::GCS% (DEFDATA::INITIAL-GCS% (DEFDATA::GET-ACL2S-DEFAULT (QUOTE NUM-COUNTEREXAMPLES) DEFDATA::DEFAULTS) (DEFDATA::GET-ACL2S-DEFAULT (QUOTE NUM-WITNESSES) DEFDATA::DEFAULTS) DEFDATA::START-TOP DEFDATA::TERM DEFDATA::D-TYPE-AL)) (STATE (F-PUT-GLOBAL (QUOTE DEFDATA::CGEN-STATS-EVENT-STACK) (CONS (LIST :GCS% DEFDATA::GCS% :S-HIST (QUOTE NIL) :INSIDE-TEST? T) DEFDATA::CSE-STACK) STATE)) (DEFDATA::VT-ACL2-ALST (IF DEFDATA::PROGRAMP (PAIRLIS$ DEFDATA::VARS (MAKE-LIST (LEN DEFDATA::VARS) :INITIAL-ELEMENT (LIST (QUOTE ALL)))) (DEFDATA::GET-ACL2-TYPE-ALIST (LIST DEFDATA::TERM) "top" (ENS STATE) DEFDATA::VL STATE))) ((MV & DEFDATA::TAU-INTERVAL-ALIST STATE) (DEFDATA::GET-TAU-INTERVAL-ALIST DEFDATA::TERM "top" DEFDATA::VL STATE)) ((MV DEFDATA::?ERROR-OR-TIMEOUTP DEFDATA::?STOP? STATE) (DEFDATA::CSEARCH-WITH-TIMEOUT "top" DEFDATA::HYPS DEFDATA::CONCL DEFDATA::VT-ACL2-ALST DEFDATA::TAU-INTERVAL-ALIST DEFDATA::MV-SIG-ALIST (QUOTE NIL) DEFDATA::PROGRAMP DEFDATA::DEFAULTS DEFDATA::CTX DEFDATA::WRLD STATE)) (DEFDATA::NO-THM-HELP? (OR DEFDATA::STOP? DEFDATA::PROGRAMP (EQ TESTING-ENABLED :NAIVE))) (- (DEFDATA::CW? (DEBUG-FLAG DEFDATA::VL) "~|CEgen/Debug: thm+testing OFF: ~x0~%" DEFDATA::NO-THM-HELP?)) ((MV DEFDATA::TRANS-ERP DEFDATA::THM-ERP STATE) (IF DEFDATA::NO-THM-HELP? (MV NIL T STATE) (MV-LET (DEFDATA::ERP DEFDATA::TRVAL STATE) (STATE-GLOBAL-LET* ((INHIBIT-OUTPUT-LST (IF (SYSTEM-DEBUG-FLAG DEFDATA::VL) (QUOTE (SUMMARY)) (QUOTE (WARNING WARNING! OBSERVATION PROVE PROOF-CHECKER EVENT EXPANSION PROOF-TREE SUMMARY))))) (TRANS-EVAL (CONS (QUOTE THM-FN) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::FORM (QUOTE NIL))) (CONS (QUOTE STATE) (CONS (CONS (QUOTE OR) (CONS (CONS (QUOTE QUOTE) (CONS DEFDATA::HINTS (QUOTE NIL))) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (CONS (QUOTE "Goal") (CONS (QUOTE :DO-NOT-INDUCT) (CONS (QUOTE T) (CONS (QUOTE :DO-NOT) (CONS (CONS (QUOTE QUOTE) (CONS (CONS (QUOTE GENERALIZE) (CONS (QUOTE FERTILIZE) (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL)))))) (QUOTE NIL)) (QUOTE NIL))) (QUOTE NIL)))) (CONS (QUOTE T) (CONS (QUOTE NIL) (QUOTE NIL))))))) (QUOTE DEFDATA::TEST?-FN) STATE T)) (PROG2$ (DEFDATA::CW? (AND DEFDATA::ERP (NORMAL-OUTPUT-FLAG DEFDATA::VL)) "~|CEgen/Error: bad trans-eval call in test?-fn~|") (MV DEFDATA::ERP (IF DEFDATA::ERP T (CADR DEFDATA::TRVAL)) STATE))))) ((MV DEFDATA::END STATE) (READ-RUN-TIME STATE)) (DEFDATA::GCS% (DEFDATA::GET-GCS%-GLOBAL)) (DEFDATA::GCS% (DEFDATA::CHANGE DEFDATA::GCS% DEFDATA::END-TIME DEFDATA::END)) (STATE (DEFDATA::PUT-GCS%-GLOBAL DEFDATA::GCS%)) ((ER &) (IF (OR DEFDATA::ERROR-OR-TIMEOUTP DEFDATA::TRANS-ERP (AND (<= (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::CTS) 0) DEFDATA::DONT-PTS?)) (VALUE NIL) (DEFDATA::PRINT-TESTING-SUMMARY-FN DEFDATA::VL STATE))) ((MV DEFDATA::CTS-FOUND? STATE) (B* ((DEFDATA::GCS% (DEFDATA::GET-GCS%-GLOBAL)) (DEFDATA::NUM-CTS (DEFDATA::ACCESS DEFDATA::GCS% DEFDATA::CTS))) (COND ((POSP DEFDATA::NUM-CTS) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~%Test? found a counterexample.~%") (MV T STATE))) (DEFDATA::TRANS-ERP (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Note: test? did not work (probably due to a hard error)!~%") (MV NIL STATE))) ((NOT DEFDATA::THM-ERP) (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~%Test? proved the conjecture under consideration (without induction). ~
 Therefore, no counterexamples exist. ~%") (MV NIL STATE))) (DEFDATA::THM-ERP (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~%Test? succeeded. No counterexamples were found.~%") (MV NIL STATE))) (T (PROG2$ (DEFDATA::CW? (NORMAL-OUTPUT-FLAG DEFDATA::VL) "~|CEgen/Error: test?-fn: unreachable print option! Please report this to ACL2s maintainer.~%") (MV NIL STATE)))))) (DEFDATA::CSE-STACK (@ DEFDATA::CGEN-STATS-EVENT-STACK)) (- (ASSERT$ (DEFDATA::VALID-CGEN-STATS-EVENT-STACKP DEFDATA::CSE-STACK) (QUOTE DEFDATA::TEST?-FN))) (STATE (F-PUT-GLOBAL (QUOTE DEFDATA::CGEN-STATS-EVENT-STACK) (CDR DEFDATA::CSE-STACK) STATE))) (MV DEFDATA::CTS-FOUND? (QUOTE (VALUE-TRIPLE :INVISIBLE)) STATE)))))))
(("/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/cgen/main.lisp" "main" "main" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS (:ACL2S-TIMEOUT "/usr/share/acl2-6.3/books/cgen/with-timeout.lisp") (:HASH-STOBJS "/usr/share/acl2-6.3/books/add-ons/hash-stobjs.lisp") (:REDEF+ "/usr/share/acl2-6.3/books/add-ons/hash-stobjs.lisp"))) . 1278504879) ("/usr/share/acl2-6.3/books/cgen/elim.lisp" "elim" "elim" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1172245974) ("/usr/share/acl2-6.3/books/misc/expander.lisp" "misc/expander" "expander" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2012198438) ("/usr/share/acl2-6.3/books/cgen/random-state.lisp" "random-state" "random-state" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1030316271) ("/usr/share/acl2-6.3/books/cgen/random-state-basis1.lisp" "random-state-basis1" "random-state-basis1" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 236477071) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/floor-mod/floor-mod.lisp" "arithmetic-3/floor-mod/floor-mod" "floor-mod" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 14631641)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/top.lisp" "../bind-free/top" "top" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 248299501)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/banner.lisp" "banner" "banner" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 915259697)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/arithmetic-theory.lisp" "arithmetic-theory" "arithmetic-theory" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 732116275)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/remove-weak-inequalities.lisp" "remove-weak-inequalities" "remove-weak-inequalities" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 105657945)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/collect.lisp" "collect" "collect" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 864029516)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/integerp-meta.lisp" "integerp-meta" "integerp-meta" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 750113408)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/integerp.lisp" "integerp" "integerp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1374753694)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/numerator-and-denominator.lisp" "numerator-and-denominator" "numerator-and-denominator" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 122664565)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/simplify.lisp" "simplify" "simplify" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2013733040)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/simplify-helper.lisp" "simplify-helper" "simplify-helper" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1061645425)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/normalize.lisp" "normalize" "normalize" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1619080936)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/basic.lisp" "basic" "basic" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 972646001)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/basic-helper.lisp" "basic-helper" "basic-helper" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 384804126)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/common.lisp" "common" "common" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1113724693)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/mini-theories.lisp" "mini-theories" "mini-theories" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 483566967)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/mini-theories-helper.lisp" "mini-theories-helper" "mini-theories-helper" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 457663279)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/top.lisp" "../pass1/top" "top" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 513558315)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/numerator-and-denominator.lisp" "numerator-and-denominator" "numerator-and-denominator" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 134470975)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/num-and-denom-helper.lisp" "num-and-denom-helper" "num-and-denom-helper" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 784695287)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/non-linear.lisp" "non-linear" "non-linear" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2126151702)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/mini-theories.lisp" "mini-theories" "mini-theories" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1504975778)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/expt.lisp" "expt" "expt" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 653127144)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/expt-helper.lisp" "expt-helper" "expt-helper" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1661395704)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/prefer-times.lisp" "prefer-times" "prefer-times" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1273493319)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/inequalities.lisp" "inequalities" "inequalities" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 508744284)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/basic-arithmetic.lisp" "basic-arithmetic" "basic-arithmetic" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1246647817)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/pass1/basic-arithmetic-helper.lisp" "basic-arithmetic-helper" "basic-arithmetic-helper" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 376534638)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/building-blocks.lisp" "building-blocks" "building-blocks" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1061889192)) (LOCAL ("/usr/share/acl2-6.3/books/arithmetic-3/bind-free/default-hint.lisp" "default-hint" "default-hint" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1153949377)) ("/usr/share/acl2-6.3/books/cgen/graph-tc.lisp" "graph-tc" "graph-tc" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS (:HASH-STOBJS "/usr/share/acl2-6.3/books/add-ons/hash-stobjs.lisp") (:REDEF+ "/usr/share/acl2-6.3/books/add-ons/hash-stobjs.lisp"))) . 1209117067) ("/usr/share/acl2-6.3/books/cgen/library-support.lisp" "library-support" "library-support" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 635686251) ("/usr/share/acl2-6.3/books/finite-set-theory/osets/sets.lisp" "finite-set-theory/osets/sets" "sets" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1410988217) ("/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)) (LOCAL ("/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/lists/rev.lisp" "std/lists/rev" "rev" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 327117871)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/append.lisp" "std/lists/append" "append" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 567759210)) (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/xdoc/portcullis.lisp" "xdoc/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1473208573) ("/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/std/lists/same-lengthp.lisp" "same-lengthp" "same-lengthp" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2063823673)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/sets.lisp" "sets" "sets" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 878261262)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/mfc-utils.lisp" "mfc-utils" "mfc-utils" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1043482843)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/rcons.lisp" "rcons" "rcons" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 105042482)) (LOCAL ("/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)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/nthcdr.lisp" "nthcdr" "nthcdr" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1415704060)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/duplicity.lisp" "duplicity" "duplicity" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 914433854)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/flatten.lisp" "flatten" "flatten" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1125138266)) (LOCAL ("/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/revappend.lisp" "revappend" "revappend" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1368863429)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/equiv.lisp" "equiv" "equiv" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1948483556)) (LOCAL ("/usr/share/acl2-6.3/books/std/lists/take.lisp" "take" "take" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1496833916)) (LOCAL ("/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/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)) ("/usr/share/acl2-6.3/books/tools/rulesets.lisp" "tools/rulesets" "rulesets" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 639683473) ("/usr/share/acl2-6.3/books/defexec/other-apps/records/records.lisp" "defexec/other-apps/records/records" "records" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 681429738) ("/usr/share/acl2-6.3/books/add-ons/hash-stobjs.lisp" "add-ons/hash-stobjs" "hash-stobjs" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS (:HASH-STOBJS "/usr/share/acl2-6.3/books/add-ons/hash-stobjs.lisp") (:REDEF+ "/usr/share/acl2-6.3/books/add-ons/hash-stobjs.lisp"))) . 1257498041) (LOCAL ("/usr/share/acl2-6.3/books/misc/assert.lisp" "misc/assert" "assert" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1184956729)) (LOCAL ("/usr/share/acl2-6.3/books/misc/eval.lisp" "eval" "eval" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1069973718)) ("/usr/share/acl2-6.3/books/cgen/simple-graph-array.lisp" "simple-graph-array" "simple-graph-array" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 933395401) ("/usr/share/acl2-6.3/books/ordinals/lexicographic-ordering-without-arithmetic.lisp" "ordinals/lexicographic-ordering-without-arithmetic" "lexicographic-ordering-without-arithmetic" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 2138594452) ("/usr/share/acl2-6.3/books/ordinals/lexicographic-book.lisp" "lexicographic-book" "lexicographic-book" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 127524529) ("/usr/share/acl2-6.3/books/ordinals/ordinals-without-arithmetic.lisp" "ordinals-without-arithmetic" "ordinals-without-arithmetic" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1314818224) ("/usr/share/acl2-6.3/books/ordinals/limits.lisp" "limits" "limits" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1554351206) ("/usr/share/acl2-6.3/books/ordinals/ordinal-exponentiation.lisp" "ordinal-exponentiation" "ordinal-exponentiation" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 358241501) ("/usr/share/acl2-6.3/books/ordinals/ordinal-multiplication.lisp" "ordinal-multiplication" "ordinal-multiplication" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1192569346) ("/usr/share/acl2-6.3/books/ordinals/ordinal-addition.lisp" "ordinal-addition" "ordinal-addition" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 348288899) ("/usr/share/acl2-6.3/books/ordinals/ordinal-basic-thms.lisp" "ordinal-basic-thms" "ordinal-basic-thms" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 770752119) (LOCAL ("/usr/share/acl2-6.3/books/ordinals/top-with-meta.lisp" "top-with-meta" "top-with-meta" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 532658826)) (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/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/ordinals/ordinal-total-order.lisp" "ordinal-total-order" "ordinal-total-order" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 757763360) ("/usr/share/acl2-6.3/books/ordinals/ordinal-definitions.lisp" "ordinal-definitions" "ordinal-definitions" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1478376100) ("/usr/share/acl2-6.3/books/cgen/acl2s-parameter.lisp" "acl2s-parameter" "acl2s-parameter" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1259392589) ("/usr/share/acl2-6.3/books/cgen/utilities.lisp" "utilities" "utilities" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1459061217) ("/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/cgen/type.lisp" "type" "type" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 640071088) ("/usr/share/acl2-6.3/books/cgen/with-timeout.lisp" "with-timeout" "with-timeout" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS (:ACL2S-TIMEOUT "/usr/share/acl2-6.3/books/cgen/with-timeout.lisp"))) . 916923546) ("/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/cgen/basis.lisp" "basis" "basis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 829677440) ("/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/std/osets/portcullis.lisp" "std/osets/portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1689687557))
1733944857