src/HOL/SMT/Examples/cert/z3_fol_04.proof
author boehmes
Tue, 20 Oct 2009 10:11:30 +0200
changeset 33010 39f73a59e855
permissions -rw-r--r--
added proof reconstructon for Z3, added certificates for simpler re-checking of proofs (no need to invoke external solvers), added examples and certificates for all examples, removed Unsynchronized.ref (in smt_normalize.ML)
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 up_1 :: (-> T1 bool)
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
#4 := uf_2
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#5 := (up_1 uf_2)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
decl uf_3 :: T1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
#13 := uf_3
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#14 := (up_1 uf_3)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#34 := (not #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#35 := (or #34 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#38 := (not #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#15 := (implies #5 #14)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#16 := (not #15)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#39 := (iff #16 #38)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#36 := (iff #15 #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#37 := [rewrite]: #36
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#40 := [monotonicity #37]: #39
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#33 := [asserted]: #16
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#43 := [mp #33 #40]: #38
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#41 := [not-or-elim #43]: #5
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#6 := (:var 0 T1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#7 := (up_1 #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#536 := (pattern #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#10 := (not #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#537 := (forall (vars (?x2 T1)) (:pat #536) #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#11 := (forall (vars (?x2 T1)) #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#540 := (iff #11 #537)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#538 := (iff #10 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#539 := [refl]: #538
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#541 := [quant-intro #539]: #540
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#8 := (exists (vars (?x1 T1)) #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#9 := (not #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#45 := (~ #9 #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#50 := (~ #10 #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#51 := [refl]: #50
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#59 := [nnf-neg #51]: #45
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#12 := (ite #5 #9 #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#57 := (iff #12 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#1 := true
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#52 := (ite true #9 #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#55 := (iff #52 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#56 := [rewrite]: #55
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#53 := (iff #12 #52)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#48 := (iff #5 true)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#49 := [iff-true #41]: #48
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#54 := [monotonicity #49]: #53
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#58 := [trans #54 #56]: #57
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#32 := [asserted]: #12
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#47 := [mp #32 #58]: #9
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#60 := [mp~ #47 #59]: #11
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#542 := [mp #60 #541]: #537
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#119 := (not #537)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#206 := (or #119 #34)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#120 := [quant-inst]: #206
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
[unit-resolution #120 #542 #41]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
unsat