equal
deleted
inserted
replaced
11 val mk_case_cong_tac: thm -> thm list -> tactic |
11 val mk_case_cong_tac: thm -> thm list -> tactic |
12 val mk_case_conv_tac: Proof.context -> int -> thm -> thm list -> thm list list -> thm list list -> |
12 val mk_case_conv_tac: Proof.context -> int -> thm -> thm list -> thm list list -> thm list list -> |
13 tactic |
13 tactic |
14 val mk_collapse_tac: Proof.context -> int -> thm -> thm list -> tactic |
14 val mk_collapse_tac: Proof.context -> int -> thm -> thm list -> tactic |
15 val mk_disc_exhaust_tac: int -> thm -> thm list -> tactic |
15 val mk_disc_exhaust_tac: int -> thm -> thm list -> tactic |
16 val mk_expand_tac: Proof.context -> int -> int list -> thm -> thm -> thm list -> |
16 val mk_expand_tac: int -> int list -> thm -> thm -> thm list -> thm list list list -> |
17 thm list list list -> thm list list list -> tactic |
17 thm list list list -> tactic |
18 val mk_half_disc_exclude_tac: int -> thm -> thm -> tactic |
18 val mk_half_disc_exclude_tac: int -> thm -> thm -> tactic |
19 val mk_nchotomy_tac: int -> thm -> tactic |
19 val mk_nchotomy_tac: int -> thm -> tactic |
20 val mk_other_half_disc_exclude_tac: thm -> tactic |
20 val mk_other_half_disc_exclude_tac: thm -> tactic |
21 val mk_split_tac: thm -> thm list -> thm list list -> thm list list list -> tactic |
21 val mk_split_tac: thm -> thm list -> thm list list -> thm list list list -> tactic |
22 val mk_split_asm_tac: Proof.context -> thm -> tactic |
22 val mk_split_asm_tac: Proof.context -> thm -> tactic |
64 atac |
64 atac |
65 else |
65 else |
66 REPEAT_DETERM_N m o etac exE THEN' hyp_subst_tac THEN' |
66 REPEAT_DETERM_N m o etac exE THEN' hyp_subst_tac THEN' |
67 SELECT_GOAL (unfold_thms_tac ctxt sels) THEN' rtac refl)) 1; |
67 SELECT_GOAL (unfold_thms_tac ctxt sels) THEN' rtac refl)) 1; |
68 |
68 |
69 fun mk_expand_tac ctxt n ms udisc_exhaust vdisc_exhaust uncollapses disc_excludesss |
69 fun mk_expand_tac n ms udisc_exhaust vdisc_exhaust uncollapses disc_excludesss disc_excludesss' = |
70 disc_excludesss' = |
|
71 if ms = [0] then |
70 if ms = [0] then |
72 rtac (@{thm trans_sym} OF (replicate 2 (the_single uncollapses RS sym))) 1 |
71 rtac (@{thm trans_sym} OF (replicate 2 (the_single uncollapses RS sym))) 1 |
73 else |
72 else |
74 let |
73 let |
75 val ks = 1 upto n; |
74 val ks = 1 upto n; |