% 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_1151__5378710_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:36:11.070

% Could-be-implicit typings (3)
thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    poly_poly_a : $tType).
thf(ty_n_t__Polynomial__Opoly_Itf__a_J, type,
    poly_a : $tType).
thf(ty_n_tf__a, type,
    a : $tType).

% Explicit typings (26)
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_Oone__class_Oone_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    one_one_poly_poly_a : poly_poly_a).
thf(sy_c_Groups_Oone__class_Oone_001t__Polynomial__Opoly_Itf__a_J, type,
    one_one_poly_a : poly_a).
thf(sy_c_Groups_Oone__class_Oone_001tf__a, type,
    one_one_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_001tf__a, type,
    plus_plus_a : a > a > a).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    times_545135445poly_a : poly_poly_a > poly_poly_a > poly_poly_a).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Polynomial__Opoly_Itf__a_J, type,
    times_times_poly_a : poly_a > poly_a > poly_a).
thf(sy_c_Groups_Otimes__class_Otimes_001tf__a, type,
    times_times_a : a > a > a).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    zero_z2096148049poly_a : poly_poly_a).
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_001tf__a, type,
    zero_zero_a : a).
thf(sy_c_Polynomial_Osmult_001t__Polynomial__Opoly_Itf__a_J, type,
    smult_poly_a : poly_a > poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Osmult_001tf__a, type,
    smult_a : a > poly_a > poly_a).
thf(sy_c_Rings_Odivide__class_Odivide_001t__Polynomial__Opoly_Itf__a_J, type,
    divide_divide_poly_a : poly_a > poly_a > poly_a).
thf(sy_c_Rings_Odivide__class_Odivide_001tf__a, type,
    divide_divide_a : a > a > a).
thf(sy_c_Rings_Odvd__class_Odvd_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    dvd_dvd_poly_poly_a : poly_poly_a > poly_poly_a > $o).
thf(sy_c_Rings_Odvd__class_Odvd_001t__Polynomial__Opoly_Itf__a_J, type,
    dvd_dvd_poly_a : poly_a > poly_a > $o).
thf(sy_c_Rings_Odvd__class_Odvd_001tf__a, type,
    dvd_dvd_a : a > a > $o).
thf(sy_v_a, type,
    a2 : a).
thf(sy_v_p, type,
    p : poly_a).
thf(sy_v_p_H, type,
    p2 : poly_a).
thf(sy_v_q, type,
    q : poly_a).
thf(sy_v_r, type,
    r : poly_a).
thf(sy_v_t____, type,
    t : poly_a).
thf(sy_v_u____, type,
    u : poly_a).

% Relevant facts (186)
thf(fact_0_a0, axiom,
    ((~ ((a2 = zero_zero_a))))). % a0
thf(fact_1_t, axiom,
    ((p2 = (times_times_poly_a @ p @ t)))). % t
thf(fact_2__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062t_O_Ap_H_A_061_Ap_A_K_At_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062, axiom,
    ((~ ((![T : poly_a]: (~ ((p2 = (times_times_poly_a @ p @ T))))))))). % \<open>\<And>thesis. (\<And>t. p' = p * t \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_3_u, axiom,
    ((r = (times_times_poly_a @ p @ u)))). % u
thf(fact_4_pp_H, axiom,
    ((dvd_dvd_poly_a @ p @ p2))). % pp'
thf(fact_5__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062u_O_Ar_A_061_Ap_A_K_Au_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062, axiom,
    ((~ ((![U : poly_a]: (~ ((r = (times_times_poly_a @ p @ U))))))))). % \<open>\<And>thesis. (\<And>u. r = p * u \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_6_mult__smult__left, axiom,
    ((![A : poly_a, P : poly_poly_a, Q : poly_poly_a]: ((times_545135445poly_a @ (smult_poly_a @ A @ P) @ Q) = (smult_poly_a @ A @ (times_545135445poly_a @ P @ Q)))))). % mult_smult_left
thf(fact_7_mult__smult__left, axiom,
    ((![A : a, P : poly_a, Q : poly_a]: ((times_times_poly_a @ (smult_a @ A @ P) @ Q) = (smult_a @ A @ (times_times_poly_a @ P @ Q)))))). % mult_smult_left
thf(fact_8_mult__smult__right, axiom,
    ((![P : poly_poly_a, A : poly_a, Q : poly_poly_a]: ((times_545135445poly_a @ P @ (smult_poly_a @ A @ Q)) = (smult_poly_a @ A @ (times_545135445poly_a @ P @ Q)))))). % mult_smult_right
thf(fact_9_mult__smult__right, axiom,
    ((![P : poly_a, A : a, Q : poly_a]: ((times_times_poly_a @ P @ (smult_a @ A @ Q)) = (smult_a @ A @ (times_times_poly_a @ P @ Q)))))). % mult_smult_right
thf(fact_10_smult__1__left, axiom,
    ((![P : poly_poly_a]: ((smult_poly_a @ one_one_poly_a @ P) = P)))). % smult_1_left
thf(fact_11_smult__1__left, axiom,
    ((![P : poly_a]: ((smult_a @ one_one_a @ P) = P)))). % smult_1_left
thf(fact_12_smult__smult, axiom,
    ((![A : a, B : a, P : poly_a]: ((smult_a @ A @ (smult_a @ B @ P)) = (smult_a @ (times_times_a @ A @ B) @ P))))). % smult_smult
thf(fact_13_smult__smult, axiom,
    ((![A : poly_a, B : poly_a, P : poly_poly_a]: ((smult_poly_a @ A @ (smult_poly_a @ B @ P)) = (smult_poly_a @ (times_times_poly_a @ A @ B) @ P))))). % smult_smult
thf(fact_14_div__by__1, axiom,
    ((![A : a]: ((divide_divide_a @ A @ one_one_a) = A)))). % div_by_1
thf(fact_15_times__divide__eq__left, axiom,
    ((![B : a, C : a, A : a]: ((times_times_a @ (divide_divide_a @ B @ C) @ A) = (divide_divide_a @ (times_times_a @ B @ A) @ C))))). % times_divide_eq_left
