Algebraic structure on locally constant functions #
This file puts algebraic structure (Group
, AddGroup
, etc)
on the type of locally constant functions.
Equations
- LocallyConstant.instZero = { zero := LocallyConstant.const X 0 }
Equations
- LocallyConstant.instOne = { one := LocallyConstant.const X 1 }
Equations
- LocallyConstant.instNeg = { neg := fun (f : LocallyConstant X Y) => { toFun := -⇑f, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instInv = { inv := fun (f : LocallyConstant X Y) => { toFun := (⇑f)⁻¹, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instAdd = { add := fun (f g : LocallyConstant X Y) => { toFun := ⇑f + ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instMul = { mul := fun (f g : LocallyConstant X Y) => { toFun := ⇑f * ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instAddZeroClass = Function.Injective.addZeroClass DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMulOneClass = Function.Injective.mulOneClass DFunLike.coe ⋯ ⋯ ⋯
DFunLike.coe
as an AddMonoidHom
.
Equations
- LocallyConstant.coeFnAddMonoidHom = { toFun := DFunLike.coe, map_zero' := ⋯, map_add' := ⋯ }
Instances For
DFunLike.coe
as a MonoidHom
.
Equations
- LocallyConstant.coeFnMonoidHom = { toFun := DFunLike.coe, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The constant-function embedding, as an additive monoid hom.
Equations
- LocallyConstant.constAddMonoidHom = { toFun := LocallyConstant.const X, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The constant-function embedding, as a multiplicative monoid hom.
Equations
- LocallyConstant.constMonoidHom = { toFun := LocallyConstant.const X, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Equations
- LocallyConstant.instMulZeroClass = Function.Injective.mulZeroClass DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMulZeroOneClass = 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.instSub = { sub := fun (f g : LocallyConstant X Y) => { toFun := ⇑f - ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instDiv = { div := fun (f g : LocallyConstant X Y) => { toFun := ⇑f / ⇑g, isLocallyConstant := ⋯ } }
Equations
- LocallyConstant.instAddSemigroup = Function.Injective.addSemigroup DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instSemigroup = Function.Injective.semigroup DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instSemigroupWithZero = Function.Injective.semigroupWithZero DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddCommSemigroup = Function.Injective.addCommSemigroup DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instCommSemigroup = 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.instPow = { pow := fun (f : LocallyConstant X Y) (n : α) => LocallyConstant.map (fun (x : Y) => x ^ n) f }
Equations
- LocallyConstant.instAddMonoid = Function.Injective.addMonoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMonoid = Function.Injective.monoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNatCast = { natCast := fun (n : ℕ) => LocallyConstant.const X ↑n }
Equations
- LocallyConstant.instIntCast = { intCast := fun (n : ℤ) => LocallyConstant.const X ↑n }
Equations
- LocallyConstant.instAddMonoidWithOne = Function.Injective.addMonoidWithOne DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddCommMonoid = Function.Injective.addCommMonoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommMonoid = Function.Injective.commMonoid DFunLike.coe ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddGroup = Function.Injective.addGroup DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instGroup = Function.Injective.group DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instAddCommGroup = Function.Injective.addCommGroup DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommGroup = Function.Injective.commGroup DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instDistrib = Function.Injective.distrib DFunLike.coe ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalNonAssocSemiring = Function.Injective.nonUnitalNonAssocSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalSemiring = Function.Injective.nonUnitalSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonAssocSemiring = 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.instSemiring = Function.Injective.semiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalCommSemiring = Function.Injective.nonUnitalCommSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommSemiring = Function.Injective.commSemiring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalNonAssocRing = Function.Injective.nonUnitalNonAssocRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalRing = Function.Injective.nonUnitalRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonAssocRing = Function.Injective.nonAssocRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instRing = Function.Injective.ring DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instNonUnitalCommRing = Function.Injective.nonUnitalCommRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instCommRing = Function.Injective.commRing DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LocallyConstant.instMulAction = Function.Injective.mulAction DFunLike.coe ⋯ ⋯
Equations
- LocallyConstant.instDistribMulAction = Function.Injective.distribMulAction LocallyConstant.coeFnAddMonoidHom ⋯ ⋯
Equations
- LocallyConstant.instModule = Function.Injective.module R LocallyConstant.coeFnAddMonoidHom ⋯ ⋯
Equations
- LocallyConstant.instAlgebra = Algebra.mk (LocallyConstant.constRingHom.comp (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 = (Pi.evalAddMonoidHom (fun (a : X) => Y) x).comp LocallyConstant.coeFnAddMonoidHom
Instances For
Evaluation as a MonoidHom
Equations
- LocallyConstant.evalMonoidHom x = (Pi.evalMonoidHom (fun (a : X) => Y) x).comp LocallyConstant.coeFnMonoidHom
Instances For
Evaluation as a linear map
Equations
Instances For
Evaluation as a RingHom
Equations
- LocallyConstant.evalRingHom x = (Pi.evalRingHom (fun (a : X) => Y) x).comp LocallyConstant.coeFnRingHom
Instances For
Evaluation as an AlgHom
Equations
- LocallyConstant.evalₐ R x = (Pi.evalAlgHom R (fun (a : X) => Y) x).comp (LocallyConstant.coeFnAlgHom R)
Instances For
LocallyConstant.comap
as an AddMonoidHom
.
Equations
- LocallyConstant.comapAddMonoidHom f = { toFun := LocallyConstant.comap f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
LocallyConstant.comap
as a MonoidHom
.
Equations
- LocallyConstant.comapMonoidHom f = { toFun := LocallyConstant.comap f, map_one' := ⋯, map_mul' := ⋯ }
Instances For
LocallyConstant.comap
as a linear map.
Equations
- LocallyConstant.comapₗ R f = { toFun := LocallyConstant.comap f, map_add' := ⋯, map_smul' := ⋯ }
Instances For
LocallyConstant.comap
as a RingHom
.
Equations
- LocallyConstant.comapRingHom f = let __spread.0 := LocallyConstant.comapAddMonoidHom f; { toMonoidHom := LocallyConstant.comapMonoidHom f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
LocallyConstant.comap
as an AlgHom
Equations
- LocallyConstant.comapₐ R f = { toRingHom := LocallyConstant.comapRingHom f, commutes' := ⋯ }
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
- One or more equations did not get rendered due to their size.
Instances For
LocallyConstant.map
as an AddMonoidHom
.
Equations
- LocallyConstant.mapAddMonoidHom f = { toFun := LocallyConstant.map ⇑f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
LocallyConstant.map
as a MonoidHom
.
Equations
- LocallyConstant.mapMonoidHom f = { toFun := LocallyConstant.map ⇑f, map_one' := ⋯, map_mul' := ⋯ }
Instances For
LocallyConstant.map
as a linear map.
Equations
- LocallyConstant.mapₗ R f = { toFun := LocallyConstant.map ⇑f, map_add' := ⋯, map_smul' := ⋯ }
Instances For
LocallyConstant.map
as a RingHom
.
Equations
- LocallyConstant.mapRingHom f = let __spread.0 := LocallyConstant.mapAddMonoidHom f.toAddMonoidHom; { toMonoidHom := LocallyConstant.mapMonoidHom ↑f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
LocallyConstant.map
as an AlgHom
Equations
- LocallyConstant.mapₐ R f = { toRingHom := LocallyConstant.mapRingHom ↑f, commutes' := ⋯ }
Instances For
LocallyConstant.congrRight
as a linear equivalence.
Equations
- LocallyConstant.congrRightₗ R e = let __spread.0 := LocallyConstant.congrRight e.toEquiv; { toLinearMap := LocallyConstant.mapₗ R ↑e, invFun := __spread.0.invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
LocallyConstant.congrRight
as a RingEquiv
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
LocallyConstant.congrRight
as an AlgEquiv
.
Equations
- LocallyConstant.congrRightₐ R e = let __spread.0 := LocallyConstant.mapₐ R ↑e; { toEquiv := LocallyConstant.congrRight ↑e, map_mul' := ⋯, map_add' := ⋯, commutes' := ⋯ }
Instances For
LocallyConstant.const
as a linear map.
Equations
- LocallyConstant.constₗ R = { toFun := LocallyConstant.const X, map_add' := ⋯, map_smul' := ⋯ }
Instances For
LocallyConstant.const
as an AlgHom
Equations
- LocallyConstant.constₐ R = { toRingHom := LocallyConstant.constRingHom, commutes' := ⋯ }