diff -r 744c32aceea6 -r eb08de92c4dc thys/BitCoded2CT.thy --- a/thys/BitCoded2CT.thy Thu Sep 12 21:12:54 2019 +0100 +++ b/thys/BitCoded2CT.thy Fri Sep 13 13:50:54 2019 +0100 @@ -3082,7 +3082,9 @@ lemma concat_def: shows"[]@lst=lst" - + apply auto + done + lemma derc_alt: assumes "bder c (AALTs [] as) >> bs" shows "bder c (bsimp(AALTs [] as)) >> bs" @@ -3094,9 +3096,24 @@ apply(drule_tac x="[]" in meta_spec) apply(drule_tac x="map (bder c) as" in meta_spec) apply(drule_tac x="bs" in meta_spec) + apply(simp add:List.append.simps(1)) - apply(rule_tac t="as" and s="list1@[a]@list2" in subst) - + apply(erule bexE) + apply(subgoal_tac "\list1 list2. as = list1 @ [a] @ list2") + prefer 2 + using split_list_last apply fastforce + apply(erule exE)+ + apply(rule_tac t="as" and s="list1@[a]@list2" in subst) + apply simp + (*find_theorems "map _ _ = _"*) + apply(subst map_append)+ + apply(subst k00)+ + apply(case_tac "flts (map bsimp list1) = Nil") + apply(case_tac "flts (map bsimp list2) = Nil") + apply simp + + + (*find_theorems "flts _ = _ "*) (* (*HERE*) apply(drule i_know_it_must_be_a_theorem_but_dunno_its_name) *)