36 |
36 |
37 (*we don't redeclare the original make_elim (Tactic.make_elim) for |
37 (*we don't redeclare the original make_elim (Tactic.make_elim) for |
38 compatibliity with strange things done in many existing proofs *) |
38 compatibliity with strange things done in many existing proofs *) |
39 val cla_make_elim = Make_Elim.make_elim; |
39 val cla_make_elim = Make_Elim.make_elim; |
40 |
40 |
|
41 val atomize_rules = thms "atomize'"; |
|
42 val atomize_tac = Method.atomize_tac atomize_rules; |
|
43 val atomize_strip_tac = Method.atomize_strip_tac (atomize_rules, [impI, allI]); |
|
44 |
41 (*** Applying ClassicalFun to create a classical prover ***) |
45 (*** Applying ClassicalFun to create a classical prover ***) |
42 structure Classical_Data = |
46 structure Classical_Data = |
43 struct |
47 struct |
44 val make_elim = cla_make_elim |
48 val make_elim = cla_make_elim |
45 val mp = mp |
49 val mp = mp |
46 val not_elim = notE |
50 val not_elim = notE |
47 val classical = classical |
51 val classical = classical |
48 val sizef = size_of_thm |
52 val sizef = size_of_thm |
49 val hyp_subst_tacs=[hyp_subst_tac] |
53 val hyp_subst_tacs=[hyp_subst_tac] |
50 val atomize = thms "atomize'" |
54 val atomize = atomize_rules |
51 end; |
55 end; |
52 |
56 |
53 structure Classical = ClassicalFun(Classical_Data); |
57 structure Classical = ClassicalFun(Classical_Data); |
54 |
58 |
55 structure BasicClassical: BASIC_CLASSICAL = Classical; |
59 structure BasicClassical: BASIC_CLASSICAL = Classical; |