thf(fact_16_divide__divide__eq__left, axiom,
    ((![A : a, B : a, C : a]: ((divide_divide_a @ (divide_divide_a @ A @ B) @ C) = (divide_divide_a @ A @ (times_times_a @ B @ C)))))). % divide_divide_eq_left
thf(fact_17_divide__divide__eq__right, axiom,
    ((![A : a, B : a, C : a]: ((divide_divide_a @ A @ (divide_divide_a @ B @ C)) = (divide_divide_a @ (times_times_a @ A @ C) @ B))))). % divide_divide_eq_right
thf(fact_18_times__divide__eq__right, axiom,
    ((![A : a, B : a, C : a]: ((times_times_a @ A @ (divide_divide_a @ B @ C)) = (divide_divide_a @ (times_times_a @ A @ B) @ C))))). % times_divide_eq_right
thf(fact_19_mult_Oleft__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ one_one_poly_a @ A) = A)))). % mult.left_neutral
thf(fact_20_mult_Oleft__neutral, axiom,
    ((![A : a]: ((times_times_a @ one_one_a @ A) = A)))). % mult.left_neutral
thf(fact_21_that, axiom,
    ((dvd_dvd_poly_a @ p @ r))). % that
thf(fact_22_add__right__cancel, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: (((plus_plus_poly_a @ B @ A) = (plus_plus_poly_a @ C @ A)) = (B = C))))). % add_right_cancel
thf(fact_23_add__left__cancel, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: (((plus_plus_poly_a @ A @ B) = (plus_plus_poly_a @ A @ C)) = (B = C))))). % add_left_cancel
thf(fact_24_mult__cancel__right, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a]: (((times_times_poly_a @ A @ C) = (times_times_poly_a @ B @ C)) = (((C = zero_zero_poly_a)) | ((A = B))))))). % mult_cancel_right
thf(fact_25_mult__cancel__right, axiom,
    ((![A : a, C : a, B : a]: (((times_times_a @ A @ C) = (times_times_a @ B @ C)) = (((C = zero_zero_a)) | ((A = B))))))). % mult_cancel_right
thf(fact_26_mult__cancel__left, axiom,
    ((![C : poly_a, A : poly_a, B : poly_a]: (((times_times_poly_a @ C @ A) = (times_times_poly_a @ C @ B)) = (((C = zero_zero_poly_a)) | ((A = B))))))). % mult_cancel_left
thf(fact_27_mult__cancel__left, axiom,
    ((![C : a, A : a, B : a]: (((times_times_a @ C @ A) = (times_times_a @ C @ B)) = (((C = zero_zero_a)) | ((A = B))))))). % mult_cancel_left
thf(fact_28_mult__eq__0__iff, axiom,
    ((![A : poly_a, B : poly_a]: (((times_times_poly_a @ A @ B) = zero_zero_poly_a) = (((A = zero_zero_poly_a)) | ((B = zero_zero_poly_a))))))). % mult_eq_0_iff
thf(fact_29_mult__eq__0__iff, axiom,
    ((![A : a, B : a]: (((times_times_a @ A @ B) = zero_zero_a) = (((A = zero_zero_a)) | ((B = zero_zero_a))))))). % mult_eq_0_iff
thf(fact_30_mult__zero__right, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ A @ zero_zero_poly_a) = zero_zero_poly_a)))). % mult_zero_right
thf(fact_31_mult__zero__right, axiom,
    ((![A : a]: ((times_times_a @ A @ zero_zero_a) = zero_zero_a)))). % mult_zero_right
thf(fact_32_mult__zero__left, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ zero_zero_poly_a @ A) = zero_zero_poly_a)))). % mult_zero_left
thf(fact_33_mult__zero__left, axiom,
    ((![A : a]: ((times_times_a @ zero_zero_a @ A) = zero_zero_a)))). % mult_zero_left
thf(fact_34_add__cancel__right__right, axiom,
    ((![A : poly_a, B : poly_a]: ((A = (plus_plus_poly_a @ A @ B)) = (B = zero_zero_poly_a))))). % add_cancel_right_right
thf(fact_35_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_36_add__cancel__right__left, axiom,
    ((![A : poly_a, B : poly_a]: ((A = (plus_plus_poly_a @ B @ A)) = (B = zero_zero_poly_a))))). % add_cancel_right_left
thf(fact_37_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_38_add__cancel__left__right, axiom,
    ((![A : poly_a, B : poly_a]: (((plus_plus_poly_a @ A @ B) = A) = (B = zero_zero_poly_a))))). % add_cancel_left_right
thf(fact_39_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_40_add__cancel__left__left, axiom,
    ((![B : poly_a, A : poly_a]: (((plus_plus_poly_a @ B @ A) = A) = (B = zero_zero_poly_a))))). % add_cancel_left_left
thf(fact_41_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_42_add_Oright__neutral, axiom,
    ((![A : poly_a]: ((plus_plus_poly_a @ A @ zero_zero_poly_a) = A)))). % add.right_neutral
thf(fact_43_add_Oright__neutral, axiom,
    ((![A : a]: ((plus_plus_a @ A @ zero_zero_a) = A)))). % add.right_neutral
thf(fact_44_add_Oleft__neutral, axiom,
    ((![A : poly_a]: ((plus_plus_poly_a @ zero_zero_poly_a @ A) = A)))). % add.left_neutral
thf(fact_45_add_Oleft__neutral, axiom,
    ((![A : a]: ((plus_plus_a @ zero_zero_a @ A) = A)))). % add.left_neutral
thf(fact_46_division__ring__divide__zero, axiom,
    ((![A : a]: ((divide_divide_a @ A @ zero_zero_a) = zero_zero_a)))). % division_ring_divide_zero
thf(fact_47_divide__cancel__right, axiom,
    ((![A : a, C : a, B : a]: (((divide_divide_a @ A @ C) = (divide_divide_a @ B @ C)) = (((C = zero_zero_a)) | ((A = B))))))). % divide_cancel_right
thf(fact_48_divide__cancel__left, axiom,
    ((![C : a, A : a, B : a]: (((divide_divide_a @ C @ A) = (divide_divide_a @ C @ B)) = (((C = zero_zero_a)) | ((A = B))))))). % divide_cancel_left
