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

% Could-be-implicit typings (7)
thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_J, type,
    poly_poly_poly_a : $tType).
thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J, type,
    poly_poly_nat : $tType).
thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    poly_poly_a : $tType).
thf(ty_n_t__Polynomial__Opoly_It__Nat__Onat_J, type,
    poly_nat : $tType).
thf(ty_n_t__Polynomial__Opoly_Itf__a_J, type,
    poly_a : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_tf__a, type,
    a : $tType).

% Explicit typings (50)
thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat, type,
    one_one_nat : nat).
thf(sy_c_Groups_Oone__class_Oone_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    one_one_poly_nat : poly_nat).
thf(sy_c_Groups_Oone__class_Oone_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J, type,
    one_on1411366565ly_nat : poly_poly_nat).
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_Otimes__class_Otimes_001t__Nat__Onat, type,
    times_times_nat : nat > nat > nat).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    times_times_poly_nat : poly_nat > poly_nat > poly_nat).
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__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    zero_zero_poly_nat : poly_nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J, type,
    zero_z1059985641ly_nat : poly_poly_nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_J, type,
    zero_z2064990175poly_a : poly_poly_poly_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_Ocontent_001t__Nat__Onat, type,
    content_nat : poly_nat > nat).
thf(sy_c_Polynomial_Omap__poly_001t__Nat__Onat_001t__Nat__Onat, type,
    map_poly_nat_nat : (nat > nat) > poly_nat > poly_nat).
thf(sy_c_Polynomial_Omap__poly_001t__Nat__Onat_001t__Polynomial__Opoly_Itf__a_J, type,
    map_poly_nat_poly_a : (nat > poly_a) > poly_nat > poly_poly_a).
thf(sy_c_Polynomial_Omap__poly_001t__Nat__Onat_001tf__a, type,
    map_poly_nat_a : (nat > a) > poly_nat > poly_a).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_It__Nat__Onat_J_001t__Nat__Onat, type,
    map_po1111670354at_nat : (poly_nat > nat) > poly_poly_nat > poly_nat).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_It__Nat__Onat_J_001t__Polynomial__Opoly_Itf__a_J, type,
    map_po563129994poly_a : (poly_nat > poly_a) > poly_poly_nat > poly_poly_a).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_Itf__a_J_001t__Nat__Onat, type,
    map_poly_poly_a_nat : (poly_a > nat) > poly_poly_a > poly_nat).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_Itf__a_J_001t__Polynomial__Opoly_Itf__a_J, type,
    map_po495521320poly_a : (poly_a > poly_a) > poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Omap__poly_001tf__a_001t__Nat__Onat, type,
    map_poly_a_nat : (a > nat) > poly_a > poly_nat).
thf(sy_c_Polynomial_Omap__poly_001tf__a_001t__Polynomial__Opoly_Itf__a_J, type,
    map_poly_a_poly_a : (a > poly_a) > poly_a > poly_poly_a).
thf(sy_c_Polynomial_Omap__poly_001tf__a_001tf__a, type,
    map_poly_a_a : (a > a) > poly_a > poly_a).
thf(sy_c_Polynomial_OpCons_001t__Nat__Onat, type,
    pCons_nat : nat > poly_nat > poly_nat).
thf(sy_c_Polynomial_OpCons_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    pCons_poly_nat : poly_nat > poly_poly_nat > poly_poly_nat).
thf(sy_c_Polynomial_OpCons_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    pCons_poly_poly_a : poly_poly_a > poly_poly_poly_a > poly_poly_poly_a).
thf(sy_c_Polynomial_OpCons_001t__Polynomial__Opoly_Itf__a_J, type,
    pCons_poly_a : poly_a > poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_OpCons_001tf__a, type,
    pCons_a : a > poly_a > poly_a).
thf(sy_c_Polynomial_Opcompose_001t__Nat__Onat, type,
    pcompose_nat : poly_nat > poly_nat > poly_nat).
thf(sy_c_Polynomial_Opcompose_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    pcompose_poly_nat : poly_poly_nat > poly_poly_nat > poly_poly_nat).
thf(sy_c_Polynomial_Opcompose_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    pcompose_poly_poly_a : poly_poly_poly_a > poly_poly_poly_a > poly_poly_poly_a).
thf(sy_c_Polynomial_Opcompose_001t__Polynomial__Opoly_Itf__a_J, type,
    pcompose_poly_a : poly_poly_a > poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Opcompose_001tf__a, type,
    pcompose_a : poly_a > poly_a > poly_a).
thf(sy_c_Polynomial_Opoly__cutoff_001t__Nat__Onat, type,
    poly_cutoff_nat : nat > poly_nat > poly_nat).
thf(sy_c_Polynomial_Opoly__cutoff_001t__Polynomial__Opoly_Itf__a_J, type,
    poly_cutoff_poly_a : nat > poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Opoly__cutoff_001tf__a, type,
    poly_cutoff_a : nat > poly_a > poly_a).
thf(sy_c_Rings_Odvd__class_Odvd_001t__Nat__Onat, type,
    dvd_dvd_nat : nat > nat > $o).
thf(sy_c_Rings_Odvd__class_Odvd_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    dvd_dvd_poly_nat : poly_nat > poly_nat > $o).
thf(sy_c_Rings_Odvd__class_Odvd_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J, type,
    dvd_dv944831366ly_nat : poly_poly_nat > poly_poly_nat > $o).
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_p, type,
    p : poly_a).
thf(sy_v_q, type,
    q : poly_a).

% Relevant facts (246)
thf(fact_0_pq, axiom,
    ((dvd_dvd_poly_a @ p @ q))). % pq
thf(fact_1_one__poly__eq__simps_I2_J, axiom,
    (((pCons_poly_nat @ one_one_poly_nat @ zero_z1059985641ly_nat) = one_on1411366565ly_nat))). % one_poly_eq_simps(2)
thf(fact_2_one__poly__eq__simps_I2_J, axiom,
    (((pCons_poly_a @ one_one_poly_a @ zero_z2096148049poly_a) = one_one_poly_poly_a))). % one_poly_eq_simps(2)
thf(fact_3_one__poly__eq__simps_I2_J, axiom,
    (((pCons_nat @ one_one_nat @ zero_zero_poly_nat) = one_one_poly_nat))). % one_poly_eq_simps(2)
thf(fact_4_one__poly__eq__simps_I2_J, axiom,
    (((pCons_a @ one_one_a @ zero_zero_poly_a) = one_one_poly_a))). % one_poly_eq_simps(2)
thf(fact_5_one__poly__eq__simps_I1_J, axiom,
    ((one_on1411366565ly_nat = (pCons_poly_nat @ one_one_poly_nat @ zero_z1059985641ly_nat)))). % one_poly_eq_simps(1)
thf(fact_6_one__poly__eq__simps_I1_J, axiom,
    ((one_one_poly_poly_a = (pCons_poly_a @ one_one_poly_a @ zero_z2096148049poly_a)))). % one_poly_eq_simps(1)
thf(fact_7_one__poly__eq__simps_I1_J, axiom,
    ((one_one_poly_nat = (pCons_nat @ one_one_nat @ zero_zero_poly_nat)))). % one_poly_eq_simps(1)
thf(fact_8_one__poly__eq__simps_I1_J, axiom,
    ((one_one_poly_a = (pCons_a @ one_one_a @ zero_zero_poly_a)))). % one_poly_eq_simps(1)
thf(fact_9_pCons__0__0, axiom,
    (((pCons_poly_nat @ zero_zero_poly_nat @ zero_z1059985641ly_nat) = zero_z1059985641ly_nat))). % pCons_0_0
thf(fact_10_pCons__0__0, axiom,
    (((pCons_poly_poly_a @ zero_z2096148049poly_a @ zero_z2064990175poly_a) = zero_z2064990175poly_a))). % pCons_0_0
