diff -r a5f666410101 -r fd068f39ac23 thys4/posix/FBound.thy --- a/thys4/posix/FBound.thy Sat Sep 10 22:30:22 2022 +0100 +++ b/thys4/posix/FBound.thy Mon Sep 12 23:32:18 2022 +0200 @@ -560,7 +560,16 @@ lemma scompsize_aux: shows "s_complexity (AALTs bs (rs1 @ distinctWith rs2 eq1 (set rs1))) \ s_complexity (AALTs bs (rs1 @ rs2))" - sorry + apply(induct rs2 arbitrary: rs1) + apply simp + apply simp + apply(case_tac "\x \ set rs1. a ~1 x") + using trans_le_add2 apply blast + apply simp + + by (metis List.set_insert) + + @@ -589,7 +598,28 @@ apply auto by (metis eq_imp_le le_imp_less_Suc less_imp_le_nat rerase_fuse scomp_rerase2) +lemma prf22: + shows "\r1 \1 r2; \ r1 ~1 r2\ \ s_complexity r1 \ s_complexity r2" + apply(induct rule:eq1.induct) + apply simp+ + apply auto + sorry + + + +lemma compl_rrewrite_down1: + shows "r1 \1 r2 \ r1 ~1 r2 \ s_complexity r1 < s_complexity r2" + apply(subgoal_tac "s_complexity r1 \ s_complexity r2") + apply(case_tac "r1 ~1 r2") + apply simp + apply(subgoal_tac "s_complexity r1 \ s_complexity r2") + apply simp + using prf22 apply blast + by (simp add: scomp_size_reduction) + +lemma leq1_eq1_equal: + shows "\r1 \1 r2; @@ -598,6 +628,7 @@ lemma compl_rrewrite_down: shows "r1 \1 r2 \r1 = r2 \ s_complexity r1 < s_complexity r2" + apply(subgoal_tac "s_complexity r1 \ s_complexity r2") apply(induct rule: leq1.induct) apply simp