src/HOL/SMT/Examples/cert/z3_arith_quant_10.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
#4 := 2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl ?x1!1 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#85 := ?x1!1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
decl ?x2!0 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#84 := ?x2!0
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#101 := (+ ?x2!0 ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#107 := (>= #101 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#113 := (<= #101 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#116 := (not #113)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#110 := (not #107)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#104 := (= #101 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#119 := (or #104 #110 #116)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#122 := (not #119)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#86 := (+ ?x1!1 ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#87 := (<= #86 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#88 := (not #87)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#89 := (>= #86 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#90 := (not #89)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#91 := (= #86 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#92 := (or #91 #90 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#93 := (not #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#123 := (iff #93 #122)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#120 := (iff #92 #119)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#117 := (iff #88 #116)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#114 := (iff #87 #113)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#102 := (= #86 #101)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#103 := [rewrite]: #102
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#115 := [monotonicity #103]: #114
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#118 := [monotonicity #115]: #117
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#111 := (iff #90 #110)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#108 := (iff #89 #107)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#109 := [monotonicity #103]: #108
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#112 := [monotonicity #109]: #111
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#105 := (iff #91 #104)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#106 := [monotonicity #103]: #105
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#121 := [monotonicity #106 #112 #118]: #120
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#124 := [monotonicity #121]: #123
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#6 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#5 := (:var 1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#7 := (+ #5 #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#56 := (<= #7 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#58 := (not #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#54 := (>= #7 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#51 := (not #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#9 := (= #7 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#67 := (or #9 #51 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#72 := (forall (vars (?x1 int) (?x2 int)) #67)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#75 := (not #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#94 := (~ #75 #93)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#95 := [sk]: #94
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#10 := (< #7 2::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#11 := (or #9 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#8 := (< 2::int #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#12 := (or #8 #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#13 := (forall (vars (?x1 int) (?x2 int)) #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#14 := (not #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#78 := (iff #14 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#31 := (= 2::int #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#37 := (or #10 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#42 := (or #8 #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#45 := (forall (vars (?x1 int) (?x2 int)) #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#48 := (not #45)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#76 := (iff #48 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#73 := (iff #45 #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#70 := (iff #42 #67)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#61 := (or #51 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#64 := (or #58 #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#68 := (iff #64 #67)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#69 := [rewrite]: #68
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#65 := (iff #42 #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#62 := (iff #37 #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#55 := (iff #31 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#57 := [rewrite]: #55
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#53 := (iff #10 #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#52 := [rewrite]: #53
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#63 := [monotonicity #52 #57]: #62
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#59 := (iff #8 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#60 := [rewrite]: #59
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#66 := [monotonicity #60 #63]: #65
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#71 := [trans #66 #69]: #70
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#74 := [quant-intro #71]: #73
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#77 := [monotonicity #74]: #76
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#49 := (iff #14 #48)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#46 := (iff #13 #45)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#43 := (iff #12 #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#40 := (iff #11 #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#34 := (or #31 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#38 := (iff #34 #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#39 := [rewrite]: #38
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#35 := (iff #11 #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#32 := (iff #9 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#33 := [rewrite]: #32
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#36 := [monotonicity #33]: #35
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#41 := [trans #36 #39]: #40
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#44 := [monotonicity #41]: #43
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#47 := [quant-intro #44]: #46
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#50 := [monotonicity #47]: #49
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#79 := [trans #50 #77]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#30 := [asserted]: #14
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#80 := [mp #30 #79]: #75
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#98 := [mp~ #80 #95]: #93
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#99 := [mp #98 #124]: #122
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#126 := [not-or-elim #99]: #107
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#100 := (not #104)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#125 := [not-or-elim #99]: #100
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#127 := [not-or-elim #99]: #113
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#183 := (or #104 #116 #110)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#184 := [th-lemma]: #183
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
[unit-resolution #184 #127 #125 #126]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
unsat