theorem
only_one_reciprocal
(f : Type)
[myfld f]
(x : f)
(a b : x ≠ myfld.zero) :
myfld.reciprocal x a = myfld.reciprocal x b
theorem
only_one_reciprocal_alt
(f : Type)
[myfld f]
(a b : f)
(a_ne_zero : a ≠ myfld.zero) :
a .* b = myfld.one → b = myfld.reciprocal a a_ne_zero
@[simp]
theorem
recip_one_one
(f : Type)
[myfld f]
(one_ne_zero : myfld.one ≠ myfld.zero) :
myfld.reciprocal myfld.one one_ne_zero = myfld.one
theorem
reciprocal_ne_zero
(f : Type)
[myfld f]
(x : f)
(x_ne_zero : x ≠ myfld.zero) :
myfld.reciprocal x x_ne_zero ≠ myfld.zero
@[simp]
theorem
double_reciprocal
(f : Type)
[myfld f]
(x : f)
(x_ne_zero : x ≠ myfld.zero) :
myfld.reciprocal (myfld.reciprocal x x_ne_zero) _ = x
theorem
double_reciprocal_inv
(f : Type)
[myfld f]
(x : f)
(x_ne_zero : x ≠ myfld.zero) :
x = myfld.reciprocal (myfld.reciprocal x x_ne_zero) _
theorem
mul_nonzero
(f : Type)
[myfld f]
(x y : f)
(x_ne_zero : x ≠ myfld.zero)
(y_ne_zero : y ≠ myfld.zero) :
x .* y ≠ myfld.zero
@[simp]
theorem
mul_two_reciprocals
(f : Type)
[myfld f]
(x y : f)
(x_ne_zero : x ≠ myfld.zero)
(y_ne_zero : y ≠ myfld.zero) :
(myfld.reciprocal x x_ne_zero) .* (myfld.reciprocal y y_ne_zero) = myfld.reciprocal x .* y _
theorem
split_reciprocal
(f : Type)
[myfld f]
(x y : f)
(xy_ne_zero : x .* y ≠ myfld.zero) :
myfld.reciprocal x .* y xy_ne_zero = (myfld.reciprocal x _) .* (myfld.reciprocal y _)
theorem
cancel_from_reciprocal
(f : Type)
[myfld f]
(x y : f)
(xy_ne_zero : x .* y ≠ myfld.zero) :
(myfld.reciprocal x .* y xy_ne_zero) .* x = myfld.reciprocal y _
theorem
cancel_from_reciprocal_alt
(f : Type)
[myfld f]
(x y : f)
(xy_ne_zero : x .* y ≠ myfld.zero) :
x .* (myfld.reciprocal x .* y xy_ne_zero) = myfld.reciprocal y _
theorem
add_two_reciprocals
(f : Type)
[myfld f]
(x y : f)
(x_ne_zero : x ≠ myfld.zero)
(y_ne_zero : y ≠ myfld.zero) :
(myfld.reciprocal x x_ne_zero) .+ (myfld.reciprocal y y_ne_zero) = (x .+ y) .* (myfld.reciprocal x .* y _)
theorem
reciprocal_rewrite
(f : Type)
[myfld f]
(x y : f)
(equal_proof : x = y)
(x_ne_zero : x ≠ myfld.zero) :
myfld.reciprocal x x_ne_zero = myfld.reciprocal y _
theorem
mul_zero_by_reciprocal
(f : Type)
[myfld f]
(a b : f)
(a_ne_zero : a ≠ myfld.zero) :
b = myfld.zero ↔ b .* (myfld.reciprocal a a_ne_zero) = myfld.zero
def
cube_of_reciprocal
(f : Type)
[myfld f]
(a : f)
(a_ne_zero : a ≠ myfld.zero) :
cubed f (myfld.reciprocal a a_ne_zero) = myfld.reciprocal (cubed f a) _
theorem
square_ne_zero
(f : Type)
[myfld f]
(a : f)
(a_ne_zero : a ≠ myfld.zero) :
square f a ≠ myfld.zero
theorem
reciprocal_squared
(f : Type)
[myfld f]
(a : f)
(a_ne_zero : a ≠ myfld.zero) :
square f (myfld.reciprocal a a_ne_zero) = myfld.reciprocal (square f a) _