% TIMEFORMAT='%3R'; { time (exec 2>&1; /home/martin/bin/satallax -E /home/martin/.isabelle/contrib/e-2.5-1/x86_64-linux/eprover -p tstp -t 5 /home/martin/judgement-day/tptp-thf/tptp/Fundamental_Theorem_Algebra/prob_325__5370752_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:29:14.455

% Could-be-implicit typings (5)
thf(ty_n_t__Polynomial__Opoly_It__Real__Oreal_J, type,
    poly_real : $tType).
thf(ty_n_t__Polynomial__Opoly_Itf__a_J, type,
    poly_a : $tType).
thf(ty_n_t__Real__Oreal, type,
    real : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_tf__a, type,
    a : $tType).

% Explicit typings (29)
thf(sy_c_Fundamental__Theorem__Algebra__Mirabelle__sywschxjbb_Ooffset__poly_001tf__a, type,
    fundam1358810038poly_a : poly_a > a > poly_a).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Polynomial__Opoly_Itf__a_J, type,
    minus_minus_poly_a : poly_a > poly_a > poly_a).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Real__Oreal, type,
    minus_minus_real : real > real > real).
thf(sy_c_Groups_Ominus__class_Ominus_001tf__a, type,
    minus_minus_a : a > a > a).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Polynomial__Opoly_Itf__a_J, type,
    plus_plus_poly_a : poly_a > poly_a > poly_a).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Real__Oreal, type,
    plus_plus_real : real > real > real).
thf(sy_c_Groups_Oplus__class_Oplus_001tf__a, type,
    plus_plus_a : a > a > a).
thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Polynomial__Opoly_Itf__a_J, type,
    uminus_uminus_poly_a : poly_a > poly_a).
thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Real__Oreal, type,
    uminus_uminus_real : real > real).
thf(sy_c_Groups_Ouminus__class_Ouminus_001tf__a, type,
    uminus_uminus_a : a > a).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Real__Oreal_J, type,
    zero_zero_poly_real : poly_real).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_Itf__a_J, type,
    zero_zero_poly_a : poly_a).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Real__Oreal, type,
    zero_zero_real : real).
thf(sy_c_Groups_Ozero__class_Ozero_001tf__a, type,
    zero_zero_a : a).
thf(sy_c_Orderings_Oord__class_Oless_001t__Real__Oreal, type,
    ord_less_real : real > real > $o).
thf(sy_c_Polynomial_Odegree_001t__Real__Oreal, type,
    degree_real : poly_real > nat).
thf(sy_c_Polynomial_Odegree_001tf__a, type,
    degree_a : poly_a > nat).
thf(sy_c_Polynomial_OpCons_001t__Real__Oreal, type,
    pCons_real : real > poly_real > poly_real).
thf(sy_c_Polynomial_OpCons_001tf__a, type,
    pCons_a : a > poly_a > poly_a).
thf(sy_c_Polynomial_Opoly_001t__Real__Oreal, type,
    poly_real2 : poly_real > real > real).
thf(sy_c_Polynomial_Opoly_001tf__a, type,
    poly_a2 : poly_a > a > a).
thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Real__Oreal, type,
    coeff_real : poly_real > nat > real).
thf(sy_c_Polynomial_Opoly_Ocoeff_001tf__a, type,
    coeff_a : poly_a > nat > a).
thf(sy_v_e, type,
    e : real).
thf(sy_v_p, type,
    p : poly_a).
thf(sy_v_q____, type,
    q : poly_a).
thf(sy_v_w, type,
    w : a).
thf(sy_v_z, type,
    z : a).

% Relevant facts (137)
thf(fact_0__092_060open_062_092_060And_062w_O_Apoly_Aq_A_Iw_A_N_Az_J_A_061_Apoly_Ap_A_Iz_A_L_A_Iw_A_N_Az_J_J_092_060close_062, axiom,
    ((![W : a]: ((poly_a2 @ q @ (minus_minus_a @ W @ z)) = (poly_a2 @ p @ (plus_plus_a @ z @ (minus_minus_a @ W @ z))))))). % \<open>\<And>w. poly q (w - z) = poly p (z + (w - z))\<close>
thf(fact_1_q_I2_J, axiom,
    ((![X : a]: ((poly_a2 @ q @ X) = (poly_a2 @ p @ (plus_plus_a @ z @ X)))))). % q(2)
thf(fact_2_q_I1_J, axiom,
    (((degree_a @ q) = (degree_a @ p)))). % q(1)