thf(fact_11_pCons__0__0, axiom,
    (((pCons_a @ zero_zero_a @ zero_zero_poly_a) = zero_zero_poly_a))). % pCons_0_0
thf(fact_12_pCons__0__0, axiom,
    (((pCons_poly_a @ zero_zero_poly_a @ zero_z2096148049poly_a) = zero_z2096148049poly_a))). % pCons_0_0
thf(fact_13_pCons__0__0, axiom,
    (((pCons_nat @ zero_zero_nat @ zero_zero_poly_nat) = zero_zero_poly_nat))). % pCons_0_0
thf(fact_14_pCons__eq__0__iff, axiom,
    ((![A : poly_nat, P : poly_poly_nat]: (((pCons_poly_nat @ A @ P) = zero_z1059985641ly_nat) = (((A = zero_zero_poly_nat)) & ((P = zero_z1059985641ly_nat))))))). % pCons_eq_0_iff
thf(fact_15_pCons__eq__0__iff, axiom,
    ((![A : poly_poly_a, P : poly_poly_poly_a]: (((pCons_poly_poly_a @ A @ P) = zero_z2064990175poly_a) = (((A = zero_z2096148049poly_a)) & ((P = zero_z2064990175poly_a))))))). % pCons_eq_0_iff
thf(fact_16_pCons__eq__0__iff, axiom,
    ((![A : poly_a, P : poly_poly_a]: (((pCons_poly_a @ A @ P) = zero_z2096148049poly_a) = (((A = zero_zero_poly_a)) & ((P = zero_z2096148049poly_a))))))). % pCons_eq_0_iff
thf(fact_17_pCons__eq__0__iff, axiom,
    ((![A : nat, P : poly_nat]: (((pCons_nat @ A @ P) = zero_zero_poly_nat) = (((A = zero_zero_nat)) & ((P = zero_zero_poly_nat))))))). % pCons_eq_0_iff
thf(fact_18_pCons__eq__0__iff, axiom,
    ((![A : a, P : poly_a]: (((pCons_a @ A @ P) = zero_zero_poly_a) = (((A = zero_zero_a)) & ((P = zero_zero_poly_a))))))). % pCons_eq_0_iff
thf(fact_19_mult_Oleft__neutral, axiom,
    ((![A : poly_nat]: ((times_times_poly_nat @ one_one_poly_nat @ 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_mult_Oleft__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ one_one_poly_a @ A) = A)))). % mult.left_neutral
thf(fact_22_mult_Oleft__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ one_one_nat @ A) = A)))). % mult.left_neutral
thf(fact_23_mult_Oright__neutral, axiom,
    ((![A : poly_nat]: ((times_times_poly_nat @ A @ one_one_poly_nat) = A)))). % mult.right_neutral
thf(fact_24_mult_Oright__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ A @ one_one_poly_a) = A)))). % mult.right_neutral
thf(fact_25_mult_Oright__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ A @ one_one_nat) = A)))). % mult.right_neutral
thf(fact_26_mult_Oright__neutral, axiom,
    ((![A : a]: ((times_times_a @ A @ one_one_a) = A)))). % mult.right_neutral
thf(fact_27_mult__zero__left, axiom,
    ((![A : poly_nat]: ((times_times_poly_nat @ zero_zero_poly_nat @ A) = zero_zero_poly_nat)))). % mult_zero_left
thf(fact_28_mult__zero__left, axiom,
    ((![A : poly_poly_a]: ((times_545135445poly_a @ zero_z2096148049poly_a @ A) = zero_z2096148049poly_a)))). % mult_zero_left
thf(fact_29_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_30_mult__zero__left, axiom,
    ((![A : nat]: ((times_times_nat @ zero_zero_nat @ A) = zero_zero_nat)))). % mult_zero_left
thf(fact_31_mult__zero__left, axiom,
    ((![A : a]: ((times_times_a @ zero_zero_a @ A) = zero_zero_a)))). % mult_zero_left
thf(fact_32_pCons__eq__iff, axiom,
    ((![A : a, P : poly_a, B : a, Q : poly_a]: (((pCons_a @ A @ P) = (pCons_a @ B @ Q)) = (((A = B)) & ((P = Q))))))). % pCons_eq_iff
thf(fact_33_pCons__eq__iff, axiom,
    ((![A : nat, P : poly_nat, B : nat, Q : poly_nat]: (((pCons_nat @ A @ P) = (pCons_nat @ B @ Q)) = (((A = B)) & ((P = Q))))))). % pCons_eq_iff
thf(fact_34_pCons__eq__iff, axiom,
    ((![A : poly_a, P : poly_poly_a, B : poly_a, Q : poly_poly_a]: (((pCons_poly_a @ A @ P) = (pCons_poly_a @ B @ Q)) = (((A = B)) & ((P = Q))))))). % pCons_eq_iff
thf(fact_35_mult__cancel__right, axiom,
    ((![A : nat, C : nat, B : nat]: (((times_times_nat @ A @ C) = (times_times_nat @ B @ C)) = (((C = zero_zero_nat)) | ((A = B))))))). % mult_cancel_right
thf(fact_36_mult__cancel__left, axiom,
    ((![C : nat, A : nat, B : nat]: (((times_times_nat @ C @ A) = (times_times_nat @ C @ B)) = (((C = zero_zero_nat)) | ((A = B))))))). % mult_cancel_left
thf(fact_37_mult__eq__0__iff, axiom,
    ((![A : poly_nat, B : poly_nat]: (((times_times_poly_nat @ A @ B) = zero_zero_poly_nat) = (((A = zero_zero_poly_nat)) | ((B = zero_zero_poly_nat))))))). % mult_eq_0_iff
thf(fact_38_mult__eq__0__iff, axiom,
    ((![A : nat, B : nat]: (((times_times_nat @ A @ B) = zero_zero_nat) = (((A = zero_zero_nat)) | ((B = zero_zero_nat))))))). % mult_eq_0_iff
thf(fact_39_mult__zero__right, axiom,
    ((![A : poly_nat]: ((times_times_poly_nat @ A @ zero_zero_poly_nat) = zero_zero_poly_nat)))). % mult_zero_right
thf(fact_40_mult__zero__right, axiom,
    ((![A : poly_poly_a]: ((times_545135445poly_a @ A @ zero_z2096148049poly_a) = zero_z2096148049poly_a)))). % mult_zero_right
thf(fact_41_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_42_mult__zero__right, axiom,
    ((![A : nat]: ((times_times_nat @ A @ zero_zero_nat) = zero_zero_nat)))). % mult_zero_right
thf(fact_43_mult__zero__right, axiom,
    ((![A : a]: ((times_times_a @ A @ zero_zero_a) = zero_zero_a)))). % mult_zero_right
thf(fact_44_dvd__0__left__iff, axiom,
    ((![A : a]: ((dvd_dvd_a @ zero_zero_a @ A) = (A = zero_zero_a))))). % dvd_0_left_iff
thf(fact_45_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_46_dvd__0__left__iff, axiom,
    ((![A : nat]: ((dvd_dvd_nat @ zero_zero_nat @ A) = (A = zero_zero_nat))))). % dvd_0_left_iff
thf(fact_47_dvd__0__left__iff, axiom,
    ((![A : poly_nat]: ((dvd_dvd_poly_nat @ zero_zero_poly_nat @ A) = (A = zero_zero_poly_nat))))). % dvd_0_left_iff
thf(fact_48_dvd__0__left__iff, axiom,
    ((![A : poly_poly_a]: ((dvd_dvd_poly_poly_a @ zero_z2096148049poly_a @ A) = (A = zero_z2096148049poly_a))))). % dvd_0_left_iff
thf(fact_49_dvd__0__right, axiom,
    ((![A : a]: (dvd_dvd_a @ A @ zero_zero_a)))). % dvd_0_right
