src/HOL/SMT/Examples/cert/z3_arith_quant_07.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
#5 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
#7 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#9 := (<= 0::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#8 := (< #5 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#10 := (or #8 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#4 := (:var 1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#6 := (< #4 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#11 := (implies #6 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#12 := (forall (vars (?x2 int)) #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#13 := (exists (vars (?x1 int)) #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#14 := (not #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#95 := (iff #14 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#31 := (not #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#32 := (or #31 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#35 := (forall (vars (?x2 int)) #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#38 := (exists (vars (?x1 int)) #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#41 := (not #38)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#93 := (iff #41 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
#88 := (not true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#91 := (iff #88 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#92 := [rewrite]: #91
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#89 := (iff #41 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#86 := (iff #38 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#81 := (exists (vars (?x1 int)) true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#84 := (iff #81 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#85 := [elim-unused]: #84
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#82 := (iff #38 #81)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#79 := (iff #35 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#74 := (forall (vars (?x2 int)) true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#77 := (iff #74 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#78 := [elim-unused]: #77
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#75 := (iff #35 #74)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#72 := (iff #32 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#46 := (>= #5 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#44 := (not #46)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#64 := (or #44 #46)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#50 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#53 := (* -1::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#54 := (+ #4 #53)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#52 := (>= #54 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#67 := (or #52 #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#70 := (iff #67 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#71 := [rewrite]: #70
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#68 := (iff #32 #67)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#65 := (iff #10 #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#48 := (iff #9 #46)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#49 := [rewrite]: #48
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#45 := (iff #8 #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#47 := [rewrite]: #45
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#66 := [monotonicity #47 #49]: #65
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#62 := (iff #31 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#51 := (not #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#57 := (not #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#60 := (iff #57 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#61 := [rewrite]: #60
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#58 := (iff #31 #57)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#55 := (iff #6 #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#56 := [rewrite]: #55
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#59 := [monotonicity #56]: #58
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#63 := [trans #59 #61]: #62
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#69 := [monotonicity #63 #66]: #68
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#73 := [trans #69 #71]: #72
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#76 := [quant-intro #73]: #75
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#80 := [trans #76 #78]: #79
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#83 := [quant-intro #80]: #82
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#87 := [trans #83 #85]: #86
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#90 := [monotonicity #87]: #89
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#94 := [trans #90 #92]: #93
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#42 := (iff #14 #41)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#39 := (iff #13 #38)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#36 := (iff #12 #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#33 := (iff #11 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#34 := [rewrite]: #33
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#37 := [quant-intro #34]: #36
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#40 := [quant-intro #37]: #39
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#43 := [monotonicity #40]: #42
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#96 := [trans #43 #94]: #95
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#30 := [asserted]: #14
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
[mp #30 #96]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
unsat