thf(fact_3__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062q_O_A_092_060lbrakk_062degree_Aq_A_061_Adegree_Ap_059_A_092_060And_062x_O_Apoly_Aq_Ax_A_061_Apoly_Ap_A_Iz_A_L_Ax_J_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062, axiom,
    ((~ ((![Q : poly_a]: (((degree_a @ Q) = (degree_a @ p)) => (~ ((![X2 : a]: ((poly_a2 @ Q @ X2) = (poly_a2 @ p @ (plus_plus_a @ z @ X2)))))))))))). % \<open>\<And>thesis. (\<And>q. \<lbrakk>degree q = degree p; \<And>x. poly q x = poly p (z + x)\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_4_diff__eq__diff__eq, axiom,
    ((![A : a, B : a, C : a, D : a]: (((minus_minus_a @ A @ B) = (minus_minus_a @ C @ D)) => ((A = B) = (C = D)))))). % diff_eq_diff_eq
thf(fact_5_cancel__ab__semigroup__add__class_Odiff__right__commute, axiom,
    ((![A : a, C : a, B : a]: ((minus_minus_a @ (minus_minus_a @ A @ C) @ B) = (minus_minus_a @ (minus_minus_a @ A @ B) @ C))))). % cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_6_add__diff__cancel, axiom,
    ((![A : a, B : a]: ((minus_minus_a @ (plus_plus_a @ A @ B) @ B) = A)))). % add_diff_cancel
thf(fact_7_diff__add__cancel, axiom,
    ((![A : a, B : a]: ((plus_plus_a @ (minus_minus_a @ A @ B) @ B) = A)))). % diff_add_cancel
thf(fact_8_add__diff__cancel__left, axiom,
    ((![C : a, A : a, B : a]: ((minus_minus_a @ (plus_plus_a @ C @ A) @ (plus_plus_a @ C @ B)) = (minus_minus_a @ A @ B))))). % add_diff_cancel_left
thf(fact_9_add__diff__cancel__left_H, axiom,
    ((![A : a, B : a]: ((minus_minus_a @ (plus_plus_a @ A @ B) @ A) = B)))). % add_diff_cancel_left'
thf(fact_10_add__diff__cancel__right, axiom,
    ((![A : a, C : a, B : a]: ((minus_minus_a @ (plus_plus_a @ A @ C) @ (plus_plus_a @ B @ C)) = (minus_minus_a @ A @ B))))). % add_diff_cancel_right
thf(fact_11_add__left__cancel, axiom,
    ((![A : a, B : a, C : a]: (((plus_plus_a @ A @ B) = (plus_plus_a @ A @ C)) = (B = C))))). % add_left_cancel
thf(fact_12_add__right__cancel, axiom,
    ((![B : a, A : a, C : a]: (((plus_plus_a @ B @ A) = (plus_plus_a @ C @ A)) = (B = C))))). % add_right_cancel
thf(fact_13_add__diff__cancel__right_H, axiom,
    ((![A : a, B : a]: ((minus_minus_a @ (plus_plus_a @ A @ B) @ B) = A)))). % add_diff_cancel_right'
thf(fact_14_poly__add, axiom,
    ((![P : poly_a, Q2 : poly_a, X : a]: ((poly_a2 @ (plus_plus_poly_a @ P @ Q2) @ X) = (plus_plus_a @ (poly_a2 @ P @ X) @ (poly_a2 @ Q2 @ X)))))). % poly_add
thf(fact_15_ab__semigroup__add__class_Oadd__ac_I1_J, axiom,
    ((![A : a, B : a, C : a]: ((plus_plus_a @ (plus_plus_a @ A @ B) @ C) = (plus_plus_a @ A @ (plus_plus_a @ B @ C)))))). % ab_semigroup_add_class.add_ac(1)
thf(fact_16_group__cancel_Oadd1, axiom,
    ((![A2 : a, K : a, A : a, B : a]: ((A2 = (plus_plus_a @ K @ A)) => ((plus_plus_a @ A2 @ B) = (plus_plus_a @ K @ (plus_plus_a @ A @ B))))))). % group_cancel.add1
thf(fact_17_group__cancel_Oadd2, axiom,
    ((![B2 : a, K : a, B : a, A : a]: ((B2 = (plus_plus_a @ K @ B)) => ((plus_plus_a @ A @ B2) = (plus_plus_a @ K @ (plus_plus_a @ A @ B))))))). % group_cancel.add2
thf(fact_18_add_Oassoc, axiom,
    ((![A : a, B : a, C : a]: ((plus_plus_a @ (plus_plus_a @ A @ B) @ C) = (plus_plus_a @ A @ (plus_plus_a @ B @ C)))))). % add.assoc
thf(fact_19_add_Oleft__cancel, axiom,
    ((![A : a, B : a, C : a]: (((plus_plus_a @ A @ B) = (plus_plus_a @ A @ C)) = (B = C))))). % add.left_cancel
