equal
deleted
inserted
replaced
51 simpset_ref() := |
51 simpset_ref() := |
52 simpset() setmksimps (map mk_eq o ZF_atomize o gen_all) |
52 simpset() setmksimps (map mk_eq o ZF_atomize o gen_all) |
53 addcongs [if_weak_cong] |
53 addcongs [if_weak_cong] |
54 setSolver type_solver; |
54 setSolver type_solver; |
55 |
55 |
56 |
|
57 |
|
58 local |
56 local |
59 |
57 |
60 val prove_bex_tac = rewtac Bex_def THEN Quantifier1.prove_one_point_ex_tac; |
58 fun prove_bex_tac ss = unfold_tac ss [Bex_def] THEN Quantifier1.prove_one_point_ex_tac; |
61 val rearrange_bex = Quantifier1.rearrange_bex prove_bex_tac; |
59 val rearrange_bex = Quantifier1.rearrange_bex prove_bex_tac; |
62 |
60 |
63 val prove_ball_tac = rewtac Ball_def THEN Quantifier1.prove_one_point_all_tac; |
61 fun prove_ball_tac ss = unfold_tac ss [Ball_def] THEN Quantifier1.prove_one_point_all_tac; |
64 val rearrange_ball = Quantifier1.rearrange_ball prove_ball_tac; |
62 val rearrange_ball = Quantifier1.rearrange_ball prove_ball_tac; |
65 |
63 |
66 in |
64 in |
67 |
65 |
68 val defBEX_regroup = Simplifier.simproc (Theory.sign_of (the_context ())) |
66 val defBEX_regroup = Simplifier.simproc (the_context ()) |
69 "defined BEX" ["EX x:A. P(x) & Q(x)"] rearrange_bex; |
67 "defined BEX" ["EX x:A. P(x) & Q(x)"] rearrange_bex; |
70 |
68 |
71 val defBALL_regroup = Simplifier.simproc (Theory.sign_of (the_context ())) |
69 val defBALL_regroup = Simplifier.simproc (the_context ()) |
72 "defined BALL" ["ALL x:A. P(x) --> Q(x)"] rearrange_ball; |
70 "defined BALL" ["ALL x:A. P(x) --> Q(x)"] rearrange_ball; |
73 |
71 |
74 end; |
72 end; |
75 |
73 |
76 Addsimprocs [defBALL_regroup, defBEX_regroup]; |
74 Addsimprocs [defBALL_regroup, defBEX_regroup]; |