thf(fact_49_div__by__0, axiom,
    ((![A : a]: ((divide_divide_a @ A @ zero_zero_a) = zero_zero_a)))). % div_by_0
thf(fact_50_divide__eq__0__iff, axiom,
    ((![A : a, B : a]: (((divide_divide_a @ A @ B) = zero_zero_a) = (((A = zero_zero_a)) | ((B = zero_zero_a))))))). % divide_eq_0_iff
thf(fact_51_div__0, axiom,
    ((![A : a]: ((divide_divide_a @ zero_zero_a @ A) = zero_zero_a)))). % div_0
thf(fact_52_mult_Oright__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ A @ one_one_poly_a) = A)))). % mult.right_neutral
thf(fact_53_mult_Oright__neutral, axiom,
    ((![A : a]: ((times_times_a @ A @ one_one_a) = A)))). % mult.right_neutral
thf(fact_54_dvd__0__right, axiom,
    ((![A : poly_a]: (dvd_dvd_poly_a @ A @ zero_zero_poly_a)))). % dvd_0_right
thf(fact_55_dvd__0__right, axiom,
    ((![A : a]: (dvd_dvd_a @ A @ zero_zero_a)))). % dvd_0_right
thf(fact_56_dvd__0__left__iff, axiom,
    ((![A : poly_a]: ((dvd_dvd_poly_a @ zero_zero_poly_a @ A) = (A = zero_zero_poly_a))))). % dvd_0_left_iff
thf(fact_57_dvd__0__left__iff, axiom,
    ((![A : a]: ((dvd_dvd_a @ zero_zero_a @ A) = (A = zero_zero_a))))). % dvd_0_left_iff
thf(fact_58_dvd__add__triv__right__iff, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ (plus_plus_poly_a @ B @ A)) = (dvd_dvd_poly_a @ A @ B))))). % dvd_add_triv_right_iff
thf(fact_59_dvd__add__triv__left__iff, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ (plus_plus_poly_a @ A @ B)) = (dvd_dvd_poly_a @ A @ B))))). % dvd_add_triv_left_iff
thf(fact_60_div__dvd__div, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((dvd_dvd_poly_a @ A @ C) => ((dvd_dvd_poly_a @ (divide_divide_poly_a @ B @ A) @ (divide_divide_poly_a @ C @ A)) = (dvd_dvd_poly_a @ B @ C))))))). % div_dvd_div
thf(fact_61_smult__eq__0__iff, axiom,
    ((![A : poly_a, P : poly_poly_a]: (((smult_poly_a @ A @ P) = zero_z2096148049poly_a) = (((A = zero_zero_poly_a)) | ((P = zero_z2096148049poly_a))))))). % smult_eq_0_iff
thf(fact_62_smult__eq__0__iff, axiom,
    ((![A : a, P : poly_a]: (((smult_a @ A @ P) = zero_zero_poly_a) = (((A = zero_zero_a)) | ((P = zero_zero_poly_a))))))). % smult_eq_0_iff
thf(fact_63_smult__0__left, axiom,
    ((![P : poly_poly_a]: ((smult_poly_a @ zero_zero_poly_a @ P) = zero_z2096148049poly_a)))). % smult_0_left
thf(fact_64_smult__0__left, axiom,
    ((![P : poly_a]: ((smult_a @ zero_zero_a @ P) = zero_zero_poly_a)))). % smult_0_left
thf(fact_65__092_060open_062p_Advd_Aq_A_092_060Longrightarrow_062_Ap_Advd_Ar_092_060close_062, axiom,
    (((dvd_dvd_poly_a @ p @ q) => (dvd_dvd_poly_a @ p @ r)))). % \<open>p dvd q \<Longrightarrow> p dvd r\<close>
thf(fact_66_mult__cancel__right2, axiom,
    ((![A : poly_a, C : poly_a]: (((times_times_poly_a @ A @ C) = C) = (((C = zero_zero_poly_a)) | ((A = one_one_poly_a))))))). % mult_cancel_right2
thf(fact_67_mult__cancel__right2, axiom,
    ((![A : a, C : a]: (((times_times_a @ A @ C) = C) = (((C = zero_zero_a)) | ((A = one_one_a))))))). % mult_cancel_right2
thf(fact_68_mult__cancel__right1, axiom,
    ((![C : poly_a, B : poly_a]: ((C = (times_times_poly_a @ B @ C)) = (((C = zero_zero_poly_a)) | ((B = one_one_poly_a))))))). % mult_cancel_right1
thf(fact_69_mult__cancel__right1, axiom,
    ((![C : a, B : a]: ((C = (times_times_a @ B @ C)) = (((C = zero_zero_a)) | ((B = one_one_a))))))). % mult_cancel_right1
thf(fact_70_mult__cancel__left2, axiom,
    ((![C : poly_a, A : poly_a]: (((times_times_poly_a @ C @ A) = C) = (((C = zero_zero_poly_a)) | ((A = one_one_poly_a))))))). % mult_cancel_left2
thf(fact_71_mult__cancel__left2, axiom,
    ((![C : a, A : a]: (((times_times_a @ C @ A) = C) = (((C = zero_zero_a)) | ((A = one_one_a))))))). % mult_cancel_left2
thf(fact_72_mult__cancel__left1, axiom,
    ((![C : poly_a, B : poly_a]: ((C = (times_times_poly_a @ C @ B)) = (((C = zero_zero_poly_a)) | ((B = one_one_poly_a))))))). % mult_cancel_left1
thf(fact_73_mult__cancel__left1, axiom,
    ((![C : a, B : a]: ((C = (times_times_a @ C @ B)) = (((C = zero_zero_a)) | ((B = one_one_a))))))). % mult_cancel_left1
thf(fact_74_nonzero__mult__divide__mult__cancel__right2, axiom,
    ((![C : a, A : a, B : a]: ((~ ((C = zero_zero_a))) => ((divide_divide_a @ (times_times_a @ A @ C) @ (times_times_a @ C @ B)) = (divide_divide_a @ A @ B)))))). % nonzero_mult_divide_mult_cancel_right2