thf(fact_20_add_Oright__cancel, axiom,
    ((![B : a, A : a, C : a]: (((plus_plus_a @ B @ A) = (plus_plus_a @ C @ A)) = (B = C))))). % add.right_cancel
thf(fact_21_add_Ocommute, axiom,
    ((plus_plus_a = (^[A3 : a]: (^[B3 : a]: (plus_plus_a @ B3 @ A3)))))). % add.commute
thf(fact_22_add_Oleft__commute, axiom,
    ((![B : a, A : a, C : a]: ((plus_plus_a @ B @ (plus_plus_a @ A @ C)) = (plus_plus_a @ A @ (plus_plus_a @ B @ C)))))). % add.left_commute
thf(fact_23_add__left__imp__eq, axiom,
    ((![A : a, B : a, C : a]: (((plus_plus_a @ A @ B) = (plus_plus_a @ A @ C)) => (B = C))))). % add_left_imp_eq
thf(fact_24_add__right__imp__eq, axiom,
    ((![B : a, A : a, C : a]: (((plus_plus_a @ B @ A) = (plus_plus_a @ C @ A)) => (B = C))))). % add_right_imp_eq
thf(fact_25_add__implies__diff, axiom,
    ((![C : a, B : a, A : a]: (((plus_plus_a @ C @ B) = A) => (C = (minus_minus_a @ A @ B)))))). % add_implies_diff
thf(fact_26_diff__diff__add, axiom,
    ((![A : a, B : a, C : a]: ((minus_minus_a @ (minus_minus_a @ A @ B) @ C) = (minus_minus_a @ A @ (plus_plus_a @ B @ C)))))). % diff_diff_add
thf(fact_27_diff__add__eq__diff__diff__swap, axiom,
    ((![A : a, B : a, C : a]: ((minus_minus_a @ A @ (plus_plus_a @ B @ C)) = (minus_minus_a @ (minus_minus_a @ A @ C) @ B))))). % diff_add_eq_diff_diff_swap
thf(fact_28_diff__add__eq, axiom,
    ((![A : a, B : a, C : a]: ((plus_plus_a @ (minus_minus_a @ A @ B) @ C) = (minus_minus_a @ (plus_plus_a @ A @ C) @ B))))). % diff_add_eq
thf(fact_29_diff__diff__eq2, axiom,
    ((![A : a, B : a, C : a]: ((minus_minus_a @ A @ (minus_minus_a @ B @ C)) = (minus_minus_a @ (plus_plus_a @ A @ C) @ B))))). % diff_diff_eq2
thf(fact_30_add__diff__eq, axiom,
    ((![A : a, B : a, C : a]: ((plus_plus_a @ A @ (minus_minus_a @ B @ C)) = (minus_minus_a @ (plus_plus_a @ A @ B) @ C))))). % add_diff_eq
thf(fact_31_eq__diff__eq, axiom,
    ((![A : a, C : a, B : a]: ((A = (minus_minus_a @ C @ B)) = ((plus_plus_a @ A @ B) = C))))). % eq_diff_eq
thf(fact_32_diff__eq__eq, axiom,
    ((![A : a, B : a, C : a]: (((minus_minus_a @ A @ B) = C) = (A = (plus_plus_a @ C @ B)))))). % diff_eq_eq
thf(fact_33_group__cancel_Osub1, axiom,
    ((![A2 : a, K : a, A : a, B : a]: ((A2 = (plus_plus_a @ K @ A)) => ((minus_minus_a @ A2 @ B) = (plus_plus_a @ K @ (minus_minus_a @ A @ B))))))). % group_cancel.sub1
thf(fact_34_add__diff__add, axiom,
    ((![A : a, C : a, B : a, D : a]: ((minus_minus_a @ (plus_plus_a @ A @ C) @ (plus_plus_a @ B @ D)) = (plus_plus_a @ (minus_minus_a @ A @ B) @ (minus_minus_a @ C @ D)))))). % add_diff_add
thf(fact_35_poly__offset__poly, axiom,
    ((![P : poly_a, H : a, X : a]: ((poly_a2 @ (fundam1358810038poly_a @ P @ H) @ X) = (poly_a2 @ P @ (plus_plus_a @ H @ X)))))). % poly_offset_poly
thf(fact_36_is__num__normalize_I1_J, axiom,
    ((![A : a, B : a, C : a]: ((plus_plus_a @ (plus_plus_a @ A @ B) @ C) = (plus_plus_a @ A @ (plus_plus_a @ B @ C)))))). % is_num_normalize(1)
