src/HOL/SMT/Examples/cert/z3_arith_quant_09.proof
author bulwahn
Wed, 20 Jan 2010 18:08:08 +0100
changeset 34953 a053ad2a7a72
parent 33010 39f73a59e855
permissions -rw-r--r--
adopting Sequences
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
#7 := 1::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
#74 := ?x1!1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#51 := -2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#96 := (* -2::int ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
decl ?x2!0 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#73 := ?x2!0
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#4 := 2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#95 := (* 2::int ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#97 := (+ #95 #96)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#166 := (<= #97 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#94 := (= #97 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#53 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#75 := (* -2::int ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#76 := (* 2::int ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#77 := (+ #76 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#78 := (= #77 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#79 := (not #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#80 := (not #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#110 := (iff #80 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#102 := (not #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#105 := (not #102)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#108 := (iff #105 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#109 := [rewrite]: #108
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#106 := (iff #80 #105)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#103 := (iff #79 #102)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#100 := (iff #78 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#88 := (+ #75 #76)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#91 := (= #88 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#98 := (iff #91 #94)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#99 := [rewrite]: #98
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#92 := (iff #78 #91)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#89 := (= #77 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#90 := [rewrite]: #89
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#93 := [monotonicity #90]: #92
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#101 := [trans #93 #99]: #100
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#104 := [monotonicity #101]: #103
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#107 := [monotonicity #104]: #106
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#111 := [trans #107 #109]: #110
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#9 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#55 := (* -2::int #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#5 := (:var 1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#6 := (* 2::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#56 := (+ #6 #55)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#54 := (= #56 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#58 := (not #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#61 := (forall (vars (?x1 int) (?x2 int)) #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#64 := (not #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#81 := (~ #64 #80)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#82 := [sk]: #81
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#10 := (* 2::int #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#8 := (+ #6 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#11 := (= #8 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#12 := (not #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
#67 := (iff #14 #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#31 := (+ 1::int #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#37 := (= #10 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#42 := (not #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
#65 := (iff #48 #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#62 := (iff #45 #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#59 := (iff #42 #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#52 := (iff #37 #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#57 := [rewrite]: #52
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#60 := [monotonicity #57]: #59
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#63 := [quant-intro #60]: #62
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#66 := [monotonicity #63]: #65
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#49 := (iff #14 #48)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#46 := (iff #13 #45)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#43 := (iff #12 #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#40 := (iff #11 #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#34 := (= #31 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#38 := (iff #34 #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#39 := [rewrite]: #38
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#35 := (iff #11 #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#32 := (= #8 #31)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#33 := [rewrite]: #32
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#36 := [monotonicity #33]: #35
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#41 := [trans #36 #39]: #40
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#44 := [monotonicity #41]: #43
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#47 := [quant-intro #44]: #46
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#50 := [monotonicity #47]: #49
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#68 := [trans #50 #66]: #67
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#30 := [asserted]: #14
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#69 := [mp #30 #68]: #64
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#85 := [mp~ #69 #82]: #80
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#86 := [mp #85 #111]: #94
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#168 := (or #102 #166)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#169 := [th-lemma]: #168
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#170 := [unit-resolution #169 #86]: #166
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#167 := (>= #97 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#171 := (or #102 #167)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#172 := [th-lemma]: #171
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#173 := [unit-resolution #172 #86]: #167
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
[th-lemma #173 #170]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
unsat