thf(fact_75_nonzero__mult__div__cancel__right, axiom,
    ((![B : poly_a, A : poly_a]: ((~ ((B = zero_zero_poly_a))) => ((divide_divide_poly_a @ (times_times_poly_a @ A @ B) @ B) = A))))). % nonzero_mult_div_cancel_right
thf(fact_76_nonzero__mult__div__cancel__right, axiom,
    ((![B : a, A : a]: ((~ ((B = zero_zero_a))) => ((divide_divide_a @ (times_times_a @ A @ B) @ B) = A))))). % nonzero_mult_div_cancel_right
thf(fact_77_nonzero__mult__divide__mult__cancel__right, axiom,
    ((![C : a, A : a, B : a]: ((~ ((C = zero_zero_a))) => ((divide_divide_a @ (times_times_a @ A @ C) @ (times_times_a @ B @ C)) = (divide_divide_a @ A @ B)))))). % nonzero_mult_divide_mult_cancel_right
thf(fact_78_nonzero__mult__divide__mult__cancel__left2, axiom,
    ((![C : a, A : a, B : a]: ((~ ((C = zero_zero_a))) => ((divide_divide_a @ (times_times_a @ C @ A) @ (times_times_a @ B @ C)) = (divide_divide_a @ A @ B)))))). % nonzero_mult_divide_mult_cancel_left2
thf(fact_79_nonzero__mult__div__cancel__left, axiom,
    ((![A : poly_a, B : poly_a]: ((~ ((A = zero_zero_poly_a))) => ((divide_divide_poly_a @ (times_times_poly_a @ A @ B) @ A) = B))))). % nonzero_mult_div_cancel_left
thf(fact_80_nonzero__mult__div__cancel__left, axiom,
    ((![A : a, B : a]: ((~ ((A = zero_zero_a))) => ((divide_divide_a @ (times_times_a @ A @ B) @ A) = B))))). % nonzero_mult_div_cancel_left
thf(fact_81_nonzero__mult__divide__mult__cancel__left, axiom,
    ((![C : a, A : a, B : a]: ((~ ((C = zero_zero_a))) => ((divide_divide_a @ (times_times_a @ C @ A) @ (times_times_a @ C @ B)) = (divide_divide_a @ A @ B)))))). % nonzero_mult_divide_mult_cancel_left
thf(fact_82_mult__divide__mult__cancel__left__if, axiom,
    ((![C : a, A : a, B : a]: (((C = zero_zero_a) => ((divide_divide_a @ (times_times_a @ C @ A) @ (times_times_a @ C @ B)) = zero_zero_a)) & ((~ ((C = zero_zero_a))) => ((divide_divide_a @ (times_times_a @ C @ A) @ (times_times_a @ C @ B)) = (divide_divide_a @ A @ B))))))). % mult_divide_mult_cancel_left_if
thf(fact_83_divide__self__if, axiom,
    ((![A : a]: (((A = zero_zero_a) => ((divide_divide_a @ A @ A) = zero_zero_a)) & ((~ ((A = zero_zero_a))) => ((divide_divide_a @ A @ A) = one_one_a)))))). % divide_self_if
thf(fact_84_divide__self, axiom,
    ((![A : a]: ((~ ((A = zero_zero_a))) => ((divide_divide_a @ A @ A) = one_one_a))))). % divide_self
thf(fact_85_one__eq__divide__iff, axiom,
    ((![A : a, B : a]: ((one_one_a = (divide_divide_a @ A @ B)) = (((~ ((B = zero_zero_a)))) & ((A = B))))))). % one_eq_divide_iff
thf(fact_86_div__self, axiom,
    ((![A : a]: ((~ ((A = zero_zero_a))) => ((divide_divide_a @ A @ A) = one_one_a))))). % div_self
thf(fact_87_divide__eq__1__iff, axiom,
    ((![A : a, B : a]: (((divide_divide_a @ A @ B) = one_one_a) = (((~ ((B = zero_zero_a)))) & ((A = B))))))). % divide_eq_1_iff
thf(fact_88_dvd__times__right__cancel__iff, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((~ ((A = zero_zero_poly_a))) => ((dvd_dvd_poly_a @ (times_times_poly_a @ B @ A) @ (times_times_poly_a @ C @ A)) = (dvd_dvd_poly_a @ B @ C)))))). % dvd_times_right_cancel_iff
thf(fact_89_dvd__times__left__cancel__iff, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((~ ((A = zero_zero_poly_a))) => ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ B) @ (times_times_poly_a @ A @ C)) = (dvd_dvd_poly_a @ B @ C)))))). % dvd_times_left_cancel_iff
thf(fact_90_dvd__mult__cancel__right, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ C) @ (times_times_poly_a @ B @ C)) = (((C = zero_zero_poly_a)) | ((dvd_dvd_poly_a @ A @ B))))))). % dvd_mult_cancel_right
thf(fact_91_dvd__mult__cancel__right, axiom,
    ((![A : a, C : a, B : a]: ((dvd_dvd_a @ (times_times_a @ A @ C) @ (times_times_a @ B @ C)) = (((C = zero_zero_a)) | ((dvd_dvd_a @ A @ B))))))). % dvd_mult_cancel_right
thf(fact_92_dvd__mult__cancel__left, axiom,
    ((![C : poly_a, A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ (times_times_poly_a @ C @ A) @ (times_times_poly_a @ C @ B)) = (((C = zero_zero_poly_a)) | ((dvd_dvd_poly_a @ A @ B))))))). % dvd_mult_cancel_left
thf(fact_93_dvd__mult__cancel__left, axiom,
    ((![C : a, A : a, B : a]: ((dvd_dvd_a @ (times_times_a @ C @ A) @ (times_times_a @ C @ B)) = (((C = zero_zero_a)) | ((dvd_dvd_a @ A @ B))))))). % dvd_mult_cancel_left
thf(fact_94_dvd__add__times__triv__right__iff, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ (plus_plus_poly_a @ B @ (times_times_poly_a @ C @ A))) = (dvd_dvd_poly_a @ A @ B))))). % dvd_add_times_triv_right_iff
thf(fact_95_dvd__add__times__triv__right__iff, axiom,
    ((![A : a, B : a, C : a]: ((dvd_dvd_a @ A @ (plus_plus_a @ B @ (times_times_a @ C @ A))) = (dvd_dvd_a @ A @ B))))). % dvd_add_times_triv_right_iff
