diff -r 31abe0e496bc -r 599239394c51 thys2/ClosedForms.thy --- a/thys2/ClosedForms.thy Thu Mar 24 20:59:43 2022 +0000 +++ b/thys2/ClosedForms.thy Thu Mar 24 21:11:12 2022 +0000 @@ -468,26 +468,46 @@ apply(subgoal_tac "rsimp_ALTs (aa # list @ aaa # lista) = RALTS (aa # list @ aaa # lista)") apply simp using rsimpalts_conscons by presburger + + + + +lemma distinct_flts_no0: + shows "rdistinct (rflts rs) (insert RZERO rset) = rdistinct (rflts rs) rset" + apply(induct rs) + apply simp + apply(case_tac a) + using rflts.simps(2) apply presburger + sorry + + +lemma simp_der_flts: + shows "rsimp (RALTS (rdistinct (map (rder x) (rflts rs)) rset))= + rsimp (RALTS (rdistinct (rflts (map (rder x) rs)) rset))" + + apply(induct rs arbitrary: rset) + apply simp + apply(case_tac a) + apply simp + apply(case_tac "RZERO \ rset") + apply simp + apply simp + sorry + + lemma simp_der_pierce_flts: shows " rsimp (rsimp_ALTs (rdistinct (map (rder x) (rflts (map (rsimp \ (\r. rders_simp r xs)) rs))) {})) = rsimp (rsimp_ALTs (rdistinct (rflts (map (rder x) (map (rsimp \ (\r. rders_simp r xs)) rs))) {}))" - oops + sorry + lemma simp_more_distinct: shows "rsimp (rsimp_ALTs (rsa @ rs)) = rsimp (rsimp_ALTs (rsa @ (rdistinct rs (set rsa)))) " -and "a1 \ set rsb \ rsimp (rsimp_ALTs (rsb @ a1 # rs)) = rsimp (rsimp_ALTs (rsb @ rs))" - apply(induct rs arbitrary: rsa rsb a1) - apply simp - apply simp - apply(case_tac " a \ set rsa") - apply simp - prefer 2 - apply simp - apply(drule_tac x = "rsa @ [a]" in meta_spec) - apply simp + + sorry @@ -756,7 +776,7 @@ apply simp using add0_isomorphic apply blast apply simp - sorry + oops lemma alts_closed_form: shows "rsimp (rders_simp (RALTS rs) s) =