src/HOL/SMT/Examples/cert/z3_linarith_09.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
#11 := 0::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_2 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#7 := uf_2
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#42 := -1::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#45 := (* -1::int uf_2)
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
#5 := uf_1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#46 := (+ uf_1 #45)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#63 := (>= #46 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#83 := (iff #63 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#44 := -4::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#79 := (>= -4::int 0::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#81 := (iff #79 false)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#82 := [rewrite]: #81
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#77 := (iff #63 #79)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#47 := (= #46 -4::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#8 := 4::int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#9 := (+ uf_1 4::int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#10 := (= uf_2 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#49 := (iff #10 #47)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#32 := (+ 4::int uf_1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#39 := (= uf_2 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#43 := (iff #39 #47)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#48 := [rewrite]: #43
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#40 := (iff #10 #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#37 := (= #9 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#38 := [rewrite]: #37
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#41 := [monotonicity #38]: #40
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#50 := [trans #41 #48]: #49
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#31 := [asserted]: #10
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#51 := [mp #31 #50]: #47
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#80 := [monotonicity #51]: #77
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#84 := [trans #80 #82]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#12 := (- uf_2 uf_1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#13 := (< 0::int #12)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#14 := (not #13)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#74 := (iff #14 #63)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#53 := (* -1::int uf_1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#54 := (+ #53 uf_2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#57 := (< 0::int #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#60 := (not #57)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#72 := (iff #60 #63)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#64 := (not #63)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#67 := (not #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#70 := (iff #67 #63)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#71 := [rewrite]: #70
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#68 := (iff #60 #67)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#65 := (iff #57 #64)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#66 := [rewrite]: #65
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#69 := [monotonicity #66]: #68
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#73 := [trans #69 #71]: #72
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#61 := (iff #14 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#58 := (iff #13 #57)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#55 := (= #12 #54)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#56 := [rewrite]: #55
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#59 := [monotonicity #56]: #58
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#62 := [monotonicity #59]: #61
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#75 := [trans #62 #73]: #74
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#52 := [asserted]: #14
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#76 := [mp #52 #75]: #63
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
[mp #76 #84]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
unsat