author | haftmann |
Thu, 19 Jun 2025 17:15:40 +0200 | |
changeset 82734 | 89347c0cc6a3 |
parent 78177 | ea7a3cc64df5 |
permissions | -rw-r--r-- |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
1 |
(* Title: HOL/Tools/SMT/verit_replay_methods.ML |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
2 |
Author: Mathias Fleury, MPII, JKU |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
3 |
|
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
4 |
Proof method for replaying veriT proofs. |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
5 |
*) |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
6 |
|
72459
15fc6320da68
reconstruction of veriT proofs in NEWS
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
72458
diff
changeset
|
7 |
signature VERIT_REPLAY_METHODS = |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
8 |
sig |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
9 |
(*methods for verit proof rules*) |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
10 |
val method_for: string -> Proof.context -> thm list -> term list -> term Symtab.table -> |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
11 |
(string * term) list -> term -> thm |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
12 |
|
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
13 |
val discharge: Proof.context -> thm list -> term -> thm |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
14 |
end; |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
15 |
|
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
16 |
|
72459
15fc6320da68
reconstruction of veriT proofs in NEWS
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
72458
diff
changeset
|
17 |
structure Verit_Replay_Methods: VERIT_REPLAY_METHODS = |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
18 |
struct |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
19 |
|
75299
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
20 |
open Lethe_Replay_Methods |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
21 |
|
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
22 |
fun verit_rule_of "bind" = Bind |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
23 |
| verit_rule_of "cong" = Cong |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
24 |
| verit_rule_of "refl" = Refl |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
25 |
| verit_rule_of "equiv1" = Equiv1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
26 |
| verit_rule_of "equiv2" = Equiv2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
27 |
| verit_rule_of "equiv_pos1" = Equiv_pos1 |
72908
6a26a955308e
improve and activate compression for veriT proof reconstruction
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
72513
diff
changeset
|
28 |
(*Equiv_pos2 covered below*) |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
29 |
| verit_rule_of "equiv_neg1" = Equiv_neg1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
30 |
| verit_rule_of "equiv_neg2" = Equiv_neg2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
31 |
| verit_rule_of "sko_forall" = Skolem_Forall |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
32 |
| verit_rule_of "sko_ex" = Skolem_Ex |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
33 |
| verit_rule_of "eq_reflexive" = Eq_Reflexive |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
34 |
| verit_rule_of "forall_inst" = Forall_Inst |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
35 |
| verit_rule_of "implies_pos" = Implies_Pos |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
36 |
| verit_rule_of "or" = Or |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
37 |
| verit_rule_of "not_or" = Not_Or |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
38 |
| verit_rule_of "resolution" = Resolution |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
39 |
| verit_rule_of "trans" = Trans |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
40 |
| verit_rule_of "false" = False |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
41 |
| verit_rule_of "ac_simp" = AC_Simp |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
42 |
| verit_rule_of "and" = And |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
43 |
| verit_rule_of "not_and" = Not_And |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
44 |
| verit_rule_of "and_neg" = And_Neg |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
45 |
| verit_rule_of "or_pos" = Or_Pos |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
46 |
| verit_rule_of "or_neg" = Or_Neg |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
47 |
| verit_rule_of "not_equiv1" = Not_Equiv1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
48 |
| verit_rule_of "not_equiv2" = Not_Equiv2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
49 |
| verit_rule_of "not_implies1" = Not_Implies1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
50 |
| verit_rule_of "not_implies2" = Not_Implies2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
51 |
| verit_rule_of "implies_neg1" = Implies_Neg1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
52 |
| verit_rule_of "implies_neg2" = Implies_Neg2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
53 |
| verit_rule_of "implies" = Implies |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
54 |
| verit_rule_of "bfun_elim" = Bfun_Elim |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
55 |
| verit_rule_of "ite1" = ITE1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
56 |
| verit_rule_of "ite2" = ITE2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
57 |
| verit_rule_of "not_ite1" = Not_ITE1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
58 |
| verit_rule_of "not_ite2" = Not_ITE2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
59 |
| verit_rule_of "ite_pos1" = ITE_Pos1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
60 |
| verit_rule_of "ite_pos2" = ITE_Pos2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
61 |
| verit_rule_of "ite_neg1" = ITE_Neg1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
62 |
| verit_rule_of "ite_neg2" = ITE_Neg2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
63 |
| verit_rule_of "la_disequality" = LA_Disequality |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
64 |
| verit_rule_of "lia_generic" = LIA_Generic |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
65 |
| verit_rule_of "la_generic" = LA_Generic |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
66 |
| verit_rule_of "la_tautology" = LA_Tautology |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
67 |
| verit_rule_of "la_totality" = LA_Totality |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
68 |
| verit_rule_of "la_rw_eq"= LA_RW_Eq |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
69 |
| verit_rule_of "nla_generic"= NLA_Generic |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
70 |
| verit_rule_of "eq_transitive" = Eq_Transitive |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
71 |
| verit_rule_of "qnt_rm_unused" = Qnt_Rm_Unused |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
72 |
| verit_rule_of "onepoint" = Onepoint |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
73 |
| verit_rule_of "qnt_join" = Qnt_Join |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
74 |
| verit_rule_of "subproof" = Subproof |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
75 |
| verit_rule_of "bool_simplify" = Bool_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
76 |
| verit_rule_of "or_simplify" = Or_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
77 |
| verit_rule_of "ite_simplify" = ITE_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
78 |
| verit_rule_of "and_simplify" = And_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
79 |
| verit_rule_of "not_simplify" = Not_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
80 |
| verit_rule_of "equiv_simplify" = Equiv_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
81 |
| verit_rule_of "eq_simplify" = Eq_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
82 |
| verit_rule_of "implies_simplify" = Implies_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
83 |
| verit_rule_of "connective_def" = Connective_Def |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
84 |
| verit_rule_of "minus_simplify" = Minus_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
85 |
| verit_rule_of "sum_simplify" = Sum_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
86 |
| verit_rule_of "prod_simplify" = Prod_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
87 |
| verit_rule_of "comp_simplify" = Comp_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
88 |
| verit_rule_of "qnt_simplify" = Qnt_Simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
89 |
| verit_rule_of "tautology" = Tautological_Clause |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
90 |
| verit_rule_of "qnt_cnf" = Qnt_CNF |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
91 |
| verit_rule_of r = |
75299
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
92 |
if r = Lethe_Proof.normalized_input_rule then Normalized_Input |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
93 |
else if r = Lethe_Proof.local_input_rule then Local_Input |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
94 |
else if r = Lethe_Proof.lethe_def then Definition |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
95 |
else if r = Lethe_Proof.not_not_rule then Not_Not |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
96 |
else if r = Lethe_Proof.contract_rule then Duplicate_Literals |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
97 |
else if r = Lethe_Proof.ite_intro_rule then ITE_Intro |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
98 |
else if r = Lethe_Proof.eq_congruent_rule then Eq_Congruent |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
99 |
else if r = Lethe_Proof.eq_congruent_pred_rule then Eq_Congruent_Pred |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
100 |
else if r = Lethe_Proof.theory_resolution2_rule then Theory_Resolution2 |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
101 |
else if r = Lethe_Proof.th_resolution_rule then Theory_Resolution |
da591621d6ae
split veriT reconstruction into Lethe and veriTÂ part
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75268
diff
changeset
|
102 |
else if r = Lethe_Proof.equiv_pos2_rule then Equiv_pos2 |
75561
b6239ed66b94
fix veriT reconstruction for and_pos and lambda-lifting
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75299
diff
changeset
|
103 |
else if r = Lethe_Proof.and_pos_rule then And_Pos |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
104 |
else (@{print} ("Unsupport rule", r); Unsupported) |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
105 |
|
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
106 |
|
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
107 |
(* Combining all together *) |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
108 |
|
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
109 |
fun unsupported rule ctxt thms _ _ _ = SMT_Replay_Methods.replay_error ctxt "Unsupported verit rule" |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
110 |
rule thms |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
111 |
|
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
112 |
fun ignore_args f ctxt thm _ _ _ t = f ctxt thm t |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
113 |
fun ignore_decls f ctxt thm args insts _ t = f ctxt thm args insts t |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
114 |
fun ignore_insts f ctxt thm args _ _ t = f ctxt thm args t |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
115 |
|
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
116 |
fun choose And = ignore_args and_rule |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
117 |
| choose And_Neg = ignore_args and_neg_rule |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
118 |
| choose And_Pos = ignore_args and_pos |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
119 |
| choose And_Simplify = ignore_args rewrite_and_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
120 |
| choose Bind = ignore_insts bind |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
121 |
| choose Bool_Simplify = ignore_args rewrite_bool_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
122 |
| choose Comp_Simplify = ignore_args rewrite_comp_simplify |
78177
ea7a3cc64df5
early inclusion of cvc5 proof reconstruction; slightly reorganize smt/z3_reals;
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75561
diff
changeset
|
123 |
| choose Cong = ignore_args (cong "verit") |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
124 |
| choose Connective_Def = ignore_args rewrite_connective_def |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
125 |
| choose Duplicate_Literals = ignore_args duplicate_literals |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
126 |
| choose Eq_Congruent = ignore_args eq_congruent |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
127 |
| choose Eq_Congruent_Pred = ignore_args eq_congruent_pred |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
128 |
| choose Eq_Reflexive = ignore_args eq_reflexive |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
129 |
| choose Eq_Simplify = ignore_args rewrite_eq_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
130 |
| choose Eq_Transitive = ignore_args eq_transitive |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
131 |
| choose Equiv1 = ignore_args equiv1 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
132 |
| choose Equiv2 = ignore_args equiv2 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
133 |
| choose Equiv_neg1 = ignore_args equiv_neg1 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
134 |
| choose Equiv_neg2 = ignore_args equiv_neg2 |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
135 |
| choose Equiv_pos1 = ignore_args equiv_pos1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
136 |
| choose Equiv_pos2 = ignore_args equiv_pos2 |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
137 |
| choose Equiv_Simplify = ignore_args rewrite_equiv_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
138 |
| choose False = ignore_args false_rule |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
139 |
| choose Forall_Inst = ignore_decls forall_inst |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
140 |
| choose Implies = ignore_args implies_rules |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
141 |
| choose Implies_Neg1 = ignore_args implies_neg1 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
142 |
| choose Implies_Neg2 = ignore_args implies_neg2 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
143 |
| choose Implies_Pos = ignore_args implies_pos |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
144 |
| choose Implies_Simplify = ignore_args rewrite_implies_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
145 |
| choose ITE1 = ignore_args ite1 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
146 |
| choose ITE2 = ignore_args ite2 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
147 |
| choose ITE_Intro = ignore_args ite_intro |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
148 |
| choose ITE_Neg1 = ignore_args ite_neg1 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
149 |
| choose ITE_Neg2 = ignore_args ite_neg2 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
150 |
| choose ITE_Pos1 = ignore_args ite_pos1 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
151 |
| choose ITE_Pos2 = ignore_args ite_pos2 |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
152 |
| choose ITE_Simplify = ignore_args rewrite_ite_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
153 |
| choose LA_Disequality = ignore_args la_disequality |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
154 |
| choose LA_Generic = ignore_insts la_generic |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
155 |
| choose LA_RW_Eq = ignore_args la_rw_eq |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
156 |
| choose LA_Tautology = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
157 |
| choose LA_Totality = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
158 |
| choose LIA_Generic = ignore_args lia_generic |
78177
ea7a3cc64df5
early inclusion of cvc5 proof reconstruction; slightly reorganize smt/z3_reals;
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75561
diff
changeset
|
159 |
| choose Local_Input = ignore_args (refl "verit") |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
160 |
| choose Minus_Simplify = ignore_args rewrite_minus_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
161 |
| choose NLA_Generic = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
162 |
| choose Normalized_Input = ignore_args normalized_input |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
163 |
| choose Not_And = ignore_args not_and_rule |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
164 |
| choose Not_Equiv1 = ignore_args not_equiv1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
165 |
| choose Not_Equiv2 = ignore_args not_equiv2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
166 |
| choose Not_Implies1 = ignore_args not_implies1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
167 |
| choose Not_Implies2 = ignore_args not_implies2 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
168 |
| choose Not_ITE1 = ignore_args not_ite1 |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
169 |
| choose Not_ITE2 = ignore_args not_ite2 |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
170 |
| choose Not_Not = ignore_args not_not |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
171 |
| choose Not_Or = ignore_args not_or_rule |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
172 |
| choose Not_Simplify = ignore_args rewrite_not_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
173 |
| choose Or = ignore_args or |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
174 |
| choose Or_Neg = ignore_args or_neg_rule |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
175 |
| choose Or_Pos = ignore_args or_pos_rule |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
176 |
| choose Or_Simplify = ignore_args rewrite_or_simplify |
72908
6a26a955308e
improve and activate compression for veriT proof reconstruction
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
72513
diff
changeset
|
177 |
| choose Theory_Resolution2 = ignore_args theory_resolution2 |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
178 |
| choose Prod_Simplify = ignore_args prod_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
179 |
| choose Qnt_Join = ignore_args qnt_join |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
180 |
| choose Qnt_Rm_Unused = ignore_args qnt_rm_unused |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
181 |
| choose Onepoint = ignore_args onepoint |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
182 |
| choose Qnt_Simplify = ignore_args qnt_simplify |
78177
ea7a3cc64df5
early inclusion of cvc5 proof reconstruction; slightly reorganize smt/z3_reals;
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
75561
diff
changeset
|
183 |
| choose Refl = ignore_args (refl "verit") |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
184 |
| choose Resolution = ignore_args unit_res |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
185 |
| choose Skolem_Ex = ignore_args skolem_ex |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
186 |
| choose Skolem_Forall = ignore_args skolem_forall |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
187 |
| choose Subproof = ignore_args subproof |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
188 |
| choose Sum_Simplify = ignore_args sum_simplify |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
189 |
| choose Tautological_Clause = ignore_args tautological_clause |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
190 |
| choose Theory_Resolution = ignore_args unit_res |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
191 |
| choose AC_Simp = ignore_args tmp_AC_rule |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
192 |
| choose Bfun_Elim = ignore_args bfun_elim |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
193 |
| choose Qnt_CNF = ignore_args qnt_cnf |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
194 |
| choose Trans = ignore_args trans |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
195 |
| choose r = unsupported (string_of_verit_rule r) |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
196 |
|
72459
15fc6320da68
reconstruction of veriT proofs in NEWS
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
72458
diff
changeset
|
197 |
type verit_method = Proof.context -> thm list -> term -> thm |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
198 |
type abs_context = int * term Termtab.table |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
199 |
|
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
200 |
fun with_tracing rule method ctxt thms args insts decls t = |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
201 |
let val _ = SMT_Replay_Methods.trace_goal ctxt rule thms t |
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
202 |
in method ctxt thms args insts decls t end |
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
203 |
|
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
204 |
fun method_for rule = with_tracing rule (choose (verit_rule_of rule)) |
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
205 |
|
72458
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
206 |
fun discharge ctxt [thm] t = |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
207 |
SMT_Replay_Methods.prove ctxt t (fn _ => |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
208 |
resolve_tac ctxt [thm] THEN_ALL_NEW (resolve_tac ctxt @{thms refl})) |
b44e894796d5
add reconstruction for the SMT solver veriT
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
69593
diff
changeset
|
209 |
|
69205
8050734eee3e
add reconstruction by veriT in method smt
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents:
diff
changeset
|
210 |
end; |