thf(fact_50_dvd__0__right, axiom,
    ((![A : poly_a]: (dvd_dvd_poly_a @ A @ zero_zero_poly_a)))). % dvd_0_right
thf(fact_51_dvd__0__right, axiom,
    ((![A : nat]: (dvd_dvd_nat @ A @ zero_zero_nat)))). % dvd_0_right
thf(fact_52_dvd__0__right, axiom,
    ((![A : poly_nat]: (dvd_dvd_poly_nat @ A @ zero_zero_poly_nat)))). % dvd_0_right
thf(fact_53_dvd__0__right, axiom,
    ((![A : poly_poly_a]: (dvd_dvd_poly_poly_a @ A @ zero_z2096148049poly_a)))). % dvd_0_right
thf(fact_54_dvd__times__right__cancel__iff, axiom,
    ((![A : nat, B : nat, C : nat]: ((~ ((A = zero_zero_nat))) => ((dvd_dvd_nat @ (times_times_nat @ B @ A) @ (times_times_nat @ C @ A)) = (dvd_dvd_nat @ B @ C)))))). % dvd_times_right_cancel_iff
thf(fact_55_dvd__times__left__cancel__iff, axiom,
    ((![A : nat, B : nat, C : nat]: ((~ ((A = zero_zero_nat))) => ((dvd_dvd_nat @ (times_times_nat @ A @ B) @ (times_times_nat @ A @ C)) = (dvd_dvd_nat @ B @ C)))))). % dvd_times_left_cancel_iff
thf(fact_56_unit__prod, axiom,
    ((![A : nat, B : nat]: ((dvd_dvd_nat @ A @ one_one_nat) => ((dvd_dvd_nat @ B @ one_one_nat) => (dvd_dvd_nat @ (times_times_nat @ A @ B) @ one_one_nat)))))). % unit_prod
thf(fact_57_const__poly__dvd__const__poly__iff, axiom,
    ((![A : nat, B : nat]: ((dvd_dvd_poly_nat @ (pCons_nat @ A @ zero_zero_poly_nat) @ (pCons_nat @ B @ zero_zero_poly_nat)) = (dvd_dvd_nat @ A @ B))))). % const_poly_dvd_const_poly_iff
thf(fact_58_dvd__refl, axiom,
    ((![A : poly_a]: (dvd_dvd_poly_a @ A @ A)))). % dvd_refl
thf(fact_59_dvd__refl, axiom,
    ((![A : nat]: (dvd_dvd_nat @ A @ A)))). % dvd_refl
thf(fact_60_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_61_dvd__trans, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ B) => ((dvd_dvd_nat @ B @ C) => (dvd_dvd_nat @ A @ C)))))). % dvd_trans
thf(fact_62_dvd__0__left, axiom,
    ((![A : a]: ((dvd_dvd_a @ zero_zero_a @ A) => (A = zero_zero_a))))). % dvd_0_left
thf(fact_63_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_64_dvd__0__left, axiom,
    ((![A : nat]: ((dvd_dvd_nat @ zero_zero_nat @ A) => (A = zero_zero_nat))))). % dvd_0_left
thf(fact_65_dvd__0__left, axiom,
    ((![A : poly_nat]: ((dvd_dvd_poly_nat @ zero_zero_poly_nat @ A) => (A = zero_zero_poly_nat))))). % dvd_0_left
thf(fact_66_dvd__0__left, axiom,
    ((![A : poly_poly_a]: ((dvd_dvd_poly_poly_a @ zero_z2096148049poly_a @ A) => (A = zero_z2096148049poly_a))))). % dvd_0_left
thf(fact_67_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_68_dvd__triv__right, axiom,
    ((![A : nat, B : nat]: (dvd_dvd_nat @ A @ (times_times_nat @ B @ A))))). % dvd_triv_right
thf(fact_69_dvd__triv__right, axiom,
    ((![A : a, B : a]: (dvd_dvd_a @ A @ (times_times_a @ B @ A))))). % dvd_triv_right
thf(fact_70_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_71_dvd__mult__right, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ (times_times_nat @ A @ B) @ C) => (dvd_dvd_nat @ B @ C))))). % dvd_mult_right
thf(fact_72_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_73_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_74_mult__dvd__mono, axiom,
    ((![A : nat, B : nat, C : nat, D : nat]: ((dvd_dvd_nat @ A @ B) => ((dvd_dvd_nat @ C @ D) => (dvd_dvd_nat @ (times_times_nat @ A @ C) @ (times_times_nat @ B @ D))))))). % mult_dvd_mono
thf(fact_75_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_76_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_77_dvd__triv__left, axiom,
    ((![A : nat, B : nat]: (dvd_dvd_nat @ A @ (times_times_nat @ A @ B))))). % dvd_triv_left
thf(fact_78_dvd__triv__left, axiom,
    ((![A : a, B : a]: (dvd_dvd_a @ A @ (times_times_a @ A @ B))))). % dvd_triv_left
thf(fact_79_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_80_dvd__mult__left, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ (times_times_nat @ A @ B) @ C) => (dvd_dvd_nat @ A @ C))))). % dvd_mult_left
thf(fact_81_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_82_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_83_dvd__mult2, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ B) => (dvd_dvd_nat @ A @ (times_times_nat @ B @ C)))))). % dvd_mult2
thf(fact_84_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_85_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_86_dvd__mult, axiom,
    ((![A : nat, C : nat, B : nat]: ((dvd_dvd_nat @ A @ C) => (dvd_dvd_nat @ A @ (times_times_nat @ B @ C)))))). % dvd_mult
thf(fact_87_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_88_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_89_dvd__def, axiom,
    ((dvd_dvd_nat = (^[B2 : nat]: (^[A2 : nat]: (?[K : nat]: (A2 = (times_times_nat @ B2 @ K)))))))). % dvd_def
thf(fact_90_dvd__def, axiom,
    ((dvd_dvd_a = (^[B2 : a]: (^[A2 : a]: (?[K : a]: (A2 = (times_times_a @ B2 @ K)))))))). % dvd_def
thf(fact_91_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_92_dvdI, axiom,
    ((![A : nat, B : nat, K2 : nat]: ((A = (times_times_nat @ B @ K2)) => (dvd_dvd_nat @ B @ A))))). % dvdI
thf(fact_93_dvdI, axiom,
    ((![A : a, B : a, K2 : a]: ((A = (times_times_a @ B @ K2)) => (dvd_dvd_a @ B @ A))))). % dvdI
thf(fact_94_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_95_dvdE, axiom,
    ((![B : nat, A : nat]: ((dvd_dvd_nat @ B @ A) => (~ ((![K3 : nat]: (~ ((A = (times_times_nat @ B @ K3))))))))))). % dvdE
thf(fact_96_dvdE, axiom,
    ((![B : a, A : a]: ((dvd_dvd_a @ B @ A) => (~ ((![K3 : a]: (~ ((A = (times_times_a @ B @ K3))))))))))). % dvdE
thf(fact_97_dvd__unit__imp__unit, axiom,
    ((![A : nat, B : nat]: ((dvd_dvd_nat @ A @ B) => ((dvd_dvd_nat @ B @ one_one_nat) => (dvd_dvd_nat @ A @ one_one_nat)))))). % dvd_unit_imp_unit
thf(fact_98_unit__imp__dvd, axiom,
    ((![B : nat, A : nat]: ((dvd_dvd_nat @ B @ one_one_nat) => (dvd_dvd_nat @ B @ A))))). % unit_imp_dvd
thf(fact_99_one__dvd, axiom,
    ((![A : a]: (dvd_dvd_a @ one_one_a @ A)))). % one_dvd
thf(fact_100_one__dvd, axiom,
    ((![A : nat]: (dvd_dvd_nat @ one_one_nat @ A)))). % one_dvd
thf(fact_101_one__dvd, axiom,
    ((![A : poly_a]: (dvd_dvd_poly_a @ one_one_poly_a @ A)))). % one_dvd
