mathlib documentation

non-mathlib.cubic

theorem multiply_out_cubed (f : Type) [myfld f] (x a : f) :
cubed f x .+ a = (cubed f x) .+ ((three f) .* ((square f x) .* a) .+ ((three f) .* (x .* a .* a) .+ (cubed f a)))
theorem cardano_denominator_not_zero (f : Type) [myfld f] [fld_with_sqrt f] [fld_not_char_two f] [fld_not_char_three f] [fld_with_cube_root f] (c d : f) (c_ne_zero : c myfld.zero) (cubrt_func : f → f) (cubrt_func_nonzero : ∀ (x : f), x myfld.zerocubrt_func x myfld.zero) :
def cardano_formula (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d : f) (c_ne_zero : c myfld.zero) (cubrt_func : f → f) (cubrt_func_nonzero : ∀ (x : f), x myfld.zerocubrt_func x myfld.zero) (cubrt_func_correct : ∀ (x : f), cubed f (cubrt_func x) = x) :
f
Equations
def depressed_cubic_subst (f : Type) [myfld f] (c d x : f) :
f
Equations
theorem cardano_works (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d : f) (c_ne_zero : c myfld.zero) (cubrt_func : f → f) (cubrt_func_nonzero : ∀ (x : f), x myfld.zerocubrt_func x myfld.zero) (cubrt_func_correct : ∀ (x : f), cubed f (cubrt_func x) = x) :
depressed_cubic_subst f c d (cardano_formula f c d c_ne_zero cubrt_func cubrt_func_nonzero cubrt_func_correct) = myfld.zero
def cardano_formula_a (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d : f) (c_ne_zero : c myfld.zero) :
f
Equations
def cardano_formula_b (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d : f) (c_ne_zero : c myfld.zero) :
f
Equations
def cardano_formula_c (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d : f) (c_ne_zero : c myfld.zero) :
f
Equations
def depressed_cubic_solution_c_zero (f : Type) [myfld f] (c d : f) (c_eq_zero : c = myfld.zero) (cubrt_func : f → f) (cubrt_func_correct : ∀ (x : f), cubed f (cubrt_func x) = x) :
f
Equations
theorem depressed_cubic_solution_c_zero_correct (f : Type) [myfld f] (c d : f) (c_eq_zero : c = myfld.zero) (cubrt_func : f → f) (cubrt_func_correct : ∀ (x : f), cubed f (cubrt_func x) = x) :
depressed_cubic_subst f c d (depressed_cubic_solution_c_zero f c d c_eq_zero cubrt_func cubrt_func_correct) = myfld.zero
def depressed_cubic_solution_c_zero_a (f : Type) [myfld f] [fld_with_cube_root f] (c d : f) (c_eq_zero : c = myfld.zero) :
f
Equations
def depressed_cubic_solution_c_zero_b (f : Type) [myfld f] [fld_with_cube_root f] [fld_with_sqrt f] [fld_not_char_two f] (c d : f) (c_eq_zero : c = myfld.zero) :
f
Equations
def depressed_cubic_solution_c_zero_c (f : Type) [myfld f] [fld_with_cube_root f] [fld_with_sqrt f] [fld_not_char_two f] (c d : f) (c_eq_zero : c = myfld.zero) :
f
Equations
def cubic_subst (f : Type) [myfld f] (a b c d x : f) :
f
Equations
theorem divide_cubic_through (f : Type) [myfld f] (a b c d x : f) (a_ne_zero : a myfld.zero) :
cubic_subst f a b c d x = myfld.zero cubic_subst f myfld.one b .* (myfld.reciprocal a a_ne_zero) c .* (myfld.reciprocal a a_ne_zero) d .* (myfld.reciprocal a a_ne_zero) x = myfld.zero
theorem depressed_cubic_equal_split (f : Type) [myfld f] (c1 d1 c2 d2 x : f) :
c1 = c2 d1 = d2depressed_cubic_subst f c1 d1 x = depressed_cubic_subst f c2 d2 x
theorem helper_bcubed (f : Type) [myfld f] [fld_not_char_three f] (b : f) :
b .* ((third f) .* (b .* ((third f) .* b))) = (three f) .* ((myfld.reciprocal (twenty_seven f) _) .* (b .* b .* b))
theorem helper_twothirds (f : Type) [myfld f] [fld_not_char_three f] :
theorem reduce_cubic_to_depressed (f : Type) [myfld f] [fld_not_char_three f] (b c d x y : f) :
x = y .+ .- (b .* (third f))cubic_subst f myfld.one b c d x = depressed_cubic_subst f (square f b) .* .- (third f) .+ c (twenty_seventh f) .* ((two f) .* (cubed f b) .+ .- ((nine f) .* (b .* c)) .+ (twenty_seven f) .* d) y
theorem int_quantity_ne_zero_simp (f : Type) [myfld f] [fld_not_char_three f] (a1 b c : f) (a_ne_zero : a1 myfld.zero) :
(three f) .* (a1 .* c) .+ .- (square f b) myfld.zero(square f b .* (myfld.reciprocal a1 a_ne_zero)) .* .- (third f) .+ c .* (myfld.reciprocal a1 a_ne_zero) myfld.zero
def cubic_formula_a (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_ne_zero : (three f) .* (a .* c) .+ .- (square f b) myfld.zero) :
f
Equations
theorem cubic_formula_a_correct (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_ne_zero : (three f) .* (a .* c) .+ .- (square f b) myfld.zero) :
cubic_subst f a b c d (cubic_formula_a f a b c d a_ne_zero int_quantity_ne_zero) = myfld.zero
def cubic_formula_b (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_ne_zero : (three f) .* (a .* c) .+ .- (square f b) myfld.zero) :
f
Equations
theorem cubic_formula_b_correct (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_ne_zero : (three f) .* (a .* c) .+ .- (square f b) myfld.zero) :
cubic_subst f a b c d (cubic_formula_b f a b c d a_ne_zero int_quantity_ne_zero) = myfld.zero
def cubic_formula_c (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_ne_zero : (three f) .* (a .* c) .+ .- (square f b) myfld.zero) :
f
Equations
theorem cubic_formula_c_correct (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_ne_zero : (three f) .* (a .* c) .+ .- (square f b) myfld.zero) :
cubic_subst f a b c d (cubic_formula_c f a b c d a_ne_zero int_quantity_ne_zero) = myfld.zero
theorem int_quantity_eq_zero_simp (f : Type) [myfld f] [fld_not_char_three f] (a1 b c : f) (a_ne_zero : a1 myfld.zero) :
(three f) .* (a1 .* c) .+ .- (square f b) = myfld.zero(square f b .* (myfld.reciprocal a1 a_ne_zero)) .* .- (third f) .+ c .* (myfld.reciprocal a1 a_ne_zero) = myfld.zero
def cubic_formula_a_alt (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_eq_zero : (three f) .* (a .* c) .+ .- (square f b) = myfld.zero) :
f
Equations
theorem cubic_formula_a_alt_correct (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_eq_zero : (three f) .* (a .* c) .+ .- (square f b) = myfld.zero) :
cubic_subst f a b c d (cubic_formula_a_alt f a b c d a_ne_zero int_quantity_eq_zero) = myfld.zero
def cubic_formula_b_alt (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_eq_zero : (three f) .* (a .* c) .+ .- (square f b) = myfld.zero) :
f
Equations
def cubic_formula_c_alt (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a b c d : f) (a_ne_zero : a myfld.zero) (int_quantity_eq_zero : (three f) .* (a .* c) .+ .- (square f b) = myfld.zero) :
f
Equations
theorem cardano_formulae_sum_zero (f : Type) [myfld f] [fld_with_sqrt f] [fld_not_char_two f] [fld_with_cube_root f] [fld_not_char_three f] (c d : f) (c_ne_zero : c myfld.zero) :
(cardano_formula_a f c d c_ne_zero) .+ ((cardano_formula_b f c d c_ne_zero) .+ (cardano_formula_c f c d c_ne_zero)) = myfld.zero
theorem cardano_products (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d x : f) (c_ne_zero : c myfld.zero) :
(cardano_formula_a f c d c_ne_zero) .* (cardano_formula_b f c d c_ne_zero) .+ (cardano_formula_a f c d c_ne_zero) .* (cardano_formula_c f c d c_ne_zero) .+ (cardano_formula_b f c d c_ne_zero) .* (cardano_formula_c f c d c_ne_zero) = c
theorem cardano_product (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d : f) (c_ne_zero : c myfld.zero) :
(cardano_formula_a f c d c_ne_zero) .* ((cardano_formula_b f c d c_ne_zero) .* (cardano_formula_c f c d c_ne_zero)) = .- d
theorem depressed_cubic_factorize (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d x : f) (c_ne_zero : c myfld.zero) :
depressed_cubic_subst f c d x = factorized_cubic_expression f x (cardano_formula_a f c d c_ne_zero) (cardano_formula_b f c d c_ne_zero) (cardano_formula_c f c d c_ne_zero)
theorem cardano_formula_uniqueness (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (c d x : f) (c_ne_zero : c myfld.zero) :
x cardano_formula_a f c d c_ne_zerox cardano_formula_b f c d c_ne_zerox cardano_formula_c f c d c_ne_zerodepressed_cubic_subst f c d x myfld.zero
theorem cubic_formula_uniqueness (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a1 b c d x : f) (a_ne_zero : a1 myfld.zero) (int_quantity_ne_zero : (three f) .* (a1 .* c) .+ .- (square f b) myfld.zero) :
x cubic_formula_a f a1 b c d a_ne_zero int_quantity_ne_zerox cubic_formula_b f a1 b c d a_ne_zero int_quantity_ne_zerox cubic_formula_c f a1 b c d a_ne_zero int_quantity_ne_zerocubic_subst f a1 b c d x myfld.zero
theorem cubic_formula_alt_uniqueness (f : Type) [myfld f] [fld_with_sqrt f] [fld_with_cube_root f] [fld_not_char_two f] [fld_not_char_three f] (a1 b c d x : f) (a_ne_zero : a1 myfld.zero) (int_quantity_eq_zero : (three f) .* (a1 .* c) .+ .- (square f b) = myfld.zero) :
x cubic_formula_a_alt f a1 b c d a_ne_zero int_quantity_eq_zerox cubic_formula_b_alt f a1 b c d a_ne_zero int_quantity_eq_zerox cubic_formula_c_alt f a1 b c d a_ne_zero int_quantity_eq_zerocubic_subst f a1 b c d x myfld.zero