Skip to content

Commit a1e6a5e

Browse files
committed
specialized conjunctions to use less brackets and splits
1 parent d179487 commit a1e6a5e

File tree

5 files changed

+86
-76
lines changed

5 files changed

+86
-76
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,15 @@
1919
+ new lemmas `weak_sep_cvg`, `weak_sep_nbhsE`, `weak_sep_openE`,
2020
`join_product_continuous`, `join_product_open`, `join_product_inj`, and
2121
`join_product_weak`.
22+
- in `boolp.v`:
23+
+ lemma `forallp_asboolPn2`
24+
2225
### Changed
2326

2427
- in `fsbigop.v`:
2528
+ implicits of `eq_fsbigr`
29+
- in `topology.v`:
30+
+ `Topological.ax2`
2631

2732
### Renamed
2833

classical/boolp.v

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -676,6 +676,14 @@ split=> [[x Px NQx] /(_ x Px)//|]; apply: contra_notP => + x Px.
676676
by apply: contra_notP => NQx; exists x.
677677
Qed.
678678

679+
Lemma forallp_asboolPn2 {T} {P Q : T -> Prop} :
680+
reflect (forall x : T, ~ P x \/ ~ Q x) (~~ `[<exists2 x : T, P x & Q x>]).
681+
Proof.
682+
apply: (iffP idP)=> [/asboolPn NP x|NP].
683+
by move/forallPNP : NP => /(_ x)/and_rec/not_andP.
684+
by apply/asboolP=> -[x Px Qx]; have /not_andP := NP x; exact.
685+
Qed.
686+
679687
Module FunOrder.
680688
Section FunOrder.
681689
Import Order.TTheory.

theories/normedtype.v

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3940,26 +3940,26 @@ Qed.
39403940
Lemma nbhs_open_ereal_lt r (f : R -> R) : r < f r ->
39413941
nbhs r%:E [set y | y < (f r)%:E]%E.
39423942
Proof.
3943-
move=> xfx; rewrite nbhsE /=; eexists; split; last by move=> y; exact.
3943+
move=> xfx; rewrite nbhsE /=; eexists; last by move=> y; exact.
39443944
by split; [apply open_ereal_lt_ereal | rewrite /= lte_fin].
39453945
Qed.
39463946

39473947
Lemma nbhs_open_ereal_gt r (f : R -> R) : f r < r ->
39483948
nbhs r%:E [set y | (f r)%:E < y]%E.
39493949
Proof.
3950-
move=> xfx; rewrite nbhsE /=; eexists; split; last by move=> y; exact.
3950+
move=> xfx; rewrite nbhsE /=; eexists; last by move=> y; exact.
39513951
by split; [apply open_ereal_gt_ereal | rewrite /= lte_fin].
39523952
Qed.
39533953

39543954
Lemma nbhs_open_ereal_pinfty r : (nbhs +oo [set y | r%:E < y])%E.
39553955
Proof.
3956-
rewrite nbhsE /=; eexists; split; last by move=> y; exact.
3956+
rewrite nbhsE /=; eexists; last by move=> y; exact.
39573957
by split; [apply open_ereal_gt_ereal | rewrite /= ltry].
39583958
Qed.
39593959

39603960
Lemma nbhs_open_ereal_ninfty r : (nbhs -oo [set y | y < r%:E])%E.
39613961
Proof.
3962-
rewrite nbhsE /=; eexists; split; last by move=> y; exact.
3962+
rewrite nbhsE /=; eexists; last by move=> y; exact.
39633963
by split; [apply open_ereal_lt_ereal | rewrite /= ltNyr].
39643964
Qed.
39653965

@@ -4290,7 +4290,7 @@ move=> oU; have [->|U0] := eqVneq U set0.
42904290
apply/seteqP; split=> [x Ux|x [p _ Ipx]]; last exact: bigcup_ointsub_sub Ipx.
42914291
suff [q Iqx] : exists q, bigcup_ointsub U q x.
42924292
by exists q => //=; rewrite in_setE; case: Iqx => A [[_ _ +] ? _]; exact.
4293-
have : nbhs x U by rewrite nbhsE /=; exists U; split => //.
4293+
have : nbhs x U by rewrite nbhsE /=; exists U.
42944294
rewrite -nbhs_ballE /nbhs_ball /nbhs_ball_ => -[_/posnumP[r] xrU].
42954295
have /rat_in_itvoo[q qxxr] : (x - r%:num < x + r%:num)%R.
42964296
by rewrite ltr_subl_addr -addrA ltr_addl.
@@ -4804,7 +4804,7 @@ move=> C D FC f_D; have {}f_D :
48044804
have exPj : forall j, exists Bj, open_nbhs (f j) Bj /\ Bj `<=` E ord0 j.
48054805
move=> j; have := f_E ord0 j; rewrite nbhsE => - [Bj].
48064806
by rewrite row_simpl'; exists Bj.
4807-
exists [set g | forall j, (get (Pj j)) (g j)]; split; last first.
4807+
exists [set g | forall j, (get (Pj j)) (g j)]; last first.
48084808
move=> g Pg; apply: sED => i j; rewrite ord1 row_simpl'.
48094809
by have /getPex [_ /(_ _ (Pg j))] := exPj j.
48104810
split; last by move=> j; have /getPex [[]] := exPj j.

theories/sequences.v

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1282,8 +1282,7 @@ Lemma cvg_nseries_near (u : nat^nat) : cvg (nseries u) ->
12821282
\forall n \near \oo, u n = 0%N.
12831283
Proof.
12841284
move=> /cvg_ex[l ul]; have /ul[a _ aul] : nbhs l [set l].
1285-
exists [set l]; split; last by split.
1286-
by exists [set l] => //; rewrite bigcup_set1.
1285+
by exists [set l]; split=> //; exists [set l] => //; rewrite bigcup_set1.
12871286
have /ul[b _ bul] : nbhs l [set l.-1; l].
12881287
by exists [set l]; split => //; exists [set l] => //; rewrite bigcup_set1.
12891288
exists (maxn a b) => // n /= abn.

0 commit comments

Comments
 (0)