thf(fact_102_one__dvd, axiom,
    ((![A : poly_nat]: (dvd_dvd_poly_nat @ one_one_poly_nat @ A)))). % one_dvd
thf(fact_103_is__unit__const__poly__iff, axiom,
    ((![C : poly_nat]: ((dvd_dv944831366ly_nat @ (pCons_poly_nat @ C @ zero_z1059985641ly_nat) @ one_on1411366565ly_nat) = (dvd_dvd_poly_nat @ C @ one_one_poly_nat))))). % is_unit_const_poly_iff
thf(fact_104_is__unit__const__poly__iff, axiom,
    ((![C : nat]: ((dvd_dvd_poly_nat @ (pCons_nat @ C @ zero_zero_poly_nat) @ one_one_poly_nat) = (dvd_dvd_nat @ C @ one_one_nat))))). % is_unit_const_poly_iff
thf(fact_105_is__unit__poly__iff, axiom,
    ((![P : poly_poly_nat]: ((dvd_dv944831366ly_nat @ P @ one_on1411366565ly_nat) = (?[C2 : poly_nat]: (((P = (pCons_poly_nat @ C2 @ zero_z1059985641ly_nat))) & ((dvd_dvd_poly_nat @ C2 @ one_one_poly_nat)))))))). % is_unit_poly_iff
thf(fact_106_is__unit__poly__iff, axiom,
    ((![P : poly_nat]: ((dvd_dvd_poly_nat @ P @ one_one_poly_nat) = (?[C2 : nat]: (((P = (pCons_nat @ C2 @ zero_zero_poly_nat))) & ((dvd_dvd_nat @ C2 @ one_one_nat)))))))). % is_unit_poly_iff
thf(fact_107_is__unit__polyE, axiom,
    ((![P : poly_poly_nat]: ((dvd_dv944831366ly_nat @ P @ one_on1411366565ly_nat) => (~ ((![C3 : poly_nat]: ((P = (pCons_poly_nat @ C3 @ zero_z1059985641ly_nat)) => (~ ((dvd_dvd_poly_nat @ C3 @ one_one_poly_nat))))))))))). % is_unit_polyE
thf(fact_108_is__unit__polyE, axiom,
    ((![P : poly_nat]: ((dvd_dvd_poly_nat @ P @ one_one_poly_nat) => (~ ((![C3 : nat]: ((P = (pCons_nat @ C3 @ zero_zero_poly_nat)) => (~ ((dvd_dvd_nat @ C3 @ one_one_nat))))))))))). % is_unit_polyE
thf(fact_109_not__is__unit__0, axiom,
    ((~ ((dvd_dvd_nat @ zero_zero_nat @ one_one_nat))))). % not_is_unit_0
thf(fact_110_unit__mult__right__cancel, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ one_one_nat) => (((times_times_nat @ B @ A) = (times_times_nat @ C @ A)) = (B = C)))))). % unit_mult_right_cancel
thf(fact_111_unit__mult__left__cancel, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ one_one_nat) => (((times_times_nat @ A @ B) = (times_times_nat @ A @ C)) = (B = C)))))). % unit_mult_left_cancel
thf(fact_112_mult__unit__dvd__iff_H, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ one_one_nat) => ((dvd_dvd_nat @ (times_times_nat @ A @ B) @ C) = (dvd_dvd_nat @ B @ C)))))). % mult_unit_dvd_iff'
thf(fact_113_dvd__mult__unit__iff_H, axiom,
    ((![B : nat, A : nat, C : nat]: ((dvd_dvd_nat @ B @ one_one_nat) => ((dvd_dvd_nat @ A @ (times_times_nat @ B @ C)) = (dvd_dvd_nat @ A @ C)))))). % dvd_mult_unit_iff'
thf(fact_114_mult__unit__dvd__iff, axiom,
    ((![B : nat, A : nat, C : nat]: ((dvd_dvd_nat @ B @ one_one_nat) => ((dvd_dvd_nat @ (times_times_nat @ A @ B) @ C) = (dvd_dvd_nat @ A @ C)))))). % mult_unit_dvd_iff
thf(fact_115_dvd__mult__unit__iff, axiom,
    ((![B : nat, A : nat, C : nat]: ((dvd_dvd_nat @ B @ one_one_nat) => ((dvd_dvd_nat @ A @ (times_times_nat @ C @ B)) = (dvd_dvd_nat @ A @ C)))))). % dvd_mult_unit_iff
thf(fact_116_is__unit__mult__iff, axiom,
    ((![A : nat, B : nat]: ((dvd_dvd_nat @ (times_times_nat @ A @ B) @ one_one_nat) = (((dvd_dvd_nat @ A @ one_one_nat)) & ((dvd_dvd_nat @ B @ one_one_nat))))))). % is_unit_mult_iff
thf(fact_117_unit__dvdE, axiom,
    ((![A : nat, B : nat]: ((dvd_dvd_nat @ A @ one_one_nat) => (~ (((~ ((A = zero_zero_nat))) => (![C3 : nat]: (~ ((B = (times_times_nat @ A @ C3)))))))))))). % unit_dvdE
thf(fact_118_zero__reorient, axiom,
    ((![X : a]: ((zero_zero_a = X) = (X = zero_zero_a))))). % zero_reorient
thf(fact_119_zero__reorient, axiom,
    ((![X : poly_a]: ((zero_zero_poly_a = X) = (X = zero_zero_poly_a))))). % zero_reorient
thf(fact_120_zero__reorient, axiom,
    ((![X : nat]: ((zero_zero_nat = X) = (X = zero_zero_nat))))). % zero_reorient
thf(fact_121_zero__reorient, axiom,
    ((![X : poly_nat]: ((zero_zero_poly_nat = X) = (X = zero_zero_poly_nat))))). % zero_reorient
thf(fact_122_zero__reorient, axiom,
    ((![X : poly_poly_a]: ((zero_z2096148049poly_a = X) = (X = zero_z2096148049poly_a))))). % zero_reorient
thf(fact_123_mult_Oleft__commute, axiom,
    ((![B : poly_a, A : poly_a, C : poly_a]: ((times_times_poly_a @ B @ (times_times_poly_a @ A @ C)) = (times_times_poly_a @ A @ (times_times_poly_a @ B @ C)))))). % mult.left_commute
