src/HOL/SMT/Examples/cert/z3_nat_arith_05.proof
author blanchet
Tue, 10 Nov 2009 13:46:40 +0100
changeset 33582 bdf98e327f0b
parent 33010 39f73a59e855
permissions -rw-r--r--
fixed soundness bug in Nitpick related to sets of sets; (detected thanks to the TPTP)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33010
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     1
#2 := false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     2
decl uf_2 :: (-> T1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_1 :: (-> int T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
decl uf_3 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#21 := uf_3
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#22 := (uf_2 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#23 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#138 := (+ 1::int #22)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#141 := (uf_1 #138)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#656 := (uf_2 #141)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#26 := 2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#144 := (* 2::int #22)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#147 := (uf_1 #144)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#150 := (uf_2 #147)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#30 := 3::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#156 := (+ 3::int #150)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#161 := (uf_1 #156)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#494 := (uf_2 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#288 := (= #494 #656)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#266 := (= #161 #141)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#249 := (= #141 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#9 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#166 := (uf_1 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#251 := (= #161 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#337 := (not #251)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#567 := (= #494 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#543 := (uf_2 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#547 := (= #543 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#10 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#12 := (uf_1 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#673 := (pattern #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#78 := (>= #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#79 := (not #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#13 := (uf_2 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#60 := (= #10 #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#85 := (or #60 #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#674 := (forall (vars (?x2 int)) (:pat #673) #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#90 := (forall (vars (?x2 int)) #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#677 := (iff #90 #674)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#675 := (iff #85 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#676 := [refl]: #675
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#678 := [quant-intro #676]: #677
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#178 := (~ #90 #90)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#190 := (~ #85 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#191 := [refl]: #190
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#175 := [nnf-pos #191]: #178
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#14 := (= #13 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#11 := (<= 0::int #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#15 := (implies #11 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#16 := (forall (vars (?x2 int)) #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#93 := (iff #16 #90)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#67 := (not #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#68 := (or #67 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#73 := (forall (vars (?x2 int)) #68)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#91 := (iff #73 #90)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#88 := (iff #68 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#82 := (or #79 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#86 := (iff #82 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#87 := [rewrite]: #86
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#83 := (iff #68 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#80 := (iff #67 #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#76 := (iff #11 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#77 := [rewrite]: #76
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#81 := [monotonicity #77]: #80
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#84 := [monotonicity #81]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#89 := [trans #84 #87]: #88
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#92 := [quant-intro #89]: #91
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#74 := (iff #16 #73)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#71 := (iff #15 #68)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#64 := (implies #11 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#69 := (iff #64 #68)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#70 := [rewrite]: #69
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#65 := (iff #15 #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#62 := (iff #14 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#63 := [rewrite]: #62
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#66 := [monotonicity #63]: #65
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#72 := [trans #66 #70]: #71
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#75 := [quant-intro #72]: #74
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#94 := [trans #75 #92]: #93
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#59 := [asserted]: #16
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#95 := [mp #59 #94]: #90
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#192 := [mp~ #95 #175]: #90
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#679 := [mp #192 #678]: #674
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#290 := (not #674)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#519 := (or #290 #547)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#540 := (>= 0::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#541 := (not #540)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#544 := (= 0::int #543)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#545 := (or #544 #541)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#520 := (or #290 #545)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#521 := (iff #520 #519)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#523 := (iff #519 #519)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#526 := [rewrite]: #523
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#407 := (iff #545 #547)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#533 := (or #547 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#513 := (iff #533 #547)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#514 := [rewrite]: #513
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#539 := (iff #545 #533)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#537 := (iff #541 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#530 := (not true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#535 := (iff #530 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#536 := [rewrite]: #535
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#531 := (iff #541 #530)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#548 := (iff #540 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#534 := [rewrite]: #548
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#532 := [monotonicity #534]: #531
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#538 := [trans #532 #536]: #537
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#546 := (iff #544 #547)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#542 := [rewrite]: #546
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#512 := [monotonicity #542 #538]: #539
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#518 := [trans #512 #514]: #407
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#522 := [monotonicity #518]: #521
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#527 := [trans #522 #526]: #521
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#525 := [quant-inst]: #520
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#528 := [mp #525 #527]: #519
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#316 := [unit-resolution #528 #679]: #547
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#286 := (= #494 #543)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#287 := [hypothesis]: #251
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#292 := [monotonicity #287]: #286
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#267 := [trans #292 #316]: #567
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#296 := (not #567)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#551 := (<= #494 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#300 := (not #551)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#501 := (>= #150 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#622 := (>= #144 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
#302 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
#303 := (* -1::int #656)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   129
#304 := (+ #22 #303)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   130
#635 := (>= #304 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   131
#305 := (= #304 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   132
#644 := (>= #22 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   133
#511 := (>= #22 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   134
#487 := (= #22 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   135
#660 := (uf_1 #22)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   136
#517 := (uf_2 #660)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   137
#485 := (= #517 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   138
#389 := (not #511)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   139
#390 := [hypothesis]: #389
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   140
#492 := (or #485 #511)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   141
#18 := (= #13 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   142
#126 := (or #18 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   143
#680 := (forall (vars (?x3 int)) (:pat #673) #126)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   144
#131 := (forall (vars (?x3 int)) #126)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   145
#683 := (iff #131 #680)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   146
#681 := (iff #126 #126)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   147
#682 := [refl]: #681
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   148
#684 := [quant-intro #682]: #683
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   149
#179 := (~ #131 #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   150
#193 := (~ #126 #126)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   151
#194 := [refl]: #193
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   152
#180 := [nnf-pos #194]: #179
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   153
#17 := (< #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   154
#19 := (implies #17 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   155
#20 := (forall (vars (?x3 int)) #19)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   156
#134 := (iff #20 #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   157
#97 := (= 0::int #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   158
#103 := (not #17)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   159
#104 := (or #103 #97)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   160
#109 := (forall (vars (?x3 int)) #104)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   161
#132 := (iff #109 #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   162
#129 := (iff #104 #126)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   163
#123 := (or #78 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   164
#127 := (iff #123 #126)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   165
#128 := [rewrite]: #127
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   166
#124 := (iff #104 #123)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   167
#121 := (iff #97 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   168
#122 := [rewrite]: #121
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   169
#119 := (iff #103 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   170
#114 := (not #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   171
#117 := (iff #114 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   172
#118 := [rewrite]: #117
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   173
#115 := (iff #103 #114)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   174
#112 := (iff #17 #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   175
#113 := [rewrite]: #112
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   176
#116 := [monotonicity #113]: #115
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   177
#120 := [trans #116 #118]: #119
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   178
#125 := [monotonicity #120 #122]: #124
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   179
#130 := [trans #125 #128]: #129
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   180
#133 := [quant-intro #130]: #132
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   181
#110 := (iff #20 #109)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   182
#107 := (iff #19 #104)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   183
#100 := (implies #17 #97)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   184
#105 := (iff #100 #104)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   185
#106 := [rewrite]: #105
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   186
#101 := (iff #19 #100)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   187
#98 := (iff #18 #97)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   188
#99 := [rewrite]: #98
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   189
#102 := [monotonicity #99]: #101
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   190
#108 := [trans #102 #106]: #107
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   191
#111 := [quant-intro #108]: #110
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   192
#135 := [trans #111 #133]: #134
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   193
#96 := [asserted]: #20
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   194
#136 := [mp #96 #135]: #131
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   195
#195 := [mp~ #136 #180]: #131
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   196
#685 := [mp #195 #684]: #680
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   197
#637 := (not #680)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   198
#484 := (or #637 #485 #511)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   199
#486 := (or #637 #492)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   200
#495 := (iff #486 #484)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   201
#496 := [rewrite]: #495
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   202
#493 := [quant-inst]: #486
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   203
#497 := [mp #493 #496]: #484
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   204
#391 := [unit-resolution #497 #685]: #492
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   205
#392 := [unit-resolution #391 #390]: #485
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   206
#394 := (= #22 #517)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   207
#661 := (= uf_3 #660)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   208
#4 := (:var 0 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   209
#5 := (uf_2 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   210
#665 := (pattern #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   211
#6 := (uf_1 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   212
#53 := (= #4 #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   213
#666 := (forall (vars (?x1 T1)) (:pat #665) #53)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   214
#56 := (forall (vars (?x1 T1)) #53)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   215
#667 := (iff #56 #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   216
#669 := (iff #666 #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   217
#670 := [rewrite]: #669
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   218
#668 := [rewrite]: #667
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   219
#671 := [trans #668 #670]: #667
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   220
#187 := (~ #56 #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   221
#185 := (~ #53 #53)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   222
#186 := [refl]: #185
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   223
#188 := [nnf-pos #186]: #187
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   224
#7 := (= #6 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   225
#8 := (forall (vars (?x1 T1)) #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   226
#57 := (iff #8 #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   227
#54 := (iff #7 #53)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   228
#55 := [rewrite]: #54
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   229
#58 := [quant-intro #55]: #57
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   230
#52 := [asserted]: #8
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   231
#61 := [mp #52 #58]: #56
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   232
#189 := [mp~ #61 #188]: #56
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   233
#672 := [mp #189 #671]: #666
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   234
#658 := (not #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   235
#664 := (or #658 #661)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   236
#654 := [quant-inst]: #664
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   237
#393 := [unit-resolution #654 #672]: #661
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   238
#395 := [monotonicity #393]: #394
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   239
#396 := [trans #395 #392]: #487
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   240
#397 := (not #487)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   241
#398 := (or #397 #511)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   242
#399 := [th-lemma]: #398
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   243
#388 := [unit-resolution #399 #390 #396]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   244
#400 := [lemma #388]: #511
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   245
#366 := (or #389 #644)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   246
#367 := [th-lemma]: #366
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   247
#352 := [unit-resolution #367 #400]: #644
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   248
#641 := (not #644)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   249
#648 := (or #305 #641)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   250
#651 := (or #290 #305 #641)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   251
#313 := (>= #138 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   252
#318 := (not #313)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   253
#298 := (= #138 #656)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   254
#640 := (or #298 #318)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   255
#649 := (or #290 #640)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   256
#363 := (iff #649 #651)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   257
#638 := (or #290 #648)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   258
#361 := (iff #638 #651)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   259
#362 := [rewrite]: #361
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   260
#639 := (iff #649 #638)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   261
#650 := (iff #640 #648)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   262
#647 := (iff #318 #641)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   263
#645 := (iff #313 #644)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   264
#646 := [rewrite]: #645
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   265
#284 := [monotonicity #646]: #647
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   266
#642 := (iff #298 #305)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   267
#643 := [rewrite]: #642
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   268
#289 := [monotonicity #643 #284]: #650
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   269
#346 := [monotonicity #289]: #639
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   270
#364 := [trans #346 #362]: #363
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   271
#652 := [quant-inst]: #649
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   272
#257 := [mp #652 #364]: #651
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   273
#424 := [unit-resolution #257 #679]: #648
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   274
#353 := [unit-resolution #424 #352]: #305
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   275
#439 := (not #305)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   276
#281 := (or #439 #635)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   277
#440 := [th-lemma]: #281
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   278
#330 := [unit-resolution #440 #353]: #635
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   279
#620 := (<= #656 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   280
#441 := (not #620)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   281
#634 := (<= #304 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   282
#344 := (or #439 #634)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   283
#354 := [th-lemma]: #344
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   284
#355 := [unit-resolution #354 #353]: #634
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   285
#345 := (not #634)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   286
#356 := (or #441 #389 #345)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   287
#322 := [th-lemma]: #356
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   288
#324 := [unit-resolution #322 #355 #400]: #441
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   289
#432 := (not #635)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   290
#331 := (or #622 #432 #620)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   291
#319 := [th-lemma]: #331
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   292
#320 := [unit-resolution #319 #324 #330]: #622
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   293
#624 := (* -1::int #150)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   294
#619 := (+ #144 #624)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   295
#606 := (<= #619 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   296
#625 := (= #619 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   297
#617 := (not #622)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   298
#612 := (or #617 #625)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   299
#615 := (or #290 #617 #625)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   300
#618 := (= #144 #150)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   301
#623 := (or #618 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   302
#609 := (or #290 #623)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   303
#604 := (iff #609 #615)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   304
#445 := (or #290 #612)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   305
#601 := (iff #445 #615)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   306
#602 := [rewrite]: #601
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   307
#447 := (iff #609 #445)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   308
#608 := (iff #623 #612)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   309
#468 := (or #625 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   310
#613 := (iff #468 #612)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   311
#607 := [rewrite]: #613
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   312
#610 := (iff #623 #468)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   313
#466 := (iff #618 #625)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   314
#467 := [rewrite]: #466
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   315
#611 := [monotonicity #467]: #610
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   316
#614 := [trans #611 #607]: #608
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   317
#448 := [monotonicity #614]: #447
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   318
#605 := [trans #448 #602]: #604
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   319
#616 := [quant-inst]: #609
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   320
#603 := [mp #616 #605]: #615
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   321
#480 := [unit-resolution #603 #679]: #612
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   322
#299 := [unit-resolution #480 #320]: #625
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   323
#406 := (not #625)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   324
#408 := (or #406 #606)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   325
#409 := [th-lemma]: #408
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   326
#301 := [unit-resolution #409 #299]: #606
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   327
#413 := (not #606)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   328
#306 := (or #501 #413 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   329
#307 := [th-lemma]: #306
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   330
#308 := [unit-resolution #307 #301 #320]: #501
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   331
#506 := -3::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   332
#504 := (* -1::int #494)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   333
#505 := (+ #150 #504)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   334
#564 := (<= #505 -3::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   335
#599 := (= #505 -3::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   336
#587 := (>= #150 -3::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   337
#417 := (or #587 #413 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   338
#410 := [th-lemma]: #417
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   339
#309 := [unit-resolution #410 #301 #320]: #587
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   340
#578 := (not #587)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   341
#593 := (or #578 #599)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   342
#579 := (or #290 #578 #599)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   343
#449 := (>= #156 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   344
#597 := (not #449)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   345
#502 := (= #156 #494)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   346
#503 := (or #502 #597)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   347
#586 := (or #290 #503)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   348
#572 := (iff #586 #579)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   349
#571 := (or #290 #593)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   350
#575 := (iff #571 #579)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   351
#576 := [rewrite]: #575
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   352
#573 := (iff #586 #571)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   353
#584 := (iff #503 #593)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   354
#591 := (or #599 #578)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   355
#582 := (iff #591 #593)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   356
#583 := [rewrite]: #582
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   357
#592 := (iff #503 #591)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   358
#580 := (iff #597 #578)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   359
#589 := (iff #449 #587)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   360
#581 := [rewrite]: #589
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   361
#590 := [monotonicity #581]: #580
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   362
#596 := (iff #502 #599)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   363
#600 := [rewrite]: #596
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   364
#588 := [monotonicity #600 #590]: #592
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   365
#585 := [trans #588 #583]: #584
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   366
#574 := [monotonicity #585]: #573
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   367
#577 := [trans #574 #576]: #572
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   368
#570 := [quant-inst]: #586
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   369
#563 := [mp #570 #577]: #579
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   370
#458 := [unit-resolution #563 #679]: #593
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   371
#310 := [unit-resolution #458 #309]: #599
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   372
#460 := (not #599)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   373
#461 := (or #460 #564)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   374
#444 := [th-lemma]: #461
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   375
#311 := [unit-resolution #444 #310]: #564
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   376
#434 := (not #564)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   377
#453 := (not #501)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   378
#312 := (or #300 #453 #434)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   379
#293 := [th-lemma]: #312
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   380
#295 := [unit-resolution #293 #311 #308]: #300
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   381
#294 := (or #296 #551)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   382
#297 := [th-lemma]: #294
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   383
#285 := [unit-resolution #297 #295]: #296
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   384
#271 := [unit-resolution #285 #267]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   385
#272 := [lemma #271]: #337
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   386
#282 := (or #249 #251)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   387
#250 := (= #141 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   388
#336 := (not #250)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   389
#357 := (= #656 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   390
#332 := (= #656 #543)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   391
#329 := [hypothesis]: #250
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   392
#333 := [monotonicity #329]: #332
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   393
#323 := [trans #333 #316]: #357
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   394
#429 := (not #357)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   395
#430 := (or #429 #620)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   396
#428 := [th-lemma]: #430
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   397
#325 := [unit-resolution #428 #324]: #429
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   398
#334 := [unit-resolution #325 #323]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   399
#317 := [lemma #334]: #336
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   400
#279 := (or #249 #250 #251)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   401
#335 := (not #249)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   402
#328 := (and #335 #336 #337)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   403
#339 := (not #328)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   404
#169 := (distinct #141 #161 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   405
#172 := (not #169)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   406
#33 := (- #22 #22)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   407
#34 := (uf_1 #33)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   408
#27 := (* #22 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   409
#28 := (uf_1 #27)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   410
#29 := (uf_2 #28)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   411
#31 := (+ #29 3::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   412
#32 := (uf_1 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   413
#24 := (+ #22 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   414
#25 := (uf_1 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   415
#35 := (distinct #25 #32 #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   416
#36 := (not #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   417
#173 := (iff #36 #172)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   418
#170 := (iff #35 #169)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   419
#167 := (= #34 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   420
#164 := (= #33 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   421
#165 := [rewrite]: #164
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   422
#168 := [monotonicity #165]: #167
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   423
#162 := (= #32 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   424
#159 := (= #31 #156)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   425
#153 := (+ #150 3::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   426
#157 := (= #153 #156)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   427
#158 := [rewrite]: #157
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   428
#154 := (= #31 #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   429
#151 := (= #29 #150)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   430
#148 := (= #28 #147)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   431
#145 := (= #27 #144)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   432
#146 := [rewrite]: #145
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   433
#149 := [monotonicity #146]: #148
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   434
#152 := [monotonicity #149]: #151
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   435
#155 := [monotonicity #152]: #154
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   436
#160 := [trans #155 #158]: #159
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   437
#163 := [monotonicity #160]: #162
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   438
#142 := (= #25 #141)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   439
#139 := (= #24 #138)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   440
#140 := [rewrite]: #139
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   441
#143 := [monotonicity #140]: #142
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   442
#171 := [monotonicity #143 #163 #168]: #170
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   443
#174 := [monotonicity #171]: #173
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   444
#137 := [asserted]: #36
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   445
#177 := [mp #137 #174]: #172
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   446
#326 := (or #169 #339)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   447
#327 := [def-axiom]: #326
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   448
#277 := [unit-resolution #327 #177]: #339
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   449
#659 := (or #328 #249 #250 #251)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   450
#315 := [def-axiom]: #659
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   451
#280 := [unit-resolution #315 #277]: #279
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   452
#278 := [unit-resolution #280 #317]: #282
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   453
#283 := [unit-resolution #278 #272]: #249
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   454
#269 := [symm #283]: #266
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   455
#270 := [monotonicity #269]: #288
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   456
#508 := (+ #494 #303)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   457
#473 := (<= #508 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   458
#433 := (not #473)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   459
#477 := [hypothesis]: #473
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   460
#421 := (or #622 #433)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   461
#489 := (= #150 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   462
#478 := [hypothesis]: #617
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   463
#490 := (or #489 #622)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   464
#499 := (or #637 #489 #622)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   465
#594 := (or #637 #490)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   466
#598 := (iff #594 #499)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   467
#483 := [rewrite]: #598
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   468
#595 := [quant-inst]: #594
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   469
#498 := [mp #595 #483]: #499
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   470
#465 := [unit-resolution #498 #685]: #490
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   471
#481 := [unit-resolution #465 #478]: #489
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   472
#442 := (not #489)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   473
#443 := (or #442 #501)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   474
#450 := [th-lemma]: #443
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   475
#452 := [unit-resolution #450 #481]: #501
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   476
#454 := (or #453 #587)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   477
#456 := [th-lemma]: #454
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   478
#457 := [unit-resolution #456 #452]: #587
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   479
#459 := [unit-resolution #458 #457]: #599
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   480
#462 := [unit-resolution #444 #459]: #564
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   481
#435 := (or #432 #622 #433 #453 #434)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   482
#437 := [th-lemma]: #435
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   483
#438 := [unit-resolution #437 #478 #452 #462 #477]: #432
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   484
#436 := [unit-resolution #440 #438]: #439
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   485
#420 := (or #441 #433 #453 #434)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   486
#423 := [th-lemma]: #420
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   487
#427 := [unit-resolution #423 #452 #462 #477]: #441
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   488
#431 := [unit-resolution #428 #427]: #429
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   489
#632 := (or #357 #644)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   490
#347 := (or #637 #357 #644)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   491
#358 := (or #357 #313)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   492
#348 := (or #637 #358)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   493
#630 := (iff #348 #347)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   494
#350 := (or #637 #632)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   495
#343 := (iff #350 #347)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   496
#626 := [rewrite]: #343
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   497
#628 := (iff #348 #350)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   498
#636 := (iff #358 #632)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   499
#633 := [monotonicity #646]: #636
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   500
#629 := [monotonicity #633]: #628
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   501
#627 := [trans #629 #626]: #630
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   502
#349 := [quant-inst]: #348
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   503
#631 := [mp #349 #627]: #347
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   504
#419 := [unit-resolution #631 #685]: #632
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   505
#422 := [unit-resolution #419 #431]: #644
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   506
#425 := [unit-resolution #424 #422 #436]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   507
#426 := [lemma #425]: #421
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   508
#479 := [unit-resolution #426 #477]: #622
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   509
#416 := [unit-resolution #480 #479]: #625
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   510
#412 := [unit-resolution #409 #416]: #606
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   511
#418 := [unit-resolution #410 #412 #479]: #587
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   512
#411 := [unit-resolution #458 #418]: #599
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   513
#414 := [unit-resolution #444 #411]: #564
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   514
#415 := (or #644 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   515
#401 := [th-lemma]: #415
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   516
#403 := [unit-resolution #401 #479]: #644
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   517
#404 := [unit-resolution #424 #403]: #305
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   518
#402 := [unit-resolution #440 #404]: #635
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   519
#405 := [th-lemma #418 #402 #477 #414 #412]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   520
#387 := [lemma #405]: #433
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   521
#273 := (not #288)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   522
#274 := (or #273 #473)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   523
#275 := [th-lemma]: #274
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   524
[unit-resolution #275 #387 #270]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   525
unsat