src/HOL/SMT/Examples/cert/z3_arith_quant_11.proof
author haftmann
Wed, 27 Jan 2010 14:02:52 +0100
changeset 34968 ceeffca32eb0
parent 33010 39f73a59e855
permissions -rw-r--r--
tuned structure; moved non-related quickcheck.setup to Code_Generator.thy
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33010
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     1
#2 := false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     2
#4 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl ?x1!0 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#78 := ?x1!0
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#83 := (<= ?x1!0 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#146 := (not #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#155 := [hypothesis]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#7 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#81 := (>= ?x1!0 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#82 := (not #81)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#156 := (or #82 #146)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#157 := [th-lemma]: #156
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#158 := [unit-resolution #157 #155]: #82
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#159 := (or #146 #81)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#49 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#79 := (<= ?x1!0 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#80 := (not #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#84 := (ite #83 #82 #80)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#85 := (not #84)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#5 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#50 := (<= #5 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#51 := (not #50)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#55 := (>= #5 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#54 := (not #55)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#45 := (<= #5 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#61 := (ite #45 #54 #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#66 := (forall (vars (?x1 int)) #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#69 := (not #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#86 := (~ #69 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#87 := [sk]: #86
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#10 := (< #5 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#8 := (+ #5 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#9 := (< 0::int #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#6 := (< 0::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#11 := (ite #6 #9 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#12 := (forall (vars (?x1 int)) #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#13 := (not #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#72 := (iff #13 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#30 := (+ 1::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#33 := (< 0::int #30)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#36 := (ite #6 #33 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#39 := (forall (vars (?x1 int)) #36)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#42 := (not #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#70 := (iff #42 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#67 := (iff #39 #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#64 := (iff #36 #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#46 := (not #45)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#58 := (ite #46 #51 #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#62 := (iff #58 #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#63 := [rewrite]: #62
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#59 := (iff #36 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#56 := (iff #10 #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#57 := [rewrite]: #56
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#52 := (iff #33 #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#53 := [rewrite]: #52
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#47 := (iff #6 #46)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#48 := [rewrite]: #47
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#60 := [monotonicity #48 #53 #57]: #59
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#65 := [trans #60 #63]: #64
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#68 := [quant-intro #65]: #67
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#71 := [monotonicity #68]: #70
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#43 := (iff #13 #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#40 := (iff #12 #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#37 := (iff #11 #36)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#34 := (iff #9 #33)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#31 := (= #8 #30)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#32 := [rewrite]: #31
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#35 := [monotonicity #32]: #34
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#38 := [monotonicity #35]: #37
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#41 := [quant-intro #38]: #40
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#44 := [monotonicity #41]: #43
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#73 := [trans #44 #71]: #72
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#29 := [asserted]: #13
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#74 := [mp #29 #73]: #69
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#90 := [mp~ #74 #87]: #85
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#151 := (or #84 #146 #81)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#152 := [def-axiom]: #151
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#160 := [unit-resolution #152 #90]: #159
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#161 := [unit-resolution #160 #158 #155]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#162 := [lemma #161]: #146
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#163 := (or #80 #83)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#164 := [th-lemma]: #163
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#165 := [unit-resolution #164 #162]: #80
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#166 := (or #83 #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#153 := (or #84 #83 #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#154 := [def-axiom]: #153
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#167 := [unit-resolution #154 #90]: #166
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
[unit-resolution #167 #165 #162]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
unsat