thf(fact_37_coeff__diff, axiom,
    ((![P : poly_a, Q2 : poly_a, N : nat]: ((coeff_a @ (minus_minus_poly_a @ P @ Q2) @ N) = (minus_minus_a @ (coeff_a @ P @ N) @ (coeff_a @ Q2 @ N)))))). % coeff_diff
thf(fact_38_diff__pCons, axiom,
    ((![A : a, P : poly_a, B : a, Q2 : poly_a]: ((minus_minus_poly_a @ (pCons_a @ A @ P) @ (pCons_a @ B @ Q2)) = (pCons_a @ (minus_minus_a @ A @ B) @ (minus_minus_poly_a @ P @ Q2)))))). % diff_pCons
thf(fact_39_uminus__add__conv__diff, axiom,
    ((![A : a, B : a]: ((plus_plus_a @ (uminus_uminus_a @ A) @ B) = (minus_minus_a @ B @ A))))). % uminus_add_conv_diff
thf(fact_40_diff__minus__eq__add, axiom,
    ((![A : a, B : a]: ((minus_minus_a @ A @ (uminus_uminus_a @ B)) = (plus_plus_a @ A @ B))))). % diff_minus_eq_add
thf(fact_41_degree__0, axiom,
    (((degree_a @ zero_zero_poly_a) = zero_zero_nat))). % degree_0
thf(fact_42_degree__minus, axiom,
    ((![P : poly_a]: ((degree_a @ (uminus_uminus_poly_a @ P)) = (degree_a @ P))))). % degree_minus
thf(fact_43_add__cancel__right__right, axiom,
    ((![A : a, B : a]: ((A = (plus_plus_a @ A @ B)) = (B = zero_zero_a))))). % add_cancel_right_right
thf(fact_44_add__cancel__right__right, axiom,
    ((![A : real, B : real]: ((A = (plus_plus_real @ A @ B)) = (B = zero_zero_real))))). % add_cancel_right_right
thf(fact_45_add__cancel__right__left, axiom,
    ((![A : a, B : a]: ((A = (plus_plus_a @ B @ A)) = (B = zero_zero_a))))). % add_cancel_right_left
thf(fact_46_add__cancel__right__left, axiom,
    ((![A : real, B : real]: ((A = (plus_plus_real @ B @ A)) = (B = zero_zero_real))))). % add_cancel_right_left
thf(fact_47_add__cancel__left__right, axiom,
    ((![A : a, B : a]: (((plus_plus_a @ A @ B) = A) = (B = zero_zero_a))))). % add_cancel_left_right
thf(fact_48_add__cancel__left__right, axiom,
    ((![A : real, B : real]: (((plus_plus_real @ A @ B) = A) = (B = zero_zero_real))))). % add_cancel_left_right
thf(fact_49_add__cancel__left__left, axiom,
    ((![B : a, A : a]: (((plus_plus_a @ B @ A) = A) = (B = zero_zero_a))))). % add_cancel_left_left
thf(fact_50_add__cancel__left__left, axiom,
    ((![B : real, A : real]: (((plus_plus_real @ B @ A) = A) = (B = zero_zero_real))))). % add_cancel_left_left
thf(fact_51_double__zero__sym, axiom,
    ((![A : real]: ((zero_zero_real = (plus_plus_real @ A @ A)) = (A = zero_zero_real))))). % double_zero_sym
thf(fact_52_double__zero, axiom,
    ((![A : real]: (((plus_plus_real @ A @ A) = zero_zero_real) = (A = zero_zero_real))))). % double_zero
thf(fact_53_add_Oright__neutral, axiom,
    ((![A : a]: ((plus_plus_a @ A @ zero_zero_a) = A)))). % add.right_neutral
thf(fact_54_add_Oright__neutral, axiom,
    ((![A : real]: ((plus_plus_real @ A @ zero_zero_real) = A)))). % add.right_neutral
thf(fact_55_add_Oleft__neutral, axiom,
    ((![A : a]: ((plus_plus_a @ zero_zero_a @ A) = A)))). % add.left_neutral
thf(fact_56_add_Oleft__neutral, axiom,
    ((![A : real]: ((plus_plus_real @ zero_zero_real @ A) = A)))). % add.left_neutral
thf(fact_57_diff__self, axiom,
    ((![A : real]: ((minus_minus_real @ A @ A) = zero_zero_real)))). % diff_self
thf(fact_58_diff__self, axiom,
    ((![A : a]: ((minus_minus_a @ A @ A) = zero_zero_a)))). % diff_self
thf(fact_59_diff__0__right, axiom,
    ((![A : real]: ((minus_minus_real @ A @ zero_zero_real) = A)))). % diff_0_right
thf(fact_60_diff__0__right, axiom,
    ((![A : a]: ((minus_minus_a @ A @ zero_zero_a) = A)))). % diff_0_right
