src/HOL/SMT/Examples/cert/z3_fol_01.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 up_1 :: (-> int bool)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     3
decl ?x1!0 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     4
#54 := ?x1!0
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     5
#55 := (up_1 ?x1!0)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     6
#58 := (not #55)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     7
decl ?x2!1 :: int
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     8
#66 := ?x2!1
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
     9
#67 := (up_1 ?x2!1)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    10
#85 := (or #55 #67)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    11
#88 := (not #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    12
#91 := (and #55 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    13
#68 := (or #67 #55)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    14
#69 := (not #68)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    15
#63 := (not #58)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    16
#75 := (and #63 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    17
#92 := (iff #75 #91)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    18
#89 := (iff #69 #88)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    19
#86 := (iff #68 #85)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    20
#87 := [rewrite]: #86
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    21
#90 := [monotonicity #87]: #89
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    22
#83 := (iff #63 #55)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    23
#84 := [rewrite]: #83
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    24
#93 := [monotonicity #84 #90]: #92
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    25
#6 := (:var 1 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    26
#7 := (up_1 #6)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    27
#4 := (:var 0 int)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    28
#5 := (up_1 #4)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    29
#29 := (or #5 #7)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    30
#32 := (forall (vars (?x2 int)) #29)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    31
#38 := (not #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    32
#39 := (or #38 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    33
#44 := (forall (vars (?x1 int)) #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    34
#47 := (not #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    35
#78 := (~ #47 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    36
#56 := (or #5 #55)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    37
#57 := (forall (vars (?x2 int)) #56)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    38
#59 := (or #58 #57)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    39
#60 := (not #59)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    40
#76 := (~ #60 #75)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    41
#70 := (not #57)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    42
#71 := (~ #70 #69)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    43
#72 := [sk]: #71
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    44
#64 := (~ #63 #63)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    45
#65 := [refl]: #64
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    46
#77 := [nnf-neg #65 #72]: #76
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    47
#61 := (~ #47 #60)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    48
#62 := [sk]: #61
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    49
#79 := [trans #62 #77]: #78
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    50
#8 := (or #7 #5)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    51
#9 := (forall (vars (?x2 int)) #8)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    52
#10 := (implies #5 #9)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    53
#11 := (forall (vars (?x1 int)) #10)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    54
#12 := (not #11)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    55
#48 := (iff #12 #47)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    56
#45 := (iff #11 #44)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    57
#42 := (iff #10 #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    58
#35 := (implies #5 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    59
#40 := (iff #35 #39)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    60
#41 := [rewrite]: #40
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    61
#36 := (iff #10 #35)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    62
#33 := (iff #9 #32)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    63
#30 := (iff #8 #29)
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    64
#31 := [rewrite]: #30
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    65
#34 := [quant-intro #31]: #33
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    66
#37 := [monotonicity #34]: #36
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    67
#43 := [trans #37 #41]: #42
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    68
#46 := [quant-intro #43]: #45
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    69
#49 := [monotonicity #46]: #48
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    70
#28 := [asserted]: #12
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    71
#52 := [mp #28 #49]: #47
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    72
#80 := [mp~ #52 #79]: #75
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    73
#81 := [mp #80 #93]: #91
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    74
#94 := [and-elim #81]: #88
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    75
#95 := [not-or-elim #94]: #58
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    76
#82 := [and-elim #81]: #55
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    77
[unit-resolution #82 #95]: false
39f73a59e855 added proof reconstructon for Z3,
boehmes
parents:
diff changeset
    78
unsat