src/HOL/SMT/Examples/cert/z3_mono_02.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
decl uf_17 :: (-> T8 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_18 :: (-> T1 T8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
decl uf_19 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#104 := uf_19
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#105 := (uf_18 uf_19)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#106 := (uf_17 #105)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
decl uf_15 :: (-> T7 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
decl uf_16 :: (-> int T7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#101 := 3::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#102 := (uf_16 3::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#103 := (uf_15 #102)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#107 := (= #103 #106)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
decl uf_13 :: (-> T2 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
decl uf_2 :: (-> T1 T2 T2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
decl uf_7 :: T2
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#29 := uf_7
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#857 := (uf_2 uf_19 uf_7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#859 := (uf_13 #857)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#599 := (= #859 #106)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#526 := (= #106 #859)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#79 := (:var 0 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#82 := (uf_2 #79 uf_7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#932 := (pattern #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#80 := (uf_18 #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#931 := (pattern #80)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#83 := (uf_13 #82)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#81 := (uf_17 #80)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#84 := (= #81 #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#933 := (forall (vars (?x16 T1)) (:pat #931 #932) #84)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#85 := (forall (vars (?x16 T1)) #84)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#936 := (iff #85 #933)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#934 := (iff #84 #84)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#935 := [refl]: #934
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#937 := [quant-intro #935]: #936
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#347 := (~ #85 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#384 := (~ #84 #84)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#385 := [refl]: #384
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#348 := [nnf-pos #385]: #347
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#238 := [asserted]: #85
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#386 := [mp~ #238 #348]: #85
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#938 := [mp #386 #937]: #933
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#861 := (not #933)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#862 := (or #861 #526)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#863 := [quant-inst]: #862
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#601 := [unit-resolution #863 #938]: #526
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#588 := [symm #601]: #599
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#586 := (= #103 #859)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
decl uf_1 :: (-> T2 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#558 := (uf_1 #857)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#832 := (= #558 #859)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#5 := (:var 0 T2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#66 := (uf_13 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#908 := (pattern #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#8 := (uf_1 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#907 := (pattern #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#222 := (= #8 #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#909 := (forall (vars (?x13 T2)) (:pat #907 #908) #222)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#226 := (forall (vars (?x13 T2)) #222)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#912 := (iff #226 #909)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#910 := (iff #222 #222)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#911 := [refl]: #910
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#913 := [quant-intro #911]: #912
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#341 := (~ #226 #226)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#375 := (~ #222 #222)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#376 := [refl]: #375
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#342 := [nnf-pos #376]: #341
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#67 := (= #66 #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#68 := (forall (vars (?x13 T2)) #67)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#227 := (iff #68 #226)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#224 := (iff #67 #222)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#225 := [rewrite]: #224
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#228 := [quant-intro #225]: #227
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#221 := [asserted]: #68
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#231 := [mp #221 #228]: #226
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#377 := [mp~ #231 #342]: #226
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#914 := [mp #377 #913]: #909
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#451 := (not #909)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#837 := (or #451 #832)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#547 := [quant-inst]: #837
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#615 := [unit-resolution #547 #914]: #832
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#585 := (= #103 #558)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
decl uf_3 :: (-> int T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
decl uf_4 :: (-> T3 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#30 := (uf_1 uf_7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#806 := (uf_4 #30)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#11 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#127 := (uf_3 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#130 := (uf_4 #127)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#649 := (+ #130 #806)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#794 := (uf_3 #649)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#597 := (= #794 #558)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#683 := (= #558 #794)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#4 := (:var 1 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#6 := (uf_2 #4 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#865 := (pattern #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#9 := (uf_4 #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#133 := (+ #9 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#136 := (uf_3 #133)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#7 := (uf_1 #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#139 := (= #7 #136)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#866 := (forall (vars (?x1 T1) (?x2 T2)) (:pat #865) #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#142 := (forall (vars (?x1 T1) (?x2 T2)) #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#869 := (iff #142 #866)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#867 := (iff #139 #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#868 := [refl]: #867
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#870 := [quant-intro #868]: #869
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#361 := (~ #142 #142)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#359 := (~ #139 #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#360 := [refl]: #359
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#362 := [nnf-pos #360]: #361
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#10 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#12 := (+ 0::int 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#13 := (uf_3 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#14 := (uf_4 #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#15 := (+ #9 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#16 := (uf_3 #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#17 := (= #7 #16)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#18 := (forall (vars (?x1 T1) (?x2 T2)) #17)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#143 := (iff #18 #142)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#140 := (iff #17 #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#137 := (= #16 #136)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#134 := (= #15 #133)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#131 := (= #14 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#128 := (= #13 #127)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#125 := (= #12 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
#126 := [rewrite]: #125
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
#129 := [monotonicity #126]: #128
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   129
#132 := [monotonicity #129]: #131
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   130
#135 := [monotonicity #132]: #134
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   131
#138 := [monotonicity #135]: #137
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   132
#141 := [monotonicity #138]: #140
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   133
#144 := [quant-intro #141]: #143
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   134
#124 := [asserted]: #18
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   135
#147 := [mp #124 #144]: #142
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   136
#363 := [mp~ #147 #362]: #142
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   137
#871 := [mp #363 #870]: #866
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   138
#701 := (not #866)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   139
#694 := (or #701 #683)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   140
#688 := (+ #806 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   141
#689 := (uf_3 #688)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   142
#690 := (= #558 #689)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   143
#702 := (or #701 #690)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   144
#704 := (iff #702 #694)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   145
#706 := (iff #694 #694)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   146
#799 := [rewrite]: #706
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   147
#698 := (iff #690 #683)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   148
#795 := (= #689 #794)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   149
#797 := (= #688 #649)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   150
#699 := [rewrite]: #797
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   151
#798 := [monotonicity #699]: #795
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   152
#700 := [monotonicity #798]: #698
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   153
#705 := [monotonicity #700]: #704
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   154
#796 := [trans #705 #799]: #704
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   155
#703 := [quant-inst]: #702
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   156
#800 := [mp #703 #796]: #694
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   157
#614 := [unit-resolution #800 #871]: #683
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   158
#598 := [symm #614]: #597
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   159
#583 := (= #103 #794)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   160
#595 := (= #127 #794)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   161
#605 := (= #794 #127)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   162
#618 := (= #649 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   163
#780 := (<= #806 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   164
#778 := (= #806 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   165
#31 := (uf_3 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   166
#858 := (uf_4 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   167
#855 := (= #858 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   168
#72 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   169
#92 := (uf_3 #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   170
#947 := (pattern #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   171
#266 := (>= #72 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   172
#267 := (not #266)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   173
#93 := (uf_4 #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   174
#248 := (= #72 #93)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   175
#273 := (or #248 #267)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   176
#948 := (forall (vars (?x18 int)) (:pat #947) #273)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   177
#278 := (forall (vars (?x18 int)) #273)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   178
#951 := (iff #278 #948)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   179
#949 := (iff #273 #273)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   180
#950 := [refl]: #949
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   181
#952 := [quant-intro #950]: #951
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   182
#351 := (~ #278 #278)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   183
#390 := (~ #273 #273)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   184
#391 := [refl]: #390
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   185
#352 := [nnf-pos #391]: #351
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   186
#94 := (= #93 #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   187
#91 := (<= 0::int #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   188
#95 := (implies #91 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   189
#96 := (forall (vars (?x18 int)) #95)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   190
#281 := (iff #96 #278)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   191
#255 := (not #91)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   192
#256 := (or #255 #248)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   193
#261 := (forall (vars (?x18 int)) #256)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   194
#279 := (iff #261 #278)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   195
#276 := (iff #256 #273)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   196
#270 := (or #267 #248)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   197
#274 := (iff #270 #273)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   198
#275 := [rewrite]: #274
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   199
#271 := (iff #256 #270)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   200
#268 := (iff #255 #267)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   201
#264 := (iff #91 #266)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   202
#265 := [rewrite]: #264
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   203
#269 := [monotonicity #265]: #268
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   204
#272 := [monotonicity #269]: #271
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   205
#277 := [trans #272 #275]: #276
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   206
#280 := [quant-intro #277]: #279
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   207
#262 := (iff #96 #261)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   208
#259 := (iff #95 #256)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   209
#252 := (implies #91 #248)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   210
#257 := (iff #252 #256)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   211
#258 := [rewrite]: #257
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   212
#253 := (iff #95 #252)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   213
#250 := (iff #94 #248)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   214
#251 := [rewrite]: #250
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   215
#254 := [monotonicity #251]: #253
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   216
#260 := [trans #254 #258]: #259
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   217
#263 := [quant-intro #260]: #262
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   218
#282 := [trans #263 #280]: #281
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   219
#247 := [asserted]: #96
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   220
#283 := [mp #247 #282]: #278
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   221
#392 := [mp~ #283 #352]: #278
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   222
#953 := [mp #392 #952]: #948
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   223
#848 := (not #948)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   224
#850 := (or #848 #855)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   225
#527 := (>= 0::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   226
#860 := (not #527)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   227
#864 := (= 0::int #858)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   228
#854 := (or #864 #860)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   229
#489 := (or #848 #854)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   230
#851 := (iff #489 #850)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   231
#852 := (iff #850 #850)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   232
#838 := [rewrite]: #852
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   233
#847 := (iff #854 #855)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   234
#843 := (or #855 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   235
#846 := (iff #843 #855)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   236
#841 := [rewrite]: #846
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   237
#844 := (iff #854 #843)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   238
#505 := (iff #860 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   239
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   240
#498 := (not true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   241
#503 := (iff #498 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   242
#504 := [rewrite]: #503
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   243
#840 := (iff #860 #498)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   244
#514 := (iff #527 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   245
#856 := [rewrite]: #514
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   246
#502 := [monotonicity #856]: #840
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   247
#842 := [trans #502 #504]: #505
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   248
#513 := (iff #864 #855)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   249
#518 := [rewrite]: #513
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   250
#845 := [monotonicity #518 #842]: #844
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   251
#484 := [trans #845 #841]: #847
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   252
#849 := [monotonicity #484]: #851
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   253
#839 := [trans #849 #838]: #851
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   254
#490 := [quant-inst]: #489
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   255
#546 := [mp #490 #839]: #850
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   256
#644 := [unit-resolution #546 #953]: #855
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   257
#621 := (= #806 #858)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   258
#32 := (= #30 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   259
#159 := [asserted]: #32
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   260
#626 := [monotonicity #159]: #621
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   261
#616 := [trans #626 #644]: #778
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   262
#606 := (not #778)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   263
#608 := (or #606 #780)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   264
#609 := [th-lemma]: #608
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   265
#612 := [unit-resolution #609 #616]: #780
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   266
#790 := (>= #806 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   267
#613 := (or #606 #790)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   268
#617 := [th-lemma]: #613
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   269
#610 := [unit-resolution #617 #616]: #790
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   270
#723 := (<= #130 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   271
#746 := (= #130 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   272
#713 := (or #848 #746)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   273
#755 := (>= 1::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   274
#756 := (not #755)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   275
#743 := (= 1::int #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   276
#744 := (or #743 #756)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   277
#714 := (or #848 #744)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   278
#718 := (iff #714 #713)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   279
#720 := (iff #713 #713)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   280
#725 := [rewrite]: #720
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   281
#739 := (iff #744 #746)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   282
#735 := (or #746 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   283
#738 := (iff #735 #746)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   284
#733 := [rewrite]: #738
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   285
#736 := (iff #744 #735)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   286
#731 := (iff #756 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   287
#734 := (iff #756 #498)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   288
#742 := (iff #755 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   289
#748 := [rewrite]: #742
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   290
#730 := [monotonicity #748]: #734
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   291
#732 := [trans #730 #504]: #731
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   292
#745 := (iff #743 #746)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   293
#747 := [rewrite]: #745
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   294
#737 := [monotonicity #747 #732]: #736
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   295
#712 := [trans #737 #733]: #739
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   296
#719 := [monotonicity #712]: #718
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   297
#721 := [trans #719 #725]: #718
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   298
#607 := [quant-inst]: #714
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   299
#722 := [mp #607 #721]: #713
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   300
#641 := [unit-resolution #722 #953]: #746
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   301
#620 := (not #746)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   302
#623 := (or #620 #723)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   303
#627 := [th-lemma]: #623
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   304
#629 := [unit-resolution #627 #641]: #723
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   305
#726 := (>= #130 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   306
#630 := (or #620 #726)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   307
#628 := [th-lemma]: #630
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   308
#631 := [unit-resolution #628 #641]: #726
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   309
#611 := [th-lemma #631 #629 #610 #612]: #618
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   310
#587 := [monotonicity #611]: #605
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   311
#596 := [symm #587]: #595
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   312
#581 := (= #103 #127)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   313
decl uf_5 :: (-> T4 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   314
decl uf_8 :: T4
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   315
#33 := uf_8
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   316
#34 := (uf_5 uf_8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   317
#822 := (uf_4 #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   318
#824 := (+ #130 #822)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   319
#666 := (uf_3 #824)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   320
#593 := (= #666 #127)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   321
#589 := (= #127 #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   322
#624 := (= 1::int #824)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   323
#619 := (= #824 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   324
#789 := (<= #822 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   325
#787 := (= #822 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   326
#632 := (= #822 #858)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   327
#35 := (= #34 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   328
#162 := (= #31 #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   329
#163 := (iff #35 #162)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   330
#164 := [rewrite]: #163
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   331
#160 := [asserted]: #35
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   332
#167 := [mp #160 #164]: #162
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   333
#662 := [symm #167]: #35
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   334
#633 := [monotonicity #662]: #632
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   335
#634 := [trans #633 #644]: #787
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   336
#635 := (not #787)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   337
#637 := (or #635 #789)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   338
#638 := [th-lemma]: #637
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   339
#639 := [unit-resolution #638 #634]: #789
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   340
#781 := (>= #822 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   341
#481 := (or #635 #781)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   342
#640 := [th-lemma]: #481
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   343
#636 := [unit-resolution #640 #634]: #781
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   344
#622 := [th-lemma #631 #629 #636 #639]: #619
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   345
#625 := [symm #622]: #624
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   346
#590 := [monotonicity #625]: #589
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   347
#594 := [symm #590]: #593
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   348
#579 := (= #103 #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   349
decl uf_6 :: (-> int T4 T4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   350
#539 := (uf_6 3::int uf_8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   351
#836 := (uf_5 #539)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   352
#810 := (= #836 #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   353
#813 := (= #666 #836)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   354
#20 := (:var 0 T4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   355
#19 := (:var 1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   356
#21 := (uf_6 #19 #20)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   357
#872 := (pattern #21)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   358
#23 := (uf_5 #20)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   359
#24 := (uf_4 #23)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   360
#146 := (+ #24 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   361
#150 := (uf_3 #146)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   362
#22 := (uf_5 #21)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   363
#153 := (= #22 #150)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   364
#873 := (forall (vars (?x3 int) (?x4 T4)) (:pat #872) #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   365
#156 := (forall (vars (?x3 int) (?x4 T4)) #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   366
#876 := (iff #156 #873)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   367
#874 := (iff #153 #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   368
#875 := [refl]: #874
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   369
#877 := [quant-intro #875]: #876
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   370
#328 := (~ #156 #156)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   371
#364 := (~ #153 #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   372
#365 := [refl]: #364
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   373
#326 := [nnf-pos #365]: #328
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   374
#25 := (+ #24 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   375
#26 := (uf_3 #25)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   376
#27 := (= #22 #26)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   377
#28 := (forall (vars (?x3 int) (?x4 T4)) #27)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   378
#157 := (iff #28 #156)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   379
#154 := (iff #27 #153)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   380
#151 := (= #26 #150)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   381
#148 := (= #25 #146)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   382
#149 := [monotonicity #132]: #148
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   383
#152 := [monotonicity #149]: #151
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   384
#155 := [monotonicity #152]: #154
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   385
#158 := [quant-intro #155]: #157
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   386
#145 := [asserted]: #28
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   387
#161 := [mp #145 #158]: #156
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   388
#366 := [mp~ #161 #326]: #156
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   389
#878 := [mp #366 #877]: #873
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   390
#809 := (not #873)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   391
#816 := (or #809 #813)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   392
#817 := (+ #822 #130)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   393
#818 := (uf_3 #817)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   394
#823 := (= #836 #818)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   395
#645 := (or #809 #823)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   396
#648 := (iff #645 #816)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   397
#802 := (iff #816 #816)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   398
#804 := [rewrite]: #802
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   399
#814 := (iff #823 #813)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   400
#807 := (iff #810 #813)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   401
#808 := [rewrite]: #807
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   402
#811 := (iff #823 #810)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   403
#667 := (= #818 #666)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   404
#819 := (= #817 #824)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   405
#825 := [rewrite]: #819
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   406
#668 := [monotonicity #825]: #667
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   407
#812 := [monotonicity #668]: #811
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   408
#815 := [trans #812 #808]: #814
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   409
#801 := [monotonicity #815]: #648
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   410
#805 := [trans #801 #804]: #648
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   411
#647 := [quant-inst]: #645
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   412
#803 := [mp #647 #805]: #816
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   413
#658 := [unit-resolution #803 #878]: #813
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   414
#592 := [symm #658]: #810
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   415
#600 := (= #103 #836)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   416
decl uf_14 :: (-> T4 T3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   417
#540 := (uf_14 #539)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   418
#548 := (= #540 #836)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   419
#69 := (uf_14 #20)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   420
#916 := (pattern #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   421
#915 := (pattern #23)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   422
#230 := (= #23 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   423
#917 := (forall (vars (?x14 T4)) (:pat #915 #916) #230)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   424
#234 := (forall (vars (?x14 T4)) #230)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   425
#920 := (iff #234 #917)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   426
#918 := (iff #230 #230)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   427
#919 := [refl]: #918
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   428
#921 := [quant-intro #919]: #920
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   429
#343 := (~ #234 #234)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   430
#378 := (~ #230 #230)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   431
#379 := [refl]: #378
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   432
#344 := [nnf-pos #379]: #343
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   433
#70 := (= #69 #23)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   434
#71 := (forall (vars (?x14 T4)) #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   435
#235 := (iff #71 #234)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   436
#232 := (iff #70 #230)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   437
#233 := [rewrite]: #232
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   438
#236 := [quant-intro #233]: #235
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   439
#229 := [asserted]: #71
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   440
#239 := [mp #229 #236]: #234
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   441
#380 := [mp~ #239 #344]: #234
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   442
#922 := [mp #380 #921]: #917
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   443
#541 := (not #917)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   444
#828 := (or #541 #548)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   445
#833 := (= #836 #540)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   446
#829 := (or #541 #833)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   447
#826 := (iff #829 #828)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   448
#827 := (iff #828 #828)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   449
#831 := [rewrite]: #827
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   450
#549 := (iff #833 #548)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   451
#550 := [rewrite]: #549
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   452
#830 := [monotonicity #550]: #826
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   453
#820 := [trans #830 #831]: #826
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   454
#543 := [quant-inst]: #829
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   455
#821 := [mp #543 #820]: #828
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   456
#657 := [unit-resolution #821 #922]: #548
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   457
#521 := (= #103 #540)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   458
#75 := (uf_6 #72 uf_8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   459
#924 := (pattern #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   460
#73 := (uf_16 #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   461
#923 := (pattern #73)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   462
#76 := (uf_14 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   463
#74 := (uf_15 #73)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   464
#77 := (= #74 #76)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   465
#925 := (forall (vars (?x15 int)) (:pat #923 #924) #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   466
#78 := (forall (vars (?x15 int)) #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   467
#928 := (iff #78 #925)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   468
#926 := (iff #77 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   469
#927 := [refl]: #926
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   470
#929 := [quant-intro #927]: #928
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   471
#345 := (~ #78 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   472
#381 := (~ #77 #77)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   473
#382 := [refl]: #381
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   474
#346 := [nnf-pos #382]: #345
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   475
#237 := [asserted]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   476
#383 := [mp~ #237 #346]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   477
#930 := [mp #383 #929]: #925
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   478
#515 := (not #925)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   479
#646 := (or #515 #521)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   480
#853 := [quant-inst]: #646
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   481
#603 := [unit-resolution #853 #930]: #521
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   482
#577 := [trans #603 #657]: #600
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   483
#580 := [trans #577 #592]: #579
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   484
#582 := [trans #580 #594]: #581
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   485
#584 := [trans #582 #596]: #583
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   486
#578 := [trans #584 #598]: #585
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   487
#571 := [trans #578 #615]: #586
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   488
#572 := [trans #571 #588]: #107
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   489
#108 := (not #107)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   490
#325 := [asserted]: #108
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   491
[unit-resolution #325 #572]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   492
unsat