src/HOL/SMT/Examples/cert/z3_arith_quant_14.proof
changeset 33010 39f73a59e855
equal deleted inserted replaced
33008:b0ff69f0a248 33010:39f73a59e855
       
     1 #2 := false
       
     2 #104 := -1::int
       
     3 decl ?x1!1 :: int
       
     4 #86 := ?x1!1
       
     5 #106 := -4::int
       
     6 #107 := (* -4::int ?x1!1)
       
     7 decl ?x2!0 :: int
       
     8 #85 := ?x2!0
       
     9 #7 := 6::int
       
    10 #105 := (* 6::int ?x2!0)
       
    11 #108 := (+ #105 #107)
       
    12 #168 := (<= #108 -1::int)
       
    13 #109 := (= #108 -1::int)
       
    14 #12 := 1::int
       
    15 #33 := -6::int
       
    16 #87 := (* -6::int ?x2!0)
       
    17 #4 := 4::int
       
    18 #88 := (* 4::int ?x1!1)
       
    19 #89 := (+ #88 #87)
       
    20 #90 := (= #89 1::int)
       
    21 #112 := (iff #90 #109)
       
    22 #98 := (+ #87 #88)
       
    23 #101 := (= #98 1::int)
       
    24 #110 := (iff #101 #109)
       
    25 #111 := [rewrite]: #110
       
    26 #102 := (iff #90 #101)
       
    27 #99 := (= #89 #98)
       
    28 #100 := [rewrite]: #99
       
    29 #103 := [monotonicity #100]: #102
       
    30 #113 := [trans #103 #111]: #112
       
    31 #53 := (:var 0 int)
       
    32 #54 := (* -6::int #53)
       
    33 #9 := (:var 1 int)
       
    34 #55 := (* 4::int #9)
       
    35 #56 := (+ #55 #54)
       
    36 #76 := (= #56 1::int)
       
    37 #74 := (exists (vars (?x1 int) (?x2 int)) #76)
       
    38 #91 := (~ #74 #90)
       
    39 #92 := [sk]: #91
       
    40 #8 := (- 6::int)
       
    41 #10 := (* #8 #9)
       
    42 #5 := (:var 2 int)
       
    43 #6 := (* 4::int #5)
       
    44 #11 := (+ #6 #10)
       
    45 #13 := (= #11 1::int)
       
    46 #14 := (exists (vars (?x1 int) (?x2 int) (?x3 int)) #13)
       
    47 #15 := (not #14)
       
    48 #16 := (not #15)
       
    49 #79 := (iff #16 #74)
       
    50 #57 := (= 1::int #56)
       
    51 #58 := (exists (vars (?x1 int) (?x2 int)) #57)
       
    52 #77 := (iff #58 #74)
       
    53 #75 := (iff #57 #76)
       
    54 #73 := [rewrite]: #75
       
    55 #78 := [quant-intro #73]: #77
       
    56 #71 := (iff #16 #58)
       
    57 #63 := (not #58)
       
    58 #66 := (not #63)
       
    59 #69 := (iff #66 #58)
       
    60 #70 := [rewrite]: #69
       
    61 #67 := (iff #16 #66)
       
    62 #64 := (iff #15 #63)
       
    63 #61 := (iff #14 #58)
       
    64 #36 := (* -6::int #9)
       
    65 #39 := (+ #6 #36)
       
    66 #45 := (= 1::int #39)
       
    67 #50 := (exists (vars (?x1 int) (?x2 int) (?x3 int)) #45)
       
    68 #59 := (iff #50 #58)
       
    69 #60 := [elim-unused]: #59
       
    70 #51 := (iff #14 #50)
       
    71 #48 := (iff #13 #45)
       
    72 #42 := (= #39 1::int)
       
    73 #46 := (iff #42 #45)
       
    74 #47 := [rewrite]: #46
       
    75 #43 := (iff #13 #42)
       
    76 #40 := (= #11 #39)
       
    77 #37 := (= #10 #36)
       
    78 #34 := (= #8 -6::int)
       
    79 #35 := [rewrite]: #34
       
    80 #38 := [monotonicity #35]: #37
       
    81 #41 := [monotonicity #38]: #40
       
    82 #44 := [monotonicity #41]: #43
       
    83 #49 := [trans #44 #47]: #48
       
    84 #52 := [quant-intro #49]: #51
       
    85 #62 := [trans #52 #60]: #61
       
    86 #65 := [monotonicity #62]: #64
       
    87 #68 := [monotonicity #65]: #67
       
    88 #72 := [trans #68 #70]: #71
       
    89 #80 := [trans #72 #78]: #79
       
    90 #32 := [asserted]: #16
       
    91 #81 := [mp #32 #80]: #74
       
    92 #95 := [mp~ #81 #92]: #90
       
    93 #96 := [mp #95 #113]: #109
       
    94 #170 := (not #109)
       
    95 #171 := (or #170 #168)
       
    96 #172 := [th-lemma]: #171
       
    97 #173 := [unit-resolution #172 #96]: #168
       
    98 #169 := (>= #108 -1::int)
       
    99 #174 := (or #170 #169)
       
   100 #175 := [th-lemma]: #174
       
   101 #176 := [unit-resolution #175 #96]: #169
       
   102 [th-lemma #176 #173]: false
       
   103 unsat