thf(fact_124_mult_Oleft__commute, axiom,
    ((![B : nat, A : nat, C : nat]: ((times_times_nat @ B @ (times_times_nat @ A @ C)) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % mult.left_commute
thf(fact_125_mult_Oleft__commute, axiom,
    ((![B : a, A : a, C : a]: ((times_times_a @ B @ (times_times_a @ A @ C)) = (times_times_a @ A @ (times_times_a @ B @ C)))))). % mult.left_commute
thf(fact_126_mult_Ocommute, axiom,
    ((times_times_poly_a = (^[A2 : poly_a]: (^[B2 : poly_a]: (times_times_poly_a @ B2 @ A2)))))). % mult.commute
thf(fact_127_mult_Ocommute, axiom,
    ((times_times_nat = (^[A2 : nat]: (^[B2 : nat]: (times_times_nat @ B2 @ A2)))))). % mult.commute
thf(fact_128_mult_Ocommute, axiom,
    ((times_times_a = (^[A2 : a]: (^[B2 : a]: (times_times_a @ B2 @ A2)))))). % mult.commute
thf(fact_129_mult_Oassoc, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((times_times_poly_a @ (times_times_poly_a @ A @ B) @ C) = (times_times_poly_a @ A @ (times_times_poly_a @ B @ C)))))). % mult.assoc
thf(fact_130_mult_Oassoc, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A @ B) @ C) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % mult.assoc
thf(fact_131_mult_Oassoc, axiom,
    ((![A : a, B : a, C : a]: ((times_times_a @ (times_times_a @ A @ B) @ C) = (times_times_a @ A @ (times_times_a @ B @ C)))))). % mult.assoc
thf(fact_132_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : poly_a, B : poly_a, C : poly_a]: ((times_times_poly_a @ (times_times_poly_a @ A @ B) @ C) = (times_times_poly_a @ A @ (times_times_poly_a @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_133_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A @ B) @ C) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_134_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : a, B : a, C : a]: ((times_times_a @ (times_times_a @ A @ B) @ C) = (times_times_a @ A @ (times_times_a @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_135_one__reorient, axiom,
    ((![X : a]: ((one_one_a = X) = (X = one_one_a))))). % one_reorient
thf(fact_136_one__reorient, axiom,
    ((![X : nat]: ((one_one_nat = X) = (X = one_one_nat))))). % one_reorient
thf(fact_137_one__reorient, axiom,
    ((![X : poly_a]: ((one_one_poly_a = X) = (X = one_one_poly_a))))). % one_reorient
thf(fact_138_one__reorient, axiom,
    ((![X : poly_nat]: ((one_one_poly_nat = X) = (X = one_one_poly_nat))))). % one_reorient
thf(fact_139_pderiv_Ocases, axiom,
    ((![X : poly_nat]: (~ ((![A3 : nat, P2 : poly_nat]: (~ ((X = (pCons_nat @ A3 @ P2)))))))))). % pderiv.cases
thf(fact_140_pCons__cases, axiom,
    ((![P : poly_a]: (~ ((![A3 : a, Q2 : poly_a]: (~ ((P = (pCons_a @ A3 @ Q2)))))))))). % pCons_cases
thf(fact_141_pCons__cases, axiom,
    ((![P : poly_nat]: (~ ((![A3 : nat, Q2 : poly_nat]: (~ ((P = (pCons_nat @ A3 @ Q2)))))))))). % pCons_cases
thf(fact_142_pCons__cases, axiom,
    ((![P : poly_poly_a]: (~ ((![A3 : poly_a, Q2 : poly_poly_a]: (~ ((P = (pCons_poly_a @ A3 @ Q2)))))))))). % pCons_cases
thf(fact_143_mult__right__cancel, axiom,
    ((![C : nat, A : nat, B : nat]: ((~ ((C = zero_zero_nat))) => (((times_times_nat @ A @ C) = (times_times_nat @ B @ C)) = (A = B)))))). % mult_right_cancel
thf(fact_144_mult__left__cancel, axiom,
    ((![C : nat, A : nat, B : nat]: ((~ ((C = zero_zero_nat))) => (((times_times_nat @ C @ A) = (times_times_nat @ C @ B)) = (A = B)))))). % mult_left_cancel
thf(fact_145_no__zero__divisors, axiom,
    ((![A : poly_nat, B : poly_nat]: ((~ ((A = zero_zero_poly_nat))) => ((~ ((B = zero_zero_poly_nat))) => (~ (((times_times_poly_nat @ A @ B) = zero_zero_poly_nat)))))))). % no_zero_divisors
thf(fact_146_no__zero__divisors, axiom,
    ((![A : nat, B : nat]: ((~ ((A = zero_zero_nat))) => ((~ ((B = zero_zero_nat))) => (~ (((times_times_nat @ A @ B) = zero_zero_nat)))))))). % no_zero_divisors
thf(fact_147_divisors__zero, axiom,
    ((![A : poly_nat, B : poly_nat]: (((times_times_poly_nat @ A @ B) = zero_zero_poly_nat) => ((A = zero_zero_poly_nat) | (B = zero_zero_poly_nat)))))). % divisors_zero
thf(fact_148_divisors__zero, axiom,
    ((![A : nat, B : nat]: (((times_times_nat @ A @ B) = zero_zero_nat) => ((A = zero_zero_nat) | (B = zero_zero_nat)))))). % divisors_zero
thf(fact_149_mult__not__zero, axiom,
    ((![A : poly_nat, B : poly_nat]: ((~ (((times_times_poly_nat @ A @ B) = zero_zero_poly_nat))) => ((~ ((A = zero_zero_poly_nat))) & (~ ((B = zero_zero_poly_nat)))))))). % mult_not_zero
thf(fact_150_mult__not__zero, axiom,
    ((![A : poly_poly_a, B : poly_poly_a]: ((~ (((times_545135445poly_a @ A @ B) = zero_z2096148049poly_a))) => ((~ ((A = zero_z2096148049poly_a))) & (~ ((B = zero_z2096148049poly_a)))))))). % mult_not_zero
thf(fact_151_mult__not__zero, 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_not_zero
thf(fact_152_mult__not__zero, axiom,
    ((![A : nat, B : nat]: ((~ (((times_times_nat @ A @ B) = zero_zero_nat))) => ((~ ((A = zero_zero_nat))) & (~ ((B = zero_zero_nat)))))))). % mult_not_zero
thf(fact_153_mult__not__zero, axiom,
    ((![A : a, B : a]: ((~ (((times_times_a @ A @ B) = zero_zero_a))) => ((~ ((A = zero_zero_a))) & (~ ((B = zero_zero_a)))))))). % mult_not_zero
thf(fact_154_zero__neq__one, axiom,
    ((~ ((zero_zero_a = one_one_a))))). % zero_neq_one
thf(fact_155_zero__neq__one, axiom,
    ((~ ((zero_zero_poly_a = one_one_poly_a))))). % zero_neq_one
thf(fact_156_zero__neq__one, axiom,
    ((~ ((zero_zero_nat = one_one_nat))))). % zero_neq_one
thf(fact_157_zero__neq__one, axiom,
    ((~ ((zero_zero_poly_nat = one_one_poly_nat))))). % zero_neq_one
thf(fact_158_zero__neq__one, axiom,
    ((~ ((zero_z2096148049poly_a = one_one_poly_poly_a))))). % zero_neq_one
thf(fact_159_mult_Ocomm__neutral, axiom,
    ((![A : poly_nat]: ((times_times_poly_nat @ A @ one_one_poly_nat) = A)))). % mult.comm_neutral
thf(fact_160_mult_Ocomm__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ A @ one_one_poly_a) = A)))). % mult.comm_neutral
thf(fact_161_mult_Ocomm__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ A @ one_one_nat) = A)))). % mult.comm_neutral
thf(fact_162_mult_Ocomm__neutral, axiom,
    ((![A : a]: ((times_times_a @ A @ one_one_a) = A)))). % mult.comm_neutral
thf(fact_163_comm__monoid__mult__class_Omult__1, axiom,
    ((![A : poly_nat]: ((times_times_poly_nat @ one_one_poly_nat @ A) = A)))). % comm_monoid_mult_class.mult_1
thf(fact_164_comm__monoid__mult__class_Omult__1, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ one_one_poly_a @ A) = A)))). % comm_monoid_mult_class.mult_1
thf(fact_165_comm__monoid__mult__class_Omult__1, axiom,
    ((![A : nat]: ((times_times_nat @ one_one_nat @ A) = A)))). % comm_monoid_mult_class.mult_1
thf(fact_166_comm__monoid__mult__class_Omult__1, axiom,
    ((![A : a]: ((times_times_a @ one_one_a @ A) = A)))). % comm_monoid_mult_class.mult_1
thf(fact_167_pderiv_Oinduct, axiom,
    ((![P3 : poly_nat > $o, A0 : poly_nat]: ((![A3 : nat, P2 : poly_nat]: (((~ ((P2 = zero_zero_poly_nat))) => (P3 @ P2)) => (P3 @ (pCons_nat @ A3 @ P2)))) => (P3 @ A0))))). % pderiv.induct
