Skip to content

Commit c172124

Browse files
committed
wip entourage evt
1 parent bf29d22 commit c172124

1 file changed

Lines changed: 42 additions & 20 deletions

File tree

theories/evt.v

Lines changed: 42 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,20 @@ HB.builders Context R E of TopologicalLmod_isEvt R E.
100100
Unshelve. all: by end_near.
101101
Qed.
102102

103-
103+
Lemma nbhs_scaler: forall (U : set E) (r : R) (x :E), (
104+
r != 0) -> nbhs x U -> nbhs (r *:x) ( *:%R r @` U).
105+
Proof.
106+
move => U r x r0 U0; move: (@scale_continuous ((r^-1,r *:x)) U).
107+
rewrite /= scalerA mulrC divrr ?scale1r ?unitfE //= =>/(_ U0).
108+
case=>//= [B] [B1 B2] BU.
109+
near=> z => //=.
110+
exists (r^-1*:z).
111+
apply: (BU (r^-1,z)); split => //=; last by near: z.
112+
by apply: nbhs_singleton.
113+
by rewrite scalerA divrr ?scale1r ?unitfE //=.
114+
Unshelve. all: by end_near.
115+
Qed.
116+
104117
Lemma nbhsT: forall (U : set E), forall (x : E), nbhs 0 U -> nbhs x (+%R x @`U).
105118
Proof.
106119
move => U x U0.
@@ -154,30 +167,39 @@ HB.builders Context R E of TopologicalLmod_isEvt R E.
154167

155168
Lemma nbhsE_subproof : nbhs = nbhs_ entourage.
156169
Proof.
170+
have lem: (-1 != (0 : R)) by rewrite oppr_eq0 oner_eq0.
157171
rewrite /nbhs_ /=; apply: funext => x; rewrite /filter_from /=.
158172
apply: funext => U; apply: propext => /=; rewrite /entourage /=; split.
159-
move=> nU; exists [set xy | U(x + (xy.1 - xy.2))].
160-
exists ((fun z => z-x) @` U); split.
161-
rewrite -(addrN x) addrC; move: (nbhs_add (-x) nU).
162-
have -> : [set ((- x)%R + x0)%E | x0 in U] = [set z - x | z in U].
163-
apply: funext => z /=; apply: propext; split;
164-
by move=> [x0 U0]; rewrite addrC=> H; exists x0.
165-
by [].
166-
move => xy; rewrite !inE /= => [[z] Uz ] <-.
167-
by rewrite addrCA subrr addr0.
168-
move => /= z. (*issue*) admit.
173+
pose V := [set v | (x-v) \in U] : set E.
174+
move=> nU; exists [set xy | (xy.1 - xy.2) \in V].
175+
exists V;split.
176+
move: (nbhs_add (x) (nbhs_scaler lem nU))=> /=.
177+
rewrite scaleN1r subrr /= /V.
178+
have -> : [set (x + x0)%E | x0 in [set -1 *: x | x in U]]
179+
= [set v | x - v \in U].
180+
apply: funext => /= v /=; rewrite inE; apply: propext; split.
181+
by move => [x0 [x1]] Ux1 <- <-; rewrite scaleN1r opprB addrCA subrr addr0.
182+
move=> Uxy. exists (v - x). exists (x -v) => //.
183+
by rewrite scaleN1r opprB.
184+
by rewrite addrCA subrr addr0 //.
185+
by [].
186+
by move=> xy; rewrite !inE=> Vxy; rewrite /= !inE.
187+
by move=> y; rewrite /V /= !inE /= opprB addrCA subrr addr0 inE.
169188
move=> [A [U0 [NU UA]] H].
170189
near=> z; apply: H => /=; rewrite -inE; apply: UA => /=.
171190
near: z; rewrite nearE.
172-
move: (nbhsT x NU)=> /=.
173-
have -> : [set (x + x0)%E | x0 in U0] = (fun x0 : E => x - x0 \in U0).
174-
apply:funext => z /=; rewrite inE; apply: propext; split.
175-
move=> [x0 H <-]; rewrite -opprB -addrAC addrN add0r.
176-
admit (*issue*).
177-
move=> Uxz; exists (z-x). admit (*issue*).
178-
by rewrite addrCA subrr addr0.
191+
move: (nbhsT x (nbhs0_scaler lem NU))=> /=.
192+
have -> :
193+
[set (x + x0)%E | x0 in [set -1 *: x | x in U0]] = (fun x0 : E => x - x0 \in U0).
194+
apply:funext => /= z /=; apply: propext; split.
195+
move=> [x0] [x1 Ux1 <-] <-.
196+
rewrite -opprB. rewrite addrAC subrr add0r inE scaleN1r opprK //.
197+
rewrite inE => Uxz. exists (z-x). exists (x-z) => //.
198+
by rewrite scalerBr !scaleN1r opprK addrC.
199+
by rewrite addrCA subrr addr0.
179200
by [].
180-
Admitted.
201+
Unshelve. all: by end_near.
202+
Qed.
181203

182204
HB.instance Definition _ := Nbhs_isUniform_mixin.Build E
183205
entourage_filter entourage_refl_subproof
@@ -203,7 +225,7 @@ Lemma add_continuousE (R : numDomainType) (E : evtType R):
203225
continuous (fun (xy : E*E )=> xy.1 + xy.2).
204226
Proof.
205227
apply: add_continuous.
206-
Admitted.
228+
Qed.
207229

208230
End bacasable.
209231

0 commit comments

Comments
 (0)