src/HOL/SMT/Examples/cert/z3_nat_arith_01.proof
author wenzelm
Thu, 29 Oct 2009 16:05:51 +0100
changeset 33307 44af0fab4b10
parent 33010 39f73a59e855
permissions -rw-r--r--
Named_Thms is not scalable;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33010
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     1
#2 := false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     2
#9 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_2 :: (-> T1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
decl uf_1 :: (-> int T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
decl uf_3 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#22 := uf_3
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#23 := (uf_2 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#21 := 2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#24 := (* 2::int #23)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#25 := (uf_1 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#293 := (uf_2 #25)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#292 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#296 := (* -1::int #293)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#275 := (+ #24 #296)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#258 := (<= #275 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#611 := (= #275 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#204 := (>= #24 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#596 := (= #293 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#541 := (not #596)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#300 := (<= #293 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#460 := (not #300)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#26 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#570 := (>= #293 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#569 := (= #293 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#27 := (uf_1 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#318 := (uf_2 #27)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#311 := (= #318 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#10 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#12 := (uf_1 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#627 := (pattern #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#70 := (>= #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#71 := (not #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#13 := (uf_2 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#52 := (= #10 #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#77 := (or #52 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#628 := (forall (vars (?x2 int)) (:pat #627) #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#82 := (forall (vars (?x2 int)) #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#631 := (iff #82 #628)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#629 := (iff #77 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#630 := [refl]: #629
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#632 := [quant-intro #630]: #631
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#132 := (~ #82 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#144 := (~ #77 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#145 := [refl]: #144
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#130 := [nnf-pos #145]: #132
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#14 := (= #13 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#11 := (<= 0::int #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#15 := (implies #11 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#16 := (forall (vars (?x2 int)) #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#85 := (iff #16 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#59 := (not #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#60 := (or #59 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#65 := (forall (vars (?x2 int)) #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#83 := (iff #65 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#80 := (iff #60 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#74 := (or #71 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#78 := (iff #74 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#79 := [rewrite]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#75 := (iff #60 #74)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#72 := (iff #59 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#68 := (iff #11 #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#69 := [rewrite]: #68
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#73 := [monotonicity #69]: #72
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#76 := [monotonicity #73]: #75
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#81 := [trans #76 #79]: #80
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#84 := [quant-intro #81]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#66 := (iff #16 #65)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#63 := (iff #15 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#56 := (implies #11 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#61 := (iff #56 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#62 := [rewrite]: #61
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#57 := (iff #15 #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#54 := (iff #14 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#55 := [rewrite]: #54
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#58 := [monotonicity #55]: #57
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#64 := [trans #58 #62]: #63
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#67 := [quant-intro #64]: #66
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#86 := [trans #67 #84]: #85
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#51 := [asserted]: #16
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#87 := [mp #51 #86]: #82
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#146 := [mp~ #87 #130]: #82
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#633 := [mp #146 #632]: #628
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#612 := (not #628)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#575 := (or #612 #311)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#316 := (>= 1::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#317 := (not #316)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#211 := (= 1::int #318)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#588 := (or #211 #317)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#576 := (or #612 #588)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#572 := (iff #576 #575)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#578 := (iff #575 #575)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#573 := [rewrite]: #578
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#585 := (iff #588 #311)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#583 := (or #311 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#584 := (iff #583 #311)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#581 := [rewrite]: #584
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#297 := (iff #588 #583)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#304 := (iff #317 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#587 := (not true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#302 := (iff #587 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#303 := [rewrite]: #302
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#591 := (iff #317 #587)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#586 := (iff #316 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#590 := [rewrite]: #586
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#301 := [monotonicity #590]: #591
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#582 := [trans #301 #303]: #304
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#589 := (iff #211 #311)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#312 := [rewrite]: #589
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#580 := [monotonicity #312 #582]: #297
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#574 := [trans #580 #581]: #585
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#577 := [monotonicity #574]: #572
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#579 := [trans #577 #573]: #572
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#571 := [quant-inst]: #576
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#420 := [mp #571 #579]: #575
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#437 := [unit-resolution #420 #633]: #311
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#452 := (= #293 #318)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#28 := (= #25 #27)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#129 := [asserted]: #28
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#454 := [monotonicity #129]: #452
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#455 := [trans #454 #437]: #569
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#448 := (not #569)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#456 := (or #448 #570)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#457 := [th-lemma]: #456
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#458 := [unit-resolution #457 #455]: #570
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#459 := (not #570)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
#553 := (or #459 #460)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
#550 := [th-lemma]: #553
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   129
#554 := [unit-resolution #550 #458]: #460
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   130
#543 := (or #541 #300)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   131
#535 := [th-lemma]: #543
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   132
#532 := [unit-resolution #535 #554]: #541
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   133
#598 := (or #204 #596)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   134
#18 := (= #13 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   135
#118 := (or #18 #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   136
#634 := (forall (vars (?x3 int)) (:pat #627) #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   137
#123 := (forall (vars (?x3 int)) #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   138
#637 := (iff #123 #634)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   139
#635 := (iff #118 #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   140
#636 := [refl]: #635
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   141
#638 := [quant-intro #636]: #637
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   142
#133 := (~ #123 #123)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   143
#147 := (~ #118 #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   144
#148 := [refl]: #147
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   145
#134 := [nnf-pos #148]: #133
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   146
#17 := (< #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   147
#19 := (implies #17 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   148
#20 := (forall (vars (?x3 int)) #19)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   149
#126 := (iff #20 #123)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   150
#89 := (= 0::int #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   151
#95 := (not #17)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   152
#96 := (or #95 #89)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   153
#101 := (forall (vars (?x3 int)) #96)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   154
#124 := (iff #101 #123)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   155
#121 := (iff #96 #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   156
#115 := (or #70 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   157
#119 := (iff #115 #118)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   158
#120 := [rewrite]: #119
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   159
#116 := (iff #96 #115)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   160
#113 := (iff #89 #18)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   161
#114 := [rewrite]: #113
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   162
#111 := (iff #95 #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   163
#106 := (not #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   164
#109 := (iff #106 #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   165
#110 := [rewrite]: #109
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   166
#107 := (iff #95 #106)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   167
#104 := (iff #17 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   168
#105 := [rewrite]: #104
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   169
#108 := [monotonicity #105]: #107
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   170
#112 := [trans #108 #110]: #111
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   171
#117 := [monotonicity #112 #114]: #116
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   172
#122 := [trans #117 #120]: #121
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   173
#125 := [quant-intro #122]: #124
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   174
#102 := (iff #20 #101)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   175
#99 := (iff #19 #96)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   176
#92 := (implies #17 #89)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   177
#97 := (iff #92 #96)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   178
#98 := [rewrite]: #97
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   179
#93 := (iff #19 #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   180
#90 := (iff #18 #89)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   181
#91 := [rewrite]: #90
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   182
#94 := [monotonicity #91]: #93
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   183
#100 := [trans #94 #98]: #99
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   184
#103 := [quant-intro #100]: #102
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   185
#127 := [trans #103 #125]: #126
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   186
#88 := [asserted]: #20
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   187
#128 := [mp #88 #127]: #123
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   188
#149 := [mp~ #128 #134]: #123
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   189
#639 := [mp #149 #638]: #634
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   190
#595 := (not #634)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   191
#601 := (or #595 #204 #596)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   192
#597 := (or #596 #204)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   193
#238 := (or #595 #597)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   194
#606 := (iff #238 #601)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   195
#604 := (or #595 #598)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   196
#605 := (iff #604 #601)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   197
#603 := [rewrite]: #605
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   198
#243 := (iff #238 #604)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   199
#599 := (iff #597 #598)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   200
#600 := [rewrite]: #599
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   201
#244 := [monotonicity #600]: #243
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   202
#592 := [trans #244 #603]: #606
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   203
#602 := [quant-inst]: #238
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   204
#593 := [mp #602 #592]: #601
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   205
#534 := [unit-resolution #593 #639]: #598
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   206
#544 := [unit-resolution #534 #532]: #204
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   207
#290 := (not #204)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   208
#281 := (or #290 #611)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   209
#618 := (or #612 #290 #611)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   210
#294 := (= #24 #293)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   211
#295 := (or #294 #290)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   212
#608 := (or #612 #295)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   213
#594 := (iff #608 #618)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   214
#272 := (or #612 #281)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   215
#610 := (iff #272 #618)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   216
#252 := [rewrite]: #610
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   217
#609 := (iff #608 #272)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   218
#616 := (iff #295 #281)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   219
#400 := (or #611 #290)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   220
#614 := (iff #400 #281)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   221
#615 := [rewrite]: #614
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   222
#607 := (iff #295 #400)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   223
#613 := (iff #294 #611)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   224
#269 := [rewrite]: #613
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   225
#280 := [monotonicity #269]: #607
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   226
#617 := [trans #280 #615]: #616
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   227
#268 := [monotonicity #617]: #609
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   228
#256 := [trans #268 #252]: #594
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   229
#267 := [quant-inst]: #608
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   230
#257 := [mp #267 #256]: #618
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   231
#545 := [unit-resolution #257 #633]: #281
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   232
#546 := [unit-resolution #545 #544]: #611
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   233
#542 := (not #611)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   234
#547 := (or #542 #258)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   235
#536 := [th-lemma]: #547
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   236
#537 := [unit-resolution #536 #546]: #258
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   237
#259 := (>= #275 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   238
#538 := (or #542 #259)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   239
#539 := [th-lemma]: #538
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   240
#533 := [unit-resolution #539 #546]: #259
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   241
#563 := (<= #293 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   242
#540 := (or #448 #563)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   243
#524 := [th-lemma]: #540
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   244
#525 := [unit-resolution #524 #455]: #563
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   245
[th-lemma #458 #525 #533 #537]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   246
unsat