diff -r 599239394c51 -r a0f27e21b42c thys2/ClosedForms.thy --- a/thys2/ClosedForms.thy Thu Mar 24 21:11:12 2022 +0000 +++ b/thys2/ClosedForms.thy Fri Mar 25 21:49:53 2022 +0000 @@ -469,29 +469,48 @@ apply simp using rsimpalts_conscons by presburger +lemma no0_flts: + shows "RZERO \ set (rflts rs)" + apply (induct rs) + apply simp + apply(case_tac a) + apply simp+ + oops lemma distinct_flts_no0: - shows "rdistinct (rflts rs) (insert RZERO rset) = rdistinct (rflts rs) rset" - apply(induct rs) + shows " rflts (map rsimp (rdistinct rs (insert RZERO rset))) = + rflts (map rsimp (rdistinct rs rset)) " + + apply(induct rs arbitrary: rset) apply simp apply(case_tac a) - using rflts.simps(2) apply presburger - sorry + apply simp+ + apply (smt (verit, ccfv_SIG) rflts.simps(2) rflts.simps(3) rflts_def_idiot) + prefer 2 + apply simp + by (smt (verit, ccfv_threshold) Un_insert_right insert_iff list.simps(9) rdistinct.simps(2) rflts.simps(2) rflts.simps(3) rflts_def_idiot rrexp.distinct(7)) + 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(induct rs) apply simp apply(case_tac a) apply simp apply(case_tac "RZERO \ rset") - apply simp - apply simp + apply simp+ + using distinct_flts_no0 apply presburger + apply (case_tac "x = x3") + prefer 2 + apply simp + using distinct_flts_no0 apply presburger + apply(case_tac "RONE \ rset") + apply simp+ sorry