--- 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 \<in> rset")
+ apply simp
+ apply simp
+ sorry
+
+
lemma simp_der_pierce_flts:
shows " rsimp (rsimp_ALTs (rdistinct (map (rder x) (rflts (map (rsimp \<circ> (\<lambda>r. rders_simp r xs)) rs))) {})) =
rsimp (rsimp_ALTs (rdistinct (rflts (map (rder x) (map (rsimp \<circ> (\<lambda>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 \<in> set rsb \<Longrightarrow> 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 \<in> 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) =