Skip to content

Commit 2388ef3

Browse files
committed
wip entourage evt
1 parent bf29d22 commit 2388ef3

1 file changed

Lines changed: 44 additions & 18 deletions

File tree

theories/evt.v

Lines changed: 44 additions & 18 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.
@@ -156,26 +169,39 @@ Lemma nbhsE_subproof : nbhs = nbhs_ entourage.
156169
Proof.
157170
rewrite /nbhs_ /=; apply: funext => x; rewrite /filter_from /=.
158171
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.
172+
pose V := [set v | (x-v) \in U] : set E.
173+
move=> nU; exists [set xy | (xy.1 - xy.2) \in V].
174+
exists V;split.
175+
have lem: (-1 != (0 : R)).
176+
(* apply/eqP=> A. apply (f_equal (fun (z :R) => z + 1)) in A.
177+
move: A. rewrite addrC subrr add0r; apply/eqP.
178+
move:(oner_eq0 R). rewrite (eqC 1 0). *)
179+
admit.
180+
move: (nbhs_add (x) (nbhs_scaler lem nU))=> /=.
181+
rewrite scaleN1r subrr /= /V.
182+
have -> : [set (x + x0)%E | x0 in [set -1 *: x | x in U]]
183+
= [set v | x - v \in U].
184+
apply: funext => /= v /=; rewrite inE; apply: propext; split.
185+
by move => [x0 [x1]] Ux1 <- <-; rewrite scaleN1r opprB addrCA subrr addr0.
186+
move=> Uxy. exists (v - x). exists (x -v) => //.
187+
by rewrite scaleN1r opprB.
188+
by rewrite addrCA subrr addr0 //.
189+
by [].
190+
by move=> xy; rewrite !inE=> Vxy; rewrite /= !inE.
191+
by move=> y; rewrite /V /= !inE /= opprB addrCA subrr addr0 inE.
169192
move=> [A [U0 [NU UA]] H].
170193
near=> z; apply: H => /=; rewrite -inE; apply: UA => /=.
171194
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.
195+
have lem: (-1 != (0 : R)). admit.
196+
move: (nbhsT x (nbhs0_scaler lem NU))=> /=.
197+
have -> :
198+
[set (x + x0)%E | x0 in [set -1 *: x | x in U0]] = (fun x0 : E => x - x0 \in U0).
199+
apply:funext => /= z /=; apply: propext; split.
200+
move=> [x0] [x1 Ux1 <-] <-.
201+
rewrite -opprB. rewrite addrAC subrr add0r inE scaleN1r opprK //.
202+
rewrite inE => Uxz. exists (z-x). exists (x-z) => //.
203+
by rewrite scalerBr !scaleN1r opprK addrC.
204+
by rewrite addrCA subrr addr0.
179205
by [].
180206
Admitted.
181207

0 commit comments

Comments
 (0)