Documentation

Mathlib.Topology.Algebra.SeparationQuotient.Basic

Algebraic operations on SeparationQuotient #

In this file we define algebraic operations (multiplication, addition etc) on the separation quotient of a topological space with corresponding operation, provided that the original operation is continuous.

We also prove continuity of these operations and show that they satisfy the same kind of laws (Monoid etc) as the original ones.

Finally, we construct a section of the quotient map which is a continuous linear map SeparationQuotient E โ†’L[K] E.

@[implicit_reducible]
instance SeparationQuotient.instSMul {M : Type u_1} {X : Type u_2} [TopologicalSpace X] [SMul M X] [ContinuousConstSMul M X] :
@[implicit_reducible]
@[simp]
theorem SeparationQuotient.mk_smul {M : Type u_1} {X : Type u_2} [TopologicalSpace X] [SMul M X] [ContinuousConstSMul M X] (c : M) (x : X) :
mk (c โ€ข x) = c โ€ข mk x
@[simp]
theorem SeparationQuotient.mk_vadd {M : Type u_1} {X : Type u_2} [TopologicalSpace X] [VAdd M X] [ContinuousConstVAdd M X] (c : M) (x : X) :
instance SeparationQuotient.instIsScalarTower {M : Type u_1} {X : Type u_2} [TopologicalSpace X] [SMul M X] [ContinuousConstSMul M X] {N : Type u_3} [SMul N X] [SMul M N] [ContinuousConstSMul N X] [IsScalarTower M N X] :
@[implicit_reducible]
@[implicit_reducible]
@[simp]
theorem SeparationQuotient.mk_mul {M : Type u_1} [TopologicalSpace M] [Mul M] [ContinuousMul M] (a b : M) :
mk (a * b) = mk a * mk b
@[simp]
theorem SeparationQuotient.mk_add {M : Type u_1} [TopologicalSpace M] [Add M] [ContinuousAdd M] (a b : M) :
mk (a + b) = mk a + mk b
@[simp]
theorem SeparationQuotient.mkMonoidHom_apply {M : Type u_1} [TopologicalSpace M] [MulOneClass M] [ContinuousMul M] (aโœ : M) :
mkMonoidHom aโœ = mk aโœ
@[implicit_reducible]
@[implicit_reducible]
@[simp]
theorem SeparationQuotient.mk_pow {M : Type u_1} [TopologicalSpace M] [Monoid M] [ContinuousMul M] (x : M) (n : โ„•) :
mk (x ^ n) = mk x ^ n
theorem SeparationQuotient.mk_nsmul {M : Type u_1} [TopologicalSpace M] [AddMonoid M] [ContinuousAdd M] (x : M) (n : โ„•) :
mk (n โ€ข x) = n โ€ข mk x
@[implicit_reducible]
@[implicit_reducible]
@[simp]
theorem SeparationQuotient.mk_neg {G : Type u_1} [TopologicalSpace G] [Neg G] [ContinuousNeg G] (x : G) :
mk (-x) = -mk x
@[implicit_reducible]
@[implicit_reducible]
@[simp]
theorem SeparationQuotient.mk_div {G : Type u_1} [TopologicalSpace G] [Div G] [ContinuousDiv G] (x y : G) :
mk (x / y) = mk x / mk y
@[simp]
theorem SeparationQuotient.mk_sub {G : Type u_1} [TopologicalSpace G] [Sub G] [ContinuousSub G] (x y : G) :
mk (x - y) = mk x - mk y
@[implicit_reducible]
@[simp]
theorem SeparationQuotient.mk_zpow {G : Type u_1} [TopologicalSpace G] [Group G] [IsTopologicalGroup G] (x : G) (n : โ„ค) :
mk (x ^ n) = mk x ^ n
theorem SeparationQuotient.mk_zsmul {G : Type u_1} [TopologicalSpace G] [AddGroup G] [IsTopologicalAddGroup G] (x : G) (n : โ„ค) :
mk (n โ€ข x) = n โ€ข mk x
@[implicit_reducible]
instance SeparationQuotient.instMulZeroClass {Mโ‚€ : Type u_1} [TopologicalSpace Mโ‚€] [MulZeroClass Mโ‚€] [ContinuousMul Mโ‚€] :
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
instance SeparationQuotient.instNatCast {R : Type u_1} [TopologicalSpace R] [NatCast R] :
NatCast (SeparationQuotient R)
@[simp]
theorem SeparationQuotient.mk_natCast {R : Type u_1} [TopologicalSpace R] [NatCast R] (n : โ„•) :
mk โ†‘n = โ†‘n
@[simp]
theorem SeparationQuotient.mk_ofNat {R : Type u_1} [TopologicalSpace R] [NatCast R] (n : โ„•) [n.AtLeastTwo] :
mk (OfNat.ofNat n) = OfNat.ofNat n
@[implicit_reducible]
instance SeparationQuotient.instIntCast {R : Type u_1} [TopologicalSpace R] [IntCast R] :
IntCast (SeparationQuotient R)
@[simp]
theorem SeparationQuotient.mk_intCast {R : Type u_1} [TopologicalSpace R] [IntCast R] (n : โ„ค) :
mk โ†‘n = โ†‘n
@[simp]
theorem SeparationQuotient.mkCLM_apply (R : Type u_1) (M : Type u_3) [Semiring R] [AddCommMonoid M] [Module R M] [TopologicalSpace M] [ContinuousAdd M] [ContinuousConstSMul R M] (aโœ : M) :
(mkCLM R M) aโœ = mk aโœ
noncomputable def SeparationQuotient.liftCLM {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] [TopologicalSpace M] [ContinuousAdd M] [ContinuousConstSMul R M] [Semiring S] [AddCommMonoid N] [Module S N] [TopologicalSpace N] {ฯƒ : R โ†’+* S} (f : M โ†’SL[ฯƒ] N) (hf : โˆ€ (x y : M), Inseparable x y โ†’ f x = f y) :

The lift (as a continuous linear map) of f with f x = f y for Inseparable x y.

Instances For
    @[simp]
    theorem SeparationQuotient.liftCLM_apply {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] [TopologicalSpace M] [ContinuousAdd M] [ContinuousConstSMul R M] [Semiring S] [AddCommMonoid N] [Module S N] [TopologicalSpace N] {ฯƒ : R โ†’+* S} (f : M โ†’SL[ฯƒ] N) (hf : โˆ€ (x y : M), Inseparable x y โ†’ f x = f y) (aโœ : SeparationQuotient M) :
    (liftCLM f hf) aโœ = lift (โ‡‘f) hf aโœ
    @[simp]
    theorem SeparationQuotient.liftCLM_mk {R : Type u_1} {S : Type u_2} {M : Type u_3} {N : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] [TopologicalSpace M] [ContinuousAdd M] [ContinuousConstSMul R M] [Semiring S] [AddCommMonoid N] [Module S N] [TopologicalSpace N] {ฯƒ : R โ†’+* S} (f : M โ†’SL[ฯƒ] N) (hf : โˆ€ (x y : M), Inseparable x y โ†’ f x = f y) (x : M) :
    (liftCLM f hf) (mk x) = f x