src/HOL/SMT/Examples/cert/z3_arith_quant_08.proof
author Christian Urban <urbanc@in.tum.de>
Fri, 20 Nov 2009 00:54:20 +0100
changeset 33773 ccef2e6d8c21
parent 33010 39f73a59e855
permissions -rw-r--r--
removed fixme - quick-and-dirty flag is appropriate
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
#9 := 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
#91 := ?x1!1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#68 := -2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#129 := (* -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
#90 := ?x2!0
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#7 := 2::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#128 := (* 2::int ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#130 := (+ #128 #129)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#131 := (<= #130 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#136 := (not #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#55 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#53 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#115 := (* -1::int ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#116 := (+ ?x2!0 #115)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#117 := (<= #116 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#139 := (or #117 #136)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#142 := (not #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#92 := (* -2::int ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#93 := (* 2::int ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#94 := (+ #93 #92)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#95 := (>= #94 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#96 := (not #95)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#97 := (* -1::int ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#98 := (+ ?x1!1 #97)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#99 := (>= #98 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#100 := (or #99 #96)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#101 := (not #100)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#143 := (iff #101 #142)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#140 := (iff #100 #139)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#137 := (iff #96 #136)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#134 := (iff #95 #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#122 := (+ #92 #93)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#125 := (>= #122 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#132 := (iff #125 #131)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#133 := [rewrite]: #132
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#126 := (iff #95 #125)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#123 := (= #94 #122)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#124 := [rewrite]: #123
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#127 := [monotonicity #124]: #126
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#135 := [trans #127 #133]: #134
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#138 := [monotonicity #135]: #137
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#120 := (iff #99 #117)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#109 := (+ #97 ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#112 := (>= #109 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#118 := (iff #112 #117)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#119 := [rewrite]: #118
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#113 := (iff #99 #112)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#110 := (= #98 #109)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#111 := [rewrite]: #110
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#114 := [monotonicity #111]: #113
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#121 := [trans #114 #119]: #120
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#141 := [monotonicity #121 #138]: #140
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#144 := [monotonicity #141]: #143
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#5 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#71 := (* -2::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#4 := (:var 1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#8 := (* 2::int #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#72 := (+ #8 #71)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#70 := (>= #72 -1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#69 := (not #70)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#57 := (* -1::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#58 := (+ #4 #57)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#56 := (>= #58 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#75 := (or #56 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#78 := (forall (vars (?x1 int) (?x2 int)) #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#81 := (not #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#102 := (~ #81 #101)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#103 := [sk]: #102
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#11 := (* 2::int #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#10 := (+ #8 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#12 := (< #10 #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#6 := (< #4 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#13 := (implies #6 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
#14 := (forall (vars (?x1 int) (?x2 int)) #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
#15 := (not #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    79
#84 := (iff #15 #81)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    80
#32 := (+ 1::int #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    81
#35 := (< #32 #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    82
#41 := (not #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    83
#42 := (or #41 #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    84
#47 := (forall (vars (?x1 int) (?x2 int)) #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    85
#50 := (not #47)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    86
#82 := (iff #50 #81)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    87
#79 := (iff #47 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    88
#76 := (iff #42 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    89
#73 := (iff #35 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    90
#74 := [rewrite]: #73
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    91
#66 := (iff #41 #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    92
#54 := (not #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    93
#61 := (not #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    94
#64 := (iff #61 #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    95
#65 := [rewrite]: #64
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    96
#62 := (iff #41 #61)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    97
#59 := (iff #6 #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    98
#60 := [rewrite]: #59
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    99
#63 := [monotonicity #60]: #62
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   100
#67 := [trans #63 #65]: #66
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   101
#77 := [monotonicity #67 #74]: #76
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   102
#80 := [quant-intro #77]: #79
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   103
#83 := [monotonicity #80]: #82
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   104
#51 := (iff #15 #50)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   105
#48 := (iff #14 #47)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   106
#45 := (iff #13 #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   107
#38 := (implies #6 #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   108
#43 := (iff #38 #42)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   109
#44 := [rewrite]: #43
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   110
#39 := (iff #13 #38)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   111
#36 := (iff #12 #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   112
#33 := (= #10 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   113
#34 := [rewrite]: #33
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   114
#37 := [monotonicity #34]: #36
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   115
#40 := [monotonicity #37]: #39
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   116
#46 := [trans #40 #44]: #45
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   117
#49 := [quant-intro #46]: #48
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   118
#52 := [monotonicity #49]: #51
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   119
#85 := [trans #52 #83]: #84
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   120
#31 := [asserted]: #15
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   121
#86 := [mp #31 #85]: #81
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   122
#106 := [mp~ #86 #103]: #101
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   123
#107 := [mp #106 #144]: #142
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   124
#146 := [not-or-elim #107]: #131
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   125
#108 := (not #117)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   126
#145 := [not-or-elim #107]: #108
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   127
[th-lemma #145 #146]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
   128
unsat