Algebraic instances for unit intervals #
For suitably structured underlying type α, we exhibit the structure of
the unit intervals (Set.Icc, Set.Ioc, Set.Ioc, and Set.Ioo) from 0 to 1.
Note: Instances for the interval Ici 0 are dealt with in Algebra/Order/Nonneg.lean.
Main definitions #
The strongest typeclass provided on each interval is:
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) #
Equations
- Set.Icc.zero = { zero := ⟨0, ⋯⟩ }
Equations
- Set.Icc.one = { one := ⟨1, ⋯⟩ }
@[simp]
@[simp]
@[simp]
@[simp]
like coe_nonneg, but with the inequality in Icc (0:α) 1.
like coe_le_one, but with the inequality in Icc (0:α) 1.
Equations
- Set.Icc.mul = { mul := fun (p q : ↑(Set.Icc 0 1)) => ⟨↑p * ↑q, ⋯⟩ }
Equations
- Set.Icc.pow = { pow := fun (p : ↑(Set.Icc 0 1)) (n : ℕ) => ⟨↑p ^ n, ⋯⟩ }
@[simp]
@[simp]
Equations
instance
Set.Icc.commMonoidWithZero
{α : Type u_2}
[OrderedCommSemiring α]
:
CommMonoidWithZero ↑(Icc 0 1)
Equations
instance
Set.Icc.cancelMonoidWithZero
{α : Type u_2}
[OrderedRing α]
[NoZeroDivisors α]
:
CancelMonoidWithZero ↑(Icc 0 1)
instance
Set.Icc.cancelCommMonoidWithZero
{α : Type u_2}
[OrderedCommRing α]
[NoZeroDivisors α]
:
CancelCommMonoidWithZero ↑(Icc 0 1)
Instances for ↥(Set.Ico 0 1) #
Equations
- Set.Ico.zero = { zero := ⟨0, ⋯⟩ }
@[simp]
@[simp]
like coe_nonneg, but with the inequality in Ico (0:α) 1.
Equations
- Set.Ico.mul = { mul := fun (p q : ↑(Set.Ico 0 1)) => ⟨↑p * ↑q, ⋯⟩ }
@[simp]
Equations
Equations
Instances for ↥(Set.Ioc 0 1) #
Equations
- Set.Ioc.one = { one := ⟨1, ⋯⟩ }
@[simp]
@[simp]
like coe_le_one, but with the inequality in Ioc (0:α) 1.
Equations
- Set.Ioc.mul = { mul := fun (p q : ↑(Set.Ioc 0 1)) => ⟨↑p * ↑q, ⋯⟩ }
Equations
- Set.Ioc.pow = { pow := fun (p : ↑(Set.Ioc 0 1)) (n : ℕ) => ⟨↑p ^ n, ⋯⟩ }
@[simp]
@[simp]
Equations
instance
Set.Ioc.commSemigroup
{α : Type u_2}
[StrictOrderedCommSemiring α]
:
CommSemigroup ↑(Ioc 0 1)
Equations
Equations
instance
Set.Ioc.cancelMonoid
{α : Type u_2}
[StrictOrderedRing α]
[IsDomain α]
:
CancelMonoid ↑(Ioc 0 1)
Equations
instance
Set.Ioc.cancelCommMonoid
{α : Type u_2}
[StrictOrderedCommRing α]
[IsDomain α]
:
CancelCommMonoid ↑(Ioc 0 1)
Equations
Instances for ↥(Set.Ioo 0 1) #
Equations
- Set.Ioo.mul = { mul := fun (p q : ↑(Set.Ioo 0 1)) => ⟨↑p * ↑q, ⋯⟩ }
@[simp]
Equations
instance
Set.Ioo.commSemigroup
{α : Type u_2}
[StrictOrderedCommSemiring α]
:
CommSemigroup ↑(Ioo 0 1)