equal
deleted
inserted
replaced
43 ("op -", [DiffD1,DiffD2]), |
43 ("op -", [DiffD1,DiffD2]), |
44 ("op Int", [IntD1,IntD2])]; |
44 ("op Int", [IntD1,IntD2])]; |
45 |
45 |
46 val ZF_atomize = atomize (ZF_conn_pairs, ZF_mem_pairs); |
46 val ZF_atomize = atomize (ZF_conn_pairs, ZF_mem_pairs); |
47 |
47 |
48 val type_solver = |
|
49 mk_solver "types" (fn prems => TCSET' (fn tcset => type_solver_tac tcset prems)); |
|
50 |
|
51 change_simpset (fn ss => |
48 change_simpset (fn ss => |
52 ss setmksimps (map mk_eq o ZF_atomize o gen_all) |
49 ss setmksimps (map mk_eq o ZF_atomize o gen_all) |
53 addcongs [if_weak_cong] |
50 addcongs [if_weak_cong]); |
54 setSolver type_solver); |
|
55 |
51 |
56 local |
52 local |
57 |
53 |
58 val unfold_bex_tac = unfold_tac [Bex_def]; |
54 val unfold_bex_tac = unfold_tac [Bex_def]; |
59 fun prove_bex_tac ss = unfold_bex_tac ss THEN Quantifier1.prove_one_point_ex_tac; |
55 fun prove_bex_tac ss = unfold_bex_tac ss THEN Quantifier1.prove_one_point_ex_tac; |