Documentation

Init.Grind.Ring.Field

class Lean.Grind.Field (α : Type u) extends Lean.Grind.CommRing α, Inv α, Div α :

A field is a commutative ring with inverses for all non-zero elements.

Instances
    theorem Lean.Grind.Field.inv_mul_cancel {α : Type u_1} [Field α] {a : α} (h : a ≠ 0) :
    a⁻¹ * a = 1
    theorem Lean.Grind.Field.eq_inv_of_mul_eq_one {α : Type u_1} [Field α] {a b : α} (h : a * b = 1) :
    a = b⁻¹
    theorem Lean.Grind.Field.inv_one {α : Type u_1} [Field α] :
    1⁻¹ = 1
    theorem Lean.Grind.Field.inv_inv {α : Type u_1} [Field α] (a : α) :
    theorem Lean.Grind.Field.inv_eq_iff_eq_iff {α : Type u_1} [Field α] (a b : α) :
    a⁻¹ = b ↔ a = b⁻¹
    theorem Lean.Grind.Field.inv_neg {α : Type u_1} [Field α] (a : α) :
    theorem Lean.Grind.Field.inv_eq_zero_iff {α : Type u_1} [Field α] {a : α} :
    a⁻¹ = 0 ↔ a = 0
    theorem Lean.Grind.Field.zero_eq_inv_iff {α : Type u_1} [Field α] {a : α} :
    0 = a⁻¹ ↔ 0 = a
    theorem Lean.Grind.Field.of_mul_eq_zero {α : Type u_1} [Field α] {a b : α} :
    a * b = 0 → a = 0 ∨ b = 0
    theorem Lean.Grind.Field.inv_mul {α : Type u_1} [Field α] (a b : α) :
    (a * b)⁻¹ = a⁻¹ * b⁻¹
    theorem Lean.Grind.Field.of_pow_eq_zero {α : Type u_1} [Field α] (a : α) (n : Nat) :
    a ^ n = 0 → a = 0
    theorem Lean.Grind.Field.zpow_natCast {α : Type u_1} [Field α] (a : α) (n : Nat) :
    a ^ ↑n = a ^ n
    theorem Lean.Grind.Field.zpow_one {α : Type u_1} [Field α] (a : α) :
    a ^ 1 = a
    theorem Lean.Grind.Field.zpow_neg_one {α : Type u_1} [Field α] (a : α) :
    a ^ (-1) = a⁻¹
    theorem Lean.Grind.Field.zpow_add_one {α : Type u_1} [Field α] {a : α} (h : a ≠ 0) (n : Int) :
    a ^ (n + 1) = a ^ n * a
    theorem Lean.Grind.Field.zpow_sub_one {α : Type u_1} [Field α] {a : α} (h : a ≠ 0) (n : Int) :
    a ^ (n - 1) = a ^ n * a⁻¹
    theorem Lean.Grind.Field.zpow_add {α : Type u_1} [Field α] {a : α} (h : a ≠ 0) (m n : Int) :
    a ^ (m + n) = a ^ m * a ^ n
    theorem Lean.Grind.Field.div_zero {α : Type u_1} [Field α] {x : α} :
    x / 0 = 0
    theorem Lean.Grind.Field.mul_div {α : Type u_1} [Field α] {x y z : α} :
    x * (y / z) = x * y / z
    theorem Lean.Grind.Field.div_mul {α : Type u_1} [Field α] {x y z : α} :
    x / y * z = x * z / y
    theorem Lean.Grind.Field.div_add {α : Type u_1} [Field α] {x y z : α} (hy : y ≠ 0) :
    x / y + z = (x + y * z) / y
    theorem Lean.Grind.Field.add_div {α : Type u_1} [Field α] {x y z : α} (hz : z ≠ 0) :
    x + y / z = (x * z + y) / z
    theorem Lean.Grind.Field.div_div_right {α : Type u_1} [Field α] {x y z : α} :
    x / (y / z) = x * z / y
    theorem Lean.Grind.Field.div_div_left {α : Type u_1} [Field α] {x y z : α} :
    x / y / z = x / (y * z)
    theorem Lean.Grind.Field.div_mul_cancel {α : Type u_1} [Field α] {x y : α} (h : y ≠ 0) :
    x / y * y = x
    theorem Lean.Grind.Field.natCast_ne_zero {α : Type u_1} [Field α] [IsCharP α 0] {n : Nat} (h : n ≠ 0) :
    ↑n ≠ 0
    theorem Lean.Grind.Field.intCast_div_of_dvd {α : Type u_1} [Field α] {x y : Int} (h : y ∣ x) (w : ↑y ≠ 0) :
    ↑(x / y) = ↑x / ↑y
    theorem Lean.Grind.Field.natCast_div_of_dvd {α : Type u_1} [Field α] {x y : Nat} (h : y ∣ x) (w : ↑y ≠ 0) :
    ↑(x / y) = ↑x / ↑y
    Equations
    • ⋯ = ⋯
    Instances For