thf(fact_61_diff__zero, axiom,
    ((![A : real]: ((minus_minus_real @ A @ zero_zero_real) = A)))). % diff_zero
thf(fact_62_diff__zero, axiom,
    ((![A : a]: ((minus_minus_a @ A @ zero_zero_a) = A)))). % diff_zero
thf(fact_63_cancel__comm__monoid__add__class_Odiff__cancel, axiom,
    ((![A : real]: ((minus_minus_real @ A @ A) = zero_zero_real)))). % cancel_comm_monoid_add_class.diff_cancel
thf(fact_64_cancel__comm__monoid__add__class_Odiff__cancel, axiom,
    ((![A : a]: ((minus_minus_a @ A @ A) = zero_zero_a)))). % cancel_comm_monoid_add_class.diff_cancel
thf(fact_65_add_Oinverse__neutral, axiom,
    (((uminus_uminus_real @ zero_zero_real) = zero_zero_real))). % add.inverse_neutral
thf(fact_66_neg__0__equal__iff__equal, axiom,
    ((![A : real]: ((zero_zero_real = (uminus_uminus_real @ A)) = (zero_zero_real = A))))). % neg_0_equal_iff_equal
thf(fact_67_neg__equal__0__iff__equal, axiom,
    ((![A : real]: (((uminus_uminus_real @ A) = zero_zero_real) = (A = zero_zero_real))))). % neg_equal_0_iff_equal
thf(fact_68_equal__neg__zero, axiom,
    ((![A : real]: ((A = (uminus_uminus_real @ A)) = (A = zero_zero_real))))). % equal_neg_zero
thf(fact_69_neg__equal__zero, axiom,
    ((![A : real]: (((uminus_uminus_real @ A) = A) = (A = zero_zero_real))))). % neg_equal_zero
thf(fact_70_minus__add__distrib, axiom,
    ((![A : a, B : a]: ((uminus_uminus_a @ (plus_plus_a @ A @ B)) = (plus_plus_a @ (uminus_uminus_a @ A) @ (uminus_uminus_a @ B)))))). % minus_add_distrib
thf(fact_71_minus__add__cancel, axiom,
    ((![A : a, B : a]: ((plus_plus_a @ (uminus_uminus_a @ A) @ (plus_plus_a @ A @ B)) = B)))). % minus_add_cancel
thf(fact_72_add__minus__cancel, axiom,
    ((![A : a, B : a]: ((plus_plus_a @ A @ (plus_plus_a @ (uminus_uminus_a @ A) @ B)) = B)))). % add_minus_cancel
thf(fact_73_minus__diff__eq, axiom,
    ((![A : a, B : a]: ((uminus_uminus_a @ (minus_minus_a @ A @ B)) = (minus_minus_a @ B @ A))))). % minus_diff_eq
thf(fact_74_coeff__0, axiom,
    ((![N : nat]: ((coeff_real @ zero_zero_poly_real @ N) = zero_zero_real)))). % coeff_0
thf(fact_75_pCons__0__0, axiom,
    (((pCons_real @ zero_zero_real @ zero_zero_poly_real) = zero_zero_poly_real))). % pCons_0_0
thf(fact_76_pCons__eq__0__iff, axiom,
    ((![A : real, P : poly_real]: (((pCons_real @ A @ P) = zero_zero_poly_real) = (((A = zero_zero_real)) & ((P = zero_zero_poly_real))))))). % pCons_eq_0_iff
thf(fact_77_poly__0, axiom,
    ((![X : a]: ((poly_a2 @ zero_zero_poly_a @ X) = zero_zero_a)))). % poly_0
thf(fact_78_poly__0, axiom,
    ((![X : real]: ((poly_real2 @ zero_zero_poly_real @ X) = zero_zero_real)))). % poly_0
thf(fact_79_add_Oright__inverse, axiom,
    ((![A : a]: ((plus_plus_a @ A @ (uminus_uminus_a @ A)) = zero_zero_a)))). % add.right_inverse
thf(fact_80_add_Oright__inverse, axiom,
    ((![A : real]: ((plus_plus_real @ A @ (uminus_uminus_real @ A)) = zero_zero_real)))). % add.right_inverse
thf(fact_81_add_Oleft__inverse, axiom,
    ((![A : a]: ((plus_plus_a @ (uminus_uminus_a @ A) @ A) = zero_zero_a)))). % add.left_inverse
thf(fact_82_add_Oleft__inverse, axiom,
    ((![A : real]: ((plus_plus_real @ (uminus_uminus_real @ A) @ A) = zero_zero_real)))). % add.left_inverse