thf(fact_96_dvd__add__times__triv__left__iff, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ (plus_plus_poly_a @ (times_times_poly_a @ C @ A) @ B)) = (dvd_dvd_poly_a @ A @ B))))). % dvd_add_times_triv_left_iff
thf(fact_97_dvd__add__times__triv__left__iff, axiom,
    ((![A : a, C : a, B : a]: ((dvd_dvd_a @ A @ (plus_plus_a @ (times_times_a @ C @ A) @ B)) = (dvd_dvd_a @ A @ B))))). % dvd_add_times_triv_left_iff
thf(fact_98_unit__prod, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => ((dvd_dvd_poly_a @ B @ one_one_poly_a) => (dvd_dvd_poly_a @ (times_times_poly_a @ A @ B) @ one_one_poly_a)))))). % unit_prod
thf(fact_99_dvd__mult__div__cancel, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((times_times_poly_a @ A @ (divide_divide_poly_a @ B @ A)) = B))))). % dvd_mult_div_cancel
thf(fact_100_dvd__div__mult__self, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((times_times_poly_a @ (divide_divide_poly_a @ B @ A) @ A) = B))))). % dvd_div_mult_self
thf(fact_101_div__add, axiom,
    ((![C : poly_a, A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ C @ A) => ((dvd_dvd_poly_a @ C @ B) => ((divide_divide_poly_a @ (plus_plus_poly_a @ A @ B) @ C) = (plus_plus_poly_a @ (divide_divide_poly_a @ A @ C) @ (divide_divide_poly_a @ B @ C)))))))). % div_add
thf(fact_102_unit__div__1__div__1, axiom,
    ((![A : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => ((divide_divide_poly_a @ one_one_poly_a @ (divide_divide_poly_a @ one_one_poly_a @ A)) = A))))). % unit_div_1_div_1
thf(fact_103_unit__div__1__unit, axiom,
    ((![A : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => (dvd_dvd_poly_a @ (divide_divide_poly_a @ one_one_poly_a @ A) @ one_one_poly_a))))). % unit_div_1_unit
thf(fact_104_unit__div, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => ((dvd_dvd_poly_a @ B @ one_one_poly_a) => (dvd_dvd_poly_a @ (divide_divide_poly_a @ A @ B) @ one_one_poly_a)))))). % unit_div
thf(fact_105_nonzero__divide__mult__cancel__right, axiom,
    ((![B : a, A : a]: ((~ ((B = zero_zero_a))) => ((divide_divide_a @ B @ (times_times_a @ A @ B)) = (divide_divide_a @ one_one_a @ A)))))). % nonzero_divide_mult_cancel_right
thf(fact_106_nonzero__divide__mult__cancel__left, axiom,
    ((![A : a, B : a]: ((~ ((A = zero_zero_a))) => ((divide_divide_a @ A @ (times_times_a @ A @ B)) = (divide_divide_a @ one_one_a @ B)))))). % nonzero_divide_mult_cancel_left
thf(fact_107_unit__div__mult__self, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => ((times_times_poly_a @ (divide_divide_poly_a @ B @ A) @ A) = B))))). % unit_div_mult_self
thf(fact_108_unit__mult__div__div, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => ((times_times_poly_a @ B @ (divide_divide_poly_a @ one_one_poly_a @ A)) = (divide_divide_poly_a @ B @ A)))))). % unit_mult_div_div
thf(fact_109_qrp_H, axiom,
    (((minus_minus_poly_a @ (smult_a @ a2 @ q) @ p2) = r))). % qrp'
thf(fact_110_zero__reorient, axiom,
    ((![X : a]: ((zero_zero_a = X) = (X = zero_zero_a))))). % zero_reorient
thf(fact_111_smult__dvd__iff, axiom,
    ((![A : a, P : poly_a, Q : poly_a]: ((dvd_dvd_poly_a @ (smult_a @ A @ P) @ Q) = (((((A = zero_zero_a)) => ((Q = zero_zero_poly_a)))) & ((((~ ((A = zero_zero_a)))) => ((dvd_dvd_poly_a @ P @ Q))))))))). % smult_dvd_iff
thf(fact_112_dvd__field__iff, axiom,
    ((dvd_dvd_a = (^[A2 : a]: (^[B2 : a]: (((A2 = zero_zero_a)) => ((B2 = zero_zero_a)))))))). % dvd_field_iff
thf(fact_113_dvd__refl, axiom,
    ((![A : poly_a]: (dvd_dvd_poly_a @ A @ A)))). % dvd_refl
thf(fact_114_dvd__trans, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((dvd_dvd_poly_a @ B @ C) => (dvd_dvd_poly_a @ A @ C)))))). % dvd_trans
thf(fact_115_dvd__0__left, axiom,
    ((![A : poly_a]: ((dvd_dvd_poly_a @ zero_zero_poly_a @ A) => (A = zero_zero_poly_a))))). % dvd_0_left
thf(fact_116_dvd__0__left, axiom,
    ((![A : a]: ((dvd_dvd_a @ zero_zero_a @ A) => (A = zero_zero_a))))). % dvd_0_left
thf(fact_117_not__is__unit__0, axiom,
    ((~ ((dvd_dvd_poly_a @ zero_zero_poly_a @ one_one_poly_a))))). % not_is_unit_0
thf(fact_118_dvd__div__eq__0__iff, axiom,
    ((![B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ B @ A) => (((divide_divide_poly_a @ A @ B) = zero_zero_poly_a) = (A = zero_zero_poly_a)))))). % dvd_div_eq_0_iff
thf(fact_119_dvd__div__eq__0__iff, axiom,
    ((![B : a, A : a]: ((dvd_dvd_a @ B @ A) => (((divide_divide_a @ A @ B) = zero_zero_a) = (A = zero_zero_a)))))). % dvd_div_eq_0_iff
thf(fact_120_dvd__smult__cancel, axiom,
    ((![P : poly_a, A : a, Q : poly_a]: ((dvd_dvd_poly_a @ P @ (smult_a @ A @ Q)) => ((~ ((A = zero_zero_a))) => (dvd_dvd_poly_a @ P @ Q)))))). % dvd_smult_cancel
