equal
deleted
inserted
replaced
20 ProofContext.get_thm (Simplifier.the_context ss) (Name name); |
20 ProofContext.get_thm (Simplifier.the_context ss) (Name name); |
21 |
21 |
22 (* initial simplification step in the tactic *) |
22 (* initial simplification step in the tactic *) |
23 fun initial_simp_tac ss i = |
23 fun initial_simp_tac ss i = |
24 let |
24 let |
|
25 (* these lemmas are created dynamically according to the atom types *) |
25 val perm_swap = dynamic_thm ss "perm_swap"; |
26 val perm_swap = dynamic_thm ss "perm_swap"; |
26 val perm_fresh = dynamic_thm ss "perm_fresh_fresh"; |
27 val perm_fresh = dynamic_thm ss "perm_fresh_fresh"; |
27 val perm_bij = dynamic_thm ss "perm_bij"; |
28 val perm_bij = dynamic_thm ss "perm_bij"; |
28 val ss' = ss addsimps [perm_swap,perm_fresh,perm_bij] |
29 val ss' = ss addsimps [perm_swap,perm_fresh,perm_bij] |
29 in |
30 in |
41 |
42 |
42 (* applies the perm_eq_lam and perm_eq_app simplifications *) |
43 (* applies the perm_eq_lam and perm_eq_app simplifications *) |
43 fun apply_app_lam_simp_tac ss i = |
44 fun apply_app_lam_simp_tac ss i = |
44 let |
45 let |
45 val perm_app_eq = dynamic_thm ss "perm_app_eq"; |
46 val perm_app_eq = dynamic_thm ss "perm_app_eq"; |
46 val perm_lam_eq = dynamic_thm ss "perm_eq_lam" |
47 val perm_lam_eq = thm "nominal.perm_eq_lam" |
47 in |
48 in |
48 ("simplification of permutations on applications and lambdas", |
49 ("simplification of permutations on applications and lambdas", |
49 asm_full_simp_tac (HOL_basic_ss addsimps [perm_app_eq,perm_lam_eq]) i) |
50 asm_full_simp_tac (HOL_basic_ss addsimps [perm_app_eq,perm_lam_eq]) i) |
50 end |
51 end |
51 |
52 |