thf(fact_83_diff__0, axiom,
    ((![A : real]: ((minus_minus_real @ zero_zero_real @ A) = (uminus_uminus_real @ A))))). % diff_0
thf(fact_84_diff__0, axiom,
    ((![A : a]: ((minus_minus_a @ zero_zero_a @ A) = (uminus_uminus_a @ A))))). % diff_0
thf(fact_85_leading__coeff__0__iff, axiom,
    ((![P : poly_a]: (((coeff_a @ P @ (degree_a @ P)) = zero_zero_a) = (P = zero_zero_poly_a))))). % leading_coeff_0_iff
thf(fact_86_leading__coeff__0__iff, axiom,
    ((![P : poly_real]: (((coeff_real @ P @ (degree_real @ P)) = zero_zero_real) = (P = zero_zero_poly_real))))). % leading_coeff_0_iff
thf(fact_87_coeff__add, axiom,
    ((![P : poly_a, Q2 : poly_a, N : nat]: ((coeff_a @ (plus_plus_poly_a @ P @ Q2) @ N) = (plus_plus_a @ (coeff_a @ P @ N) @ (coeff_a @ Q2 @ N)))))). % coeff_add
thf(fact_88_add__pCons, axiom,
    ((![A : a, P : poly_a, B : a, Q2 : poly_a]: ((plus_plus_poly_a @ (pCons_a @ A @ P) @ (pCons_a @ B @ Q2)) = (pCons_a @ (plus_plus_a @ A @ B) @ (plus_plus_poly_a @ P @ Q2)))))). % add_pCons
thf(fact_89_lead__coeff__pCons_I2_J, axiom,
    ((![P : poly_a, A : a]: ((P = zero_zero_poly_a) => ((coeff_a @ (pCons_a @ A @ P) @ (degree_a @ (pCons_a @ A @ P))) = A))))). % lead_coeff_pCons(2)
thf(fact_90_lead__coeff__pCons_I1_J, axiom,
    ((![P : poly_a, A : a]: ((~ ((P = zero_zero_poly_a))) => ((coeff_a @ (pCons_a @ A @ P) @ (degree_a @ (pCons_a @ A @ P))) = (coeff_a @ P @ (degree_a @ P))))))). % lead_coeff_pCons(1)
thf(fact_91_zero__reorient, axiom,
    ((![X : real]: ((zero_zero_real = X) = (X = zero_zero_real))))). % zero_reorient
thf(fact_92_pCons__induct, axiom,
    ((![P2 : poly_real > $o, P : poly_real]: ((P2 @ zero_zero_poly_real) => ((![A4 : real, P3 : poly_real]: (((~ ((A4 = zero_zero_real))) | (~ ((P3 = zero_zero_poly_real)))) => ((P2 @ P3) => (P2 @ (pCons_real @ A4 @ P3))))) => (P2 @ P)))))). % pCons_induct
thf(fact_93_degree__pCons__0, axiom,
    ((![A : a]: ((degree_a @ (pCons_a @ A @ zero_zero_poly_a)) = zero_zero_nat)))). % degree_pCons_0
thf(fact_94_poly__0__coeff__0, axiom,
    ((![P : poly_a]: ((poly_a2 @ P @ zero_zero_a) = (coeff_a @ P @ zero_zero_nat))))). % poly_0_coeff_0
thf(fact_95_poly__0__coeff__0, axiom,
    ((![P : poly_real]: ((poly_real2 @ P @ zero_zero_real) = (coeff_real @ P @ zero_zero_nat))))). % poly_0_coeff_0
thf(fact_96_degree__eq__zeroE, axiom,
    ((![P : poly_a]: (((degree_a @ P) = zero_zero_nat) => (~ ((![A4 : a]: (~ ((P = (pCons_a @ A4 @ zero_zero_poly_a))))))))))). % degree_eq_zeroE
thf(fact_97_lead__coeff__minus, axiom,
    ((![P : poly_a]: ((coeff_a @ (uminus_uminus_poly_a @ P) @ (degree_a @ (uminus_uminus_poly_a @ P))) = (uminus_uminus_a @ (coeff_a @ P @ (degree_a @ P))))))). % lead_coeff_minus
thf(fact_98_zero__poly_Orep__eq, axiom,
    (((coeff_real @ zero_zero_poly_real) = (^[Uu : nat]: zero_zero_real)))). % zero_poly.rep_eq
thf(fact_99_leading__coeff__neq__0, axiom,
    ((![P : poly_a]: ((~ ((P = zero_zero_poly_a))) => (~ (((coeff_a @ P @ (degree_a @ P)) = zero_zero_a))))))). % leading_coeff_neq_0
