equal
deleted
inserted
replaced
1521 val ths = map (fn th => Drule.export_without_context (th RS mp)) (Datatype_Aux.split_conj_thm |
1521 val ths = map (fn th => Drule.export_without_context (th RS mp)) (Datatype_Aux.split_conj_thm |
1522 (Goal.prove_global_future thy11 [] [] |
1522 (Goal.prove_global_future thy11 [] [] |
1523 (augment_sort thy1 pt_cp_sort |
1523 (augment_sort thy1 pt_cp_sort |
1524 (HOLogic.mk_Trueprop (foldr1 HOLogic.mk_conj (map HOLogic.mk_imp ps)))) |
1524 (HOLogic.mk_Trueprop (foldr1 HOLogic.mk_conj (map HOLogic.mk_imp ps)))) |
1525 (fn {context = ctxt, ...} => rtac rec_induct 1 THEN REPEAT |
1525 (fn {context = ctxt, ...} => rtac rec_induct 1 THEN REPEAT |
1526 (simp_tac (Simplifier.global_context thy11 HOL_basic_ss |
1526 (simp_tac (put_simpset HOL_basic_ss ctxt |
1527 addsimps flat perm_simps' |
1527 addsimps flat perm_simps' |
1528 addsimprocs [NominalPermeq.perm_simproc_app]) 1 THEN |
1528 addsimprocs [NominalPermeq.perm_simproc_app]) 1 THEN |
1529 (resolve_tac rec_intrs THEN_ALL_NEW |
1529 (resolve_tac rec_intrs THEN_ALL_NEW |
1530 asm_simp_tac (put_simpset HOL_ss ctxt addsimps (fresh_bij @ perm_bij))) 1)))) |
1530 asm_simp_tac (put_simpset HOL_ss ctxt addsimps (fresh_bij @ perm_bij))) 1)))) |
1531 val ths' = map (fn ((P, Q), th) => |
1531 val ths' = map (fn ((P, Q), th) => |
1923 (fn _ => simp_tac (put_simpset HOL_ss context'' addsimps fresh_bij) 1 THEN |
1923 (fn _ => simp_tac (put_simpset HOL_ss context'' addsimps fresh_bij) 1 THEN |
1924 rtac th 1) |
1924 rtac th 1) |
1925 in |
1925 in |
1926 Goal.prove context'' [] [] |
1926 Goal.prove context'' [] [] |
1927 (HOLogic.mk_Trueprop (fresh_const aT rT $ b $ lhs')) |
1927 (HOLogic.mk_Trueprop (fresh_const aT rT $ b $ lhs')) |
1928 (fn _ => EVERY |
1928 (fn {context = ctxt, ...} => EVERY |
1929 [cut_facts_tac [th'] 1, |
1929 [cut_facts_tac [th'] 1, |
1930 full_simp_tac (Simplifier.global_context thy11 HOL_ss (* FIXME context'' (!?) *) |
1930 full_simp_tac (put_simpset HOL_ss ctxt |
1931 addsimps rec_eqns @ pi1_pi2_eqs @ perm_swap |
1931 addsimps rec_eqns @ pi1_pi2_eqs @ perm_swap |
1932 addsimprocs [NominalPermeq.perm_simproc_app]) 1, |
1932 addsimprocs [NominalPermeq.perm_simproc_app]) 1, |
1933 full_simp_tac (put_simpset HOL_ss context'' addsimps (calc_atm @ |
1933 full_simp_tac (put_simpset HOL_ss context'' addsimps (calc_atm @ |
1934 fresh_prems' @ freshs2' @ perm_fresh_fresh)) 1]) |
1934 fresh_prems' @ freshs2' @ perm_fresh_fresh)) 1]) |
1935 end; |
1935 end; |