@@ -2974,7 +2974,7 @@ End adjacent_cut.
29742974
29752975Section finite_range_sequence_constant.
29762976
2977- Lemma finite_range_cst {T} (u_ : T^nat) : finite_set (range u_) ->
2977+ Lemma finite_range_cst_subsequence {T} (u_ : T^nat) : finite_set (range u_) ->
29782978 exists x, exists2 A, infinite_set A & (forall k, A k <-> u_ k = x).
29792979Proof .
29802980move=> range_u_finite; pose A x := u_ @^-1` [set x].
@@ -2987,7 +2987,8 @@ Qed.
29872987
29882988Lemma infinite_increasing_seq {d} {T : porderType d} (A : set T) :
29892989 (forall x, infinite_set [set y | A y /\ (x < y)%O]) ->
2990- forall x0 : T, exists f, [/\ increasing_seq f, forall n : nat, (x0 < f n)%O & forall n, A (f n)].
2990+ forall x0 : T, exists f : nat -> T,
2991+ [/\ increasing_seq f, forall n : nat, (x0 < f n)%O & forall n, A (f n)].
29912992Proof .
29922993pose R (x y : T) := A y /\ (x < y)%O => Roo x0.
29932994have [x|f [f0 /all_and2[fA fS]]] := @dependent_choice T R _ x0.
@@ -2998,17 +2999,19 @@ Qed.
29982999
29993000Lemma infinite_increasing_seq_wf {d} {T : orderType d} (A : set T) :
30003001 (forall x : T, finite_set [set y | (y <= x)%O]) -> infinite_set A ->
3001- forall x0 : T, exists f, [/\ increasing_seq f, forall n : nat, (x0 < f n)%O & forall n, A (f n)].
3002+ forall x0 : T, exists f : nat -> T,
3003+ [/\ increasing_seq f, forall n, (x0 < f n)%O & forall n, A (f n)].
30023004Proof .
3003- move=> Dfin Aoo; apply: infinite_increasing_seq => x; apply: infinite_setIl => //.
3005+ move=> Dfin Aoo; apply: infinite_increasing_seq => x.
3006+ apply: infinite_setIl => //.
30043007by apply: sub_finite_set (Dfin x) => y /=; case: leP.
30053008Qed .
30063009
3007- Lemma finite_range_cvg {T : ptopologicalType} (x_ : T ^nat) :
3010+ Lemma finite_range_cvg_subsequence {T : ptopologicalType} (x_ : T ^nat) :
30083011 finite_set (range x_) ->
30093012 exists2 f : nat -> nat, increasing_seq f & cvgn (x_ \o f).
30103013Proof .
3011- move=> /finite_range_cst [x [A Aoo Ax_]].
3014+ move=> /finite_range_cst_subsequence [x [A Aoo Ax_]].
30123015have /= [|f [fincr _ Af]] := infinite_increasing_seq_wf _ Aoo 0.
30133016 by move=> n; apply: sub_finite_set (finite_II n.+1) => m /=.
30143017exists f => //=; suff -> : x_ \o f = fun=> x by apply: is_cvg_cst.
@@ -3024,7 +3027,7 @@ move=> bnd_u; set U := range u_.
30243027have bndU : bounded_set U.
30253028 case: bnd_u => N [Nreal Nu_].
30263029 by exists N; split => // x /Nu_ {}Nu_ /= y [x0 _ <-]; exact: Nu_.
3027- have [/finite_range_cvg //|infU] := pselect (finite_set U).
3030+ have [/finite_range_cvg_subsequence //|infU] := pselect (finite_set U).
30283031have [/= l Ul] := infinite_bounded_limit_point_nonempty infU bndU.
30293032have x_l := limit_point_cluster_eventually Ul.
30303033have [+ _] := cluster_eventually_cvg u_ l.
0 commit comments