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