thf(fact_121_dvd__smult__iff, axiom,
    ((![A : a, P : poly_a, Q : poly_a]: ((~ ((A = zero_zero_a))) => ((dvd_dvd_poly_a @ P @ (smult_a @ A @ Q)) = (dvd_dvd_poly_a @ P @ Q)))))). % dvd_smult_iff
thf(fact_122_smult__dvd, axiom,
    ((![P : poly_a, Q : poly_a, A : a]: ((dvd_dvd_poly_a @ P @ Q) => ((~ ((A = zero_zero_a))) => (dvd_dvd_poly_a @ (smult_a @ A @ P) @ Q)))))). % smult_dvd
thf(fact_123_dvd__triv__right, axiom,
    ((![A : poly_a, B : poly_a]: (dvd_dvd_poly_a @ A @ (times_times_poly_a @ B @ A))))). % dvd_triv_right
thf(fact_124_dvd__triv__right, axiom,
    ((![A : a, B : a]: (dvd_dvd_a @ A @ (times_times_a @ B @ A))))). % dvd_triv_right
thf(fact_125_dvd__mult__right, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ B) @ C) => (dvd_dvd_poly_a @ B @ C))))). % dvd_mult_right
thf(fact_126_dvd__mult__right, axiom,
    ((![A : a, B : a, C : a]: ((dvd_dvd_a @ (times_times_a @ A @ B) @ C) => (dvd_dvd_a @ B @ C))))). % dvd_mult_right
thf(fact_127_mult__dvd__mono, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a, D : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((dvd_dvd_poly_a @ C @ D) => (dvd_dvd_poly_a @ (times_times_poly_a @ A @ C) @ (times_times_poly_a @ B @ D))))))). % mult_dvd_mono
thf(fact_128_mult__dvd__mono, axiom,
    ((![A : a, B : a, C : a, D : a]: ((dvd_dvd_a @ A @ B) => ((dvd_dvd_a @ C @ D) => (dvd_dvd_a @ (times_times_a @ A @ C) @ (times_times_a @ B @ D))))))). % mult_dvd_mono
thf(fact_129_dvd__triv__left, axiom,
    ((![A : poly_a, B : poly_a]: (dvd_dvd_poly_a @ A @ (times_times_poly_a @ A @ B))))). % dvd_triv_left
thf(fact_130_dvd__triv__left, axiom,
    ((![A : a, B : a]: (dvd_dvd_a @ A @ (times_times_a @ A @ B))))). % dvd_triv_left
thf(fact_131_dvd__mult__left, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ B) @ C) => (dvd_dvd_poly_a @ A @ C))))). % dvd_mult_left
thf(fact_132_dvd__mult__left, axiom,
    ((![A : a, B : a, C : a]: ((dvd_dvd_a @ (times_times_a @ A @ B) @ C) => (dvd_dvd_a @ A @ C))))). % dvd_mult_left
thf(fact_133_dvd__mult2, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ B) => (dvd_dvd_poly_a @ A @ (times_times_poly_a @ B @ C)))))). % dvd_mult2
thf(fact_134_dvd__mult2, axiom,
    ((![A : a, B : a, C : a]: ((dvd_dvd_a @ A @ B) => (dvd_dvd_a @ A @ (times_times_a @ B @ C)))))). % dvd_mult2
thf(fact_135_dvd__mult, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ C) => (dvd_dvd_poly_a @ A @ (times_times_poly_a @ B @ C)))))). % dvd_mult
thf(fact_136_dvd__mult, axiom,
    ((![A : a, C : a, B : a]: ((dvd_dvd_a @ A @ C) => (dvd_dvd_a @ A @ (times_times_a @ B @ C)))))). % dvd_mult
thf(fact_137_dvd__def, axiom,
    ((dvd_dvd_poly_a = (^[B2 : poly_a]: (^[A2 : poly_a]: (?[K : poly_a]: (A2 = (times_times_poly_a @ B2 @ K)))))))). % dvd_def
thf(fact_138_dvd__def, axiom,
    ((dvd_dvd_a = (^[B2 : a]: (^[A2 : a]: (?[K : a]: (A2 = (times_times_a @ B2 @ K)))))))). % dvd_def
thf(fact_139_dvdI, axiom,
    ((![A : poly_a, B : poly_a, K2 : poly_a]: ((A = (times_times_poly_a @ B @ K2)) => (dvd_dvd_poly_a @ B @ A))))). % dvdI
thf(fact_140_dvdI, axiom,
    ((![A : a, B : a, K2 : a]: ((A = (times_times_a @ B @ K2)) => (dvd_dvd_a @ B @ A))))). % dvdI
thf(fact_141_dvdE, axiom,
    ((![B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ B @ A) => (~ ((![K3 : poly_a]: (~ ((A = (times_times_poly_a @ B @ K3))))))))))). % dvdE
thf(fact_142_dvdE, axiom,
    ((![B : a, A : a]: ((dvd_dvd_a @ B @ A) => (~ ((![K3 : a]: (~ ((A = (times_times_a @ B @ K3))))))))))). % dvdE
thf(fact_143_dvd__add__right__iff, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((dvd_dvd_poly_a @ A @ (plus_plus_poly_a @ B @ C)) = (dvd_dvd_poly_a @ A @ C)))))). % dvd_add_right_iff
thf(fact_144_dvd__add__left__iff, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ C) => ((dvd_dvd_poly_a @ A @ (plus_plus_poly_a @ B @ C)) = (dvd_dvd_poly_a @ A @ B)))))). % dvd_add_left_iff
thf(fact_145_dvd__add, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((dvd_dvd_poly_a @ A @ C) => (dvd_dvd_poly_a @ A @ (plus_plus_poly_a @ B @ C))))))). % dvd_add
thf(fact_146_dvd__unit__imp__unit, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ B) => ((dvd_dvd_poly_a @ B @ one_one_poly_a) => (dvd_dvd_poly_a @ A @ one_one_poly_a)))))). % dvd_unit_imp_unit
thf(fact_147_unit__imp__dvd, axiom,
    ((![B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ B @ one_one_poly_a) => (dvd_dvd_poly_a @ B @ A))))). % unit_imp_dvd
