Cast of integers (additional theorems) #
This file proves additional properties about the canonical homomorphism from
the integers into an additive group with a one (Int.cast
),
particularly results involving algebraic homomorphisms or the order structure on ℤ
which were not available in the import dependencies of Data.Int.Cast.Basic
.
Main declarations #
castAddHom
:cast
bundled as anAddMonoidHom
.castRingHom
:cast
bundled as aRingHom
.
@[simp]
theorem
Int.cast_ite
{α : Type u_3}
[AddGroupWithOne α]
(P : Prop)
[Decidable P]
(m : ℤ)
(n : ℤ)
:
↑(if P then m else n) = if P then ↑m else ↑n
@[simp]
coe : ℤ → α
as a RingHom
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Int.cast_le_neg_one_or_one_le_cast_of_ne_zero
(α : Type u_3)
[LinearOrderedRing α]
{n : ℤ}
(hn : n ≠ 0)
:
theorem
Int.nneg_mul_add_sq_of_abs_le_one
{α : Type u_3}
[LinearOrderedRing α]
(n : ℤ)
{x : α}
(hx : |x| ≤ 1)
:
theorem
AddMonoidHom.eq_int_castAddHom
{A : Type u_5}
[AddGroupWithOne A]
(f : ℤ →+ A)
(h1 : ↑f 1 = 1)
:
f = Int.castAddHom A
theorem
eq_intCast'
{F : Type u_1}
{α : Type u_3}
[AddGroupWithOne α]
[AddMonoidHomClass F ℤ α]
(f : F)
(h₁ : ↑f 1 = 1)
(n : ℤ)
:
↑f n = ↑n
theorem
MonoidHom.ext_mint
{M : Type u_5}
[Monoid M]
{f : Multiplicative ℤ →* M}
{g : Multiplicative ℤ →* M}
(h1 : ↑f (↑Multiplicative.ofAdd 1) = ↑g (↑Multiplicative.ofAdd 1))
:
f = g
theorem
MonoidHom.ext_int
{M : Type u_5}
[Monoid M]
{f : ℤ →* M}
{g : ℤ →* M}
(h_neg_one : ↑f (-1) = ↑g (-1))
(h_nat : MonoidHom.comp f ↑Int.ofNatHom = MonoidHom.comp g ↑Int.ofNatHom)
:
f = g
If two MonoidHom
s agree on -1
and the naturals then they are equal.
theorem
MonoidWithZeroHom.ext_int
{M : Type u_5}
[MonoidWithZero M]
{f : ℤ →*₀ M}
{g : ℤ →*₀ M}
(h_neg_one : ↑f (-1) = ↑g (-1))
(h_nat : MonoidWithZeroHom.comp f (RingHom.toMonoidWithZeroHom Int.ofNatHom) = MonoidWithZeroHom.comp g (RingHom.toMonoidWithZeroHom Int.ofNatHom))
:
f = g
If two MonoidWithZeroHom
s agree on -1
and the naturals then they are equal.
theorem
ext_int'
{F : Type u_1}
{α : Type u_3}
[MonoidWithZero α]
[MonoidWithZeroHomClass F ℤ α]
{f : F}
{g : F}
(h_neg_one : ↑f (-1) = ↑g (-1))
(h_pos : ∀ (n : ℕ), 0 < n → ↑f ↑n = ↑g ↑n)
:
f = g
If two MonoidWithZeroHom
s agree on -1
and the positive naturals then they are equal.
@[simp]
theorem
eq_intCast
{F : Type u_1}
{α : Type u_3}
[NonAssocRing α]
[RingHomClass F ℤ α]
(f : F)
(n : ℤ)
:
↑f n = ↑n
@[simp]
theorem
map_intCast
{F : Type u_1}
{α : Type u_3}
{β : Type u_4}
[NonAssocRing α]
[NonAssocRing β]
[RingHomClass F α β]
(f : F)
(n : ℤ)
:
↑f ↑n = ↑n
instance
RingHom.Int.subsingleton_ringHom
{R : Type u_5}
[NonAssocSemiring R]
:
Subsingleton (ℤ →+* R)
Order dual #
Equations
- instAddGroupWithOneOrderDual = h
Equations
- instAddCommGroupWithOneOrderDual = h
Lexicographic order #
Equations
- instAddGroupWithOneLex = h
Equations
- instAddCommGroupWithOneLex = h