src/HOL/SMT/Examples/cert/z3_arith_quant_06.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
#5 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
#8 := 1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#143 := (= 1::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#145 := (iff #143 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#146 := [rewrite]: #145
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
decl ?x1!1 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#47 := ?x1!1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#51 := (= ?x1!1 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
decl ?x2!0 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#46 := ?x2!0
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#50 := (= ?x2!0 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#63 := (and #50 #51)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#69 := (= ?x2!0 ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#72 := (not #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#66 := (not #63)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#75 := (or #66 #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#78 := (not #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#48 := (= ?x1!1 ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#49 := (not #48)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#52 := (and #51 #50)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#53 := (not #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#54 := (or #53 #49)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#55 := (not #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#79 := (iff #55 #78)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#76 := (iff #54 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#73 := (iff #49 #72)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#70 := (iff #48 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#71 := [rewrite]: #70
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#74 := [monotonicity #71]: #73
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#67 := (iff #53 #66)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#64 := (iff #52 #63)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#65 := [rewrite]: #64
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#68 := [monotonicity #65]: #67
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#77 := [monotonicity #68 #74]: #76
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#80 := [monotonicity #77]: #79
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#7 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#4 := (:var 1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#11 := (= #4 #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#12 := (not #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#9 := (= #7 1::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#6 := (= #4 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#10 := (and #6 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#32 := (not #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#33 := (or #32 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#36 := (forall (vars (?x1 int) (?x2 int)) #33)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#39 := (not #36)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#56 := (~ #39 #55)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#57 := [sk]: #56
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#13 := (implies #10 #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#14 := (forall (vars (?x1 int) (?x2 int)) #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#15 := (not #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#40 := (iff #15 #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#37 := (iff #14 #36)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#34 := (iff #13 #33)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#35 := [rewrite]: #34
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#38 := [quant-intro #35]: #37
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#41 := [monotonicity #38]: #40
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#31 := [asserted]: #15
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#44 := [mp #31 #41]: #39
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#60 := [mp~ #44 #57]: #55
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#61 := [mp #60 #80]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#62 := [not-or-elim #61]: #63
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#82 := [and-elim #62]: #51
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#141 := (= 1::int ?x1!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#83 := [not-or-elim #61]: #69
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#139 := (= 1::int ?x2!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#81 := [and-elim #62]: #50
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#140 := [symm #81]: #139
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#142 := [trans #140 #83]: #141
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#144 := [trans #142 #82]: #143
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
[mp #144 #146]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
unsat