@@ -1290,7 +1290,8 @@ Proof using.
12901290move => Hi; rewrite /= !extractmaskE tabcols_cons enumIsize_to_word /=.
12911291rewrite (nth_map (Ordinal Hi)); last by rewrite size_enum_ord.
12921292rewrite nth_enum_ord //= [X in mask _ X]to_word_cons.
1293- rewrite nth_ord_ltn map_cat mask_cat; last by rewrite 2!size_map size_enum_ord.
1293+ rewrite (nth_ord_enum (Ordinal Hi) (Ordinal Hi)).
1294+ rewrite map_cat mask_cat; last by rewrite 2!size_map size_enum_ord.
12941295rewrite -map_comp.
12951296set fr := (X in rcons (mask (map X _) _)).
12961297rewrite (eq_map (g := fr)); first last.
@@ -1320,7 +1321,8 @@ apply/setP/subset_eqP/andP; split; apply/subsetP => i.
13201321 move/(mem_takeP set0) => [pos].
13211322 rewrite size_map size_enum_ord leq_min => /andP[Hpos Hpos0] ->.
13221323 rewrite (nth_map (Ordinal Hpos0)); last by rewrite size_enum_ord.
1323- rewrite !inE lrshift_recF /= (mem_imset _ _ lshift_recP) nth_ord_ltn => Hi.
1324+ rewrite !inE lrshift_recF /= (mem_imset _ _ lshift_recP).
1325+ rewrite (nth_ord_enum (Ordinal Hpos0) (Ordinal Hpos0)) /= => Hi.
13241326 apply/bigcupP; exists (nth set0 (tabcols t) (Ordinal Hpos0)); last exact Hi.
13251327 rewrite inE; apply/(mem_takeP set0).
13261328 exists pos; last by [].
@@ -1338,7 +1340,7 @@ apply/setP/subset_eqP/andP; split; apply/subsetP => i.
13381340 + rewrite inE; apply/(mem_takeP set0).
13391341 exists pos; first by rewrite size_map size_enum_ord leq_min Hpos.
13401342 rewrite (nth_map (Ordinal Hpos0)); last by rewrite size_enum_ord.
1341- by rewrite nth_ord_ltn .
1343+ by rewrite (nth_ord_enum (Ordinal Hpos0) (Ordinal Hpos0)) .
13421344 + by rewrite !inE lrshift_recF /=; apply/imsetP; exists i.
13431345Qed .
13441346
0 commit comments