thf(fact_148_one__dvd, axiom,
    ((![A : poly_a]: (dvd_dvd_poly_a @ one_one_poly_a @ A)))). % one_dvd
thf(fact_149_one__dvd, axiom,
    ((![A : a]: (dvd_dvd_a @ one_one_a @ A)))). % one_dvd
thf(fact_150_div__div__div__same, axiom,
    ((![D : poly_a, B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ D @ B) => ((dvd_dvd_poly_a @ B @ A) => ((divide_divide_poly_a @ (divide_divide_poly_a @ A @ D) @ (divide_divide_poly_a @ B @ D)) = (divide_divide_poly_a @ A @ B))))))). % div_div_div_same
thf(fact_151_dvd__div__eq__cancel, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a]: (((divide_divide_poly_a @ A @ C) = (divide_divide_poly_a @ B @ C)) => ((dvd_dvd_poly_a @ C @ A) => ((dvd_dvd_poly_a @ C @ B) => (A = B))))))). % dvd_div_eq_cancel
thf(fact_152_dvd__div__eq__cancel, axiom,
    ((![A : a, C : a, B : a]: (((divide_divide_a @ A @ C) = (divide_divide_a @ B @ C)) => ((dvd_dvd_a @ C @ A) => ((dvd_dvd_a @ C @ B) => (A = B))))))). % dvd_div_eq_cancel
thf(fact_153_dvd__div__eq__iff, axiom,
    ((![C : poly_a, A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ C @ A) => ((dvd_dvd_poly_a @ C @ B) => (((divide_divide_poly_a @ A @ C) = (divide_divide_poly_a @ B @ C)) = (A = B))))))). % dvd_div_eq_iff
thf(fact_154_dvd__div__eq__iff, axiom,
    ((![C : a, A : a, B : a]: ((dvd_dvd_a @ C @ A) => ((dvd_dvd_a @ C @ B) => (((divide_divide_a @ A @ C) = (divide_divide_a @ B @ C)) = (A = B))))))). % dvd_div_eq_iff
thf(fact_155_div__smult__left, axiom,
    ((![A : a, X : poly_a, Y : poly_a]: ((divide_divide_poly_a @ (smult_a @ A @ X) @ Y) = (smult_a @ A @ (divide_divide_poly_a @ X @ Y)))))). % div_smult_left
thf(fact_156_smult__dvd__cancel, axiom,
    ((![A : poly_a, P : poly_poly_a, Q : poly_poly_a]: ((dvd_dvd_poly_poly_a @ (smult_poly_a @ A @ P) @ Q) => (dvd_dvd_poly_poly_a @ P @ Q))))). % smult_dvd_cancel
thf(fact_157_smult__dvd__cancel, axiom,
    ((![A : a, P : poly_a, Q : poly_a]: ((dvd_dvd_poly_a @ (smult_a @ A @ P) @ Q) => (dvd_dvd_poly_a @ P @ Q))))). % smult_dvd_cancel
thf(fact_158_dvd__smult, axiom,
    ((![P : poly_poly_a, Q : poly_poly_a, A : poly_a]: ((dvd_dvd_poly_poly_a @ P @ Q) => (dvd_dvd_poly_poly_a @ P @ (smult_poly_a @ A @ Q)))))). % dvd_smult
thf(fact_159_dvd__smult, axiom,
    ((![P : poly_a, Q : poly_a, A : a]: ((dvd_dvd_poly_a @ P @ Q) => (dvd_dvd_poly_a @ P @ (smult_a @ A @ Q)))))). % dvd_smult
thf(fact_160_poly__div__mult__right, axiom,
    ((![X : poly_a, Y : poly_a, Z : poly_a]: ((divide_divide_poly_a @ X @ (times_times_poly_a @ Y @ Z)) = (divide_divide_poly_a @ (divide_divide_poly_a @ X @ Y) @ Z))))). % poly_div_mult_right
thf(fact_161_poly__div__add__left, axiom,
    ((![X : poly_a, Y : poly_a, Z : poly_a]: ((divide_divide_poly_a @ (plus_plus_poly_a @ X @ Y) @ Z) = (plus_plus_poly_a @ (divide_divide_poly_a @ X @ Z) @ (divide_divide_poly_a @ Y @ Z)))))). % poly_div_add_left
thf(fact_162_is__unit__smult__iff, axiom,
    ((![C : poly_a, P : poly_poly_a]: ((dvd_dvd_poly_poly_a @ (smult_poly_a @ C @ P) @ one_one_poly_poly_a) = (((dvd_dvd_poly_a @ C @ one_one_poly_a)) & ((dvd_dvd_poly_poly_a @ P @ one_one_poly_poly_a))))))). % is_unit_smult_iff
thf(fact_163_is__unit__smult__iff, axiom,
    ((![C : a, P : poly_a]: ((dvd_dvd_poly_a @ (smult_a @ C @ P) @ one_one_poly_a) = (((dvd_dvd_a @ C @ one_one_a)) & ((dvd_dvd_poly_a @ P @ one_one_poly_a))))))). % is_unit_smult_iff
thf(fact_164_unit__dvdE, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => (~ (((~ ((A = zero_zero_poly_a))) => (![C2 : poly_a]: (~ ((B = (times_times_poly_a @ A @ C2)))))))))))). % unit_dvdE
thf(fact_165_dvd__div__div__eq__mult, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a, D : poly_a]: ((~ ((A = zero_zero_poly_a))) => ((~ ((C = zero_zero_poly_a))) => ((dvd_dvd_poly_a @ A @ B) => ((dvd_dvd_poly_a @ C @ D) => (((divide_divide_poly_a @ B @ A) = (divide_divide_poly_a @ D @ C)) = ((times_times_poly_a @ B @ C) = (times_times_poly_a @ A @ D)))))))))). % dvd_div_div_eq_mult
thf(fact_166_dvd__div__iff__mult, axiom,
    ((![C : poly_a, B : poly_a, A : poly_a]: ((~ ((C = zero_zero_poly_a))) => ((dvd_dvd_poly_a @ C @ B) => ((dvd_dvd_poly_a @ A @ (divide_divide_poly_a @ B @ C)) = (dvd_dvd_poly_a @ (times_times_poly_a @ A @ C) @ B))))))). % dvd_div_iff_mult
