src/HOL/SMT/Examples/cert/z3_hol_05.proof
author haftmann
Wed, 27 Jan 2010 14:02:52 +0100
changeset 34968 ceeffca32eb0
parent 33010 39f73a59e855
permissions -rw-r--r--
tuned structure; moved non-related quickcheck.setup to Code_Generator.thy
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33010
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     1
#2 := false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     2
decl uf_2 :: (-> T2 T3 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_4 :: T3
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#15 := uf_4
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
decl uf_6 :: (-> int T2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#48 := 2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#49 := (uf_6 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#50 := (uf_2 #49 uf_4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#23 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#44 := (uf_6 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#51 := (uf_2 #44 #50)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
decl uf_1 :: (-> T1 T3 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#45 := (uf_2 #44 uf_4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#31 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#43 := (uf_6 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#46 := (uf_2 #43 #45)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
decl uf_5 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#19 := uf_5
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#47 := (uf_1 uf_5 #46)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#52 := (= #47 #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#266 := (uf_1 uf_5 #45)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
decl uf_3 :: (-> T1 T2 T2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#352 := (uf_3 uf_5 #43)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#267 := (uf_2 #352 #266)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#797 := (= #267 #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#795 := (= #51 #267)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#758 := (= #50 #266)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#521 := (uf_1 uf_5 uf_4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#522 := (uf_3 uf_5 #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#523 := (uf_2 #522 #521)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#756 := (= #523 #266)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#616 := (= #266 #523)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#6 := (:var 0 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#4 := (:var 2 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#10 := (uf_1 #4 #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#5 := (:var 1 T2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#9 := (uf_3 #4 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#11 := (uf_2 #9 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#683 := (pattern #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#7 := (uf_2 #5 #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#8 := (uf_1 #4 #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#682 := (pattern #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#12 := (= #8 #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#684 := (forall (vars (?x1 T1) (?x2 T2) (?x3 T3)) (:pat #682 #683) #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#13 := (forall (vars (?x1 T1) (?x2 T2) (?x3 T3)) #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#687 := (iff #13 #684)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#685 := (iff #12 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#686 := [refl]: #685
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#688 := [quant-intro #686]: #687
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#195 := (~ #13 #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#193 := (~ #12 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#194 := [refl]: #193
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#196 := [nnf-pos #194]: #195
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#69 := [asserted]: #13
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#197 := [mp~ #69 #196]: #13
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#689 := [mp #197 #688]: #684
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#345 := (not #684)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#604 := (or #345 #616)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#606 := [quant-inst]: #604
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#277 := [unit-resolution #606 #689]: #616
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#757 := [symm #277]: #756
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#754 := (= #50 #523)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#569 := (= uf_4 #521)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#14 := (:var 0 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#16 := (uf_1 #14 uf_4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#690 := (pattern #16)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#71 := (= uf_4 #16)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#691 := (forall (vars (?x4 T1)) (:pat #690) #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#74 := (forall (vars (?x4 T1)) #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#694 := (iff #74 #691)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#692 := (iff #71 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#693 := [refl]: #692
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#695 := [quant-intro #693]: #694
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#180 := (~ #74 #74)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#198 := (~ #71 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#199 := [refl]: #198
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#178 := [nnf-pos #199]: #180
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#17 := (= #16 uf_4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#18 := (forall (vars (?x4 T1)) #17)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#75 := (iff #18 #74)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#72 := (iff #17 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#73 := [rewrite]: #72
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#76 := [quant-intro #73]: #75
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#70 := [asserted]: #18
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#79 := [mp #70 #76]: #74
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#200 := [mp~ #79 #178]: #74
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#696 := [mp #200 #695]: #691
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#572 := (not #691)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#573 := (or #572 #569)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#574 := [quant-inst]: #573
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#282 := [unit-resolution #574 #696]: #569
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#752 := (= #49 #522)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
decl uf_7 :: (-> T2 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#666 := (uf_7 #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#595 := (+ 1::int #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#597 := (uf_6 #595)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#748 := (= #597 #522)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#605 := (= #522 #597)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#20 := (:var 0 T2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#22 := (uf_7 #20)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#698 := (pattern #22)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#21 := (uf_3 uf_5 #20)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#697 := (pattern #21)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#78 := (+ 1::int #22)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#82 := (uf_6 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#85 := (= #21 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#699 := (forall (vars (?x5 T2)) (:pat #697 #698) #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#88 := (forall (vars (?x5 T2)) #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#702 := (iff #88 #699)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#700 := (iff #85 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#701 := [refl]: #700
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#703 := [quant-intro #701]: #702
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#181 := (~ #88 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#201 := (~ #85 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#202 := [refl]: #201
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#182 := [nnf-pos #202]: #181
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#24 := (+ #22 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#25 := (uf_6 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#26 := (= #21 #25)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#27 := (forall (vars (?x5 T2)) #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#89 := (iff #27 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#86 := (iff #26 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#83 := (= #25 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#80 := (= #24 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#81 := [rewrite]: #80
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#84 := [monotonicity #81]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
#87 := [monotonicity #84]: #86
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
#90 := [quant-intro #87]: #89
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   129
#77 := [asserted]: #27
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   130
#93 := [mp #77 #90]: #88
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   131
#203 := [mp~ #93 #182]: #88
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   132
#704 := [mp #203 #703]: #699
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   133
#607 := (not #699)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   134
#600 := (or #607 #605)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   135
#601 := [quant-inst]: #600
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   136
#269 := [unit-resolution #601 #704]: #605
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   137
#749 := [symm #269]: #748
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   138
#750 := (= #49 #597)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   139
#499 := (uf_7 #597)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   140
#337 := (uf_6 #499)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   141
#318 := (= #337 #597)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   142
#28 := (uf_6 #22)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   143
#92 := (= #20 #28)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   144
#705 := (forall (vars (?x6 T2)) (:pat #698) #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   145
#96 := (forall (vars (?x6 T2)) #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   146
#706 := (iff #96 #705)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   147
#708 := (iff #705 #705)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   148
#709 := [rewrite]: #708
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   149
#707 := [rewrite]: #706
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   150
#710 := [trans #707 #709]: #706
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   151
#183 := (~ #96 #96)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   152
#204 := (~ #92 #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   153
#205 := [refl]: #204
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   154
#184 := [nnf-pos #205]: #183
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   155
#29 := (= #28 #20)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   156
#30 := (forall (vars (?x6 T2)) #29)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   157
#97 := (iff #30 #96)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   158
#94 := (iff #29 #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   159
#95 := [rewrite]: #94
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   160
#98 := [quant-intro #95]: #97
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   161
#91 := [asserted]: #30
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   162
#101 := [mp #91 #98]: #96
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   163
#206 := [mp~ #101 #184]: #96
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   164
#711 := [mp #206 #710]: #705
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   165
#376 := (not #705)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   166
#325 := (or #376 #318)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   167
#316 := (= #597 #337)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   168
#326 := (or #376 #316)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   169
#328 := (iff #326 #325)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   170
#329 := (iff #325 #325)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   171
#310 := [rewrite]: #329
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   172
#323 := (iff #316 #318)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   173
#324 := [rewrite]: #323
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   174
#317 := [monotonicity #324]: #328
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   175
#312 := [trans #317 #310]: #328
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   176
#327 := [quant-inst]: #326
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   177
#313 := [mp #327 #312]: #325
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   178
#271 := [unit-resolution #313 #711]: #318
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   179
#746 := (= #49 #337)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   180
#744 := (= 2::int #499)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   181
#742 := (= #499 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   182
#578 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   183
#513 := (* -1::int #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   184
#514 := (+ #499 #513)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   185
#474 := (<= #514 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   186
#512 := (= #514 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   187
#504 := (>= #666 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   188
#586 := (>= #666 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   189
#378 := (= #666 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   190
#32 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   191
#34 := (uf_6 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   192
#712 := (pattern #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   193
#118 := (>= #32 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   194
#119 := (not #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   195
#35 := (uf_7 #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   196
#100 := (= #32 #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   197
#125 := (or #100 #119)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   198
#713 := (forall (vars (?x7 int)) (:pat #712) #125)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   199
#130 := (forall (vars (?x7 int)) #125)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   200
#716 := (iff #130 #713)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   201
#714 := (iff #125 #125)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   202
#715 := [refl]: #714
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   203
#717 := [quant-intro #715]: #716
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   204
#185 := (~ #130 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   205
#207 := (~ #125 #125)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   206
#208 := [refl]: #207
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   207
#186 := [nnf-pos #208]: #185
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   208
#36 := (= #35 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   209
#33 := (<= 0::int #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   210
#37 := (implies #33 #36)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   211
#38 := (forall (vars (?x7 int)) #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   212
#133 := (iff #38 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   213
#107 := (not #33)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   214
#108 := (or #107 #100)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   215
#113 := (forall (vars (?x7 int)) #108)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   216
#131 := (iff #113 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   217
#128 := (iff #108 #125)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   218
#122 := (or #119 #100)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   219
#126 := (iff #122 #125)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   220
#127 := [rewrite]: #126
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   221
#123 := (iff #108 #122)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   222
#120 := (iff #107 #119)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   223
#116 := (iff #33 #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   224
#117 := [rewrite]: #116
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   225
#121 := [monotonicity #117]: #120
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   226
#124 := [monotonicity #121]: #123
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   227
#129 := [trans #124 #127]: #128
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   228
#132 := [quant-intro #129]: #131
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   229
#114 := (iff #38 #113)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   230
#111 := (iff #37 #108)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   231
#104 := (implies #33 #100)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   232
#109 := (iff #104 #108)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   233
#110 := [rewrite]: #109
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   234
#105 := (iff #37 #104)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   235
#102 := (iff #36 #100)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   236
#103 := [rewrite]: #102
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   237
#106 := [monotonicity #103]: #105
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   238
#112 := [trans #106 #110]: #111
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   239
#115 := [quant-intro #112]: #114
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   240
#134 := [trans #115 #132]: #133
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   241
#99 := [asserted]: #38
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   242
#135 := [mp #99 #134]: #130
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   243
#209 := [mp~ #135 #186]: #130
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   244
#718 := [mp #209 #717]: #713
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   245
#673 := (not #713)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   246
#365 := (or #673 #378)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   247
#307 := (>= 1::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   248
#668 := (not #307)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   249
#669 := (= 1::int #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   250
#655 := (or #669 #668)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   251
#366 := (or #673 #655)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   252
#645 := (iff #366 #365)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   253
#360 := (iff #365 #365)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   254
#643 := [rewrite]: #360
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   255
#654 := (iff #655 #378)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   256
#374 := (or #378 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   257
#653 := (iff #374 #378)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   258
#650 := [rewrite]: #653
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   259
#375 := (iff #655 #374)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   260
#651 := (iff #668 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   261
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   262
#670 := (not true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   263
#677 := (iff #670 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   264
#678 := [rewrite]: #677
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   265
#381 := (iff #668 #670)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   266
#379 := (iff #307 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   267
#380 := [rewrite]: #379
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   268
#274 := [monotonicity #380]: #381
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   269
#652 := [trans #274 #678]: #651
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   270
#656 := (iff #669 #378)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   271
#363 := [rewrite]: #656
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   272
#649 := [monotonicity #363 #652]: #375
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   273
#364 := [trans #649 #650]: #654
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   274
#646 := [monotonicity #364]: #645
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   275
#647 := [trans #646 #643]: #645
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   276
#367 := [quant-inst]: #366
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   277
#644 := [mp #367 #647]: #365
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   278
#272 := [unit-resolution #644 #718]: #378
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   279
#270 := (not #378)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   280
#273 := (or #270 #586)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   281
#725 := [th-lemma]: #273
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   282
#726 := [unit-resolution #725 #272]: #586
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   283
#727 := (not #586)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   284
#728 := (or #727 #504)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   285
#729 := [th-lemma]: #728
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   286
#730 := [unit-resolution #729 #726]: #504
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   287
#481 := (not #504)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   288
#496 := (or #673 #481 #512)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   289
#509 := (>= #595 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   290
#468 := (not #509)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   291
#501 := (= #595 #499)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   292
#503 := (or #501 #468)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   293
#497 := (or #673 #503)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   294
#470 := (iff #497 #496)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   295
#491 := (or #481 #512)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   296
#498 := (or #673 #491)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   297
#467 := (iff #498 #496)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   298
#469 := [rewrite]: #467
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   299
#459 := (iff #497 #498)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   300
#494 := (iff #503 #491)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   301
#488 := (or #512 #481)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   302
#492 := (iff #488 #491)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   303
#493 := [rewrite]: #492
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   304
#489 := (iff #503 #488)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   305
#486 := (iff #468 #481)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   306
#525 := (iff #509 #504)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   307
#480 := [rewrite]: #525
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   308
#487 := [monotonicity #480]: #486
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   309
#510 := (iff #501 #512)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   310
#524 := [rewrite]: #510
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   311
#490 := [monotonicity #524 #487]: #489
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   312
#495 := [trans #490 #493]: #494
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   313
#460 := [monotonicity #495]: #459
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   314
#471 := [trans #460 #469]: #470
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   315
#482 := [quant-inst]: #497
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   316
#473 := [mp #482 #471]: #496
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   317
#731 := [unit-resolution #473 #718 #730]: #512
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   318
#732 := (not #512)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   319
#733 := (or #732 #474)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   320
#734 := [th-lemma]: #733
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   321
#735 := [unit-resolution #734 #731]: #474
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   322
#475 := (>= #514 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   323
#736 := (or #732 #475)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   324
#737 := [th-lemma]: #736
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   325
#738 := [unit-resolution #737 #731]: #475
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   326
#582 := (<= #666 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   327
#739 := (or #270 #582)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   328
#740 := [th-lemma]: #739
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   329
#741 := [unit-resolution #740 #272]: #582
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   330
#743 := [th-lemma #726 #741 #738 #735]: #742
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   331
#745 := [symm #743]: #744
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   332
#747 := [monotonicity #745]: #746
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   333
#751 := [trans #747 #271]: #750
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   334
#753 := [trans #751 #749]: #752
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   335
#755 := [monotonicity #753 #282]: #754
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   336
#759 := [trans #755 #757]: #758
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   337
#792 := (= #44 #352)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   338
#358 := (uf_7 #43)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   339
#613 := (+ 1::int #358)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   340
#617 := (uf_6 #613)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   341
#788 := (= #617 #352)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   342
#598 := (= #352 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   343
#608 := (or #607 #598)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   344
#609 := [quant-inst]: #608
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   345
#760 := [unit-resolution #609 #704]: #598
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   346
#789 := [symm #760]: #788
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   347
#790 := (= #44 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   348
#575 := (uf_7 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   349
#390 := (uf_6 #575)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   350
#382 := (= #390 #617)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   351
#385 := (or #376 #382)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   352
#392 := (= #617 #390)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   353
#386 := (or #376 #392)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   354
#387 := (iff #386 #385)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   355
#369 := (iff #385 #385)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   356
#370 := [rewrite]: #369
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   357
#383 := (iff #392 #382)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   358
#384 := [rewrite]: #383
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   359
#368 := [monotonicity #384]: #387
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   360
#361 := [trans #368 #370]: #387
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   361
#377 := [quant-inst]: #386
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   362
#371 := [mp #377 #361]: #385
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   363
#761 := [unit-resolution #371 #711]: #382
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   364
#786 := (= #44 #390)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   365
#784 := (= 1::int #575)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   366
#782 := (= #575 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   367
#568 := (* -1::int #575)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   368
#579 := (+ #358 #568)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   369
#535 := (<= #579 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   370
#557 := (= #579 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   371
#561 := (>= #358 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   372
#585 := (>= #358 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   373
#676 := (= #358 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   374
#315 := (or #673 #676)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   375
#268 := (>= 0::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   376
#354 := (not #268)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   377
#355 := (= 0::int #358)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   378
#359 := (or #355 #354)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   379
#657 := (or #673 #359)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   380
#320 := (iff #657 #315)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   381
#322 := (iff #315 #315)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   382
#659 := [rewrite]: #322
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   383
#672 := (iff #359 #676)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   384
#675 := (or #676 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   385
#330 := (iff #675 #676)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   386
#335 := [rewrite]: #330
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   387
#681 := (iff #359 #675)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   388
#679 := (iff #354 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   389
#343 := (iff #354 #670)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   390
#332 := (iff #268 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   391
#463 := [rewrite]: #332
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   392
#344 := [monotonicity #463]: #343
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   393
#680 := [trans #344 #678]: #679
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   394
#338 := (iff #355 #676)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   395
#674 := [rewrite]: #338
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   396
#671 := [monotonicity #674 #680]: #681
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   397
#331 := [trans #671 #335]: #672
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   398
#321 := [monotonicity #331]: #320
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   399
#660 := [trans #321 #659]: #320
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   400
#319 := [quant-inst]: #657
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   401
#661 := [mp #319 #660]: #315
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   402
#762 := [unit-resolution #661 #718]: #676
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   403
#763 := (not #676)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   404
#764 := (or #763 #585)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   405
#765 := [th-lemma]: #764
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   406
#766 := [unit-resolution #765 #762]: #585
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   407
#767 := (not #585)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   408
#768 := (or #767 #561)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   409
#769 := [th-lemma]: #768
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   410
#770 := [unit-resolution #769 #766]: #561
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   411
#564 := (not #561)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   412
#549 := (or #673 #557 #564)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   413
#570 := (>= #613 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   414
#571 := (not #570)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   415
#576 := (= #613 #575)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   416
#577 := (or #576 #571)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   417
#552 := (or #673 #577)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   418
#530 := (iff #552 #549)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   419
#551 := (or #557 #564)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   420
#554 := (or #673 #551)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   421
#556 := (iff #554 #549)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   422
#529 := [rewrite]: #556
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   423
#555 := (iff #552 #554)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   424
#547 := (iff #577 #551)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   425
#559 := (iff #571 #564)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   426
#562 := (iff #570 #561)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   427
#563 := [rewrite]: #562
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   428
#565 := [monotonicity #563]: #559
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   429
#558 := (iff #576 #557)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   430
#560 := [rewrite]: #558
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   431
#548 := [monotonicity #560 #565]: #547
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   432
#550 := [monotonicity #548]: #555
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   433
#531 := [trans #550 #529]: #530
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   434
#553 := [quant-inst]: #552
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   435
#424 := [mp #553 #531]: #549
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   436
#771 := [unit-resolution #424 #718 #770]: #557
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   437
#772 := (not #557)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   438
#773 := (or #772 #535)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   439
#774 := [th-lemma]: #773
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   440
#775 := [unit-resolution #774 #771]: #535
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   441
#536 := (>= #579 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   442
#776 := (or #772 #536)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   443
#777 := [th-lemma]: #776
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   444
#778 := [unit-resolution #777 #771]: #536
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   445
#584 := (<= #358 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   446
#779 := (or #763 #584)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   447
#780 := [th-lemma]: #779
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   448
#781 := [unit-resolution #780 #762]: #584
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   449
#783 := [th-lemma #766 #781 #778 #775]: #782
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   450
#785 := [symm #783]: #784
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   451
#787 := [monotonicity #785]: #786
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   452
#791 := [trans #787 #761]: #790
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   453
#793 := [trans #791 #789]: #792
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   454
#796 := [monotonicity #793 #759]: #795
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   455
#798 := [symm #796]: #797
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   456
#353 := (= #47 #267)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   457
#356 := (or #345 #353)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   458
#357 := [quant-inst]: #356
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   459
#794 := [unit-resolution #357 #689]: #353
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   460
#799 := [trans #794 #798]: #52
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   461
#53 := (not #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   462
#177 := [asserted]: #53
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   463
[unit-resolution #177 #799]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   464
unsat