Skip to content

Commit e5c611b

Browse files
authored
Merge pull request #1915 from proux01/classical-rworder
Port classical and reals to new rewrite goal order
2 parents 92fd159 + 4c04b8a commit e5c611b

16 files changed

Lines changed: 77 additions & 77 deletions

classical/cardinality.v

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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 *)
4242
Set Implicit Arguments.
4343
Unset Strict Implicit.
4444
Unset Printing Implicit Defensive.
@@ -656,7 +656,7 @@ Lemma finite_setX_or T T' (A : set T) (B : set T') :
656656
Proof.
657657
have [->|/set0P[a Aa]] := eqVneq A set0; first by left.
658658
have /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.
660660
by apply/seteqP; split=> [b [[? ?] [? ?] <-//]|b ?]/=; exists (a, b).
661661
Qed.
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.
804804
Proof.
805805
move=> 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.
807807
by apply/idP/orP; rewrite ?inE.
808808
Qed.
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.
813813
Proof.
814814
move=> 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.
816816
by apply/idP/andP; rewrite ?inE.
817817
Qed.
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.
826826
Proof.
827827
move=> 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.
829829
by apply/idP/andP; rewrite ?inE => -[]; rewrite ?notin_setE.
830830
Qed.
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.
895895
Proof.
896896
move=> 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.
899899
rewrite 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.
902902
rewrite (@trivIset_bigsetUI _ xpredT)// ?fset_set0//.
903903
by 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.
936936
Proof.
937937
move=> Afset; apply/fsetP=> i.
938-
rewrite !in_fset_set; last exact: finite_image.
938+
rewrite !in_fset_set; first exact: finite_image.
939939
apply/idP/imfsetP; rewrite !inE/=.
940940
by move=> [x Ax <-]; exists x; rewrite ?in_fset_set ?inE.
941941
by move=> [x + ->]; rewrite in_fset_set// inE; exists x.
@@ -1068,7 +1068,7 @@ Lemma infinite_set_fset {T : choiceType} (A : set T) n :
10681068
Proof.
10691069
elim/choicePpointed: T => T in A *; first by rewrite emptyE.
10701070
move=> /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.
10731073
rewrite fset_set_image// card_imfset//= fset_set_II/=.
10741074
by rewrite card_imfset//= ?size_enum_ord//; apply: val_inj.

classical/classical_orders.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ From mathcomp Require Import functions set_interval.
1818
(* *)
1919
(******************************************************************************)
2020

21-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
21+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
2222
Set Implicit Arguments.
2323
Unset Strict Implicit.
2424
Unset Printing Implicit Defensive.

classical/classical_sets.v

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ From mathcomp Require Import mathcomp_extra boolp wochoice.
217217
(* *)
218218
(******************************************************************************)
219219

220-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
220+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
221221
Set Implicit Arguments.
222222
Unset Strict Implicit.
223223
Unset Printing Implicit Defensive.
@@ -2222,9 +2222,9 @@ Lemma bigcup_pred [T : finType] [U : Type] (P : {pred T}) (f : T -> set U) :
22222222
Proof.
22232223
apply/predeqP => u; split=> [[x Px fxu]|]; first by rewrite (bigD1 x)//; left.
22242224
move=> /mem_set; rewrite (@big_morph _ _ (fun X => u \in X) false orb).
2225-
- by rewrite big_has_cond => /hasP[x _ /andP[xP]]; rewrite inE => ufx; exists x.
22262225
- by move=> /= x y; apply/idP/orP; rewrite !inE.
22272226
- by rewrite in_set0.
2227+
- by rewrite big_has_cond => /hasP[x _ /andP[xP]]; rewrite inE => ufx; exists x.
22282228
Qed.
22292229

22302230
Section smallest.
@@ -3024,7 +3024,7 @@ Proof. by rewrite /supremum eqxx. Qed.
30243024

30253025
Lemma supremum1 x0 x : supremum x0 [set x] = x.
30263026
Proof.
3027-
rewrite /supremum ifF; last first.
3027+
rewrite /supremum ifF.
30283028
by apply/eqP; rewrite predeqE => /(_ x)[+ _]; apply.
30293029
by rewrite supremums1; case: xgetP => // /(_ x) /(_ erefl).
30303030
Qed.

classical/contra.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
From mathcomp Require Import ssreflect ssrfun ssrbool eqtype ssrnat seq.
33
From mathcomp Require Import boolp.
44

5-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
5+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
66
Set Implicit Arguments.
77
Unset Strict Implicit.
88
Unset Printing Implicit Defensive.

classical/filter.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ From mathcomp Require Import cardinality mathcomp_extra fsbigop set_interval.
169169
(* variable *)
170170
(******************************************************************************)
171171

172-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
172+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
173173
Set Implicit Arguments.
174174
Unset Strict Implicit.
175175
Unset Printing Implicit Defensive.
@@ -1419,7 +1419,7 @@ Lemma in_ultra_setVsetC T (F : set_system T) (A : set T) :
14191419
Proof.
14201420
move=> FU; case: (pselect (F (~` A))) => [|nFnA]; first by right.
14211421
left; suff : ProperFilter (filter_from (F `|` [set A `&` B | B in F]) id).
1422-
move=> /max_filter <-; last by move=> B FB; exists B => //; left.
1422+
move=> /max_filter <-; first by move=> B FB; exists B => //; left.
14231423
by exists A => //; right; exists setT; [exact: filterT|rewrite setIT].
14241424
apply: filter_from_proper; last first.
14251425
move=> B [|[C FC <-]]; first exact: filter_ex.

classical/fsbigop.v

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Reserved Notation "\sum_ ( i '\in' A ) F"
2525
(F at level 41, A at level 60,
2626
format "'[' \sum_ ( i '\in' A ) '/ ' F ']'").
2727

28-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
28+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
2929
Set Implicit Arguments.
3030
Unset Strict Implicit.
3131
Unset Printing Implicit Defensive.
@@ -115,7 +115,7 @@ elim/Peq: R => R in idx op f *.
115115
move=> Af; have Afin : finite_set (f @^-1` [set~ idx]).
116116
by apply: (finite_subfset A) => x; apply: contra_notT => /Af.
117117
rewrite [in RHS](big_fsetID _ [pred x | f x == idx])/=.
118-
rewrite [X in _ = op X _]big_fset [X in _ = op X _]big1 ?Monoid.simpm//; last first.
118+
rewrite [X in _ = op X _]big_fset [X in _ = op X _]big1 ?Monoid.simpm//.
119119
by move=> i /= /eqP.
120120
apply eq_fbigl => r.
121121
rewrite in_finite_support// ?setTI// /preimage/=; apply/idP/idP => /=.
@@ -170,7 +170,7 @@ Lemma bigfs (R : Type) (idx : R) (op : Monoid.com_law idx) (T : choiceType)
170170
\big[op/idx]_(i <- r | P i) f i = \big[op/idx]_(i \in [set` P]) f i.
171171
Proof.
172172
move=> r_uniq fidx; rewrite fsbig_mkcond.
173-
rewrite (fsbigTE [fset x | x in r]%fset); last first.
173+
rewrite (fsbigTE [fset x | x in r]%fset).
174174
by move=> i; rewrite inE/= /patch mem_setE; case: ifP=> // + /fidx->.
175175
rewrite -big_mkcond; under [RHS]eq_bigl do rewrite mem_setE.
176176
by apply: perm_big; rewrite uniq_perm// => i; rewrite !inE.
@@ -193,7 +193,7 @@ Lemma fsbig_seq (R : Type) (idx : R) (op : Monoid.com_law idx)
193193
uniq r ->
194194
\big[op/idx]_(a <- r) F a = \big[op/idx]_(a \in [set` r]) F a.
195195
Proof.
196-
move=> ur; rewrite (fsbigE r)//=; last by move=> + ->.
196+
move=> ur; rewrite (fsbigE r)//=; first by move=> + ->.
197197
by rewrite mem_setE big_seq_cond big_mkcondr.
198198
Qed.
199199

@@ -262,9 +262,9 @@ have fsbig_setI C : \big[op/idx]_(i <-
262262
\big[op/idx]_(i \in A `&` C) F i.
263263
apply: eq_fbigl => i /=; apply/idP/idP.
264264
rewrite !inE/= => /andP[+ Bi]; rewrite in_fset_set// inE => -[Ai Fi].
265-
rewrite unlock in_fset_set ?inE// setIAC; first by rewrite inE in Bi.
265+
rewrite unlock in_fset_set ?inE// setIAC; last by rewrite inE in Bi.
266266
exact/finite_setIl.
267-
rewrite unlock in_fset_set; last by rewrite setIAC; exact/finite_setIl.
267+
rewrite unlock in_fset_set; first by rewrite setIAC; exact/finite_setIl.
268268
by rewrite inE => -[[Ai Bi] Fi0]; rewrite !inE/= in_fset_set// !mem_set.
269269
rewrite (big_fsetID _ [pred i | i \in B])/= [locked_with _ _]unlock.
270270
rewrite fsbig_setI; congr (op _ _); rewrite -fsbig_setI.
@@ -289,7 +289,7 @@ Lemma fsbigU (R : Type) (idx : R) (op : Monoid.com_law idx)
289289
\big[op/idx]_(i \in A `|` B) F i =
290290
op (\big[op/idx]_(i \in A) F i) (\big[op/idx]_(i \in B) F i).
291291
Proof.
292-
move=> Afin Bfin AB0; rewrite (fsbigID A) ?finite_setU; last by split.
292+
move=> Afin Bfin AB0; rewrite (fsbigID A) ?finite_setU; first by split.
293293
rewrite setUK -setDE; congr (op _ _); rewrite setDE setIUl setICr set0U.
294294
by apply: fsbig_widen => //; rewrite -setDE setDD setIC.
295295
Qed.
@@ -320,13 +320,13 @@ move=> finF; elim/Peq : R => R in zero times plus a F finF *.
320320
have [->|a0] := eqVneq a zero.
321321
by rewrite Monoid.mul0m fsbig1//; move=> i _; rewrite Monoid.mul0m.
322322
#[warning="deprecated"] (* FIXME *)
323-
rewrite big_distrr [RHS](full_fsbigID (F @^-1` [set zero])); last first.
323+
rewrite big_distrr [RHS](full_fsbigID (F @^-1` [set zero])).
324324
apply: sub_finite_set finF => x /= [Px aFN0].
325325
by split=> //; apply: contra_not aFN0 => ->; rewrite Monoid.simpm.
326326
set b0 := bigop _ _ _.
327327
set b1 := bigop _ _ _.
328328
set b2 := bigop _ _ _.
329-
rewrite (_ : b1 = zero) ?Monoid.simpm; last first.
329+
rewrite (_ : b1 = zero) ?Monoid.simpm.
330330
by rewrite /b1 fsbig1// => i [_ ->]; rewrite Monoid.simpm.
331331
apply/esym/fsbig_fwiden => //.
332332
by move=> x [Px Fx0]; rewrite /= in_finite_support// inE.

classical/functions.v

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ Add Search Blacklist "_mixin_".
130130
(* *)
131131
(******************************************************************************)
132132

133-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
133+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
134134
Set Implicit Arguments.
135135
Unset Strict Implicit.
136136
Unset Printing Implicit Defensive.
@@ -1148,7 +1148,7 @@ Context {f : {inv aT >-> aT}}.
11481148
Lemma some_iter_inv n : olift (iter n f^-1) = 'oinv_(iter n f).
11491149
Proof.
11501150
elim: n => // n IH; rewrite iterfSr olift_comp IH ?oinv_iter -compA.
1151-
rewrite (_ : Some \o f^-1 = 'oinv_f); first by rewrite iterfSr; congr (_ \o _).
1151+
rewrite (_ : Some \o f^-1 = 'oinv_f); last by rewrite iterfSr; congr (_ \o _).
11521152
by apply/funeqP => ? /=; rewrite some_inv.
11531153
Qed.
11541154
HB.instance Definition _ n := OInv_Inv.Build _ _ (iter n f) (some_iter_inv n).
@@ -1331,7 +1331,7 @@ set g := subfun _; set f := subfun _; apply/funext => x /=.
13311331
apply: 'inj_(oapp f x) => //=.
13321332
- by rewrite inE/=; eexists.
13331333
- by rewrite inE/=; apply: 'oinvS_f; exists (g x) => //; apply/val_inj.
1334-
rewrite oinvK ?inE//=; first exact/val_inj.
1334+
rewrite oinvK ?inE//=; last exact/val_inj.
13351335
by exists (g x) => //; apply/val_inj.
13361336
Qed.
13371337
(* Add a Inj_Can factory *)

classical/internal_Eqdep_dec.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ exact (fun Streicher_K p P x =>
7575
Qed.
7676
End Equivalences.
7777

78-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
78+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
7979
Set Implicit Arguments.
8080

8181
Section EqdepDec.

classical/mathcomp_extra.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ From mathcomp Require Import all_ssreflect_compat finmap ssralg ssrnum ssrint.
1515
(* *)
1616
(******************************************************************************)
1717

18-
Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
18+
Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
1919
Set Implicit Arguments.
2020
Unset Strict Implicit.
2121
Unset Printing Implicit Defensive.

classical/set_interval.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ From mathcomp Require Import 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 *)
4242
Set Implicit Arguments.
4343
Unset Strict Implicit.
4444
Unset Printing Implicit Defensive.
@@ -207,7 +207,7 @@ Lemma setUitv_set2 x y b1 b2 :
207207
Proof.
208208
rewrite le_eqVlt => /orP [/eqP->|xy].
209209
by case: b1; case: b2; rewrite !set_itvE !setUid // set0U.
210-
rewrite setUCA setUitv1; last by case: b1; rewrite bnd_simp// ltW.
210+
rewrite setUCA setUitv1; first by case: b1; rewrite bnd_simp// ltW.
211211
by rewrite setU1itv// bnd_simp ltW.
212212
Qed.
213213

0 commit comments

Comments
 (0)