src/HOL/SMT/Examples/cert/z3_linarith_20.proof
changeset 33446 153a27370a42
equal deleted inserted replaced
33445:f0c78a28e18e 33446:153a27370a42
       
     1 #2 := false
       
     2 #5 := 0::real
       
     3 decl uf_1 :: real
       
     4 #4 := uf_1
       
     5 #94 := (<= uf_1 0::real)
       
     6 #17 := 2::real
       
     7 #40 := (* 2::real uf_1)
       
     8 #102 := (<= #40 0::real)
       
     9 #103 := (>= #40 0::real)
       
    10 #105 := (not #103)
       
    11 #104 := (not #102)
       
    12 #106 := (or #104 #105)
       
    13 #107 := (not #106)
       
    14 #88 := (= #40 0::real)
       
    15 #108 := (iff #88 #107)
       
    16 #109 := [rewrite]: #108
       
    17 #16 := 4::real
       
    18 #11 := (- uf_1)
       
    19 #10 := (< uf_1 0::real)
       
    20 #12 := (ite #10 #11 uf_1)
       
    21 #9 := 1::real
       
    22 #13 := (< 1::real #12)
       
    23 #14 := (not #13)
       
    24 #15 := (or #13 #14)
       
    25 #18 := (ite #15 4::real 2::real)
       
    26 #19 := (* #18 uf_1)
       
    27 #8 := (+ uf_1 uf_1)
       
    28 #20 := (= #8 #19)
       
    29 #21 := (not #20)
       
    30 #22 := (not #21)
       
    31 #89 := (iff #22 #88)
       
    32 #70 := (* 4::real uf_1)
       
    33 #73 := (= #40 #70)
       
    34 #86 := (iff #73 #88)
       
    35 #87 := [rewrite]: #86
       
    36 #84 := (iff #22 #73)
       
    37 #76 := (not #73)
       
    38 #79 := (not #76)
       
    39 #82 := (iff #79 #73)
       
    40 #83 := [rewrite]: #82
       
    41 #80 := (iff #22 #79)
       
    42 #77 := (iff #21 #76)
       
    43 #74 := (iff #20 #73)
       
    44 #71 := (= #19 #70)
       
    45 #68 := (= #18 4::real)
       
    46 #1 := true
       
    47 #63 := (ite true 4::real 2::real)
       
    48 #66 := (= #63 4::real)
       
    49 #67 := [rewrite]: #66
       
    50 #64 := (= #18 #63)
       
    51 #61 := (iff #15 true)
       
    52 #43 := -1::real
       
    53 #44 := (* -1::real uf_1)
       
    54 #47 := (ite #10 #44 uf_1)
       
    55 #50 := (< 1::real #47)
       
    56 #53 := (not #50)
       
    57 #56 := (or #50 #53)
       
    58 #59 := (iff #56 true)
       
    59 #60 := [rewrite]: #59
       
    60 #57 := (iff #15 #56)
       
    61 #54 := (iff #14 #53)
       
    62 #51 := (iff #13 #50)
       
    63 #48 := (= #12 #47)
       
    64 #45 := (= #11 #44)
       
    65 #46 := [rewrite]: #45
       
    66 #49 := [monotonicity #46]: #48
       
    67 #52 := [monotonicity #49]: #51
       
    68 #55 := [monotonicity #52]: #54
       
    69 #58 := [monotonicity #52 #55]: #57
       
    70 #62 := [trans #58 #60]: #61
       
    71 #65 := [monotonicity #62]: #64
       
    72 #69 := [trans #65 #67]: #68
       
    73 #72 := [monotonicity #69]: #71
       
    74 #41 := (= #8 #40)
       
    75 #42 := [rewrite]: #41
       
    76 #75 := [monotonicity #42 #72]: #74
       
    77 #78 := [monotonicity #75]: #77
       
    78 #81 := [monotonicity #78]: #80
       
    79 #85 := [trans #81 #83]: #84
       
    80 #90 := [trans #85 #87]: #89
       
    81 #39 := [asserted]: #22
       
    82 #91 := [mp #39 #90]: #88
       
    83 #110 := [mp #91 #109]: #107
       
    84 #111 := [not-or-elim #110]: #102
       
    85 #127 := (or #94 #104)
       
    86 #128 := [th-lemma]: #127
       
    87 #129 := [unit-resolution #128 #111]: #94
       
    88 #92 := (>= uf_1 0::real)
       
    89 #112 := [not-or-elim #110]: #103
       
    90 #130 := (or #92 #105)
       
    91 #131 := [th-lemma]: #130
       
    92 #132 := [unit-resolution #131 #112]: #92
       
    93 #114 := (not #94)
       
    94 #113 := (not #92)
       
    95 #115 := (or #113 #114)
       
    96 #95 := (and #92 #94)
       
    97 #98 := (not #95)
       
    98 #124 := (iff #98 #115)
       
    99 #116 := (not #115)
       
   100 #119 := (not #116)
       
   101 #122 := (iff #119 #115)
       
   102 #123 := [rewrite]: #122
       
   103 #120 := (iff #98 #119)
       
   104 #117 := (iff #95 #116)
       
   105 #118 := [rewrite]: #117
       
   106 #121 := [monotonicity #118]: #120
       
   107 #125 := [trans #121 #123]: #124
       
   108 #6 := (= uf_1 0::real)
       
   109 #7 := (not #6)
       
   110 #99 := (iff #7 #98)
       
   111 #96 := (iff #6 #95)
       
   112 #97 := [rewrite]: #96
       
   113 #100 := [monotonicity #97]: #99
       
   114 #38 := [asserted]: #7
       
   115 #101 := [mp #38 #100]: #98
       
   116 #126 := [mp #101 #125]: #115
       
   117 [unit-resolution #126 #132 #129]: false
       
   118 unsat