thf(fact_167_div__dvd__iff__mult, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: ((~ ((B = zero_zero_poly_a))) => ((dvd_dvd_poly_a @ B @ A) => ((dvd_dvd_poly_a @ (divide_divide_poly_a @ A @ B) @ C) = (dvd_dvd_poly_a @ A @ (times_times_poly_a @ C @ B)))))))). % div_dvd_iff_mult
thf(fact_168_dvd__div__eq__mult, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((~ ((A = zero_zero_poly_a))) => ((dvd_dvd_poly_a @ A @ B) => (((divide_divide_poly_a @ B @ A) = C) = (B = (times_times_poly_a @ C @ A)))))))). % dvd_div_eq_mult
thf(fact_169_unit__div__eq__0__iff, axiom,
    ((![B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ B @ one_one_poly_a) => (((divide_divide_poly_a @ A @ B) = zero_zero_poly_a) = (A = zero_zero_poly_a)))))). % unit_div_eq_0_iff
thf(fact_170_unit__mult__right__cancel, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => (((times_times_poly_a @ B @ A) = (times_times_poly_a @ C @ A)) = (B = C)))))). % unit_mult_right_cancel
thf(fact_171_unit__mult__left__cancel, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => (((times_times_poly_a @ A @ B) = (times_times_poly_a @ A @ C)) = (B = C)))))). % unit_mult_left_cancel
thf(fact_172_mult__unit__dvd__iff_H, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ B) @ C) = (dvd_dvd_poly_a @ B @ C)))))). % mult_unit_dvd_iff'
thf(fact_173_dvd__mult__unit__iff_H, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ B @ one_one_poly_a) => ((dvd_dvd_poly_a @ A @ (times_times_poly_a @ B @ C)) = (dvd_dvd_poly_a @ A @ C)))))). % dvd_mult_unit_iff'
thf(fact_174_mult__unit__dvd__iff, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ B @ one_one_poly_a) => ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ B) @ C) = (dvd_dvd_poly_a @ A @ C)))))). % mult_unit_dvd_iff
thf(fact_175_dvd__mult__unit__iff, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ B @ one_one_poly_a) => ((dvd_dvd_poly_a @ A @ (times_times_poly_a @ C @ B)) = (dvd_dvd_poly_a @ A @ C)))))). % dvd_mult_unit_iff
thf(fact_176_is__unit__mult__iff, axiom,
    ((![A : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ B) @ one_one_poly_a) = (((dvd_dvd_poly_a @ A @ one_one_poly_a)) & ((dvd_dvd_poly_a @ B @ one_one_poly_a))))))). % is_unit_mult_iff
thf(fact_177_div__mult__div__if__dvd, axiom,
    ((![B : poly_a, A : poly_a, D : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ B @ A) => ((dvd_dvd_poly_a @ D @ C) => ((times_times_poly_a @ (divide_divide_poly_a @ A @ B) @ (divide_divide_poly_a @ C @ D)) = (divide_divide_poly_a @ (times_times_poly_a @ A @ C) @ (times_times_poly_a @ B @ D)))))))). % div_mult_div_if_dvd
thf(fact_178_dvd__mult__imp__div, axiom,
    ((![A : poly_a, C : poly_a, B : poly_a]: ((dvd_dvd_poly_a @ (times_times_poly_a @ A @ C) @ B) => (dvd_dvd_poly_a @ A @ (divide_divide_poly_a @ B @ C)))))). % dvd_mult_imp_div
thf(fact_179_dvd__div__mult2__eq, axiom,
    ((![B : poly_a, C : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ (times_times_poly_a @ B @ C) @ A) => ((divide_divide_poly_a @ A @ (times_times_poly_a @ B @ C)) = (divide_divide_poly_a @ (divide_divide_poly_a @ A @ B) @ C)))))). % dvd_div_mult2_eq
thf(fact_180_div__div__eq__right, axiom,
    ((![C : poly_a, B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ C @ B) => ((dvd_dvd_poly_a @ B @ A) => ((divide_divide_poly_a @ A @ (divide_divide_poly_a @ B @ C)) = (times_times_poly_a @ (divide_divide_poly_a @ A @ B) @ C))))))). % div_div_eq_right
thf(fact_181_div__mult__swap, axiom,
    ((![C : poly_a, B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ C @ B) => ((times_times_poly_a @ A @ (divide_divide_poly_a @ B @ C)) = (divide_divide_poly_a @ (times_times_poly_a @ A @ B) @ C)))))). % div_mult_swap
thf(fact_182_dvd__div__mult, axiom,
    ((![C : poly_a, B : poly_a, A : poly_a]: ((dvd_dvd_poly_a @ C @ B) => ((times_times_poly_a @ (divide_divide_poly_a @ B @ C) @ A) = (divide_divide_poly_a @ (times_times_poly_a @ B @ A) @ C)))))). % dvd_div_mult
thf(fact_183_dvd__div__unit__iff, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ B @ one_one_poly_a) => ((dvd_dvd_poly_a @ A @ (divide_divide_poly_a @ C @ B)) = (dvd_dvd_poly_a @ A @ C)))))). % dvd_div_unit_iff
thf(fact_184_div__unit__dvd__iff, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ B @ one_one_poly_a) => ((dvd_dvd_poly_a @ (divide_divide_poly_a @ A @ B) @ C) = (dvd_dvd_poly_a @ A @ C)))))). % div_unit_dvd_iff
thf(fact_185_unit__div__cancel, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((dvd_dvd_poly_a @ A @ one_one_poly_a) => (((divide_divide_poly_a @ B @ A) = (divide_divide_poly_a @ C @ A)) = (B = C)))))). % unit_div_cancel

% Conjectures (1)
thf(conj_0, conjecture,
    ((q = (times_times_poly_a @ p @ (smult_a @ (divide_divide_a @ one_one_a @ a2) @ (plus_plus_poly_a @ u @ t)))))).
