src/HOL/SMT/Examples/cert/z3_nat_arith_07.proof
author boehmes
Tue, 20 Oct 2009 10:11:30 +0200
changeset 33010 39f73a59e855
permissions -rw-r--r--
added proof reconstructon for Z3, added certificates for simpler re-checking of proofs (no need to invoke external solvers), added examples and certificates for all examples, removed Unsynchronized.ref (in smt_normalize.ML)
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_5 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#36 := uf_5
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#37 := (uf_2 uf_5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#35 := 4::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#38 := (* 4::int #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#39 := (uf_1 #38)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#40 := (uf_2 #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#549 := (= #40 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#963 := (not #549)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#537 := (<= #40 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#958 := (not #537)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#22 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#186 := (+ 1::int #40)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#189 := (uf_1 #186)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#524 := (uf_2 #189)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#452 := (<= #524 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#874 := (not #452)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
decl up_4 :: (-> T1 T1 bool)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#4 := (:var 0 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#456 := (up_4 #4 #189)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#440 := (pattern #456)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#446 := (not #456)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#455 := (= #4 #189)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#26 := (uf_1 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#27 := (= #4 #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#434 := (or #27 #455 #446)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#416 := (forall (vars (?x5 T1)) (:pat #440) #434)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#417 := (not #416)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#409 := (or #417 #452)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#400 := (not #409)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
decl up_3 :: (-> T1 bool)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#192 := (up_3 #189)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#429 := (not #192)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#405 := (or #429 #400)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#389 := (not #405)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
decl ?x5!0 :: (-> T1 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#478 := (?x5!0 #189)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#479 := (= #26 #478)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#468 := (= #189 #478)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#445 := (up_4 #478 #189)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#447 := (not #445)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#396 := (or #447 #468 #479)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#391 := (not #396)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#386 := (or #192 #391 #452)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#377 := (not #386)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#843 := (or #377 #389)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#848 := (not #843)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#5 := (uf_2 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#788 := (pattern #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#21 := (up_3 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#836 := (pattern #21)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#210 := (?x5!0 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#274 := (= #4 #210)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#271 := (= #26 #210)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#232 := (up_4 #210 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#233 := (not #232)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#277 := (or #233 #271 #274)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#280 := (not #277)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#163 := (<= #5 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#289 := (or #21 #163 #280)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#304 := (not #289)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#24 := (:var 1 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#25 := (up_4 #4 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#809 := (pattern #25)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#28 := (= #4 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#147 := (not #25)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#167 := (or #147 #27 #28)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#810 := (forall (vars (?x5 T1)) (:pat #809) #167)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#815 := (not #810)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#818 := (or #163 #815)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#821 := (not #818)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#253 := (not #21)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#824 := (or #253 #821)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#827 := (not #824)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#830 := (or #827 #304)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#833 := (not #830)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#837 := (forall (vars (?x4 T1)) (:pat #836 #788) #833)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#170 := (forall (vars (?x5 T1)) #167)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#236 := (not #170)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#239 := (or #163 #236)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#240 := (not #239)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#215 := (or #253 #240)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#303 := (not #215)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#305 := (or #303 #304)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#306 := (not #305)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#311 := (forall (vars (?x4 T1)) #306)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#838 := (iff #311 #837)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#834 := (iff #306 #833)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#831 := (iff #305 #830)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#828 := (iff #303 #827)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#825 := (iff #215 #824)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#822 := (iff #240 #821)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#819 := (iff #239 #818)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#816 := (iff #236 #815)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#813 := (iff #170 #810)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#811 := (iff #167 #167)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#812 := [refl]: #811
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#814 := [quant-intro #812]: #813
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#817 := [monotonicity #814]: #816
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#820 := [monotonicity #817]: #819
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#823 := [monotonicity #820]: #822
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#826 := [monotonicity #823]: #825
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#829 := [monotonicity #826]: #828
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#832 := [monotonicity #829]: #831
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#835 := [monotonicity #832]: #834
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#839 := [quant-intro #835]: #838
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#164 := (not #163)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#173 := (and #164 #170)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#259 := (or #253 #173)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#294 := (and #259 #289)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#297 := (forall (vars (?x4 T1)) #294)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#312 := (iff #297 #311)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#309 := (iff #294 #306)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#214 := (and #215 #289)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#307 := (iff #214 #306)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#308 := [rewrite]: #307
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#301 := (iff #294 #214)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#216 := (iff #259 #215)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#268 := (iff #173 #240)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#300 := [rewrite]: #268
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#213 := [monotonicity #300]: #216
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#302 := [monotonicity #213]: #301
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
#310 := [trans #302 #308]: #309
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
#313 := [quant-intro #310]: #312
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   129
#230 := (= #210 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   130
#231 := (= #210 #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   131
#234 := (or #233 #231 #230)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   132
#235 := (not #234)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   133
#228 := (not #164)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   134
#241 := (or #228 #235)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   135
#258 := (or #21 #241)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   136
#260 := (and #259 #258)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   137
#263 := (forall (vars (?x4 T1)) #260)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   138
#298 := (iff #263 #297)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   139
#295 := (iff #260 #294)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   140
#292 := (iff #258 #289)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   141
#283 := (or #163 #280)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   142
#286 := (or #21 #283)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   143
#290 := (iff #286 #289)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   144
#291 := [rewrite]: #290
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   145
#287 := (iff #258 #286)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   146
#284 := (iff #241 #283)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   147
#281 := (iff #235 #280)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   148
#278 := (iff #234 #277)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   149
#275 := (iff #230 #274)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   150
#276 := [rewrite]: #275
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   151
#272 := (iff #231 #271)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   152
#273 := [rewrite]: #272
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   153
#279 := [monotonicity #273 #276]: #278
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   154
#282 := [monotonicity #279]: #281
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   155
#269 := (iff #228 #163)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   156
#270 := [rewrite]: #269
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   157
#285 := [monotonicity #270 #282]: #284
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   158
#288 := [monotonicity #285]: #287
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   159
#293 := [trans #288 #291]: #292
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   160
#296 := [monotonicity #293]: #295
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   161
#299 := [quant-intro #296]: #298
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   162
#176 := (iff #21 #173)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   163
#179 := (forall (vars (?x4 T1)) #176)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   164
#264 := (~ #179 #263)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   165
#261 := (~ #176 #260)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   166
#251 := (~ #173 #173)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   167
#249 := (~ #170 #170)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   168
#247 := (~ #167 #167)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   169
#248 := [refl]: #247
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   170
#250 := [nnf-pos #248]: #249
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   171
#245 := (~ #164 #164)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   172
#246 := [refl]: #245
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   173
#252 := [monotonicity #246 #250]: #251
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   174
#242 := (not #173)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   175
#243 := (~ #242 #241)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   176
#237 := (~ #236 #235)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   177
#238 := [sk]: #237
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   178
#229 := (~ #228 #228)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   179
#209 := [refl]: #229
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   180
#244 := [nnf-neg #209 #238]: #243
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   181
#256 := (~ #21 #21)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   182
#257 := [refl]: #256
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   183
#254 := (~ #253 #253)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   184
#255 := [refl]: #254
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   185
#262 := [nnf-pos #255 #257 #244 #252]: #261
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   186
#265 := [nnf-pos #262]: #264
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   187
#29 := (or #27 #28)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   188
#30 := (implies #25 #29)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   189
#31 := (forall (vars (?x5 T1)) #30)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   190
#23 := (< 1::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   191
#32 := (and #23 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   192
#33 := (iff #21 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   193
#34 := (forall (vars (?x4 T1)) #33)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   194
#182 := (iff #34 #179)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   195
#148 := (or #147 #29)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   196
#151 := (forall (vars (?x5 T1)) #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   197
#154 := (and #23 #151)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   198
#157 := (iff #21 #154)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   199
#160 := (forall (vars (?x4 T1)) #157)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   200
#180 := (iff #160 #179)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   201
#177 := (iff #157 #176)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   202
#174 := (iff #154 #173)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   203
#171 := (iff #151 #170)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   204
#168 := (iff #148 #167)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   205
#169 := [rewrite]: #168
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   206
#172 := [quant-intro #169]: #171
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   207
#165 := (iff #23 #164)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   208
#166 := [rewrite]: #165
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   209
#175 := [monotonicity #166 #172]: #174
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   210
#178 := [monotonicity #175]: #177
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   211
#181 := [quant-intro #178]: #180
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   212
#161 := (iff #34 #160)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   213
#158 := (iff #33 #157)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   214
#155 := (iff #32 #154)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   215
#152 := (iff #31 #151)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   216
#149 := (iff #30 #148)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   217
#150 := [rewrite]: #149
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   218
#153 := [quant-intro #150]: #152
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   219
#156 := [monotonicity #153]: #155
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   220
#159 := [monotonicity #156]: #158
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   221
#162 := [quant-intro #159]: #161
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   222
#183 := [trans #162 #181]: #182
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   223
#146 := [asserted]: #34
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   224
#184 := [mp #146 #183]: #179
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   225
#266 := [mp~ #184 #265]: #263
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   226
#267 := [mp #266 #299]: #297
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   227
#314 := [mp #267 #313]: #311
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   228
#840 := [mp #314 #839]: #837
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   229
#754 := (not #837)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   230
#851 := (or #754 #848)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   231
#448 := (or #447 #479 #468)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   232
#439 := (not #448)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   233
#453 := (or #192 #452 #439)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   234
#454 := (not #453)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   235
#457 := (or #446 #27 #455)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   236
#442 := (forall (vars (?x5 T1)) (:pat #440) #457)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   237
#443 := (not #442)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   238
#422 := (or #452 #443)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   239
#424 := (not #422)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   240
#430 := (or #429 #424)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   241
#431 := (not #430)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   242
#432 := (or #431 #454)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   243
#433 := (not #432)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   244
#852 := (or #754 #433)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   245
#854 := (iff #852 #851)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   246
#856 := (iff #851 #851)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   247
#857 := [rewrite]: #856
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   248
#849 := (iff #433 #848)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   249
#846 := (iff #432 #843)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   250
#379 := (or #389 #377)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   251
#844 := (iff #379 #843)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   252
#845 := [rewrite]: #844
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   253
#841 := (iff #432 #379)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   254
#378 := (iff #454 #377)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   255
#388 := (iff #453 #386)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   256
#381 := (or #192 #452 #391)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   257
#387 := (iff #381 #386)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   258
#383 := [rewrite]: #387
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   259
#382 := (iff #453 #381)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   260
#399 := (iff #439 #391)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   261
#397 := (iff #448 #396)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   262
#398 := [rewrite]: #397
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   263
#384 := [monotonicity #398]: #399
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   264
#385 := [monotonicity #384]: #382
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   265
#375 := [trans #385 #383]: #388
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   266
#376 := [monotonicity #375]: #378
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   267
#392 := (iff #431 #389)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   268
#401 := (iff #430 #405)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   269
#402 := (iff #424 #400)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   270
#394 := (iff #422 #409)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   271
#410 := (or #452 #417)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   272
#415 := (iff #410 #409)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   273
#390 := [rewrite]: #415
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   274
#411 := (iff #422 #410)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   275
#420 := (iff #443 #417)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   276
#418 := (iff #442 #416)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   277
#423 := (iff #457 #434)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   278
#435 := [rewrite]: #423
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   279
#419 := [quant-intro #435]: #418
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   280
#408 := [monotonicity #419]: #420
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   281
#414 := [monotonicity #408]: #411
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   282
#395 := [trans #414 #390]: #394
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   283
#403 := [monotonicity #395]: #402
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   284
#406 := [monotonicity #403]: #401
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   285
#393 := [monotonicity #406]: #392
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   286
#842 := [monotonicity #393 #376]: #841
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   287
#847 := [trans #842 #845]: #846
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   288
#850 := [monotonicity #847]: #849
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   289
#855 := [monotonicity #850]: #854
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   290
#858 := [trans #855 #857]: #854
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   291
#853 := [quant-inst]: #852
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   292
#859 := [mp #853 #858]: #851
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   293
#934 := [unit-resolution #859 #840]: #848
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   294
#893 := (or #843 #405)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   295
#894 := [def-axiom]: #893
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   296
#935 := [unit-resolution #894 #934]: #405
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   297
#938 := (or #389 #400)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   298
#41 := (+ #40 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   299
#42 := (uf_1 #41)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   300
#43 := (up_3 #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   301
#193 := (iff #43 #192)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   302
#190 := (= #42 #189)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   303
#187 := (= #41 #186)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   304
#188 := [rewrite]: #187
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   305
#191 := [monotonicity #188]: #190
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   306
#194 := [monotonicity #191]: #193
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   307
#185 := [asserted]: #43
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   308
#197 := [mp #185 #194]: #192
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   309
#889 := (or #389 #429 #400)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   310
#890 := [def-axiom]: #889
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   311
#939 := [unit-resolution #890 #197]: #938
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   312
#940 := [unit-resolution #939 #935]: #400
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   313
#881 := (or #409 #874)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   314
#882 := [def-axiom]: #881
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   315
#941 := [unit-resolution #882 #940]: #874
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   316
#555 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   317
#525 := (* -1::int #524)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   318
#528 := (+ #40 #525)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   319
#494 := (>= #528 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   320
#510 := (= #528 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   321
#514 := (>= #40 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   322
#495 := (= #524 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   323
#946 := (not #495)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   324
#467 := (<= #524 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   325
#942 := (not #467)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   326
#943 := (or #942 #452)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   327
#944 := [th-lemma]: #943
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   328
#945 := [unit-resolution #944 #941]: #942
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   329
#947 := (or #946 #467)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   330
#948 := [th-lemma]: #947
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   331
#949 := [unit-resolution #948 #945]: #946
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   332
#498 := (or #495 #514)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   333
#10 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   334
#12 := (uf_1 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   335
#796 := (pattern #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   336
#87 := (>= #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   337
#13 := (uf_2 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   338
#18 := (= #13 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   339
#135 := (or #18 #87)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   340
#803 := (forall (vars (?x3 int)) (:pat #796) #135)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   341
#140 := (forall (vars (?x3 int)) #135)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   342
#806 := (iff #140 #803)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   343
#804 := (iff #135 #135)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   344
#805 := [refl]: #804
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   345
#807 := [quant-intro #805]: #806
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   346
#207 := (~ #140 #140)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   347
#225 := (~ #135 #135)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   348
#226 := [refl]: #225
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   349
#208 := [nnf-pos #226]: #207
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   350
#17 := (< #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   351
#19 := (implies #17 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   352
#20 := (forall (vars (?x3 int)) #19)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   353
#143 := (iff #20 #140)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   354
#106 := (= 0::int #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   355
#112 := (not #17)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   356
#113 := (or #112 #106)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   357
#118 := (forall (vars (?x3 int)) #113)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   358
#141 := (iff #118 #140)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   359
#138 := (iff #113 #135)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   360
#132 := (or #87 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   361
#136 := (iff #132 #135)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   362
#137 := [rewrite]: #136
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   363
#133 := (iff #113 #132)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   364
#130 := (iff #106 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   365
#131 := [rewrite]: #130
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   366
#128 := (iff #112 #87)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   367
#88 := (not #87)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   368
#123 := (not #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   369
#126 := (iff #123 #87)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   370
#127 := [rewrite]: #126
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   371
#124 := (iff #112 #123)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   372
#121 := (iff #17 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   373
#122 := [rewrite]: #121
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   374
#125 := [monotonicity #122]: #124
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   375
#129 := [trans #125 #127]: #128
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   376
#134 := [monotonicity #129 #131]: #133
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   377
#139 := [trans #134 #137]: #138
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   378
#142 := [quant-intro #139]: #141
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   379
#119 := (iff #20 #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   380
#116 := (iff #19 #113)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   381
#109 := (implies #17 #106)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   382
#114 := (iff #109 #113)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   383
#115 := [rewrite]: #114
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   384
#110 := (iff #19 #109)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   385
#107 := (iff #18 #106)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   386
#108 := [rewrite]: #107
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   387
#111 := [monotonicity #108]: #110
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   388
#117 := [trans #111 #115]: #116
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   389
#120 := [quant-intro #117]: #119
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   390
#144 := [trans #120 #142]: #143
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   391
#105 := [asserted]: #20
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   392
#145 := [mp #105 #144]: #140
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   393
#227 := [mp~ #145 #208]: #140
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   394
#808 := [mp #227 #807]: #803
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   395
#532 := (not #803)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   396
#488 := (or #532 #495 #514)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   397
#529 := (>= #186 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   398
#496 := (or #495 #529)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   399
#489 := (or #532 #496)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   400
#474 := (iff #489 #488)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   401
#482 := (or #532 #498)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   402
#483 := (iff #482 #488)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   403
#493 := [rewrite]: #483
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   404
#491 := (iff #489 #482)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   405
#497 := (iff #496 #498)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   406
#515 := (iff #529 #514)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   407
#516 := [rewrite]: #515
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   408
#499 := [monotonicity #516]: #497
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   409
#492 := [monotonicity #499]: #491
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   410
#475 := [trans #492 #493]: #474
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   411
#490 := [quant-inst]: #489
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   412
#476 := [mp #490 #475]: #488
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   413
#950 := [unit-resolution #476 #808]: #498
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   414
#951 := [unit-resolution #950 #949]: #514
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   415
#517 := (not #514)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   416
#520 := (or #510 #517)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   417
#69 := (= #10 #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   418
#94 := (or #69 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   419
#797 := (forall (vars (?x2 int)) (:pat #796) #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   420
#99 := (forall (vars (?x2 int)) #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   421
#800 := (iff #99 #797)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   422
#798 := (iff #94 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   423
#799 := [refl]: #798
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   424
#801 := [quant-intro #799]: #800
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   425
#206 := (~ #99 #99)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   426
#222 := (~ #94 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   427
#223 := [refl]: #222
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   428
#196 := [nnf-pos #223]: #206
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   429
#14 := (= #13 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   430
#11 := (<= 0::int #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   431
#15 := (implies #11 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   432
#16 := (forall (vars (?x2 int)) #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   433
#102 := (iff #16 #99)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   434
#76 := (not #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   435
#77 := (or #76 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   436
#82 := (forall (vars (?x2 int)) #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   437
#100 := (iff #82 #99)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   438
#97 := (iff #77 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   439
#91 := (or #88 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   440
#95 := (iff #91 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   441
#96 := [rewrite]: #95
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   442
#92 := (iff #77 #91)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   443
#89 := (iff #76 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   444
#85 := (iff #11 #87)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   445
#86 := [rewrite]: #85
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   446
#90 := [monotonicity #86]: #89
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   447
#93 := [monotonicity #90]: #92
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   448
#98 := [trans #93 #96]: #97
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   449
#101 := [quant-intro #98]: #100
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   450
#83 := (iff #16 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   451
#80 := (iff #15 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   452
#73 := (implies #11 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   453
#78 := (iff #73 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   454
#79 := [rewrite]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   455
#74 := (iff #15 #73)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   456
#71 := (iff #14 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   457
#72 := [rewrite]: #71
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   458
#75 := [monotonicity #72]: #74
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   459
#81 := [trans #75 #79]: #80
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   460
#84 := [quant-intro #81]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   461
#103 := [trans #84 #101]: #102
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   462
#68 := [asserted]: #16
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   463
#104 := [mp #68 #103]: #99
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   464
#224 := [mp~ #104 #196]: #99
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   465
#802 := [mp #224 #801]: #797
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   466
#559 := (not #797)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   467
#511 := (or #559 #510 #517)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   468
#531 := (not #529)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   469
#526 := (= #186 #524)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   470
#527 := (or #526 #531)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   471
#523 := (or #559 #527)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   472
#507 := (iff #523 #511)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   473
#502 := (or #559 #520)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   474
#505 := (iff #502 #511)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   475
#506 := [rewrite]: #505
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   476
#503 := (iff #523 #502)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   477
#521 := (iff #527 #520)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   478
#518 := (iff #531 #517)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   479
#519 := [monotonicity #516]: #518
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   480
#512 := (iff #526 #510)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   481
#513 := [rewrite]: #512
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   482
#522 := [monotonicity #513 #519]: #521
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   483
#504 := [monotonicity #522]: #503
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   484
#508 := [trans #504 #506]: #507
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   485
#500 := [quant-inst]: #523
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   486
#501 := [mp #500 #508]: #511
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   487
#952 := [unit-resolution #501 #802]: #520
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   488
#953 := [unit-resolution #952 #951]: #510
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   489
#954 := (not #510)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   490
#955 := (or #954 #494)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   491
#956 := [th-lemma]: #955
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   492
#957 := [unit-resolution #956 #953]: #494
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   493
#959 := (not #494)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   494
#960 := (or #958 #452 #959)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   495
#961 := [th-lemma]: #960
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   496
#962 := [unit-resolution #961 #957 #941]: #958
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   497
#964 := (or #963 #537)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   498
#965 := [th-lemma]: #964
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   499
#966 := [unit-resolution #965 #962]: #963
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   500
#583 := (>= #38 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   501
#584 := (not #583)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   502
#556 := (* -1::int #40)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   503
#557 := (+ #38 #556)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   504
#558 := (= #557 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   505
#971 := (not #558)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   506
#544 := (>= #557 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   507
#967 := (not #544)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   508
#201 := (>= #37 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   509
#202 := (not #201)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   510
#44 := (<= 1::int #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   511
#45 := (not #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   512
#203 := (iff #45 #202)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   513
#199 := (iff #44 #201)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   514
#200 := [rewrite]: #199
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   515
#204 := [monotonicity #200]: #203
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   516
#195 := [asserted]: #45
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   517
#205 := [mp #195 #204]: #202
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   518
#968 := (or #967 #201 #452 #959)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   519
#969 := [th-lemma]: #968
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   520
#970 := [unit-resolution #969 #205 #957 #941]: #967
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   521
#972 := (or #971 #544)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   522
#973 := [th-lemma]: #972
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   523
#974 := [unit-resolution #973 #970]: #971
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   524
#562 := (or #558 #584)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   525
#564 := (or #559 #558 #584)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   526
#567 := (= #38 #40)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   527
#585 := (or #567 #584)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   528
#543 := (or #559 #585)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   529
#542 := (iff #543 #564)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   530
#550 := (or #559 #562)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   531
#551 := (iff #550 #564)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   532
#554 := [rewrite]: #551
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   533
#552 := (iff #543 #550)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   534
#404 := (iff #585 #562)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   535
#560 := (iff #567 #558)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   536
#561 := [rewrite]: #560
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   537
#563 := [monotonicity #561]: #404
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   538
#553 := [monotonicity #563]: #552
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   539
#545 := [trans #553 #554]: #542
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   540
#546 := [quant-inst]: #543
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   541
#547 := [mp #546 #545]: #564
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   542
#975 := [unit-resolution #547 #802]: #562
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   543
#976 := [unit-resolution #975 #974]: #584
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   544
#539 := (or #549 #583)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   545
#535 := (or #532 #549 #583)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   546
#536 := (or #532 #539)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   547
#533 := (iff #536 #535)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   548
#541 := [rewrite]: #533
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   549
#540 := [quant-inst]: #536
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   550
#534 := [mp #540 #541]: #535
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   551
#977 := [unit-resolution #534 #808]: #539
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   552
[unit-resolution #977 #976 #966]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   553
unsat