src/HOL/SMT/Examples/cert/z3_nat_arith_06.proof
author ballarin
Mon, 09 Nov 2009 21:33:22 +0100
changeset 33541 e716c6ad381b
parent 33010 39f73a59e855
permissions -rw-r--r--
Removed obsolete code.
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_3 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#21 := uf_3
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#130 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#131 := (* -1::int uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#154 := (>= uf_3 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#161 := (ite #154 uf_3 #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#648 := (* -1::int #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#651 := (+ #131 #648)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#657 := (<= #651 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#341 := (= #131 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#155 := (not #154)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#649 := (+ uf_3 #648)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#650 := (<= #649 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#254 := (= uf_3 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#646 := [hypothesis]: #154
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#255 := (or #155 #254)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#342 := [def-axiom]: #255
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#652 := [unit-resolution #342 #646]: #254
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#290 := (not #254)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#653 := (or #290 #650)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#655 := [th-lemma]: #653
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#295 := [unit-resolution #655 #652]: #650
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#346 := (>= #161 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#274 := (not #346)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
decl uf_2 :: (-> T1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
decl uf_1 :: (-> int T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#166 := (uf_1 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#169 := (uf_2 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#172 := (= #161 #169)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#175 := (not #172)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#23 := (- uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#22 := (< uf_3 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#24 := (ite #22 #23 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#25 := (uf_1 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#26 := (uf_2 #25)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#27 := (= #26 #24)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#28 := (not #27)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#178 := (iff #28 #175)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#134 := (ite #22 #131 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#137 := (uf_1 #134)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#140 := (uf_2 #137)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#146 := (= #134 #140)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#151 := (not #146)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#176 := (iff #151 #175)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#173 := (iff #146 #172)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#170 := (= #140 #169)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#167 := (= #137 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#164 := (= #134 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#158 := (ite #155 #131 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#162 := (= #158 #161)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#163 := [rewrite]: #162
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#159 := (= #134 #158)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#156 := (iff #22 #155)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#157 := [rewrite]: #156
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#160 := [monotonicity #157]: #159
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#165 := [trans #160 #163]: #164
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#168 := [monotonicity #165]: #167
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#171 := [monotonicity #168]: #170
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#174 := [monotonicity #165 #171]: #173
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#177 := [monotonicity #174]: #176
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#152 := (iff #28 #151)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#149 := (iff #27 #146)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#143 := (= #140 #134)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#147 := (iff #143 #146)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#148 := [rewrite]: #147
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#144 := (iff #27 #143)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#135 := (= #24 #134)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#132 := (= #23 #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#133 := [rewrite]: #132
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#136 := [monotonicity #133]: #135
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#141 := (= #26 #140)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#138 := (= #25 #137)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#139 := [monotonicity #136]: #138
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#142 := [monotonicity #139]: #141
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#145 := [monotonicity #142 #136]: #144
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#150 := [trans #145 #148]: #149
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#153 := [monotonicity #150]: #152
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#179 := [trans #153 #177]: #178
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#129 := [asserted]: #28
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#180 := [mp #129 #179]: #175
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#10 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#12 := (uf_1 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#678 := (pattern #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#70 := (>= #10 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#71 := (not #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#13 := (uf_2 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#52 := (= #10 #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#77 := (or #52 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#679 := (forall (vars (?x2 int)) (:pat #678) #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#82 := (forall (vars (?x2 int)) #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#682 := (iff #82 #679)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#680 := (iff #77 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#681 := [refl]: #680
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#683 := [quant-intro #681]: #682
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#183 := (~ #82 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#195 := (~ #77 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#196 := [refl]: #195
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#181 := [nnf-pos #196]: #183
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#14 := (= #13 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#11 := (<= 0::int #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#15 := (implies #11 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#16 := (forall (vars (?x2 int)) #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#85 := (iff #16 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#59 := (not #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#60 := (or #59 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#65 := (forall (vars (?x2 int)) #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#83 := (iff #65 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#80 := (iff #60 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#74 := (or #71 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#78 := (iff #74 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#79 := [rewrite]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#75 := (iff #60 #74)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#72 := (iff #59 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#68 := (iff #11 #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#69 := [rewrite]: #68
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#73 := [monotonicity #69]: #72
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#76 := [monotonicity #73]: #75
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#81 := [trans #76 #79]: #80
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#84 := [quant-intro #81]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#66 := (iff #16 #65)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#63 := (iff #15 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#56 := (implies #11 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#61 := (iff #56 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#62 := [rewrite]: #61
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
#57 := (iff #15 #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
#54 := (iff #14 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   129
#55 := [rewrite]: #54
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   130
#58 := [monotonicity #55]: #57
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   131
#64 := [trans #58 #62]: #63
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   132
#67 := [quant-intro #64]: #66
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   133
#86 := [trans #67 #84]: #85
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   134
#51 := [asserted]: #16
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   135
#87 := [mp #51 #86]: #82
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   136
#197 := [mp~ #87 #181]: #82
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   137
#684 := [mp #197 #683]: #679
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   138
#321 := (not #679)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   139
#451 := (or #321 #172 #274)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   140
#327 := (or #172 #274)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   141
#658 := (or #321 #327)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   142
#333 := (iff #658 #451)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   143
#665 := [rewrite]: #333
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   144
#332 := [quant-inst]: #658
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   145
#666 := [mp #332 #665]: #451
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   146
#296 := [unit-resolution #666 #684 #180]: #274
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   147
#656 := [th-lemma #646 #296 #295]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   148
#654 := [lemma #656]: #155
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   149
#256 := (or #154 #341)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   150
#343 := [def-axiom]: #256
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   151
#644 := [unit-resolution #343 #654]: #341
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   152
#366 := (not #341)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   153
#367 := (or #366 #657)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   154
#368 := [th-lemma]: #367
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   155
#369 := [unit-resolution #368 #644]: #657
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   156
#647 := (<= #161 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   157
#262 := (or #647 #346)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   158
#639 := [th-lemma]: #262
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   159
#640 := [unit-resolution #639 #296]: #647
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   160
[th-lemma #654 #640 #369]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   161
unsat