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