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