Lemmas about division (semi)rings and (semi)fields #
@[simp]
theorem
RingHom.injective
{α : Type u_1}
{β : Type u_2}
[DivisionRing α]
[Semiring β]
[Nontrivial β]
(f : α →+* β)
:
noncomputable def
divisionRingOfIsUnitOrEqZero
{R : Type u_4}
[Nontrivial R]
[hR : Ring R]
(h : ∀ (a : R), IsUnit a ∨ a = 0)
:
Constructs a DivisionRing
structure on a Ring
consisting only of units and 0.
Equations
- divisionRingOfIsUnitOrEqZero h = let __src := groupWithZeroOfIsUnitOrEqZero h; DivisionRing.mk ⋯ GroupWithZero.zpow ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ (qsmulRec fun (a : ℚ) => ↑a) ⋯
Instances For
@[reducible]
noncomputable def
fieldOfIsUnitOrEqZero
{R : Type u_4}
[Nontrivial R]
[hR : CommRing R]
(h : ∀ (a : R), IsUnit a ∨ a = 0)
:
Field R
Constructs a Field
structure on a CommRing
consisting only of units and 0.
See note [reducible non-instances].
Equations
- fieldOfIsUnitOrEqZero h = let __src := divisionRingOfIsUnitOrEqZero h; Field.mk ⋯ DivisionRing.zpow ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ DivisionRing.qsmul ⋯
Instances For
@[reducible]
def
Function.Injective.divisionSemiring
{α : Type u_1}
{β : Type u_2}
[DivisionSemiring β]
[Zero α]
[Mul α]
[Add α]
[One α]
[Inv α]
[Div α]
[SMul ℕ α]
[Pow α ℕ]
[Pow α ℤ]
[NatCast α]
(f : α → β)
(hf : Function.Injective f)
(zero : f 0 = 0)
(one : f 1 = 1)
(add : ∀ (x y : α), f (x + y) = f x + f y)
(mul : ∀ (x y : α), f (x * y) = f x * f y)
(inv : ∀ (x : α), f x⁻¹ = (f x)⁻¹)
(div : ∀ (x y : α), f (x / y) = f x / f y)
(nsmul : ∀ (x : α) (n : ℕ), f (n • x) = n • f x)
(npow : ∀ (x : α) (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : α) (n : ℤ), f (x ^ n) = f x ^ n)
(nat_cast : ∀ (n : ℕ), f ↑n = ↑n)
:
Pullback a DivisionSemiring
along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible]
def
Function.Injective.divisionRing
{K : Type u_3}
[DivisionRing K]
{K' : Type u_4}
[Zero K']
[One K']
[Add K']
[Mul K']
[Neg K']
[Sub K']
[Inv K']
[Div K']
[SMul ℕ K']
[SMul ℤ K']
[SMul ℚ K']
[Pow K' ℕ]
[Pow K' ℤ]
[NatCast K']
[IntCast K']
[RatCast K']
(f : K' → K)
(hf : Function.Injective f)
(zero : f 0 = 0)
(one : f 1 = 1)
(add : ∀ (x y : K'), f (x + y) = f x + f y)
(mul : ∀ (x y : K'), f (x * y) = f x * f y)
(neg : ∀ (x : K'), f (-x) = -f x)
(sub : ∀ (x y : K'), f (x - y) = f x - f y)
(inv : ∀ (x : K'), f x⁻¹ = (f x)⁻¹)
(div : ∀ (x y : K'), f (x / y) = f x / f y)
(nsmul : ∀ (x : K') (n : ℕ), f (n • x) = n • f x)
(zsmul : ∀ (x : K') (n : ℤ), f (n • x) = n • f x)
(qsmul : ∀ (x : K') (n : ℚ), f (n • x) = n • f x)
(npow : ∀ (x : K') (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : K') (n : ℤ), f (x ^ n) = f x ^ n)
(nat_cast : ∀ (n : ℕ), f ↑n = ↑n)
(int_cast : ∀ (n : ℤ), f ↑n = ↑n)
(rat_cast : ∀ (n : ℚ), f ↑n = ↑n)
:
DivisionRing K'
Pullback a DivisionSemiring
along an injective function.
See note [reducible non-instances].
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible]
def
Function.Injective.semifield
{α : Type u_1}
{β : Type u_2}
[Semifield β]
[Zero α]
[Mul α]
[Add α]
[One α]
[Inv α]
[Div α]
[SMul ℕ α]
[Pow α ℕ]
[Pow α ℤ]
[NatCast α]
(f : α → β)
(hf : Function.Injective f)
(zero : f 0 = 0)
(one : f 1 = 1)
(add : ∀ (x y : α), f (x + y) = f x + f y)
(mul : ∀ (x y : α), f (x * y) = f x * f y)
(inv : ∀ (x : α), f x⁻¹ = (f x)⁻¹)
(div : ∀ (x y : α), f (x / y) = f x / f y)
(nsmul : ∀ (x : α) (n : ℕ), f (n • x) = n • f x)
(npow : ∀ (x : α) (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : α) (n : ℤ), f (x ^ n) = f x ^ n)
(nat_cast : ∀ (n : ℕ), f ↑n = ↑n)
:
Pullback a Field
along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible]
def
Function.Injective.field
{K : Type u_3}
[Field K]
{K' : Type u_4}
[Zero K']
[Mul K']
[Add K']
[Neg K']
[Sub K']
[One K']
[Inv K']
[Div K']
[SMul ℕ K']
[SMul ℤ K']
[SMul ℚ K']
[Pow K' ℕ]
[Pow K' ℤ]
[NatCast K']
[IntCast K']
[RatCast K']
(f : K' → K)
(hf : Function.Injective f)
(zero : f 0 = 0)
(one : f 1 = 1)
(add : ∀ (x y : K'), f (x + y) = f x + f y)
(mul : ∀ (x y : K'), f (x * y) = f x * f y)
(neg : ∀ (x : K'), f (-x) = -f x)
(sub : ∀ (x y : K'), f (x - y) = f x - f y)
(inv : ∀ (x : K'), f x⁻¹ = (f x)⁻¹)
(div : ∀ (x y : K'), f (x / y) = f x / f y)
(nsmul : ∀ (x : K') (n : ℕ), f (n • x) = n • f x)
(zsmul : ∀ (x : K') (n : ℤ), f (n • x) = n • f x)
(qsmul : ∀ (x : K') (n : ℚ), f (n • x) = n • f x)
(npow : ∀ (x : K') (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : K') (n : ℤ), f (x ^ n) = f x ^ n)
(nat_cast : ∀ (n : ℕ), f ↑n = ↑n)
(int_cast : ∀ (n : ℤ), f ↑n = ↑n)
(rat_cast : ∀ (n : ℚ), f ↑n = ↑n)
:
Field K'
Pullback a Field
along an injective function.
See note [reducible non-instances].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Order dual #
Equations
- instDivisionSemiringOrderDual = h
Equations
- instDivisionRingOrderDual = h
Lexicographic order #
Equations
- instDivisionSemiringLex = h
Equations
- instDivisionRingLex = h