@@ -38,7 +38,7 @@ From mathcomp Require Import mathcomp_extra boolp classical_sets functions.
3838(* *)
3939(***************************************************************************** *)
4040
41- Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
41+ Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
4242Set Implicit Arguments .
4343Unset Strict Implicit .
4444Unset Printing Implicit Defensive.
@@ -656,7 +656,7 @@ Lemma finite_setX_or T T' (A : set T) (B : set T') :
656656Proof .
657657have [->|/set0P[a Aa]] := eqVneq A set0; first by left.
658658have /sub_finite_set : [set a] `*` B `<=` A `*` B by move=> x/= [] -> ?; split.
659- move => /[apply]/(finite_image snd); rewrite (_ : _ @` _ = B); first by right.
659+ move => /[apply]/(finite_image snd); rewrite (_ : _ @` _ = B); last by right.
660660by apply/seteqP; split=> [b [[? ?] [? ?] <-//]|b ?]/=; exists (a, b).
661661Qed .
662662
@@ -803,7 +803,7 @@ Lemma fset_setU {T : choiceType} (A B : set T) :
803803 fset_set (A `|` B) = (fset_set A `|` fset_set B)%fset.
804804Proof .
805805move=> fA fB; apply/fsetP=> x.
806- rewrite ?(inE, in_fset_set)//; last by rewrite finite_setU.
806+ rewrite ?(inE, in_fset_set)//; first by rewrite finite_setU.
807807by apply/idP/orP; rewrite ?inE.
808808Qed .
809809
@@ -812,7 +812,7 @@ Lemma fset_setI {T : choiceType} (A B : set T) :
812812 fset_set (A `&` B) = (fset_set A `&` fset_set B)%fset.
813813Proof .
814814move=> fA fB; apply/fsetP=> x.
815- rewrite ?(inE, in_fset_set)//; last by apply: finite_setI; left.
815+ rewrite ?(inE, in_fset_set)//; first by apply: finite_setI; left.
816816by apply/idP/andP; rewrite ?inE.
817817Qed .
818818
@@ -825,7 +825,7 @@ Lemma fset_setD {T : choiceType} (A B : set T) :
825825 fset_set (A `\` B) = (fset_set A `\` fset_set B)%fset.
826826Proof .
827827move=> fA fB; apply/fsetP=> x.
828- rewrite ?(inE, in_fset_set)//; last exact: finite_setD.
828+ rewrite ?(inE, in_fset_set)//; first exact: finite_setD.
829829by apply/idP/andP; rewrite ?inE => -[]; rewrite ?notin_setE.
830830Qed .
831831
@@ -894,10 +894,10 @@ Lemma trivIset_sum_card (T : choiceType) (F : nat -> set T) n :
894894 #|` fset_set (\big[setU/set0]_(k < n) F k)|)%N.
895895Proof .
896896move=> finF tF; elim: n => [|n ih]; first by rewrite !big_ord0 fset_set0.
897- rewrite big_ord_recr//= ih big_ord_recr/= fset_setU//; last first .
897+ rewrite big_ord_recr//= ih big_ord_recr/= fset_setU//.
898898 by rewrite -bigcup_mkord; exact: bigcup_finite.
899899rewrite cardfsU [X in (_ - X)%N](_ : _ = O) ?subn0// ?EFinD ?natrD//.
900- apply/eqP; rewrite cardfs_eq0 -fset_setI//; last first .
900+ apply/eqP; rewrite cardfs_eq0 -fset_setI//.
901901 by rewrite -bigcup_mkord; exact: bigcup_finite.
902902rewrite (@trivIset_bigsetUI _ xpredT)// ?fset_set0//.
903903by rewrite [X in trivIset X F](_ : _ = [set: nat])//; exact/seteqP.
@@ -935,7 +935,7 @@ Lemma fset_set_image {T U : choiceType} (f : T -> U) (A : set T) :
935935 finite_set A -> fset_set (f @` A) = (f @` fset_set A)%fset.
936936Proof .
937937move=> Afset; apply/fsetP=> i.
938- rewrite !in_fset_set; last exact: finite_image.
938+ rewrite !in_fset_set; first exact: finite_image.
939939apply/idP/imfsetP; rewrite !inE/=.
940940 by move=> [x Ax <-]; exists x; rewrite ?in_fset_set ?inE.
941941by move=> [x + ->]; rewrite in_fset_set// inE; exists x.
@@ -1068,7 +1068,7 @@ Lemma infinite_set_fset {T : choiceType} (A : set T) n :
10681068Proof .
10691069elim/choicePpointed: T => T in A *; first by rewrite emptyE.
10701070move=> /infiniteP/ppcard_leP[f]; exists (fset_set [set f i | i in `I_n]).
1071- rewrite fset_setK//; last exact: finite_image.
1071+ rewrite fset_setK//; first exact: finite_image.
10721072 by apply: subset_trans (fun_image_sub f); apply: image_subset.
10731073rewrite fset_set_image// card_imfset//= fset_set_II/=.
10741074by rewrite card_imfset//= ?size_enum_ord//; apply: val_inj.
0 commit comments