src/HOL/SMT/Examples/cert/z3_prop_09.proof
author haftmann
Mon, 04 Jan 2010 14:09:56 +0100
changeset 34244 03f8dcab55f3
parent 33010 39f73a59e855
permissions -rw-r--r--
code cache without copy; tuned
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
decl uf_1 :: (-> T1 T1 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl uf_2 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#10 := uf_2
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
decl uf_3 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#12 := uf_3
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#14 := (uf_1 uf_3 uf_2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#13 := (uf_1 uf_2 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#15 := (= #13 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#44 := (not #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#11 := (= uf_2 uf_2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#16 := (and #11 #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#17 := (not #16)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#45 := (iff #17 #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#42 := (iff #16 #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#37 := (and true #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#40 := (iff #37 #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#41 := [rewrite]: #40
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#38 := (iff #16 #37)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#35 := (iff #11 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#36 := [rewrite]: #35
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#39 := [monotonicity #36]: #38
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#43 := [trans #39 #41]: #42
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#46 := [monotonicity #43]: #45
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#34 := [asserted]: #17
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#49 := [mp #34 #46]: #44
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#4 := (:var 1 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#5 := (:var 0 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#7 := (uf_1 #5 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#530 := (pattern #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#6 := (uf_1 #4 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#529 := (pattern #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#8 := (= #6 #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#531 := (forall (vars (?x1 T1) (?x2 T1)) (:pat #529 #530) #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#9 := (forall (vars (?x1 T1) (?x2 T1)) #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#534 := (iff #9 #531)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#532 := (iff #8 #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#533 := [refl]: #532
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#535 := [quant-intro #533]: #534
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#55 := (~ #9 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#53 := (~ #8 #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#54 := [refl]: #53
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#56 := [nnf-pos #54]: #55
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#33 := [asserted]: #9
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#57 := [mp~ #33 #56]: #9
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#536 := [mp #57 #535]: #531
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#112 := (not #531)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#199 := (or #112 #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#113 := [quant-inst]: #199
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
[unit-resolution #113 #536 #49]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
unsat