Algebraic instances for unit intervals #
For suitably structured underlying type α, we exhibit the structure of
the unit intervals (Set.Icc, Set.Ico, Set.Ioc, and Set.Ioo) from 0 to 1.
Note: Instances for the interval Ici 0 are dealt with in
Mathlib/Algebra/Order/Nonneg/Basic.lean.
Main definitions #
The strongest typeclass provided on each interval is:
Set.Icc.instCommMonoidWithZero,Set.Icc.instIsCancelMulZeroSet.Ico.instCommSemigroup,Set.Ico.instSemigroupWithZero,Set.Ico.instIsCancelMulZeroSet.Ioc.instCancelCommMonoidSet.Ioo.instCommSemigroup,Set.Ioo.instIsCancelMul
TODO #
- algebraic instances for intervals -1 to 1
- algebraic instances for
Ici 1 - algebraic instances for
(Ioo (-1) 1)ᶜ - provide
distribNeginstances where applicable - prove versions of
mul_le_{left,right}for other intervals - prove versions of the lemmas in
Topology/UnitIntervalwithℝgeneralized to some arbitrary ordered semiring
Instances for ↥(Set.Icc 0 1) #
like coe_nonneg, but with the inequality in Icc (0:R) 1.
like coe_le_one, but with the inequality in Icc (0:R) 1.
Equations
- One or more equations did not get rendered due to their size.
The coercion from Set.Icc 0 1 as a MonoidWithZeroHom.
Equations
- Set.Icc.coeMonoidWithZeroHom = { toFun := Subtype.val, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Equations
- Set.Icc.instCommMonoidWithZero = { toMonoid := Set.Icc.instMonoidWithZero.toMonoid, mul_comm := ⋯, toZero := Set.Icc.instZero, zero_mul := ⋯, mul_zero := ⋯ }
Instances for ↥(Set.Ico 0 1) #
like coe_nonneg, but with the inequality in Ico (0:R) 1.
Equations
- Set.Ico.instSemigroup = { toMul := Set.Ico.instMul, mul_assoc := ⋯ }
The coercion from Set.Ico 0 1 as a MulHom.
Equations
- Set.Ico.coeMulHom = { toFun := Subtype.val, map_mul' := ⋯ }
Instances For
Equations
- Set.Ico.instSemigroupWithZero = { toSemigroup := Set.Ico.instSemigroup, toZero := Set.Ico.instZero, zero_mul := ⋯, mul_zero := ⋯ }
Equations
- Set.Ico.instCommSemigroup = { toSemigroup := Set.Ico.instSemigroup, mul_comm := ⋯ }
Instances for ↥(Set.Ioc 0 1) #
like coe_le_one, but with the inequality in Ioc (0:R) 1.
Equations
- Set.Ioc.instSemigroup = { toMul := Set.Ioc.instMul, mul_assoc := ⋯ }
Equations
- Set.Ioc.instMonoid = { toOne := Set.Ioc.instOne, toMul := Set.Ioc.instMul, mul_assoc := ⋯, one_mul := ⋯, mul_one := ⋯, toNPow := NPow.ofPow, npow_zero := ⋯, npow_succ := ⋯ }
The coercion from Set.Ioc 0 1 as a MonoidHom.
Equations
- Set.Ioc.coeMonoidHom = { toFun := Subtype.val, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Equations
- Set.Ioc.instCancelMonoid = { toMonoid := Set.Ioc.instMonoid, toIsLeftCancelMul := ⋯, toIsRightCancelMul := ⋯ }
Equations
- Set.Ioc.instCommSemigroup = { toSemigroup := Set.Ioc.instSemigroup, mul_comm := ⋯ }
Equations
- Set.Ioc.instCommMonoid = { toMonoid := Set.Ioc.instMonoid, mul_comm := ⋯ }
Equations
- Set.Ioc.instCancelCommMonoid = { toCommMonoid := Set.Ioc.instCommMonoid, toIsLeftCancelMul := ⋯ }
Instances for ↥(Set.Ioo 0 1) #
Equations
- Set.Ioo.instSemigroup = { toMul := Set.Ioo.instMul, mul_assoc := ⋯ }
The coercion from Set.Ioo 0 1 as a MulHom.
Equations
- Set.Ioo.coeMulHom = { toFun := Subtype.val, map_mul' := ⋯ }
Instances For
Equations
- Set.Ioo.instCommSemigroup = { toSemigroup := Set.Ioo.instSemigroup, mul_comm := ⋯ }
Alias of Set.Ioo.one_sub_pos.
Alias of Set.Ioo.one_sub_lt_one.