src/HOL/SMT/Examples/cert/z3_nat_arith_04.proof
author haftmann
Mon, 04 Jan 2010 14:09:56 +0100
changeset 34244 03f8dcab55f3
parent 33010 39f73a59e855
permissions -rw-r--r--
code cache without copy; tuned
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
#9 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_2 :: (-> T1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
decl uf_1 :: (-> int T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
decl uf_3 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#22 := uf_3
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#23 := (uf_2 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#21 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#24 := (+ 1::int #23)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#25 := (uf_1 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#26 := (uf_2 #25)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#138 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#139 := (+ -1::int #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#142 := (uf_1 #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#289 := (uf_2 #142)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#383 := (* -1::int #289)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#542 := (+ #23 #383)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#544 := (>= #542 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#541 := (= #23 #289)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#148 := (= uf_3 #142)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#167 := (<= #26 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#168 := (not #167)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#174 := (iff #148 #168)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#189 := (not #174)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#220 := (iff #189 #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#210 := (not #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#215 := (not #210)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#218 := (iff #215 #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#219 := [rewrite]: #218
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#216 := (iff #189 #215)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#213 := (iff #174 #210)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#207 := (iff #148 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#211 := (iff #207 #210)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#212 := [rewrite]: #211
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#208 := (iff #174 #207)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#205 := (iff #168 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#200 := (not true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#203 := (iff #200 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#204 := [rewrite]: #203
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#201 := (iff #168 #200)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#198 := (iff #167 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#179 := (or #168 #174)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#182 := (not #179)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#27 := (< 0::int #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#28 := (ite #27 true false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#29 := (- #26 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#30 := (uf_1 #29)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#31 := (= #30 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#32 := (iff #28 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#33 := (or #32 #28)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#34 := (not #33)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#185 := (iff #34 #182)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#153 := (iff #27 #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#159 := (or #27 #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#164 := (not #159)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#183 := (iff #164 #182)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#180 := (iff #159 #179)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#177 := (iff #153 #174)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#171 := (iff #168 #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#175 := (iff #171 #174)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#176 := [rewrite]: #175
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#172 := (iff #153 #171)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#169 := (iff #27 #168)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#170 := [rewrite]: #169
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#173 := [monotonicity #170]: #172
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#178 := [trans #173 #176]: #177
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#181 := [monotonicity #170 #178]: #180
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#184 := [monotonicity #181]: #183
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#165 := (iff #34 #164)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#162 := (iff #33 #159)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#156 := (or #153 #27)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#160 := (iff #156 #159)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#161 := [rewrite]: #160
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#157 := (iff #33 #156)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#136 := (iff #28 #27)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#137 := [rewrite]: #136
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#154 := (iff #32 #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#151 := (iff #31 #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#145 := (= #142 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#149 := (iff #145 #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#150 := [rewrite]: #149
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#146 := (iff #31 #145)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#143 := (= #30 #142)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#140 := (= #29 #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#141 := [rewrite]: #140
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#144 := [monotonicity #141]: #143
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#147 := [monotonicity #144]: #146
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#152 := [trans #147 #150]: #151
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#155 := [monotonicity #137 #152]: #154
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#158 := [monotonicity #155 #137]: #157
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#163 := [trans #158 #161]: #162
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#166 := [monotonicity #163]: #165
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#186 := [trans #166 #184]: #185
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#135 := [asserted]: #34
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#187 := [mp #135 #186]: #182
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#188 := [not-or-elim #187]: #167
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#199 := [iff-true #188]: #198
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#202 := [monotonicity #199]: #201
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#206 := [trans #202 #204]: #205
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#209 := [monotonicity #206]: #208
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#214 := [trans #209 #212]: #213
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#217 := [monotonicity #214]: #216
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#221 := [trans #217 #219]: #220
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#190 := [not-or-elim #187]: #189
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#222 := [mp #190 #221]: #148
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#624 := [monotonicity #222]: #541
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#618 := (not #541)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#625 := (or #618 #544)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#609 := [th-lemma]: #625
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#610 := [unit-resolution #609 #624]: #544
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#698 := (* -1::int #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#355 := (+ #23 #698)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#324 := (<= #355 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#485 := (= #355 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#367 := (>= #23 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#533 := (>= #289 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#643 := (= #289 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#659 := (>= #26 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#656 := (not #659)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#612 := (or #656 #168)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#613 := [th-lemma]: #612
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#614 := [unit-resolution #613 #188]: #656
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#10 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#12 := (uf_1 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#712 := (pattern #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
#76 := (>= #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
#13 := (uf_2 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   129
#18 := (= #13 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   130
#124 := (or #18 #76)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   131
#719 := (forall (vars (?x3 int)) (:pat #712) #124)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   132
#129 := (forall (vars (?x3 int)) #124)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   133
#722 := (iff #129 #719)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   134
#720 := (iff #124 #124)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   135
#721 := [refl]: #720
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   136
#723 := [quant-intro #721]: #722
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   137
#229 := (~ #129 #129)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   138
#227 := (~ #124 #124)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   139
#228 := [refl]: #227
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   140
#230 := [nnf-pos #228]: #229
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   141
#17 := (< #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   142
#19 := (implies #17 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   143
#20 := (forall (vars (?x3 int)) #19)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   144
#132 := (iff #20 #129)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   145
#95 := (= 0::int #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   146
#101 := (not #17)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   147
#102 := (or #101 #95)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   148
#107 := (forall (vars (?x3 int)) #102)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   149
#130 := (iff #107 #129)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   150
#127 := (iff #102 #124)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   151
#121 := (or #76 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   152
#125 := (iff #121 #124)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   153
#126 := [rewrite]: #125
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   154
#122 := (iff #102 #121)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   155
#119 := (iff #95 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   156
#120 := [rewrite]: #119
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   157
#117 := (iff #101 #76)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   158
#77 := (not #76)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   159
#112 := (not #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   160
#115 := (iff #112 #76)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   161
#116 := [rewrite]: #115
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   162
#113 := (iff #101 #112)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   163
#110 := (iff #17 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   164
#111 := [rewrite]: #110
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   165
#114 := [monotonicity #111]: #113
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   166
#118 := [trans #114 #116]: #117
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   167
#123 := [monotonicity #118 #120]: #122
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   168
#128 := [trans #123 #126]: #127
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   169
#131 := [quant-intro #128]: #130
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   170
#108 := (iff #20 #107)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   171
#105 := (iff #19 #102)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   172
#98 := (implies #17 #95)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   173
#103 := (iff #98 #102)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   174
#104 := [rewrite]: #103
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   175
#99 := (iff #19 #98)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   176
#96 := (iff #18 #95)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   177
#97 := [rewrite]: #96
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   178
#100 := [monotonicity #97]: #99
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   179
#106 := [trans #100 #104]: #105
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   180
#109 := [quant-intro #106]: #108
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   181
#133 := [trans #109 #131]: #132
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   182
#94 := [asserted]: #20
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   183
#134 := [mp #94 #133]: #129
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   184
#231 := [mp~ #134 #230]: #129
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   185
#724 := [mp #231 #723]: #719
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   186
#402 := (not #719)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   187
#528 := (or #402 #643 #659)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   188
#388 := (>= #139 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   189
#644 := (or #643 #388)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   190
#529 := (or #402 #644)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   191
#522 := (iff #529 #528)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   192
#642 := (or #643 #659)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   193
#636 := (or #402 #642)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   194
#634 := (iff #636 #528)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   195
#637 := [rewrite]: #634
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   196
#538 := (iff #529 #636)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   197
#645 := (iff #644 #642)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   198
#660 := (iff #388 #659)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   199
#661 := [rewrite]: #660
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   200
#527 := [monotonicity #661]: #645
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   201
#633 := [monotonicity #527]: #538
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   202
#537 := [trans #633 #637]: #522
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   203
#488 := [quant-inst]: #529
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   204
#539 := [mp #488 #537]: #528
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   205
#615 := [unit-resolution #539 #724 #614]: #643
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   206
#611 := (not #643)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   207
#616 := (or #611 #533)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   208
#602 := [th-lemma]: #616
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   209
#603 := [unit-resolution #602 #615]: #533
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   210
#606 := (not #544)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   211
#605 := (not #533)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   212
#607 := (or #367 #605 #606)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   213
#604 := [th-lemma]: #607
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   214
#608 := [unit-resolution #604 #603 #610]: #367
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   215
#701 := (not #367)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   216
#358 := (or #701 #485)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   217
#58 := (= #10 #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   218
#83 := (or #58 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   219
#713 := (forall (vars (?x2 int)) (:pat #712) #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   220
#88 := (forall (vars (?x2 int)) #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   221
#716 := (iff #88 #713)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   222
#714 := (iff #83 #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   223
#715 := [refl]: #714
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   224
#717 := [quant-intro #715]: #716
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   225
#191 := (~ #88 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   226
#195 := (~ #83 #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   227
#193 := [refl]: #195
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   228
#225 := [nnf-pos #193]: #191
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   229
#14 := (= #13 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   230
#11 := (<= 0::int #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   231
#15 := (implies #11 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   232
#16 := (forall (vars (?x2 int)) #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   233
#91 := (iff #16 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   234
#65 := (not #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   235
#66 := (or #65 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   236
#71 := (forall (vars (?x2 int)) #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   237
#89 := (iff #71 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   238
#86 := (iff #66 #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   239
#80 := (or #77 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   240
#84 := (iff #80 #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   241
#85 := [rewrite]: #84
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   242
#81 := (iff #66 #80)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   243
#78 := (iff #65 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   244
#74 := (iff #11 #76)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   245
#75 := [rewrite]: #74
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   246
#79 := [monotonicity #75]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   247
#82 := [monotonicity #79]: #81
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   248
#87 := [trans #82 #85]: #86
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   249
#90 := [quant-intro #87]: #89
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   250
#72 := (iff #16 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   251
#69 := (iff #15 #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   252
#62 := (implies #11 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   253
#67 := (iff #62 #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   254
#68 := [rewrite]: #67
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   255
#63 := (iff #15 #62)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   256
#60 := (iff #14 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   257
#61 := [rewrite]: #60
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   258
#64 := [monotonicity #61]: #63
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   259
#70 := [trans #64 #68]: #69
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   260
#73 := [quant-intro #70]: #72
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   261
#92 := [trans #73 #90]: #91
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   262
#57 := [asserted]: #16
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   263
#93 := [mp #57 #92]: #88
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   264
#226 := [mp~ #93 #225]: #88
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   265
#718 := [mp #226 #717]: #713
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   266
#679 := (not #713)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   267
#342 := (or #679 #701 #485)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   268
#380 := (>= #24 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   269
#381 := (not #380)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   270
#361 := (= #24 #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   271
#696 := (or #361 #381)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   272
#343 := (or #679 #696)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   273
#685 := (iff #343 #342)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   274
#345 := (or #679 #358)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   275
#683 := (iff #345 #342)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   276
#684 := [rewrite]: #683
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   277
#681 := (iff #343 #345)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   278
#695 := (iff #696 #358)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   279
#703 := (or #485 #701)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   280
#694 := (iff #703 #358)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   281
#354 := [rewrite]: #694
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   282
#693 := (iff #696 #703)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   283
#702 := (iff #381 #701)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   284
#699 := (iff #380 #367)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   285
#700 := [rewrite]: #699
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   286
#697 := [monotonicity #700]: #702
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   287
#692 := (iff #361 #485)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   288
#366 := [rewrite]: #692
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   289
#353 := [monotonicity #366 #697]: #693
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   290
#338 := [trans #353 #354]: #695
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   291
#682 := [monotonicity #338]: #681
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   292
#680 := [trans #682 #684]: #685
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   293
#344 := [quant-inst]: #343
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   294
#686 := [mp #344 #680]: #342
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   295
#588 := [unit-resolution #686 #718]: #358
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   296
#589 := [unit-resolution #588 #608]: #485
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   297
#591 := (not #485)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   298
#592 := (or #591 #324)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   299
#593 := [th-lemma]: #592
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   300
#594 := [unit-resolution #593 #589]: #324
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   301
[th-lemma #603 #188 #594 #610]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   302
unsat