src/HOL/SMT/Examples/cert/z3_linarith_12.proof
author boehmes
Tue, 20 Oct 2009 10:11:30 +0200
changeset 33010 39f73a59e855
permissions -rw-r--r--
added proof reconstructon for Z3, added certificates for simpler re-checking of proofs (no need to invoke external solvers), added examples and certificates for all examples, removed Unsynchronized.ref (in smt_normalize.ML)
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
#16 := (not false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_2 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#8 := uf_2
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#4 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#12 := (<= 0::int uf_2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#13 := (not #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#14 := (or #13 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#6 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#7 := (- 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#9 := (* #7 uf_2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
decl uf_1 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#5 := uf_1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#10 := (+ uf_1 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#11 := (<= 0::int #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#15 := (or #11 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#17 := (iff #15 #16)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#18 := (not #17)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#70 := (iff #18 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#65 := (not true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#68 := (iff #65 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#69 := [rewrite]: #68
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#66 := (iff #18 #65)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#63 := (iff #17 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#58 := (iff true true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#61 := (iff #58 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#62 := [rewrite]: #61
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#59 := (iff #17 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#56 := (iff #16 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#57 := [rewrite]: #56
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#54 := (iff #15 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#35 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#38 := (* -1::int uf_2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#41 := (+ uf_1 #38)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#44 := (<= 0::int #41)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#49 := (or #44 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#52 := (iff #49 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#53 := [rewrite]: #52
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#50 := (iff #15 #49)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#47 := (iff #14 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#48 := [rewrite]: #47
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#45 := (iff #11 #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#42 := (= #10 #41)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#39 := (= #9 #38)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#36 := (= #7 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#37 := [rewrite]: #36
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#40 := [monotonicity #37]: #39
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#43 := [monotonicity #40]: #42
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#46 := [monotonicity #43]: #45
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#51 := [monotonicity #46 #48]: #50
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#55 := [trans #51 #53]: #54
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#60 := [monotonicity #55 #57]: #59
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#64 := [trans #60 #62]: #63
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#67 := [monotonicity #64]: #66
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#71 := [trans #67 #69]: #70
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#34 := [asserted]: #18
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
[mp #34 #71]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
unsat