Skip to content

Commit b222a9f

Browse files
committed
test substructures
1 parent debe087 commit b222a9f

1 file changed

Lines changed: 45 additions & 8 deletions

File tree

  • theories/normedtype_theory

theories/normedtype_theory/tvs.v

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ HB.mixin Record Uniform_isConvexTvs (R : numDomainType) E
339339
(forall b, b \in B -> convex_set b) & basis B
340340
}.
341341

342-
#[short(type="ctvsType")]
342+
#[short(type="convextvsType")]
343343
HB.structure Definition ConvexTvs (R : numDomainType) :=
344344
{E of Uniform_isConvexTvs R E & Uniform E & TopologicalLmodule R E}.
345345

@@ -379,15 +379,15 @@ Unshelve. all: by end_near. Qed.
379379

380380
End properties_of_topologicalLmodule.
381381

382-
HB.factory Record TopologicalLmod_isConvexTvs (R : numDomainType) E
382+
HB.factory Record PreTopologicalLmod_isConvexTvs (R : numDomainType) E
383383
& Topological E & GRing.Lmodule R E := {
384384
add_continuous : continuous (fun x : E * E => x.1 + x.2) ;
385385
scale_continuous : continuous (fun z : R^o * E => z.1 *: z.2) ;
386386
locally_convex : exists2 B : set_system E,
387387
(forall b, b \in B -> convex_set b) & basis B
388388
}.
389389

390-
HB.builders Context R E & TopologicalLmod_isConvexTvs R E.
390+
HB.builders Context R E & PreTopologicalLmod_isConvexTvs R E.
391391

392392
Definition entourage : set_system (E * E) :=
393393
fun P => exists (U : set E), nbhs (0 : E) U /\
@@ -477,7 +477,7 @@ HB.instance Definition _ := Nbhs_isUniform_mixin.Build E
477477
HB.end.
478478

479479
Section Tvs_numDomain.
480-
Context (R : numDomainType) (E : ctvsType R) (U : set E).
480+
Context (R : numDomainType) (E : convextvsType R) (U : set E).
481481

482482
Lemma nbhs0N : nbhs 0 U -> nbhs 0 (-%R @` U).
483483
Proof. exact/nbhs0N_subproof/scale_continuous. Qed.
@@ -492,7 +492,7 @@ End Tvs_numDomain.
492492

493493
Section Tvs_numField.
494494

495-
Lemma nbhs0Z (R : numFieldType) (E : ctvsType R) (U : set E) (r : R) :
495+
Lemma nbhs0Z (R : numFieldType) (E : convextvsType R) (U : set E) (r : R) :
496496
r != 0 -> nbhs 0 U -> nbhs 0 ( *:%R r @` U ).
497497
Proof.
498498
move=> r0 U0; have /= := scale_continuous (r^-1, 0) U.
@@ -501,7 +501,7 @@ near=> x => //=; exists (r^-1 *: x); last by rewrite scalerA divff// scale1r.
501501
by apply: (BU (r^-1, x)); split => //=;[exact: nbhs_singleton|near: x].
502502
Unshelve. all: by end_near. Qed.
503503

504-
Lemma nbhsZ (R : numFieldType) (E : ctvsType R) (U : set E) (r : R) (x :E) :
504+
Lemma nbhsZ (R : numFieldType) (E : convextvsType R) (U : set E) (r : R) (x :E) :
505505
r != 0 -> nbhs x U -> nbhs (r *:x) ( *:%R r @` U ).
506506
Proof.
507507
move=> r0 U0; have /= := scale_continuous ((r^-1, r *: x)) U.
@@ -568,7 +568,7 @@ HB.instance Definition _ := Uniform_isConvexTvs.Build R R^o
568568
End standard_topology.
569569

570570
Section prod_Tvs.
571-
Context (K : numFieldType) (E F : ctvsType K).
571+
Context (K : numFieldType) (E F : convextvsType K).
572572

573573
Local Lemma prod_add_continuous :
574574
continuous (fun x : (E * F) * (E * F) => x.1 + x.2).
@@ -741,7 +741,7 @@ HB.instance Definition _ := @isLinearContinuous.Build R E S s (g \o f)
741741
End lcfun_comp.
742742

743743
Section lcfun_lmodtype.
744-
Context {R : numFieldType} {E F G: ctvsType R}.
744+
Context {R : numFieldType} {E F G: convextvsType R}.
745745
(* {s : GRing.Scale.law R F}. *)
746746

747747
Implicit Types (r : R) (f g : {linear_continuous E -> F}) (h : {linear_continuous F -> G}).
@@ -855,8 +855,45 @@ HB.instance Definition _ :=
855855
Check ({linear_continuous E -> F} : lmodType R).
856856
End lcfun_lmodtype.
857857

858+
859+
Section Substructures.
860+
Context (R: numFieldType) (V : convextvsType R).
861+
Variable (A : pred V).
862+
863+
(*HB.instance Definition _ := GRing.Lmodule.on (subspace A).*)
864+
865+
HB.instance Definition _ := ConvexTvs.on (subspace A).
866+
867+
Check {linear_continuous (subspace A) -> R^o}.
868+
869+
End Substructures.
870+
871+
Module shouldnotwork.
872+
#[short(type="subConvextvsType")]
873+
HB.structure Definition SubConvexTvs (R : numDomainType) (V : convextvsType R)
874+
(S : pred V) :=
875+
{ W of @GRing.SubLmodule R V S W (*& Subspace S W *) &
876+
@PreTopologicalLmod_isConvexTvs R W}.
877+
878+
Section testsub.
879+
Context (R : numDomainType) (V : convextvsType R) (W : subConvextvsType V).
880+
881+
Check (W : topologicalType). (* What is this topology *)
882+
883+
Lemma cval : continuous (val : W -> V).
884+
Proof.
885+
apply/continuousP => A oA.
886+
Abort.
887+
888+
End testsub.
889+
End shouldnotwork.
890+
891+
858892
(* make use of {family fam, U -> V} *)
859893

894+
895+
896+
860897
Section test.
861898

862899
Import GRing.

0 commit comments

Comments
 (0)