thf(fact_168_poly__induct2, axiom,
    ((![P3 : poly_a > poly_a > $o, P : poly_a, Q : poly_a]: ((P3 @ zero_zero_poly_a @ zero_zero_poly_a) => ((![A3 : a, P2 : poly_a, B3 : a, Q2 : poly_a]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_a @ A3 @ P2) @ (pCons_a @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_169_poly__induct2, axiom,
    ((![P3 : poly_a > poly_nat > $o, P : poly_a, Q : poly_nat]: ((P3 @ zero_zero_poly_a @ zero_zero_poly_nat) => ((![A3 : a, P2 : poly_a, B3 : nat, Q2 : poly_nat]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_a @ A3 @ P2) @ (pCons_nat @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_170_poly__induct2, axiom,
    ((![P3 : poly_a > poly_poly_a > $o, P : poly_a, Q : poly_poly_a]: ((P3 @ zero_zero_poly_a @ zero_z2096148049poly_a) => ((![A3 : a, P2 : poly_a, B3 : poly_a, Q2 : poly_poly_a]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_a @ A3 @ P2) @ (pCons_poly_a @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_171_poly__induct2, axiom,
    ((![P3 : poly_nat > poly_a > $o, P : poly_nat, Q : poly_a]: ((P3 @ zero_zero_poly_nat @ zero_zero_poly_a) => ((![A3 : nat, P2 : poly_nat, B3 : a, Q2 : poly_a]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_nat @ A3 @ P2) @ (pCons_a @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_172_poly__induct2, axiom,
    ((![P3 : poly_nat > poly_nat > $o, P : poly_nat, Q : poly_nat]: ((P3 @ zero_zero_poly_nat @ zero_zero_poly_nat) => ((![A3 : nat, P2 : poly_nat, B3 : nat, Q2 : poly_nat]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_nat @ A3 @ P2) @ (pCons_nat @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_173_poly__induct2, axiom,
    ((![P3 : poly_nat > poly_poly_a > $o, P : poly_nat, Q : poly_poly_a]: ((P3 @ zero_zero_poly_nat @ zero_z2096148049poly_a) => ((![A3 : nat, P2 : poly_nat, B3 : poly_a, Q2 : poly_poly_a]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_nat @ A3 @ P2) @ (pCons_poly_a @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_174_poly__induct2, axiom,
    ((![P3 : poly_poly_a > poly_a > $o, P : poly_poly_a, Q : poly_a]: ((P3 @ zero_z2096148049poly_a @ zero_zero_poly_a) => ((![A3 : poly_a, P2 : poly_poly_a, B3 : a, Q2 : poly_a]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_poly_a @ A3 @ P2) @ (pCons_a @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_175_poly__induct2, axiom,
    ((![P3 : poly_poly_a > poly_nat > $o, P : poly_poly_a, Q : poly_nat]: ((P3 @ zero_z2096148049poly_a @ zero_zero_poly_nat) => ((![A3 : poly_a, P2 : poly_poly_a, B3 : nat, Q2 : poly_nat]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_poly_a @ A3 @ P2) @ (pCons_nat @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_176_poly__induct2, axiom,
    ((![P3 : poly_poly_a > poly_poly_a > $o, P : poly_poly_a, Q : poly_poly_a]: ((P3 @ zero_z2096148049poly_a @ zero_z2096148049poly_a) => ((![A3 : poly_a, P2 : poly_poly_a, B3 : poly_a, Q2 : poly_poly_a]: ((P3 @ P2 @ Q2) => (P3 @ (pCons_poly_a @ A3 @ P2) @ (pCons_poly_a @ B3 @ Q2)))) => (P3 @ P @ Q)))))). % poly_induct2
thf(fact_177_mult__poly__0__right, axiom,
    ((![P : poly_nat]: ((times_times_poly_nat @ P @ zero_zero_poly_nat) = zero_zero_poly_nat)))). % mult_poly_0_right
thf(fact_178_mult__poly__0__right, axiom,
    ((![P : poly_poly_a]: ((times_545135445poly_a @ P @ zero_z2096148049poly_a) = zero_z2096148049poly_a)))). % mult_poly_0_right
thf(fact_179_mult__poly__0__right, axiom,
    ((![P : poly_a]: ((times_times_poly_a @ P @ zero_zero_poly_a) = zero_zero_poly_a)))). % mult_poly_0_right
thf(fact_180_mult__poly__0__left, axiom,
    ((![Q : poly_nat]: ((times_times_poly_nat @ zero_zero_poly_nat @ Q) = zero_zero_poly_nat)))). % mult_poly_0_left
thf(fact_181_mult__poly__0__left, axiom,
    ((![Q : poly_poly_a]: ((times_545135445poly_a @ zero_z2096148049poly_a @ Q) = zero_z2096148049poly_a)))). % mult_poly_0_left
thf(fact_182_mult__poly__0__left, axiom,
    ((![Q : poly_a]: ((times_times_poly_a @ zero_zero_poly_a @ Q) = zero_zero_poly_a)))). % mult_poly_0_left
thf(fact_183_pCons__induct, axiom,
    ((![P3 : poly_poly_nat > $o, P : poly_poly_nat]: ((P3 @ zero_z1059985641ly_nat) => ((![A3 : poly_nat, P2 : poly_poly_nat]: (((~ ((A3 = zero_zero_poly_nat))) | (~ ((P2 = zero_z1059985641ly_nat)))) => ((P3 @ P2) => (P3 @ (pCons_poly_nat @ A3 @ P2))))) => (P3 @ P)))))). % pCons_induct
thf(fact_184_pCons__induct, axiom,
    ((![P3 : poly_poly_poly_a > $o, P : poly_poly_poly_a]: ((P3 @ zero_z2064990175poly_a) => ((![A3 : poly_poly_a, P2 : poly_poly_poly_a]: (((~ ((A3 = zero_z2096148049poly_a))) | (~ ((P2 = zero_z2064990175poly_a)))) => ((P3 @ P2) => (P3 @ (pCons_poly_poly_a @ A3 @ P2))))) => (P3 @ P)))))). % pCons_induct
thf(fact_185_pCons__induct, axiom,
    ((![P3 : poly_a > $o, P : poly_a]: ((P3 @ zero_zero_poly_a) => ((![A3 : a, P2 : poly_a]: (((~ ((A3 = zero_zero_a))) | (~ ((P2 = zero_zero_poly_a)))) => ((P3 @ P2) => (P3 @ (pCons_a @ A3 @ P2))))) => (P3 @ P)))))). % pCons_induct
thf(fact_186_pCons__induct, axiom,
    ((![P3 : poly_nat > $o, P : poly_nat]: ((P3 @ zero_zero_poly_nat) => ((![A3 : nat, P2 : poly_nat]: (((~ ((A3 = zero_zero_nat))) | (~ ((P2 = zero_zero_poly_nat)))) => ((P3 @ P2) => (P3 @ (pCons_nat @ A3 @ P2))))) => (P3 @ P)))))). % pCons_induct
thf(fact_187_pCons__induct, axiom,
    ((![P3 : poly_poly_a > $o, P : poly_poly_a]: ((P3 @ zero_z2096148049poly_a) => ((![A3 : poly_a, P2 : poly_poly_a]: (((~ ((A3 = zero_zero_poly_a))) | (~ ((P2 = zero_z2096148049poly_a)))) => ((P3 @ P2) => (P3 @ (pCons_poly_a @ A3 @ P2))))) => (P3 @ P)))))). % pCons_induct
thf(fact_188_pCons__one, axiom,
    (((pCons_poly_nat @ one_one_poly_nat @ zero_z1059985641ly_nat) = one_on1411366565ly_nat))). % pCons_one
thf(fact_189_pCons__one, axiom,
    (((pCons_a @ one_one_a @ zero_zero_poly_a) = one_one_poly_a))). % pCons_one
thf(fact_190_pCons__one, axiom,
    (((pCons_nat @ one_one_nat @ zero_zero_poly_nat) = one_one_poly_nat))). % pCons_one
thf(fact_191_pCons__one, axiom,
    (((pCons_poly_a @ one_one_poly_a @ zero_z2096148049poly_a) = one_one_poly_poly_a))). % pCons_one
thf(fact_192_poly__cutoff__1, axiom,
    ((![N : nat]: (((N = zero_zero_nat) => ((poly_cutoff_a @ N @ one_one_poly_a) = zero_zero_poly_a)) & ((~ ((N = zero_zero_nat))) => ((poly_cutoff_a @ N @ one_one_poly_a) = one_one_poly_a)))))). % poly_cutoff_1
thf(fact_193_poly__cutoff__1, axiom,
    ((![N : nat]: (((N = zero_zero_nat) => ((poly_cutoff_nat @ N @ one_one_poly_nat) = zero_zero_poly_nat)) & ((~ ((N = zero_zero_nat))) => ((poly_cutoff_nat @ N @ one_one_poly_nat) = one_one_poly_nat)))))). % poly_cutoff_1
thf(fact_194_poly__cutoff__1, axiom,
    ((![N : nat]: (((N = zero_zero_nat) => ((poly_cutoff_poly_a @ N @ one_one_poly_poly_a) = zero_z2096148049poly_a)) & ((~ ((N = zero_zero_nat))) => ((poly_cutoff_poly_a @ N @ one_one_poly_poly_a) = one_one_poly_poly_a)))))). % poly_cutoff_1
thf(fact_195_division__decomp, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ (times_times_nat @ B @ C)) => (?[B4 : nat, C4 : nat]: ((A = (times_times_nat @ B4 @ C4)) & ((dvd_dvd_nat @ B4 @ B) & (dvd_dvd_nat @ C4 @ C)))))))). % division_decomp
thf(fact_196_dvd__productE, axiom,
    ((![P : nat, A : nat, B : nat]: ((dvd_dvd_nat @ P @ (times_times_nat @ A @ B)) => (~ ((![X2 : nat, Y : nat]: ((P = (times_times_nat @ X2 @ Y)) => ((dvd_dvd_nat @ X2 @ A) => (~ ((dvd_dvd_nat @ Y @ B)))))))))))). % dvd_productE
thf(fact_197_pcompose__idR, axiom,
    ((![P : poly_a]: ((pcompose_a @ P @ (pCons_a @ zero_zero_a @ (pCons_a @ one_one_a @ zero_zero_poly_a))) = P)))). % pcompose_idR
thf(fact_198_pcompose__idR, axiom,
    ((![P : poly_poly_a]: ((pcompose_poly_a @ P @ (pCons_poly_a @ zero_zero_poly_a @ (pCons_poly_a @ one_one_poly_a @ zero_z2096148049poly_a))) = P)))). % pcompose_idR
thf(fact_199_pcompose__idR, axiom,
    ((![P : poly_nat]: ((pcompose_nat @ P @ (pCons_nat @ zero_zero_nat @ (pCons_nat @ one_one_nat @ zero_zero_poly_nat))) = P)))). % pcompose_idR
thf(fact_200_pcompose__idR, axiom,
    ((![P : poly_poly_nat]: ((pcompose_poly_nat @ P @ (pCons_poly_nat @ zero_zero_poly_nat @ (pCons_poly_nat @ one_one_poly_nat @ zero_z1059985641ly_nat))) = P)))). % pcompose_idR
thf(fact_201_pcompose__idR, axiom,
    ((![P : poly_poly_poly_a]: ((pcompose_poly_poly_a @ P @ (pCons_poly_poly_a @ zero_z2096148049poly_a @ (pCons_poly_poly_a @ one_one_poly_poly_a @ zero_z2064990175poly_a))) = P)))). % pcompose_idR
thf(fact_202_const__poly__dvd__iff__dvd__content, axiom,
    ((![C : nat, P : poly_nat]: ((dvd_dvd_poly_nat @ (pCons_nat @ C @ zero_zero_poly_nat) @ P) = (dvd_dvd_nat @ C @ (content_nat @ P)))))). % const_poly_dvd_iff_dvd_content
thf(fact_203_map__poly__1, axiom,
    ((![F : a > a]: ((map_poly_a_a @ F @ one_one_poly_a) = (pCons_a @ (F @ one_one_a) @ zero_zero_poly_a))))). % map_poly_1
thf(fact_204_map__poly__1, axiom,
    ((![F : nat > a]: ((map_poly_nat_a @ F @ one_one_poly_nat) = (pCons_a @ (F @ one_one_nat) @ zero_zero_poly_a))))). % map_poly_1
thf(fact_205_map__poly__1, axiom,
    ((![F : poly_a > nat]: ((map_poly_poly_a_nat @ F @ one_one_poly_poly_a) = (pCons_nat @ (F @ one_one_poly_a) @ zero_zero_poly_nat))))). % map_poly_1
thf(fact_206_map__poly__1, axiom,
    ((![F : poly_nat > nat]: ((map_po1111670354at_nat @ F @ one_on1411366565ly_nat) = (pCons_nat @ (F @ one_one_poly_nat) @ zero_zero_poly_nat))))). % map_poly_1
thf(fact_207_map__poly__1, axiom,
    ((![F : a > nat]: ((map_poly_a_nat @ F @ one_one_poly_a) = (pCons_nat @ (F @ one_one_a) @ zero_zero_poly_nat))))). % map_poly_1
thf(fact_208_map__poly__1, axiom,
    ((![F : nat > nat]: ((map_poly_nat_nat @ F @ one_one_poly_nat) = (pCons_nat @ (F @ one_one_nat) @ zero_zero_poly_nat))))). % map_poly_1
thf(fact_209_map__poly__1, axiom,
    ((![F : poly_a > poly_a]: ((map_po495521320poly_a @ F @ one_one_poly_poly_a) = (pCons_poly_a @ (F @ one_one_poly_a) @ zero_z2096148049poly_a))))). % map_poly_1
thf(fact_210_map__poly__1, axiom,
    ((![F : poly_nat > poly_a]: ((map_po563129994poly_a @ F @ one_on1411366565ly_nat) = (pCons_poly_a @ (F @ one_one_poly_nat) @ zero_z2096148049poly_a))))). % map_poly_1
thf(fact_211_map__poly__1, axiom,
    ((![F : a > poly_a]: ((map_poly_a_poly_a @ F @ one_one_poly_a) = (pCons_poly_a @ (F @ one_one_a) @ zero_z2096148049poly_a))))). % map_poly_1
thf(fact_212_map__poly__1, axiom,
    ((![F : nat > poly_a]: ((map_poly_nat_poly_a @ F @ one_one_poly_nat) = (pCons_poly_a @ (F @ one_one_nat) @ zero_z2096148049poly_a))))). % map_poly_1
thf(fact_213_gcd__nat_Oextremum, axiom,
    ((![A : nat]: (dvd_dvd_nat @ A @ zero_zero_nat)))). % gcd_nat.extremum
thf(fact_214_gcd__nat_Oextremum__strict, axiom,
    ((![A : nat]: (~ (((dvd_dvd_nat @ zero_zero_nat @ A) & (~ ((zero_zero_nat = A))))))))). % gcd_nat.extremum_strict
thf(fact_215_gcd__nat_Oextremum__unique, axiom,
    ((![A : nat]: ((dvd_dvd_nat @ zero_zero_nat @ A) = (A = zero_zero_nat))))). % gcd_nat.extremum_unique
thf(fact_216_gcd__nat_Onot__eq__extremum, axiom,
    ((![A : nat]: ((~ ((A = zero_zero_nat))) = (((dvd_dvd_nat @ A @ zero_zero_nat)) & ((~ ((A = zero_zero_nat))))))))). % gcd_nat.not_eq_extremum
thf(fact_217_gcd__nat_Oextremum__uniqueI, axiom,
    ((![A : nat]: ((dvd_dvd_nat @ zero_zero_nat @ A) => (A = zero_zero_nat))))). % gcd_nat.extremum_uniqueI
thf(fact_218_mult__is__0, axiom,
    ((![M : nat, N : nat]: (((times_times_nat @ M @ N) = zero_zero_nat) = (((M = zero_zero_nat)) | ((N = zero_zero_nat))))))). % mult_is_0
thf(fact_219_mult__0__right, axiom,
    ((![M : nat]: ((times_times_nat @ M @ zero_zero_nat) = zero_zero_nat)))). % mult_0_right
thf(fact_220_mult__cancel1, axiom,
    ((![K2 : nat, M : nat, N : nat]: (((times_times_nat @ K2 @ M) = (times_times_nat @ K2 @ N)) = (((M = N)) | ((K2 = zero_zero_nat))))))). % mult_cancel1
thf(fact_221_nat__1__eq__mult__iff, axiom,
    ((![M : nat, N : nat]: ((one_one_nat = (times_times_nat @ M @ N)) = (((M = one_one_nat)) & ((N = one_one_nat))))))). % nat_1_eq_mult_iff
thf(fact_222_nat__mult__eq__1__iff, axiom,
    ((![M : nat, N : nat]: (((times_times_nat @ M @ N) = one_one_nat) = (((M = one_one_nat)) & ((N = one_one_nat))))))). % nat_mult_eq_1_iff
thf(fact_223_nat__dvd__1__iff__1, axiom,
    ((![M : nat]: ((dvd_dvd_nat @ M @ one_one_nat) = (M = one_one_nat))))). % nat_dvd_1_iff_1
thf(fact_224_mult__cancel2, axiom,
    ((![M : nat, K2 : nat, N : nat]: (((times_times_nat @ M @ K2) = (times_times_nat @ N @ K2)) = (((M = N)) | ((K2 = zero_zero_nat))))))). % mult_cancel2
thf(fact_225_nat__mult__1, axiom,
    ((![N : nat]: ((times_times_nat @ one_one_nat @ N) = N)))). % nat_mult_1
thf(fact_226_dvd__antisym, axiom,
    ((![M : nat, N : nat]: ((dvd_dvd_nat @ M @ N) => ((dvd_dvd_nat @ N @ M) => (M = N)))))). % dvd_antisym
thf(fact_227_gcd__nat_Oasym, axiom,
    ((![A : nat, B : nat]: (((dvd_dvd_nat @ A @ B) & (~ ((A = B)))) => (~ (((dvd_dvd_nat @ B @ A) & (~ ((B = A)))))))))). % gcd_nat.asym
thf(fact_228_gcd__nat_Orefl, axiom,
    ((![A : nat]: (dvd_dvd_nat @ A @ A)))). % gcd_nat.refl
thf(fact_229_gcd__nat_Otrans, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ B) => ((dvd_dvd_nat @ B @ C) => (dvd_dvd_nat @ A @ C)))))). % gcd_nat.trans
thf(fact_230_gcd__nat_Oeq__iff, axiom,
    (((^[Y2 : nat]: (^[Z : nat]: (Y2 = Z))) = (^[A2 : nat]: (^[B2 : nat]: (((dvd_dvd_nat @ A2 @ B2)) & ((dvd_dvd_nat @ B2 @ A2)))))))). % gcd_nat.eq_iff
thf(fact_231_gcd__nat_Oirrefl, axiom,
    ((![A : nat]: (~ (((dvd_dvd_nat @ A @ A) & (~ ((A = A))))))))). % gcd_nat.irrefl
thf(fact_232_gcd__nat_Oantisym, axiom,
    ((![A : nat, B : nat]: ((dvd_dvd_nat @ A @ B) => ((dvd_dvd_nat @ B @ A) => (A = B)))))). % gcd_nat.antisym
thf(fact_233_nat__mult__1__right, axiom,
    ((![N : nat]: ((times_times_nat @ N @ one_one_nat) = N)))). % nat_mult_1_right
thf(fact_234_gcd__nat_Ostrict__trans, axiom,
    ((![A : nat, B : nat, C : nat]: (((dvd_dvd_nat @ A @ B) & (~ ((A = B)))) => (((dvd_dvd_nat @ B @ C) & (~ ((B = C)))) => ((dvd_dvd_nat @ A @ C) & (~ ((A = C))))))))). % gcd_nat.strict_trans
thf(fact_235_gcd__nat_Ostrict__trans1, axiom,
    ((![A : nat, B : nat, C : nat]: ((dvd_dvd_nat @ A @ B) => (((dvd_dvd_nat @ B @ C) & (~ ((B = C)))) => ((dvd_dvd_nat @ A @ C) & (~ ((A = C))))))))). % gcd_nat.strict_trans1
thf(fact_236_gcd__nat_Ostrict__trans2, axiom,
    ((![A : nat, B : nat, C : nat]: (((dvd_dvd_nat @ A @ B) & (~ ((A = B)))) => ((dvd_dvd_nat @ B @ C) => ((dvd_dvd_nat @ A @ C) & (~ ((A = C))))))))). % gcd_nat.strict_trans2
thf(fact_237_gcd__nat_Oorder__iff__strict, axiom,
    ((dvd_dvd_nat = (^[A2 : nat]: (^[B2 : nat]: (((((dvd_dvd_nat @ A2 @ B2)) & ((~ ((A2 = B2)))))) | ((A2 = B2)))))))). % gcd_nat.order_iff_strict
thf(fact_238_gcd__nat_Ostrict__iff__order, axiom,
    ((![A : nat, B : nat]: ((((dvd_dvd_nat @ A @ B)) & ((~ ((A = B))))) = (((dvd_dvd_nat @ A @ B)) & ((~ ((A = B))))))))). % gcd_nat.strict_iff_order
thf(fact_239_gcd__nat_Ostrict__implies__order, axiom,
    ((![A : nat, B : nat]: (((dvd_dvd_nat @ A @ B) & (~ ((A = B)))) => (dvd_dvd_nat @ A @ B))))). % gcd_nat.strict_implies_order
thf(fact_240_gcd__nat_Ostrict__implies__not__eq, axiom,
    ((![A : nat, B : nat]: (((dvd_dvd_nat @ A @ B) & (~ ((A = B)))) => (~ ((A = B))))))). % gcd_nat.strict_implies_not_eq
thf(fact_241_gcd__nat_Onot__eq__order__implies__strict, axiom,
    ((![A : nat, B : nat]: ((~ ((A = B))) => ((dvd_dvd_nat @ A @ B) => ((dvd_dvd_nat @ A @ B) & (~ ((A = B))))))))). % gcd_nat.not_eq_order_implies_strict
thf(fact_242_mult__eq__self__implies__10, axiom,
    ((![M : nat, N : nat]: ((M = (times_times_nat @ M @ N)) => ((N = one_one_nat) | (M = zero_zero_nat)))))). % mult_eq_self_implies_10
thf(fact_243_mult__0, axiom,
    ((![N : nat]: ((times_times_nat @ zero_zero_nat @ N) = zero_zero_nat)))). % mult_0
thf(fact_244_nat__mult__dvd__cancel__disj, axiom,
    ((![K2 : nat, M : nat, N : nat]: ((dvd_dvd_nat @ (times_times_nat @ K2 @ M) @ (times_times_nat @ K2 @ N)) = (((K2 = zero_zero_nat)) | ((dvd_dvd_nat @ M @ N))))))). % nat_mult_dvd_cancel_disj
thf(fact_245_nat__mult__eq__cancel__disj, axiom,
    ((![K2 : nat, M : nat, N : nat]: (((times_times_nat @ K2 @ M) = (times_times_nat @ K2 @ N)) = (((K2 = zero_zero_nat)) | ((M = N))))))). % nat_mult_eq_cancel_disj

% Conjectures (1)
thf(conj_0, conjecture,
    (((pCons_a @ zero_zero_a @ q) = (times_times_poly_a @ q @ (pCons_a @ zero_zero_a @ (pCons_a @ one_one_a @ zero_zero_poly_a)))))).