thf(fact_100_leading__coeff__neq__0, axiom,
    ((![P : poly_real]: ((~ ((P = zero_zero_poly_real))) => (~ (((coeff_real @ P @ (degree_real @ P)) = zero_zero_real))))))). % leading_coeff_neq_0
thf(fact_101_add__eq__0__iff, axiom,
    ((![A : a, B : a]: (((plus_plus_a @ A @ B) = zero_zero_a) = (B = (uminus_uminus_a @ A)))))). % add_eq_0_iff
thf(fact_102_add__eq__0__iff, axiom,
    ((![A : real, B : real]: (((plus_plus_real @ A @ B) = zero_zero_real) = (B = (uminus_uminus_real @ A)))))). % add_eq_0_iff
thf(fact_103_ab__group__add__class_Oab__left__minus, axiom,
    ((![A : a]: ((plus_plus_a @ (uminus_uminus_a @ A) @ A) = zero_zero_a)))). % ab_group_add_class.ab_left_minus
thf(fact_104_ab__group__add__class_Oab__left__minus, axiom,
    ((![A : real]: ((plus_plus_real @ (uminus_uminus_real @ A) @ A) = zero_zero_real)))). % ab_group_add_class.ab_left_minus
thf(fact_105_add_Oinverse__unique, axiom,
    ((![A : a, B : a]: (((plus_plus_a @ A @ B) = zero_zero_a) => ((uminus_uminus_a @ A) = B))))). % add.inverse_unique
thf(fact_106_add_Oinverse__unique, axiom,
    ((![A : real, B : real]: (((plus_plus_real @ A @ B) = zero_zero_real) => ((uminus_uminus_real @ A) = B))))). % add.inverse_unique
thf(fact_107_eq__neg__iff__add__eq__0, axiom,
    ((![A : a, B : a]: ((A = (uminus_uminus_a @ B)) = ((plus_plus_a @ A @ B) = zero_zero_a))))). % eq_neg_iff_add_eq_0
thf(fact_108_eq__neg__iff__add__eq__0, axiom,
    ((![A : real, B : real]: ((A = (uminus_uminus_real @ B)) = ((plus_plus_real @ A @ B) = zero_zero_real))))). % eq_neg_iff_add_eq_0
thf(fact_109_neg__eq__iff__add__eq__0, axiom,
    ((![A : a, B : a]: (((uminus_uminus_a @ A) = B) = ((plus_plus_a @ A @ B) = zero_zero_a))))). % neg_eq_iff_add_eq_0
thf(fact_110_neg__eq__iff__add__eq__0, axiom,
    ((![A : real, B : real]: (((uminus_uminus_real @ A) = B) = ((plus_plus_real @ A @ B) = zero_zero_real))))). % neg_eq_iff_add_eq_0
thf(fact_111_is__num__normalize_I8_J, axiom,
    ((![A : a, B : a]: ((uminus_uminus_a @ (plus_plus_a @ A @ B)) = (plus_plus_a @ (uminus_uminus_a @ B) @ (uminus_uminus_a @ A)))))). % is_num_normalize(8)
thf(fact_112_minus__diff__minus, axiom,
    ((![A : a, B : a]: ((minus_minus_a @ (uminus_uminus_a @ A) @ (uminus_uminus_a @ B)) = (uminus_uminus_a @ (minus_minus_a @ A @ B)))))). % minus_diff_minus
thf(fact_113_poly__all__0__iff__0, axiom,
    ((![P : poly_real]: ((![X3 : real]: ((poly_real2 @ P @ X3) = zero_zero_real)) = (P = zero_zero_poly_real))))). % poly_all_0_iff_0
thf(fact_114_plus__poly_Orep__eq, axiom,
    ((![X : poly_a, Xa : poly_a]: ((coeff_a @ (plus_plus_poly_a @ X @ Xa)) = (^[N2 : nat]: (plus_plus_a @ (coeff_a @ X @ N2) @ (coeff_a @ Xa @ N2))))))). % plus_poly.rep_eq
thf(fact_115_add_Oinverse__distrib__swap, axiom,
    ((![A : a, B : a]: ((uminus_uminus_a @ (plus_plus_a @ A @ B)) = (plus_plus_a @ (uminus_uminus_a @ B) @ (uminus_uminus_a @ A)))))). % add.inverse_distrib_swap
thf(fact_116_group__cancel_Oneg1, axiom,
    ((![A2 : a, K : a, A : a]: ((A2 = (plus_plus_a @ K @ A)) => ((uminus_uminus_a @ A2) = (plus_plus_a @ (uminus_uminus_a @ K) @ (uminus_uminus_a @ A))))))). % group_cancel.neg1
thf(fact_117_minus__diff__commute, axiom,
    ((![B : a, A : a]: ((minus_minus_a @ (uminus_uminus_a @ B) @ A) = (minus_minus_a @ (uminus_uminus_a @ A) @ B))))). % minus_diff_commute
