Algebraic structure on locally constant functions #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file puts algebraic structure (add_group
, etc)
on the type of locally constant functions.
@[protected, instance]
def
locally_constant.has_zero
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_zero Y] :
has_zero (locally_constant X Y)
Equations
@[protected, instance]
def
locally_constant.has_one
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_one Y] :
has_one (locally_constant X Y)
Equations
@[simp]
theorem
locally_constant.coe_zero
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_zero Y] :
@[simp]
theorem
locally_constant.one_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_one Y]
(x : X) :
theorem
locally_constant.zero_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_zero Y]
(x : X) :
@[protected, instance]
def
locally_constant.has_neg
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_neg Y] :
has_neg (locally_constant X Y)
Equations
- locally_constant.has_neg = {neg := λ (f : locally_constant X Y), {to_fun := -⇑f, is_locally_constant := _}}
@[protected, instance]
def
locally_constant.has_inv
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_inv Y] :
has_inv (locally_constant X Y)
Equations
- locally_constant.has_inv = {inv := λ (f : locally_constant X Y), {to_fun := (⇑f)⁻¹, is_locally_constant := _}}
@[simp]
theorem
locally_constant.coe_neg
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_neg Y]
(f : locally_constant X Y) :
@[simp]
theorem
locally_constant.coe_inv
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_inv Y]
(f : locally_constant X Y) :
theorem
locally_constant.inv_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_inv Y]
(f : locally_constant X Y)
(x : X) :
theorem
locally_constant.neg_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_neg Y]
(f : locally_constant X Y)
(x : X) :
@[protected, instance]
def
locally_constant.has_mul
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_mul Y] :
has_mul (locally_constant X Y)
Equations
- locally_constant.has_mul = {mul := λ (f g : locally_constant X Y), {to_fun := ⇑f * ⇑g, is_locally_constant := _}}
@[protected, instance]
def
locally_constant.has_add
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_add Y] :
has_add (locally_constant X Y)
Equations
- locally_constant.has_add = {add := λ (f g : locally_constant X Y), {to_fun := ⇑f + ⇑g, is_locally_constant := _}}
@[simp]
theorem
locally_constant.coe_mul
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_mul Y]
(f g : locally_constant X Y) :
@[simp]
theorem
locally_constant.coe_add
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_add Y]
(f g : locally_constant X Y) :
theorem
locally_constant.mul_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_mul Y]
(f g : locally_constant X Y)
(x : X) :
theorem
locally_constant.add_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_add Y]
(f g : locally_constant X Y)
(x : X) :
@[protected, instance]
def
locally_constant.add_zero_class
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_zero_class Y] :
Equations
- locally_constant.add_zero_class = {zero := 0, add := has_add.add locally_constant.has_add, zero_add := _, add_zero := _}
@[protected, instance]
def
locally_constant.mul_one_class
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[mul_one_class Y] :
Equations
- locally_constant.mul_one_class = {one := 1, mul := has_mul.mul locally_constant.has_mul, one_mul := _, mul_one := _}
def
locally_constant.coe_fn_monoid_hom
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[mul_one_class Y] :
locally_constant X Y →* X → Y
coe_fn
is a monoid_hom
.
Equations
@[simp]
theorem
locally_constant.coe_fn_add_monoid_hom_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_zero_class Y]
(x : locally_constant X Y)
(ᾰ : X) :
def
locally_constant.coe_fn_add_monoid_hom
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_zero_class Y] :
locally_constant X Y →+ X → Y
coe_fn
is an add_monoid_hom
.
Equations
@[simp]
theorem
locally_constant.coe_fn_monoid_hom_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[mul_one_class Y]
(x : locally_constant X Y)
(ᾰ : X) :
def
locally_constant.const_add_monoid_hom
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_zero_class Y] :
Y →+ locally_constant X Y
The constant-function embedding, as an additive monoid hom.
Equations
- locally_constant.const_add_monoid_hom = {to_fun := locally_constant.const X _inst_1, map_zero' := _, map_add' := _}
@[simp]
theorem
locally_constant.const_monoid_hom_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[mul_one_class Y]
(y : Y) :
@[simp]
theorem
locally_constant.const_add_monoid_hom_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_zero_class Y]
(y : Y) :
def
locally_constant.const_monoid_hom
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[mul_one_class Y] :
Y →* locally_constant X Y
The constant-function embedding, as a multiplicative monoid hom.
Equations
- locally_constant.const_monoid_hom = {to_fun := locally_constant.const X _inst_1, map_one' := _, map_mul' := _}
@[protected, instance]
def
locally_constant.mul_zero_class
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[mul_zero_class Y] :
Equations
- locally_constant.mul_zero_class = {mul := has_mul.mul locally_constant.has_mul, zero := 0, zero_mul := _, mul_zero := _}
@[protected, instance]
def
locally_constant.mul_zero_one_class
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[mul_zero_one_class Y] :
Equations
noncomputable
def
locally_constant.char_fn
{X : Type u_1}
(Y : Type u_2)
[topological_space X]
[mul_zero_one_class Y]
{U : set X}
(hU : is_clopen U) :
locally_constant X Y
Characteristic functions are locally constant functions taking x : X
to 1
if x ∈ U
,
where U
is a clopen set, and 0
otherwise.
Equations
- locally_constant.char_fn Y hU = 1.indicator hU
theorem
locally_constant.coe_char_fn
{X : Type u_1}
(Y : Type u_2)
[topological_space X]
[mul_zero_one_class Y]
{U : set X}
(hU : is_clopen U) :
⇑(locally_constant.char_fn Y hU) = U.indicator 1
theorem
locally_constant.char_fn_eq_one
{X : Type u_1}
(Y : Type u_2)
[topological_space X]
[mul_zero_one_class Y]
{U : set X}
[nontrivial Y]
(x : X)
(hU : is_clopen U) :
⇑(locally_constant.char_fn Y hU) x = 1 ↔ x ∈ U
theorem
locally_constant.char_fn_eq_zero
{X : Type u_1}
(Y : Type u_2)
[topological_space X]
[mul_zero_one_class Y]
{U : set X}
[nontrivial Y]
(x : X)
(hU : is_clopen U) :
⇑(locally_constant.char_fn Y hU) x = 0 ↔ x ∉ U
theorem
locally_constant.char_fn_inj
{X : Type u_1}
(Y : Type u_2)
[topological_space X]
[mul_zero_one_class Y]
{U V : set X}
[nontrivial Y]
(hU : is_clopen U)
(hV : is_clopen V)
(h : locally_constant.char_fn Y hU = locally_constant.char_fn Y hV) :
U = V
@[protected, instance]
def
locally_constant.has_div
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_div Y] :
has_div (locally_constant X Y)
Equations
- locally_constant.has_div = {div := λ (f g : locally_constant X Y), {to_fun := ⇑f / ⇑g, is_locally_constant := _}}
@[protected, instance]
def
locally_constant.has_sub
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_sub Y] :
has_sub (locally_constant X Y)
Equations
- locally_constant.has_sub = {sub := λ (f g : locally_constant X Y), {to_fun := ⇑f - ⇑g, is_locally_constant := _}}
theorem
locally_constant.coe_sub
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_sub Y]
(f g : locally_constant X Y) :
theorem
locally_constant.coe_div
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_div Y]
(f g : locally_constant X Y) :
theorem
locally_constant.sub_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_sub Y]
(f g : locally_constant X Y)
(x : X) :
theorem
locally_constant.div_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[has_div Y]
(f g : locally_constant X Y)
(x : X) :
@[protected, instance]
def
locally_constant.semigroup
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[semigroup Y] :
semigroup (locally_constant X Y)
Equations
@[protected, instance]
def
locally_constant.add_semigroup
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_semigroup Y] :
Equations
@[protected, instance]
def
locally_constant.semigroup_with_zero
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[semigroup_with_zero Y] :
Equations
@[protected, instance]
def
locally_constant.add_comm_semigroup
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_comm_semigroup Y] :
Equations
@[protected, instance]
def
locally_constant.comm_semigroup
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[comm_semigroup Y] :
Equations
@[protected, instance]
def
locally_constant.monoid
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[monoid Y] :
monoid (locally_constant X Y)
Equations
- locally_constant.monoid = {mul := has_mul.mul locally_constant.has_mul, mul_assoc := _, one := mul_one_class.one locally_constant.mul_one_class, one_mul := _, mul_one := _, npow := npow_rec (mul_one_class.to_has_mul (locally_constant X Y)), npow_zero' := _, npow_succ' := _}
@[protected, instance]
def
locally_constant.add_monoid
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_monoid Y] :
add_monoid (locally_constant X Y)
Equations
- locally_constant.add_monoid = {add := has_add.add locally_constant.has_add, add_assoc := _, zero := add_zero_class.zero locally_constant.add_zero_class, zero_add := _, add_zero := _, nsmul := nsmul_rec (add_zero_class.to_has_add (locally_constant X Y)), nsmul_zero' := _, nsmul_succ' := _}
@[protected, instance]
def
locally_constant.add_monoid_with_one
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_monoid_with_one Y] :
Equations
- locally_constant.add_monoid_with_one = {nat_cast := λ (n : ℕ), locally_constant.const X ↑n, add := add_monoid.add locally_constant.add_monoid, add_assoc := _, zero := add_monoid.zero locally_constant.add_monoid, zero_add := _, add_zero := _, nsmul := add_monoid.nsmul locally_constant.add_monoid, nsmul_zero' := _, nsmul_succ' := _, one := 1, nat_cast_zero := _, nat_cast_succ := _}
@[protected, instance]
def
locally_constant.comm_monoid
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[comm_monoid Y] :
comm_monoid (locally_constant X Y)
Equations
- locally_constant.comm_monoid = {mul := comm_semigroup.mul locally_constant.comm_semigroup, mul_assoc := _, one := monoid.one locally_constant.monoid, one_mul := _, mul_one := _, npow := monoid.npow locally_constant.monoid, npow_zero' := _, npow_succ' := _, mul_comm := _}
@[protected, instance]
def
locally_constant.add_comm_monoid
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_comm_monoid Y] :
Equations
- locally_constant.add_comm_monoid = {add := add_comm_semigroup.add locally_constant.add_comm_semigroup, add_assoc := _, zero := add_monoid.zero locally_constant.add_monoid, zero_add := _, add_zero := _, nsmul := add_monoid.nsmul locally_constant.add_monoid, nsmul_zero' := _, nsmul_succ' := _, add_comm := _}
@[protected, instance]
def
locally_constant.group
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[group Y] :
group (locally_constant X Y)
Equations
- locally_constant.group = {mul := monoid.mul locally_constant.monoid, mul_assoc := _, one := monoid.one locally_constant.monoid, one_mul := _, mul_one := _, npow := monoid.npow locally_constant.monoid, npow_zero' := _, npow_succ' := _, inv := has_inv.inv locally_constant.has_inv, div := has_div.div locally_constant.has_div, div_eq_mul_inv := _, zpow := div_inv_monoid.zpow._default monoid.mul locally_constant.group._proof_7 monoid.one locally_constant.group._proof_8 locally_constant.group._proof_9 monoid.npow locally_constant.group._proof_10 locally_constant.group._proof_11 has_inv.inv, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _}
@[protected, instance]
def
locally_constant.add_group
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_group Y] :
add_group (locally_constant X Y)
Equations
- locally_constant.add_group = {add := add_monoid.add locally_constant.add_monoid, add_assoc := _, zero := add_monoid.zero locally_constant.add_monoid, zero_add := _, add_zero := _, nsmul := add_monoid.nsmul locally_constant.add_monoid, nsmul_zero' := _, nsmul_succ' := _, neg := has_neg.neg locally_constant.has_neg, sub := has_sub.sub locally_constant.has_sub, sub_eq_add_neg := _, zsmul := sub_neg_monoid.zsmul._default add_monoid.add locally_constant.add_group._proof_7 add_monoid.zero locally_constant.add_group._proof_8 locally_constant.add_group._proof_9 add_monoid.nsmul locally_constant.add_group._proof_10 locally_constant.add_group._proof_11 has_neg.neg, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _}
@[protected, instance]
def
locally_constant.add_comm_group
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[add_comm_group Y] :
Equations
- locally_constant.add_comm_group = {add := add_comm_monoid.add locally_constant.add_comm_monoid, add_assoc := _, zero := add_comm_monoid.zero locally_constant.add_comm_monoid, zero_add := _, add_zero := _, nsmul := add_comm_monoid.nsmul locally_constant.add_comm_monoid, nsmul_zero' := _, nsmul_succ' := _, neg := add_group.neg locally_constant.add_group, sub := add_group.sub locally_constant.add_group, sub_eq_add_neg := _, zsmul := add_group.zsmul locally_constant.add_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _}
@[protected, instance]
def
locally_constant.comm_group
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[comm_group Y] :
comm_group (locally_constant X Y)
Equations
- locally_constant.comm_group = {mul := comm_monoid.mul locally_constant.comm_monoid, mul_assoc := _, one := comm_monoid.one locally_constant.comm_monoid, one_mul := _, mul_one := _, npow := comm_monoid.npow locally_constant.comm_monoid, npow_zero' := _, npow_succ' := _, inv := group.inv locally_constant.group, div := group.div locally_constant.group, div_eq_mul_inv := _, zpow := group.zpow locally_constant.group, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _, mul_comm := _}
@[protected, instance]
def
locally_constant.distrib
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[distrib Y] :
distrib (locally_constant X Y)
Equations
@[protected, instance]
def
locally_constant.non_unital_non_assoc_semiring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_unital_non_assoc_semiring Y] :
Equations
- locally_constant.non_unital_non_assoc_semiring = {add := add_comm_monoid.add locally_constant.add_comm_monoid, add_assoc := _, zero := add_comm_monoid.zero locally_constant.add_comm_monoid, zero_add := _, add_zero := _, nsmul := add_comm_monoid.nsmul locally_constant.add_comm_monoid, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := has_mul.mul locally_constant.has_mul, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _}
@[protected, instance]
def
locally_constant.non_unital_semiring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_unital_semiring Y] :
Equations
- locally_constant.non_unital_semiring = {add := non_unital_non_assoc_semiring.add locally_constant.non_unital_non_assoc_semiring, add_assoc := _, zero := non_unital_non_assoc_semiring.zero locally_constant.non_unital_non_assoc_semiring, zero_add := _, add_zero := _, nsmul := non_unital_non_assoc_semiring.nsmul locally_constant.non_unital_non_assoc_semiring, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := semigroup.mul locally_constant.semigroup, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _}
@[protected, instance]
def
locally_constant.non_assoc_semiring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_assoc_semiring Y] :
Equations
- locally_constant.non_assoc_semiring = {add := add_monoid_with_one.add locally_constant.add_monoid_with_one, add_assoc := _, zero := add_monoid_with_one.zero locally_constant.add_monoid_with_one, zero_add := _, add_zero := _, nsmul := add_monoid_with_one.nsmul locally_constant.add_monoid_with_one, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := mul_one_class.mul locally_constant.mul_one_class, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, one := mul_one_class.one locally_constant.mul_one_class, one_mul := _, mul_one := _, nat_cast := add_monoid_with_one.nat_cast locally_constant.add_monoid_with_one, nat_cast_zero := _, nat_cast_succ := _}
@[simp]
theorem
locally_constant.const_ring_hom_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_assoc_semiring Y]
(y : Y) :
def
locally_constant.const_ring_hom
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_assoc_semiring Y] :
Y →+* locally_constant X Y
The constant-function embedding, as a ring hom.
Equations
- locally_constant.const_ring_hom = {to_fun := locally_constant.const X _inst_1, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
@[protected, instance]
def
locally_constant.semiring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[semiring Y] :
semiring (locally_constant X Y)
Equations
- locally_constant.semiring = {add := non_assoc_semiring.add locally_constant.non_assoc_semiring, add_assoc := _, zero := non_assoc_semiring.zero locally_constant.non_assoc_semiring, zero_add := _, add_zero := _, nsmul := non_assoc_semiring.nsmul locally_constant.non_assoc_semiring, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := non_assoc_semiring.mul locally_constant.non_assoc_semiring, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _, one := non_assoc_semiring.one locally_constant.non_assoc_semiring, one_mul := _, mul_one := _, nat_cast := non_assoc_semiring.nat_cast locally_constant.non_assoc_semiring, nat_cast_zero := _, nat_cast_succ := _, npow := monoid.npow locally_constant.monoid, npow_zero' := _, npow_succ' := _}
@[protected, instance]
def
locally_constant.non_unital_comm_semiring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_unital_comm_semiring Y] :
Equations
- locally_constant.non_unital_comm_semiring = {add := non_unital_semiring.add locally_constant.non_unital_semiring, add_assoc := _, zero := non_unital_semiring.zero locally_constant.non_unital_semiring, zero_add := _, add_zero := _, nsmul := non_unital_semiring.nsmul locally_constant.non_unital_semiring, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := non_unital_semiring.mul locally_constant.non_unital_semiring, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _, mul_comm := _}
@[protected, instance]
def
locally_constant.comm_semiring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[comm_semiring Y] :
Equations
- locally_constant.comm_semiring = {add := semiring.add locally_constant.semiring, add_assoc := _, zero := semiring.zero locally_constant.semiring, zero_add := _, add_zero := _, nsmul := semiring.nsmul locally_constant.semiring, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := semiring.mul locally_constant.semiring, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _, one := semiring.one locally_constant.semiring, one_mul := _, mul_one := _, nat_cast := semiring.nat_cast locally_constant.semiring, nat_cast_zero := _, nat_cast_succ := _, npow := semiring.npow locally_constant.semiring, npow_zero' := _, npow_succ' := _, mul_comm := _}
@[protected, instance]
def
locally_constant.non_unital_non_assoc_ring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_unital_non_assoc_ring Y] :
Equations
- locally_constant.non_unital_non_assoc_ring = {add := add_comm_group.add locally_constant.add_comm_group, add_assoc := _, zero := add_comm_group.zero locally_constant.add_comm_group, zero_add := _, add_zero := _, nsmul := add_comm_group.nsmul locally_constant.add_comm_group, nsmul_zero' := _, nsmul_succ' := _, neg := add_comm_group.neg locally_constant.add_comm_group, sub := add_comm_group.sub locally_constant.add_comm_group, sub_eq_add_neg := _, zsmul := add_comm_group.zsmul locally_constant.add_comm_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, mul := has_mul.mul locally_constant.has_mul, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _}
@[protected, instance]
def
locally_constant.non_unital_ring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_unital_ring Y] :
Equations
- locally_constant.non_unital_ring = {add := non_unital_non_assoc_ring.add locally_constant.non_unital_non_assoc_ring, add_assoc := _, zero := non_unital_non_assoc_ring.zero locally_constant.non_unital_non_assoc_ring, zero_add := _, add_zero := _, nsmul := non_unital_non_assoc_ring.nsmul locally_constant.non_unital_non_assoc_ring, nsmul_zero' := _, nsmul_succ' := _, neg := non_unital_non_assoc_ring.neg locally_constant.non_unital_non_assoc_ring, sub := non_unital_non_assoc_ring.sub locally_constant.non_unital_non_assoc_ring, sub_eq_add_neg := _, zsmul := non_unital_non_assoc_ring.zsmul locally_constant.non_unital_non_assoc_ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, mul := semigroup.mul locally_constant.semigroup, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _}
@[protected, instance]
def
locally_constant.non_assoc_ring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_assoc_ring Y] :
Equations
- locally_constant.non_assoc_ring = {add := non_unital_non_assoc_ring.add locally_constant.non_unital_non_assoc_ring, add_assoc := _, zero := non_unital_non_assoc_ring.zero locally_constant.non_unital_non_assoc_ring, zero_add := _, add_zero := _, nsmul := non_unital_non_assoc_ring.nsmul locally_constant.non_unital_non_assoc_ring, nsmul_zero' := _, nsmul_succ' := _, neg := non_unital_non_assoc_ring.neg locally_constant.non_unital_non_assoc_ring, sub := non_unital_non_assoc_ring.sub locally_constant.non_unital_non_assoc_ring, sub_eq_add_neg := _, zsmul := non_unital_non_assoc_ring.zsmul locally_constant.non_unital_non_assoc_ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, mul := mul_one_class.mul locally_constant.mul_one_class, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, one := mul_one_class.one locally_constant.mul_one_class, one_mul := _, mul_one := _, nat_cast := non_assoc_semiring.nat_cast._default mul_one_class.one non_unital_non_assoc_ring.add locally_constant.non_assoc_ring._proof_18 non_unital_non_assoc_ring.zero locally_constant.non_assoc_ring._proof_19 locally_constant.non_assoc_ring._proof_20 non_unital_non_assoc_ring.nsmul locally_constant.non_assoc_ring._proof_21 locally_constant.non_assoc_ring._proof_22, nat_cast_zero := _, nat_cast_succ := _, int_cast := add_comm_group_with_one.int_cast._default (non_assoc_semiring.nat_cast._default mul_one_class.one non_unital_non_assoc_ring.add locally_constant.non_assoc_ring._proof_18 non_unital_non_assoc_ring.zero locally_constant.non_assoc_ring._proof_19 locally_constant.non_assoc_ring._proof_20 non_unital_non_assoc_ring.nsmul locally_constant.non_assoc_ring._proof_21 locally_constant.non_assoc_ring._proof_22) non_unital_non_assoc_ring.add locally_constant.non_assoc_ring._proof_25 non_unital_non_assoc_ring.zero locally_constant.non_assoc_ring._proof_26 locally_constant.non_assoc_ring._proof_27 non_unital_non_assoc_ring.nsmul locally_constant.non_assoc_ring._proof_28 locally_constant.non_assoc_ring._proof_29 mul_one_class.one locally_constant.non_assoc_ring._proof_30 locally_constant.non_assoc_ring._proof_31 non_unital_non_assoc_ring.neg non_unital_non_assoc_ring.sub locally_constant.non_assoc_ring._proof_32 non_unital_non_assoc_ring.zsmul locally_constant.non_assoc_ring._proof_33 locally_constant.non_assoc_ring._proof_34 locally_constant.non_assoc_ring._proof_35 locally_constant.non_assoc_ring._proof_36, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _}
@[protected, instance]
def
locally_constant.ring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[ring Y] :
ring (locally_constant X Y)
Equations
- locally_constant.ring = {add := semiring.add locally_constant.semiring, add_assoc := _, zero := semiring.zero locally_constant.semiring, zero_add := _, add_zero := _, nsmul := semiring.nsmul locally_constant.semiring, nsmul_zero' := _, nsmul_succ' := _, neg := add_comm_group.neg locally_constant.add_comm_group, sub := add_comm_group.sub locally_constant.add_comm_group, sub_eq_add_neg := _, zsmul := add_comm_group.zsmul locally_constant.add_comm_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := add_comm_group_with_one.int_cast._default semiring.nat_cast semiring.add locally_constant.ring._proof_12 semiring.zero locally_constant.ring._proof_13 locally_constant.ring._proof_14 semiring.nsmul locally_constant.ring._proof_15 locally_constant.ring._proof_16 semiring.one locally_constant.ring._proof_17 locally_constant.ring._proof_18 add_comm_group.neg add_comm_group.sub locally_constant.ring._proof_19 add_comm_group.zsmul locally_constant.ring._proof_20 locally_constant.ring._proof_21 locally_constant.ring._proof_22 locally_constant.ring._proof_23, nat_cast := semiring.nat_cast locally_constant.semiring, one := semiring.one locally_constant.semiring, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := semiring.mul locally_constant.semiring, mul_assoc := _, one_mul := _, mul_one := _, npow := semiring.npow locally_constant.semiring, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _}
@[protected, instance]
def
locally_constant.non_unital_comm_ring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[non_unital_comm_ring Y] :
Equations
- locally_constant.non_unital_comm_ring = {add := non_unital_comm_semiring.add locally_constant.non_unital_comm_semiring, add_assoc := _, zero := non_unital_comm_semiring.zero locally_constant.non_unital_comm_semiring, zero_add := _, add_zero := _, nsmul := non_unital_comm_semiring.nsmul locally_constant.non_unital_comm_semiring, nsmul_zero' := _, nsmul_succ' := _, neg := non_unital_ring.neg locally_constant.non_unital_ring, sub := non_unital_ring.sub locally_constant.non_unital_ring, sub_eq_add_neg := _, zsmul := non_unital_ring.zsmul locally_constant.non_unital_ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, mul := non_unital_comm_semiring.mul locally_constant.non_unital_comm_semiring, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _, mul_comm := _}
@[protected, instance]
def
locally_constant.comm_ring
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
[comm_ring Y] :
comm_ring (locally_constant X Y)
Equations
- locally_constant.comm_ring = {add := comm_semiring.add locally_constant.comm_semiring, add_assoc := _, zero := comm_semiring.zero locally_constant.comm_semiring, zero_add := _, add_zero := _, nsmul := comm_semiring.nsmul locally_constant.comm_semiring, nsmul_zero' := _, nsmul_succ' := _, neg := ring.neg locally_constant.ring, sub := ring.sub locally_constant.ring, sub_eq_add_neg := _, zsmul := ring.zsmul locally_constant.ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := ring.int_cast locally_constant.ring, nat_cast := comm_semiring.nat_cast locally_constant.comm_semiring, one := comm_semiring.one locally_constant.comm_semiring, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := comm_semiring.mul locally_constant.comm_semiring, mul_assoc := _, one_mul := _, mul_one := _, npow := comm_semiring.npow locally_constant.comm_semiring, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _, mul_comm := _}
@[protected, instance]
def
locally_constant.has_smul
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[has_smul R Y] :
has_smul R (locally_constant X Y)
Equations
- locally_constant.has_smul = {smul := λ (r : R) (f : locally_constant X Y), {to_fun := r • ⇑f, is_locally_constant := _}}
@[simp]
theorem
locally_constant.coe_smul
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[has_smul R Y]
(r : R)
(f : locally_constant X Y) :
theorem
locally_constant.smul_apply
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[has_smul R Y]
(r : R)
(f : locally_constant X Y)
(x : X) :
@[protected, instance]
def
locally_constant.mul_action
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[monoid R]
[mul_action R Y] :
mul_action R (locally_constant X Y)
Equations
- locally_constant.mul_action = function.injective.mul_action coe_fn locally_constant.coe_injective locally_constant.mul_action._proof_1
@[protected, instance]
def
locally_constant.distrib_mul_action
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[monoid R]
[add_monoid Y]
[distrib_mul_action R Y] :
distrib_mul_action R (locally_constant X Y)
Equations
- locally_constant.distrib_mul_action = function.injective.distrib_mul_action locally_constant.coe_fn_add_monoid_hom locally_constant.coe_injective locally_constant.distrib_mul_action._proof_1
@[protected, instance]
def
locally_constant.module
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[semiring R]
[add_comm_monoid Y]
[module R Y] :
module R (locally_constant X Y)
Equations
- locally_constant.module = function.injective.module R locally_constant.coe_fn_add_monoid_hom locally_constant.coe_injective locally_constant.module._proof_1
@[protected, instance]
def
locally_constant.algebra
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[comm_semiring R]
[semiring Y]
[algebra R Y] :
algebra R (locally_constant X Y)
Equations
@[simp]
theorem
locally_constant.coe_algebra_map
{X : Type u_1}
{Y : Type u_2}
[topological_space X]
{R : Type u_3}
[comm_semiring R]
[semiring Y]
[algebra R Y]
(r : R) :
⇑(⇑(algebra_map R (locally_constant X Y)) r) = ⇑(algebra_map R (X → Y)) r