Lemmas about division (semi)rings and (semi)fields #
@[simp]
theorem
RingHom.injective
{α : Type u_1}
{β : Type u_2}
[DivisionRing α]
[Semiring β]
[Nontrivial β]
(f : α →+* β)
:
@[reducible]
noncomputable def
DivisionRing.ofIsUnitOrEqZero
{R : Type u_4}
[Nontrivial R]
[Ring R]
(h : ∀ (a : R), IsUnit a ∨ a = 0)
:
Constructs a DivisionRing
structure on a Ring
consisting only of units and 0.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible]
noncomputable def
Field.ofIsUnitOrEqZero
{R : Type u_4}
[Nontrivial R]
[CommRing R]
(h : ∀ (a : R), IsUnit a ∨ a = 0)
:
Field R
Constructs a Field
structure on a CommRing
consisting only of units and 0.
Equations
- Field.ofIsUnitOrEqZero h = let __spread.0 := DivisionRing.ofIsUnitOrEqZero h; Field.mk ⋯ DivisionRing.zpow ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ DivisionRing.nnqsmul ⋯ ⋯ DivisionRing.qsmul ⋯
Instances For
@[reducible]
def
Function.Injective.divisionSemiring
{α : Type u_1}
{β : Type u_2}
[Zero α]
[Add α]
[One α]
[Mul α]
[Inv α]
[Div α]
[SMul ℕ α]
[SMul ℚ≥0 α]
[Pow α ℕ]
[Pow α ℤ]
[NatCast α]
[NNRatCast α]
(f : α → β)
(hf : Function.Injective f)
[DivisionSemiring β]
(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 : ∀ (n : ℕ) (x : α), f (n • x) = n • f x)
(nnqsmul : ∀ (q : ℚ≥0) (x : α), f (q • x) = q • f x)
(npow : ∀ (x : α) (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : α) (n : ℤ), f (x ^ n) = f x ^ n)
(natCast : ∀ (n : ℕ), f ↑n = ↑n)
(nnratCast : ∀ (q : ℚ≥0), f ↑q = ↑q)
:
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
{α : Type u_1}
{β : Type u_2}
[Zero α]
[Add α]
[Neg α]
[Sub α]
[One α]
[Mul α]
[Inv α]
[Div α]
[SMul ℕ α]
[SMul ℤ α]
[SMul ℚ≥0 α]
[SMul ℚ α]
[Pow α ℕ]
[Pow α ℤ]
[NatCast α]
[IntCast α]
[NNRatCast α]
[RatCast α]
(f : α → β)
(hf : Function.Injective f)
[DivisionRing β]
(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)
(neg : ∀ (x : α), f (-x) = -f x)
(sub : ∀ (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 : ∀ (n : ℕ) (x : α), f (n • x) = n • f x)
(zsmul : ∀ (n : ℤ) (x : α), f (n • x) = n • f x)
(nnqsmul : ∀ (q : ℚ≥0) (x : α), f (q • x) = q • f x)
(qsmul : ∀ (q : ℚ) (x : α), f (q • x) = q • f x)
(npow : ∀ (x : α) (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : α) (n : ℤ), f (x ^ n) = f x ^ n)
(natCast : ∀ (n : ℕ), f ↑n = ↑n)
(intCast : ∀ (n : ℤ), f ↑n = ↑n)
(nnratCast : ∀ (q : ℚ≥0), f ↑q = ↑q)
(ratCast : ∀ (q : ℚ), f ↑q = ↑q)
:
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.semifield
{α : Type u_1}
{β : Type u_2}
[Zero α]
[Add α]
[One α]
[Mul α]
[Inv α]
[Div α]
[SMul ℕ α]
[SMul ℚ≥0 α]
[Pow α ℕ]
[Pow α ℤ]
[NatCast α]
[NNRatCast α]
(f : α → β)
(hf : Function.Injective f)
[Semifield β]
(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 : ∀ (n : ℕ) (x : α), f (n • x) = n • f x)
(nnqsmul : ∀ (q : ℚ≥0) (x : α), f (q • x) = q • f x)
(npow : ∀ (x : α) (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : α) (n : ℤ), f (x ^ n) = f x ^ n)
(natCast : ∀ (n : ℕ), f ↑n = ↑n)
(nnratCast : ∀ (q : ℚ≥0), f ↑q = ↑q)
:
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
{α : Type u_1}
{β : Type u_2}
[Zero α]
[Add α]
[Neg α]
[Sub α]
[One α]
[Mul α]
[Inv α]
[Div α]
[SMul ℕ α]
[SMul ℤ α]
[SMul ℚ≥0 α]
[SMul ℚ α]
[Pow α ℕ]
[Pow α ℤ]
[NatCast α]
[IntCast α]
[NNRatCast α]
[RatCast α]
(f : α → β)
(hf : Function.Injective f)
[Field β]
(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)
(neg : ∀ (x : α), f (-x) = -f x)
(sub : ∀ (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 : ∀ (n : ℕ) (x : α), f (n • x) = n • f x)
(zsmul : ∀ (n : ℤ) (x : α), f (n • x) = n • f x)
(nnqsmul : ∀ (q : ℚ≥0) (x : α), f (q • x) = q • f x)
(qsmul : ∀ (q : ℚ) (x : α), f (q • x) = q • f x)
(npow : ∀ (x : α) (n : ℕ), f (x ^ n) = f x ^ n)
(zpow : ∀ (x : α) (n : ℤ), f (x ^ n) = f x ^ n)
(natCast : ∀ (n : ℕ), f ↑n = ↑n)
(intCast : ∀ (n : ℤ), f ↑n = ↑n)
(nnratCast : ∀ (q : ℚ≥0), f ↑q = ↑q)
(ratCast : ∀ (q : ℚ), f ↑q = ↑q)
:
Field α
Pullback a Field
along an injective function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Order dual #
Equations
- OrderDual.instDivisionSemiring = inst
Equations
- OrderDual.instDivisionRing = inst
Lexicographic order #
Equations
- Lex.instDivisionSemiring = inst
Equations
- Lex.instDivisionRing = inst