thf(fact_118_add_Ogroup__left__neutral, axiom,
    ((![A : a]: ((plus_plus_a @ zero_zero_a @ A) = A)))). % add.group_left_neutral
thf(fact_119_add_Ogroup__left__neutral, axiom,
    ((![A : real]: ((plus_plus_real @ zero_zero_real @ A) = A)))). % add.group_left_neutral
thf(fact_120_add_Ocomm__neutral, axiom,
    ((![A : a]: ((plus_plus_a @ A @ zero_zero_a) = A)))). % add.comm_neutral
thf(fact_121_add_Ocomm__neutral, axiom,
    ((![A : real]: ((plus_plus_real @ A @ zero_zero_real) = A)))). % add.comm_neutral
thf(fact_122_comm__monoid__add__class_Oadd__0, axiom,
    ((![A : a]: ((plus_plus_a @ zero_zero_a @ A) = A)))). % comm_monoid_add_class.add_0
thf(fact_123_comm__monoid__add__class_Oadd__0, axiom,
    ((![A : real]: ((plus_plus_real @ zero_zero_real @ A) = A)))). % comm_monoid_add_class.add_0
thf(fact_124_eq__iff__diff__eq__0, axiom,
    (((^[Y : real]: (^[Z : real]: (Y = Z))) = (^[A3 : real]: (^[B3 : real]: ((minus_minus_real @ A3 @ B3) = zero_zero_real)))))). % eq_iff_diff_eq_0
thf(fact_125_eq__iff__diff__eq__0, axiom,
    (((^[Y : a]: (^[Z : a]: (Y = Z))) = (^[A3 : a]: (^[B3 : a]: ((minus_minus_a @ A3 @ B3) = zero_zero_a)))))). % eq_iff_diff_eq_0
thf(fact_126_group__cancel_Osub2, axiom,
    ((![B2 : a, K : a, B : a, A : a]: ((B2 = (plus_plus_a @ K @ B)) => ((minus_minus_a @ A @ B2) = (plus_plus_a @ (uminus_uminus_a @ K) @ (minus_minus_a @ A @ B))))))). % group_cancel.sub2
thf(fact_127_diff__conv__add__uminus, axiom,
    ((minus_minus_a = (^[A3 : a]: (^[B3 : a]: (plus_plus_a @ A3 @ (uminus_uminus_a @ B3))))))). % diff_conv_add_uminus
thf(fact_128_ab__group__add__class_Oab__diff__conv__add__uminus, axiom,
    ((minus_minus_a = (^[A3 : a]: (^[B3 : a]: (plus_plus_a @ A3 @ (uminus_uminus_a @ B3))))))). % ab_group_add_class.ab_diff_conv_add_uminus
thf(fact_129_minus__poly_Orep__eq, axiom,
    ((![X : poly_a, Xa : poly_a]: ((coeff_a @ (minus_minus_poly_a @ X @ Xa)) = (^[N2 : nat]: (minus_minus_a @ (coeff_a @ X @ N2) @ (coeff_a @ Xa @ N2))))))). % minus_poly.rep_eq
thf(fact_130_degree__offset__poly, axiom,
    ((![P : poly_a, H : a]: ((degree_a @ (fundam1358810038poly_a @ P @ H)) = (degree_a @ P))))). % degree_offset_poly
thf(fact_131_verit__minus__simplify_I3_J, axiom,
    ((![B : real]: ((minus_minus_real @ zero_zero_real @ B) = (uminus_uminus_real @ B))))). % verit_minus_simplify(3)
thf(fact_132_verit__minus__simplify_I3_J, axiom,
    ((![B : a]: ((minus_minus_a @ zero_zero_a @ B) = (uminus_uminus_a @ B))))). % verit_minus_simplify(3)
thf(fact_133_ep, axiom,
    ((ord_less_real @ zero_zero_real @ e))). % ep
thf(fact_134_add__0__iff, axiom,
    ((![B : real, A : real]: ((B = (plus_plus_real @ B @ A)) = (A = zero_zero_real))))). % add_0_iff
thf(fact_135_verit__sum__simplify, axiom,
    ((![A : a]: ((plus_plus_a @ A @ zero_zero_a) = A)))). % verit_sum_simplify
thf(fact_136_verit__sum__simplify, axiom,
    ((![A : real]: ((plus_plus_real @ A @ zero_zero_real) = A)))). % verit_sum_simplify

% Conjectures (1)
thf(conj_0, conjecture,
    (((poly_a2 @ q @ (minus_minus_a @ w @ z)) = (poly_a2 @ p @ w)))).
