Algebraic structure on locally constant functions #
This file puts algebraic structure (Group
, AddGroup
, etc)
on the type of locally constant functions.
Equations
- LocallyConstant.instZeroLocallyConstant = { zero := LocallyConstant.const X 0 }
Equations
- LocallyConstant.instOneLocallyConstant = { one := LocallyConstant.const X 1 }
Equations
- LocallyConstant.instNegLocallyConstant = { neg := fun (f : LocallyConstant X Y) => { toFun := -⇑f, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instInvLocallyConstant = { inv := fun (f : LocallyConstant X Y) => { toFun := (⇑f)⁻¹, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instAddLocallyConstant = { add := fun (f g : LocallyConstant X Y) => { toFun := ⇑f + ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instMulLocallyConstant = { mul := fun (f g : LocallyConstant X Y) => { toFun := ⇑f * ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instAddZeroClassLocallyConstant = Function.Injective.addZeroClass DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMulOneClassLocallyConstant = Function.Injective.mulOneClass DFunLike.coe ⋯ ⋯ ⋯
DFunLike.coe
as an AddMonoidHom
.
Equations
- LocallyConstant.coeFnAddMonoidHom = { toZeroHom := { toFun := DFunLike.coe, map_zero' := ⋯ }, map_add' := ⋯ }
Instances For
DFunLike.coe
as a MonoidHom
.
Equations
- LocallyConstant.coeFnMonoidHom = { toOneHom := { toFun := DFunLike.coe, map_one' := ⋯ }, map_mul' := ⋯ }
Instances For
The constant-function embedding, as an additive monoid hom.
Equations
- LocallyConstant.constAddMonoidHom = { toZeroHom := { toFun := LocallyConstant.const X, map_zero' := ⋯ }, map_add' := ⋯ }
Instances For
The constant-function embedding, as a multiplicative monoid hom.
Equations
- LocallyConstant.constMonoidHom = { toOneHom := { toFun := LocallyConstant.const X, map_one' := ⋯ }, map_mul' := ⋯ }
Instances For
Equations
- LocallyConstant.instMulZeroClassLocallyConstant = Function.Injective.mulZeroClass DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMulZeroOneClassLocallyConstant = Function.Injective.mulZeroOneClass DFunLike.coe ⋯ ⋯ ⋯ ⋯
Characteristic functions are locally constant functions taking x : X
to 1
if x ∈ U
,
where U
is a clopen set, and 0
otherwise.
Equations
- LocallyConstant.charFn Y hU = LocallyConstant.indicator 1 hU
Instances For
Equations
- LocallyConstant.instSubLocallyConstant = { sub := fun (f g : LocallyConstant X Y) => { toFun := ⇑f - ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instDivLocallyConstant = { div := fun (f g : LocallyConstant X Y) => { toFun := ⇑f / ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instAddSemigroupLocallyConstant = Function.Injective.addSemigroup DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instSemigroupLocallyConstant = Function.Injective.semigroup DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instSemigroupWithZeroLocallyConstant = Function.Injective.semigroupWithZero DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddCommSemigroupLocallyConstant = Function.Injective.addCommSemigroup DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instCommSemigroupLocallyConstant = Function.Injective.commSemigroup DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.vadd = { vadd := fun (n : α) (f : LocallyConstant X Y) => LocallyConstant.map (fun (x : Y) => n +ᵥ x) f }
Equations
- LocallyConstant.smul = { smul := fun (n : α) (f : LocallyConstant X Y) => LocallyConstant.map (fun (x : Y) => n • x) f }
Equations
- LocallyConstant.instPowLocallyConstant = { pow := fun (f : LocallyConstant X Y) (n : α) => LocallyConstant.map (fun (x : Y) => x ^ n) f }
Equations
- LocallyConstant.instAddMonoidLocallyConstant = Function.Injective.addMonoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMonoidLocallyConstant = Function.Injective.monoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNatCastLocallyConstant = { natCast := fun (n : ℕ) => LocallyConstant.const X ↑n }
Equations
- LocallyConstant.instIntCastLocallyConstant = { intCast := fun (n : ℤ) => LocallyConstant.const X ↑n }
Equations
- LocallyConstant.instAddMonoidWithOneLocallyConstant = Function.Injective.addMonoidWithOne DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddCommMonoidLocallyConstant = Function.Injective.addCommMonoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommMonoidLocallyConstant = Function.Injective.commMonoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddGroupLocallyConstant = Function.Injective.addGroup DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instGroupLocallyConstant = Function.Injective.group DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddCommGroupLocallyConstant = Function.Injective.addCommGroup DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommGroupLocallyConstant = Function.Injective.commGroup DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instDistribLocallyConstant = Function.Injective.distrib DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalNonAssocSemiringLocallyConstant = Function.Injective.nonUnitalNonAssocSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalSemiringLocallyConstant = Function.Injective.nonUnitalSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonAssocSemiringLocallyConstant = Function.Injective.nonAssocSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The constant-function embedding, as a ring hom.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LocallyConstant.instSemiringLocallyConstant = Function.Injective.semiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalCommSemiringLocallyConstant = Function.Injective.nonUnitalCommSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommSemiringLocallyConstant = Function.Injective.commSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalNonAssocRingLocallyConstant = Function.Injective.nonUnitalNonAssocRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalRingLocallyConstant = Function.Injective.nonUnitalRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonAssocRingLocallyConstant = Function.Injective.nonAssocRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instRingLocallyConstant = Function.Injective.ring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalCommRingLocallyConstant = Function.Injective.nonUnitalCommRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommRingLocallyConstant = Function.Injective.commRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMulActionLocallyConstant = Function.Injective.mulAction DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instDistribMulActionLocallyConstantInstAddMonoidLocallyConstant = Function.Injective.distribMulAction LocallyConstant.coeFnAddMonoidHom ⋯ ⋯
Equations
- LocallyConstant.instModuleLocallyConstantInstAddCommMonoidLocallyConstant = Function.Injective.module R LocallyConstant.coeFnAddMonoidHom ⋯ ⋯
Equations
- LocallyConstant.instAlgebraLocallyConstantInstSemiringLocallyConstant = Algebra.mk (RingHom.comp LocallyConstant.constRingHom (algebraMap R Y)) ⋯ ⋯
DFunLike.coe
as a RingHom
.
Equations
- LocallyConstant.coeFnRingHom = let __spread.0 := LocallyConstant.coeFnAddMonoidHom; { toMonoidHom := LocallyConstant.coeFnMonoidHom, map_zero' := ⋯, map_add' := ⋯ }
Instances For
DFunLike.coe
as a linear map.
Equations
- LocallyConstant.coeFnₗ R = { toAddHom := ↑LocallyConstant.coeFnAddMonoidHom, map_smul' := ⋯ }
Instances For
DFunLike.coe
as an AlgHom
.
Equations
- LocallyConstant.coeFnAlgHom R = { toRingHom := LocallyConstant.coeFnRingHom, commutes' := ⋯ }
Instances For
Evaluation as an AddMonoidHom
Equations
- LocallyConstant.evalAddMonoidHom x = AddMonoidHom.comp (Pi.evalAddMonoidHom (fun (a : X) => Y) x) LocallyConstant.coeFnAddMonoidHom
Instances For
Evaluation as a MonoidHom
Equations
- LocallyConstant.evalMonoidHom x = MonoidHom.comp (Pi.evalMonoidHom (fun (a : X) => Y) x) LocallyConstant.coeFnMonoidHom
Instances For
Evaluation as a linear map
Equations
Instances For
Evaluation as a RingHom
Equations
- LocallyConstant.evalRingHom x = RingHom.comp (Pi.evalRingHom (fun (a : X) => Y) x) LocallyConstant.coeFnRingHom
Instances For
Evaluation as an AlgHom
Equations
- LocallyConstant.evalₐ R x = AlgHom.comp (Pi.evalAlgHom R (fun (a : X) => Y) x) (LocallyConstant.coeFnAlgHom R)
Instances For
LocallyConstant.comap
as an AddHom
.
Equations
- LocallyConstant.comapAddHom f hf = { toFun := LocallyConstant.comap f, map_add' := ⋯ }
Instances For
LocallyConstant.comap
as a MulHom
.
Equations
- LocallyConstant.comapMulHom f hf = { toFun := LocallyConstant.comap f, map_mul' := ⋯ }
Instances For
LocallyConstant.comap
as an AddMonoidHom
.
Equations
- LocallyConstant.comapAddMonoidHom f hf = { toZeroHom := { toFun := LocallyConstant.comap f, map_zero' := ⋯ }, map_add' := ⋯ }
Instances For
LocallyConstant.comap
as a MonoidHom
.
Equations
- LocallyConstant.comapMonoidHom f hf = { toOneHom := { toFun := LocallyConstant.comap f, map_one' := ⋯ }, map_mul' := ⋯ }
Instances For
LocallyConstant.comap
as a linear map.
Equations
- LocallyConstant.comapₗ R f hf = { toAddHom := { toFun := LocallyConstant.comap f, map_add' := ⋯ }, map_smul' := ⋯ }
Instances For
LocallyConstant.comap
as a RingHom
.
Equations
- LocallyConstant.comapRingHom f hf = let __spread.0 := LocallyConstant.comapAddMonoidHom f hf; { toMonoidHom := LocallyConstant.comapMonoidHom f hf, map_zero' := ⋯, map_add' := ⋯ }
Instances For
LocallyConstant.comap
as an AlgHom
Equations
- LocallyConstant.comapₐ R f hf = { toRingHom := LocallyConstant.comapRingHom f hf, commutes' := ⋯ }
Instances For
LocallyConstant.congrLeft
as an AddEquiv
.
Equations
- LocallyConstant.congrLeftAddEquiv e = { toEquiv := LocallyConstant.congrLeft e, map_add' := ⋯ }
Instances For
LocallyConstant.congrLeft
as a MulEquiv
.
Equations
- LocallyConstant.congrLeftMulEquiv e = { toEquiv := LocallyConstant.congrLeft e, map_mul' := ⋯ }
Instances For
LocallyConstant.congrLeft
as a linear equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
LocallyConstant.congrLeft
as a RingEquiv
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
LocallyConstant.congrLeft
as an AlgEquiv
.
Equations
- LocallyConstant.congrLeftₐ R e = let __spread.0 := LocallyConstant.comapₐ R ⇑(Homeomorph.symm e) ⋯; { toEquiv := LocallyConstant.congrLeft e, map_mul' := ⋯, map_add' := ⋯, commutes' := ⋯ }