|
1 #2 := false |
|
2 decl uf_17 :: (-> T8 T3) |
|
3 decl uf_18 :: (-> T1 T8) |
|
4 decl uf_19 :: T1 |
|
5 #104 := uf_19 |
|
6 #105 := (uf_18 uf_19) |
|
7 #106 := (uf_17 #105) |
|
8 decl uf_15 :: (-> T7 T3) |
|
9 decl uf_16 :: (-> int T7) |
|
10 #101 := 3::int |
|
11 #102 := (uf_16 3::int) |
|
12 #103 := (uf_15 #102) |
|
13 #107 := (= #103 #106) |
|
14 decl uf_13 :: (-> T2 T3) |
|
15 decl uf_2 :: (-> T1 T2 T2) |
|
16 decl uf_7 :: T2 |
|
17 #29 := uf_7 |
|
18 #857 := (uf_2 uf_19 uf_7) |
|
19 #859 := (uf_13 #857) |
|
20 #599 := (= #859 #106) |
|
21 #526 := (= #106 #859) |
|
22 #79 := (:var 0 T1) |
|
23 #82 := (uf_2 #79 uf_7) |
|
24 #932 := (pattern #82) |
|
25 #80 := (uf_18 #79) |
|
26 #931 := (pattern #80) |
|
27 #83 := (uf_13 #82) |
|
28 #81 := (uf_17 #80) |
|
29 #84 := (= #81 #83) |
|
30 #933 := (forall (vars (?x16 T1)) (:pat #931 #932) #84) |
|
31 #85 := (forall (vars (?x16 T1)) #84) |
|
32 #936 := (iff #85 #933) |
|
33 #934 := (iff #84 #84) |
|
34 #935 := [refl]: #934 |
|
35 #937 := [quant-intro #935]: #936 |
|
36 #347 := (~ #85 #85) |
|
37 #384 := (~ #84 #84) |
|
38 #385 := [refl]: #384 |
|
39 #348 := [nnf-pos #385]: #347 |
|
40 #238 := [asserted]: #85 |
|
41 #386 := [mp~ #238 #348]: #85 |
|
42 #938 := [mp #386 #937]: #933 |
|
43 #861 := (not #933) |
|
44 #862 := (or #861 #526) |
|
45 #863 := [quant-inst]: #862 |
|
46 #601 := [unit-resolution #863 #938]: #526 |
|
47 #588 := [symm #601]: #599 |
|
48 #586 := (= #103 #859) |
|
49 decl uf_1 :: (-> T2 T3) |
|
50 #558 := (uf_1 #857) |
|
51 #832 := (= #558 #859) |
|
52 #5 := (:var 0 T2) |
|
53 #66 := (uf_13 #5) |
|
54 #908 := (pattern #66) |
|
55 #8 := (uf_1 #5) |
|
56 #907 := (pattern #8) |
|
57 #222 := (= #8 #66) |
|
58 #909 := (forall (vars (?x13 T2)) (:pat #907 #908) #222) |
|
59 #226 := (forall (vars (?x13 T2)) #222) |
|
60 #912 := (iff #226 #909) |
|
61 #910 := (iff #222 #222) |
|
62 #911 := [refl]: #910 |
|
63 #913 := [quant-intro #911]: #912 |
|
64 #341 := (~ #226 #226) |
|
65 #375 := (~ #222 #222) |
|
66 #376 := [refl]: #375 |
|
67 #342 := [nnf-pos #376]: #341 |
|
68 #67 := (= #66 #8) |
|
69 #68 := (forall (vars (?x13 T2)) #67) |
|
70 #227 := (iff #68 #226) |
|
71 #224 := (iff #67 #222) |
|
72 #225 := [rewrite]: #224 |
|
73 #228 := [quant-intro #225]: #227 |
|
74 #221 := [asserted]: #68 |
|
75 #231 := [mp #221 #228]: #226 |
|
76 #377 := [mp~ #231 #342]: #226 |
|
77 #914 := [mp #377 #913]: #909 |
|
78 #451 := (not #909) |
|
79 #837 := (or #451 #832) |
|
80 #547 := [quant-inst]: #837 |
|
81 #615 := [unit-resolution #547 #914]: #832 |
|
82 #585 := (= #103 #558) |
|
83 decl uf_3 :: (-> int T3) |
|
84 decl uf_4 :: (-> T3 int) |
|
85 #30 := (uf_1 uf_7) |
|
86 #806 := (uf_4 #30) |
|
87 #11 := 1::int |
|
88 #127 := (uf_3 1::int) |
|
89 #130 := (uf_4 #127) |
|
90 #649 := (+ #130 #806) |
|
91 #794 := (uf_3 #649) |
|
92 #597 := (= #794 #558) |
|
93 #683 := (= #558 #794) |
|
94 #4 := (:var 1 T1) |
|
95 #6 := (uf_2 #4 #5) |
|
96 #865 := (pattern #6) |
|
97 #9 := (uf_4 #8) |
|
98 #133 := (+ #9 #130) |
|
99 #136 := (uf_3 #133) |
|
100 #7 := (uf_1 #6) |
|
101 #139 := (= #7 #136) |
|
102 #866 := (forall (vars (?x1 T1) (?x2 T2)) (:pat #865) #139) |
|
103 #142 := (forall (vars (?x1 T1) (?x2 T2)) #139) |
|
104 #869 := (iff #142 #866) |
|
105 #867 := (iff #139 #139) |
|
106 #868 := [refl]: #867 |
|
107 #870 := [quant-intro #868]: #869 |
|
108 #361 := (~ #142 #142) |
|
109 #359 := (~ #139 #139) |
|
110 #360 := [refl]: #359 |
|
111 #362 := [nnf-pos #360]: #361 |
|
112 #10 := 0::int |
|
113 #12 := (+ 0::int 1::int) |
|
114 #13 := (uf_3 #12) |
|
115 #14 := (uf_4 #13) |
|
116 #15 := (+ #9 #14) |
|
117 #16 := (uf_3 #15) |
|
118 #17 := (= #7 #16) |
|
119 #18 := (forall (vars (?x1 T1) (?x2 T2)) #17) |
|
120 #143 := (iff #18 #142) |
|
121 #140 := (iff #17 #139) |
|
122 #137 := (= #16 #136) |
|
123 #134 := (= #15 #133) |
|
124 #131 := (= #14 #130) |
|
125 #128 := (= #13 #127) |
|
126 #125 := (= #12 1::int) |
|
127 #126 := [rewrite]: #125 |
|
128 #129 := [monotonicity #126]: #128 |
|
129 #132 := [monotonicity #129]: #131 |
|
130 #135 := [monotonicity #132]: #134 |
|
131 #138 := [monotonicity #135]: #137 |
|
132 #141 := [monotonicity #138]: #140 |
|
133 #144 := [quant-intro #141]: #143 |
|
134 #124 := [asserted]: #18 |
|
135 #147 := [mp #124 #144]: #142 |
|
136 #363 := [mp~ #147 #362]: #142 |
|
137 #871 := [mp #363 #870]: #866 |
|
138 #701 := (not #866) |
|
139 #694 := (or #701 #683) |
|
140 #688 := (+ #806 #130) |
|
141 #689 := (uf_3 #688) |
|
142 #690 := (= #558 #689) |
|
143 #702 := (or #701 #690) |
|
144 #704 := (iff #702 #694) |
|
145 #706 := (iff #694 #694) |
|
146 #799 := [rewrite]: #706 |
|
147 #698 := (iff #690 #683) |
|
148 #795 := (= #689 #794) |
|
149 #797 := (= #688 #649) |
|
150 #699 := [rewrite]: #797 |
|
151 #798 := [monotonicity #699]: #795 |
|
152 #700 := [monotonicity #798]: #698 |
|
153 #705 := [monotonicity #700]: #704 |
|
154 #796 := [trans #705 #799]: #704 |
|
155 #703 := [quant-inst]: #702 |
|
156 #800 := [mp #703 #796]: #694 |
|
157 #614 := [unit-resolution #800 #871]: #683 |
|
158 #598 := [symm #614]: #597 |
|
159 #583 := (= #103 #794) |
|
160 #595 := (= #127 #794) |
|
161 #605 := (= #794 #127) |
|
162 #618 := (= #649 1::int) |
|
163 #780 := (<= #806 0::int) |
|
164 #778 := (= #806 0::int) |
|
165 #31 := (uf_3 0::int) |
|
166 #858 := (uf_4 #31) |
|
167 #855 := (= #858 0::int) |
|
168 #72 := (:var 0 int) |
|
169 #92 := (uf_3 #72) |
|
170 #947 := (pattern #92) |
|
171 #266 := (>= #72 0::int) |
|
172 #267 := (not #266) |
|
173 #93 := (uf_4 #92) |
|
174 #248 := (= #72 #93) |
|
175 #273 := (or #248 #267) |
|
176 #948 := (forall (vars (?x18 int)) (:pat #947) #273) |
|
177 #278 := (forall (vars (?x18 int)) #273) |
|
178 #951 := (iff #278 #948) |
|
179 #949 := (iff #273 #273) |
|
180 #950 := [refl]: #949 |
|
181 #952 := [quant-intro #950]: #951 |
|
182 #351 := (~ #278 #278) |
|
183 #390 := (~ #273 #273) |
|
184 #391 := [refl]: #390 |
|
185 #352 := [nnf-pos #391]: #351 |
|
186 #94 := (= #93 #72) |
|
187 #91 := (<= 0::int #72) |
|
188 #95 := (implies #91 #94) |
|
189 #96 := (forall (vars (?x18 int)) #95) |
|
190 #281 := (iff #96 #278) |
|
191 #255 := (not #91) |
|
192 #256 := (or #255 #248) |
|
193 #261 := (forall (vars (?x18 int)) #256) |
|
194 #279 := (iff #261 #278) |
|
195 #276 := (iff #256 #273) |
|
196 #270 := (or #267 #248) |
|
197 #274 := (iff #270 #273) |
|
198 #275 := [rewrite]: #274 |
|
199 #271 := (iff #256 #270) |
|
200 #268 := (iff #255 #267) |
|
201 #264 := (iff #91 #266) |
|
202 #265 := [rewrite]: #264 |
|
203 #269 := [monotonicity #265]: #268 |
|
204 #272 := [monotonicity #269]: #271 |
|
205 #277 := [trans #272 #275]: #276 |
|
206 #280 := [quant-intro #277]: #279 |
|
207 #262 := (iff #96 #261) |
|
208 #259 := (iff #95 #256) |
|
209 #252 := (implies #91 #248) |
|
210 #257 := (iff #252 #256) |
|
211 #258 := [rewrite]: #257 |
|
212 #253 := (iff #95 #252) |
|
213 #250 := (iff #94 #248) |
|
214 #251 := [rewrite]: #250 |
|
215 #254 := [monotonicity #251]: #253 |
|
216 #260 := [trans #254 #258]: #259 |
|
217 #263 := [quant-intro #260]: #262 |
|
218 #282 := [trans #263 #280]: #281 |
|
219 #247 := [asserted]: #96 |
|
220 #283 := [mp #247 #282]: #278 |
|
221 #392 := [mp~ #283 #352]: #278 |
|
222 #953 := [mp #392 #952]: #948 |
|
223 #848 := (not #948) |
|
224 #850 := (or #848 #855) |
|
225 #527 := (>= 0::int 0::int) |
|
226 #860 := (not #527) |
|
227 #864 := (= 0::int #858) |
|
228 #854 := (or #864 #860) |
|
229 #489 := (or #848 #854) |
|
230 #851 := (iff #489 #850) |
|
231 #852 := (iff #850 #850) |
|
232 #838 := [rewrite]: #852 |
|
233 #847 := (iff #854 #855) |
|
234 #843 := (or #855 false) |
|
235 #846 := (iff #843 #855) |
|
236 #841 := [rewrite]: #846 |
|
237 #844 := (iff #854 #843) |
|
238 #505 := (iff #860 false) |
|
239 #1 := true |
|
240 #498 := (not true) |
|
241 #503 := (iff #498 false) |
|
242 #504 := [rewrite]: #503 |
|
243 #840 := (iff #860 #498) |
|
244 #514 := (iff #527 true) |
|
245 #856 := [rewrite]: #514 |
|
246 #502 := [monotonicity #856]: #840 |
|
247 #842 := [trans #502 #504]: #505 |
|
248 #513 := (iff #864 #855) |
|
249 #518 := [rewrite]: #513 |
|
250 #845 := [monotonicity #518 #842]: #844 |
|
251 #484 := [trans #845 #841]: #847 |
|
252 #849 := [monotonicity #484]: #851 |
|
253 #839 := [trans #849 #838]: #851 |
|
254 #490 := [quant-inst]: #489 |
|
255 #546 := [mp #490 #839]: #850 |
|
256 #644 := [unit-resolution #546 #953]: #855 |
|
257 #621 := (= #806 #858) |
|
258 #32 := (= #30 #31) |
|
259 #159 := [asserted]: #32 |
|
260 #626 := [monotonicity #159]: #621 |
|
261 #616 := [trans #626 #644]: #778 |
|
262 #606 := (not #778) |
|
263 #608 := (or #606 #780) |
|
264 #609 := [th-lemma]: #608 |
|
265 #612 := [unit-resolution #609 #616]: #780 |
|
266 #790 := (>= #806 0::int) |
|
267 #613 := (or #606 #790) |
|
268 #617 := [th-lemma]: #613 |
|
269 #610 := [unit-resolution #617 #616]: #790 |
|
270 #723 := (<= #130 1::int) |
|
271 #746 := (= #130 1::int) |
|
272 #713 := (or #848 #746) |
|
273 #755 := (>= 1::int 0::int) |
|
274 #756 := (not #755) |
|
275 #743 := (= 1::int #130) |
|
276 #744 := (or #743 #756) |
|
277 #714 := (or #848 #744) |
|
278 #718 := (iff #714 #713) |
|
279 #720 := (iff #713 #713) |
|
280 #725 := [rewrite]: #720 |
|
281 #739 := (iff #744 #746) |
|
282 #735 := (or #746 false) |
|
283 #738 := (iff #735 #746) |
|
284 #733 := [rewrite]: #738 |
|
285 #736 := (iff #744 #735) |
|
286 #731 := (iff #756 false) |
|
287 #734 := (iff #756 #498) |
|
288 #742 := (iff #755 true) |
|
289 #748 := [rewrite]: #742 |
|
290 #730 := [monotonicity #748]: #734 |
|
291 #732 := [trans #730 #504]: #731 |
|
292 #745 := (iff #743 #746) |
|
293 #747 := [rewrite]: #745 |
|
294 #737 := [monotonicity #747 #732]: #736 |
|
295 #712 := [trans #737 #733]: #739 |
|
296 #719 := [monotonicity #712]: #718 |
|
297 #721 := [trans #719 #725]: #718 |
|
298 #607 := [quant-inst]: #714 |
|
299 #722 := [mp #607 #721]: #713 |
|
300 #641 := [unit-resolution #722 #953]: #746 |
|
301 #620 := (not #746) |
|
302 #623 := (or #620 #723) |
|
303 #627 := [th-lemma]: #623 |
|
304 #629 := [unit-resolution #627 #641]: #723 |
|
305 #726 := (>= #130 1::int) |
|
306 #630 := (or #620 #726) |
|
307 #628 := [th-lemma]: #630 |
|
308 #631 := [unit-resolution #628 #641]: #726 |
|
309 #611 := [th-lemma #631 #629 #610 #612]: #618 |
|
310 #587 := [monotonicity #611]: #605 |
|
311 #596 := [symm #587]: #595 |
|
312 #581 := (= #103 #127) |
|
313 decl uf_5 :: (-> T4 T3) |
|
314 decl uf_8 :: T4 |
|
315 #33 := uf_8 |
|
316 #34 := (uf_5 uf_8) |
|
317 #822 := (uf_4 #34) |
|
318 #824 := (+ #130 #822) |
|
319 #666 := (uf_3 #824) |
|
320 #593 := (= #666 #127) |
|
321 #589 := (= #127 #666) |
|
322 #624 := (= 1::int #824) |
|
323 #619 := (= #824 1::int) |
|
324 #789 := (<= #822 0::int) |
|
325 #787 := (= #822 0::int) |
|
326 #632 := (= #822 #858) |
|
327 #35 := (= #34 #31) |
|
328 #162 := (= #31 #34) |
|
329 #163 := (iff #35 #162) |
|
330 #164 := [rewrite]: #163 |
|
331 #160 := [asserted]: #35 |
|
332 #167 := [mp #160 #164]: #162 |
|
333 #662 := [symm #167]: #35 |
|
334 #633 := [monotonicity #662]: #632 |
|
335 #634 := [trans #633 #644]: #787 |
|
336 #635 := (not #787) |
|
337 #637 := (or #635 #789) |
|
338 #638 := [th-lemma]: #637 |
|
339 #639 := [unit-resolution #638 #634]: #789 |
|
340 #781 := (>= #822 0::int) |
|
341 #481 := (or #635 #781) |
|
342 #640 := [th-lemma]: #481 |
|
343 #636 := [unit-resolution #640 #634]: #781 |
|
344 #622 := [th-lemma #631 #629 #636 #639]: #619 |
|
345 #625 := [symm #622]: #624 |
|
346 #590 := [monotonicity #625]: #589 |
|
347 #594 := [symm #590]: #593 |
|
348 #579 := (= #103 #666) |
|
349 decl uf_6 :: (-> int T4 T4) |
|
350 #539 := (uf_6 3::int uf_8) |
|
351 #836 := (uf_5 #539) |
|
352 #810 := (= #836 #666) |
|
353 #813 := (= #666 #836) |
|
354 #20 := (:var 0 T4) |
|
355 #19 := (:var 1 int) |
|
356 #21 := (uf_6 #19 #20) |
|
357 #872 := (pattern #21) |
|
358 #23 := (uf_5 #20) |
|
359 #24 := (uf_4 #23) |
|
360 #146 := (+ #24 #130) |
|
361 #150 := (uf_3 #146) |
|
362 #22 := (uf_5 #21) |
|
363 #153 := (= #22 #150) |
|
364 #873 := (forall (vars (?x3 int) (?x4 T4)) (:pat #872) #153) |
|
365 #156 := (forall (vars (?x3 int) (?x4 T4)) #153) |
|
366 #876 := (iff #156 #873) |
|
367 #874 := (iff #153 #153) |
|
368 #875 := [refl]: #874 |
|
369 #877 := [quant-intro #875]: #876 |
|
370 #328 := (~ #156 #156) |
|
371 #364 := (~ #153 #153) |
|
372 #365 := [refl]: #364 |
|
373 #326 := [nnf-pos #365]: #328 |
|
374 #25 := (+ #24 #14) |
|
375 #26 := (uf_3 #25) |
|
376 #27 := (= #22 #26) |
|
377 #28 := (forall (vars (?x3 int) (?x4 T4)) #27) |
|
378 #157 := (iff #28 #156) |
|
379 #154 := (iff #27 #153) |
|
380 #151 := (= #26 #150) |
|
381 #148 := (= #25 #146) |
|
382 #149 := [monotonicity #132]: #148 |
|
383 #152 := [monotonicity #149]: #151 |
|
384 #155 := [monotonicity #152]: #154 |
|
385 #158 := [quant-intro #155]: #157 |
|
386 #145 := [asserted]: #28 |
|
387 #161 := [mp #145 #158]: #156 |
|
388 #366 := [mp~ #161 #326]: #156 |
|
389 #878 := [mp #366 #877]: #873 |
|
390 #809 := (not #873) |
|
391 #816 := (or #809 #813) |
|
392 #817 := (+ #822 #130) |
|
393 #818 := (uf_3 #817) |
|
394 #823 := (= #836 #818) |
|
395 #645 := (or #809 #823) |
|
396 #648 := (iff #645 #816) |
|
397 #802 := (iff #816 #816) |
|
398 #804 := [rewrite]: #802 |
|
399 #814 := (iff #823 #813) |
|
400 #807 := (iff #810 #813) |
|
401 #808 := [rewrite]: #807 |
|
402 #811 := (iff #823 #810) |
|
403 #667 := (= #818 #666) |
|
404 #819 := (= #817 #824) |
|
405 #825 := [rewrite]: #819 |
|
406 #668 := [monotonicity #825]: #667 |
|
407 #812 := [monotonicity #668]: #811 |
|
408 #815 := [trans #812 #808]: #814 |
|
409 #801 := [monotonicity #815]: #648 |
|
410 #805 := [trans #801 #804]: #648 |
|
411 #647 := [quant-inst]: #645 |
|
412 #803 := [mp #647 #805]: #816 |
|
413 #658 := [unit-resolution #803 #878]: #813 |
|
414 #592 := [symm #658]: #810 |
|
415 #600 := (= #103 #836) |
|
416 decl uf_14 :: (-> T4 T3) |
|
417 #540 := (uf_14 #539) |
|
418 #548 := (= #540 #836) |
|
419 #69 := (uf_14 #20) |
|
420 #916 := (pattern #69) |
|
421 #915 := (pattern #23) |
|
422 #230 := (= #23 #69) |
|
423 #917 := (forall (vars (?x14 T4)) (:pat #915 #916) #230) |
|
424 #234 := (forall (vars (?x14 T4)) #230) |
|
425 #920 := (iff #234 #917) |
|
426 #918 := (iff #230 #230) |
|
427 #919 := [refl]: #918 |
|
428 #921 := [quant-intro #919]: #920 |
|
429 #343 := (~ #234 #234) |
|
430 #378 := (~ #230 #230) |
|
431 #379 := [refl]: #378 |
|
432 #344 := [nnf-pos #379]: #343 |
|
433 #70 := (= #69 #23) |
|
434 #71 := (forall (vars (?x14 T4)) #70) |
|
435 #235 := (iff #71 #234) |
|
436 #232 := (iff #70 #230) |
|
437 #233 := [rewrite]: #232 |
|
438 #236 := [quant-intro #233]: #235 |
|
439 #229 := [asserted]: #71 |
|
440 #239 := [mp #229 #236]: #234 |
|
441 #380 := [mp~ #239 #344]: #234 |
|
442 #922 := [mp #380 #921]: #917 |
|
443 #541 := (not #917) |
|
444 #828 := (or #541 #548) |
|
445 #833 := (= #836 #540) |
|
446 #829 := (or #541 #833) |
|
447 #826 := (iff #829 #828) |
|
448 #827 := (iff #828 #828) |
|
449 #831 := [rewrite]: #827 |
|
450 #549 := (iff #833 #548) |
|
451 #550 := [rewrite]: #549 |
|
452 #830 := [monotonicity #550]: #826 |
|
453 #820 := [trans #830 #831]: #826 |
|
454 #543 := [quant-inst]: #829 |
|
455 #821 := [mp #543 #820]: #828 |
|
456 #657 := [unit-resolution #821 #922]: #548 |
|
457 #521 := (= #103 #540) |
|
458 #75 := (uf_6 #72 uf_8) |
|
459 #924 := (pattern #75) |
|
460 #73 := (uf_16 #72) |
|
461 #923 := (pattern #73) |
|
462 #76 := (uf_14 #75) |
|
463 #74 := (uf_15 #73) |
|
464 #77 := (= #74 #76) |
|
465 #925 := (forall (vars (?x15 int)) (:pat #923 #924) #77) |
|
466 #78 := (forall (vars (?x15 int)) #77) |
|
467 #928 := (iff #78 #925) |
|
468 #926 := (iff #77 #77) |
|
469 #927 := [refl]: #926 |
|
470 #929 := [quant-intro #927]: #928 |
|
471 #345 := (~ #78 #78) |
|
472 #381 := (~ #77 #77) |
|
473 #382 := [refl]: #381 |
|
474 #346 := [nnf-pos #382]: #345 |
|
475 #237 := [asserted]: #78 |
|
476 #383 := [mp~ #237 #346]: #78 |
|
477 #930 := [mp #383 #929]: #925 |
|
478 #515 := (not #925) |
|
479 #646 := (or #515 #521) |
|
480 #853 := [quant-inst]: #646 |
|
481 #603 := [unit-resolution #853 #930]: #521 |
|
482 #577 := [trans #603 #657]: #600 |
|
483 #580 := [trans #577 #592]: #579 |
|
484 #582 := [trans #580 #594]: #581 |
|
485 #584 := [trans #582 #596]: #583 |
|
486 #578 := [trans #584 #598]: #585 |
|
487 #571 := [trans #578 #615]: #586 |
|
488 #572 := [trans #571 #588]: #107 |
|
489 #108 := (not #107) |
|
490 #325 := [asserted]: #108 |
|
491 [unit-resolution #325 #572]: false |
|
492 unsat |