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

% 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 (58)
thf(sy_c_Groups_Omonoid_001t__Nat__Onat, type,
    monoid_nat : (nat > nat > nat) > nat > $o).
thf(sy_c_Groups_Omonoid_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    monoid_poly_poly_a : (poly_poly_a > poly_poly_a > poly_poly_a) > poly_poly_a > $o).
thf(sy_c_Groups_Omonoid_001t__Polynomial__Opoly_Itf__a_J, type,
    monoid_poly_a : (poly_a > poly_a > poly_a) > poly_a > $o).
thf(sy_c_Groups_Omonoid_001tf__a, type,
    monoid_a : (a > a > a) > a > $o).
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_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__Nat__Onat, type,
    plus_plus_nat : nat > nat > nat).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    plus_plus_poly_nat : poly_nat > poly_nat > poly_nat).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    plus_p1976640465poly_a : poly_poly_a > poly_poly_a > poly_poly_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__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_It__Polynomial__Opoly_Itf__a_J_J_J, type,
    times_1069126883poly_a : poly_poly_poly_a > poly_poly_poly_a > poly_poly_poly_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_Ouminus__class_Ouminus_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    uminus1736902417poly_a : poly_poly_a > poly_poly_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_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__Nat__Onat_J, type,
    zero_zero_poly_nat : poly_nat).
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_Orderings_Oord__class_Oless_001t__Nat__Onat, type,
    ord_less_nat : nat > nat > $o).
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_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_001t__Polynomial__Opoly_Itf__a_J_001tf__a, type,
    map_poly_poly_a_a : (poly_a > a) > poly_poly_a > 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_Omonom_001t__Nat__Onat, type,
    monom_nat : nat > nat > poly_nat).
thf(sy_c_Polynomial_Omonom_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    monom_poly_nat : poly_nat > nat > poly_poly_nat).
thf(sy_c_Polynomial_Omonom_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    monom_poly_poly_a : poly_poly_a > nat > poly_poly_poly_a).
thf(sy_c_Polynomial_Omonom_001t__Polynomial__Opoly_Itf__a_J, type,
    monom_poly_a : poly_a > nat > poly_poly_a).
thf(sy_c_Polynomial_Omonom_001tf__a, type,
    monom_a : a > nat > poly_a).
thf(sy_c_Polynomial_Opoly_001t__Nat__Onat, type,
    poly_nat2 : poly_nat > nat > nat).
thf(sy_c_Polynomial_Opoly_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    poly_poly_nat2 : poly_poly_nat > poly_nat > poly_nat).
thf(sy_c_Polynomial_Opoly_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    poly_poly_poly_a2 : poly_poly_poly_a > poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Opoly_001t__Polynomial__Opoly_Itf__a_J, type,
    poly_poly_a2 : poly_poly_a > poly_a > poly_a).
thf(sy_c_Polynomial_Opoly_001tf__a, type,
    poly_a2 : poly_a > a > a).
thf(sy_c_Power_Opower__class_Opower_001t__Nat__Onat, type,
    power_power_nat : nat > nat > nat).
thf(sy_c_Power_Opower__class_Opower_001t__Polynomial__Opoly_It__Nat__Onat_J, type,
    power_power_poly_nat : poly_nat > nat > poly_nat).
thf(sy_c_Power_Opower__class_Opower_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J, type,
    power_1336127338ly_nat : poly_poly_nat > nat > poly_poly_nat).
thf(sy_c_Power_Opower__class_Opower_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    power_276493840poly_a : poly_poly_a > nat > poly_poly_a).
thf(sy_c_Power_Opower__class_Opower_001t__Polynomial__Opoly_Itf__a_J, type,
    power_power_poly_a : poly_a > nat > poly_a).
thf(sy_c_Power_Opower__class_Opower_001tf__a, type,
    power_power_a : a > nat > a).
thf(sy_v_n, type,
    n : nat).
thf(sy_v_p, type,
    p : poly_a).
thf(sy_v_x, type,
    x : a).

% Relevant facts (218)
thf(fact_0_poly__mult, axiom,
    ((![P : poly_poly_poly_a, Q : poly_poly_poly_a, X : poly_poly_a]: ((poly_poly_poly_a2 @ (times_1069126883poly_a @ P @ Q) @ X) = (times_545135445poly_a @ (poly_poly_poly_a2 @ P @ X) @ (poly_poly_poly_a2 @ Q @ X)))))). % poly_mult
thf(fact_1_poly__mult, axiom,
    ((![P : poly_nat, Q : poly_nat, X : nat]: ((poly_nat2 @ (times_times_poly_nat @ P @ Q) @ X) = (times_times_nat @ (poly_nat2 @ P @ X) @ (poly_nat2 @ Q @ X)))))). % poly_mult
thf(fact_2_poly__mult, axiom,
    ((![P : poly_poly_a, Q : poly_poly_a, X : poly_a]: ((poly_poly_a2 @ (times_545135445poly_a @ P @ Q) @ X) = (times_times_poly_a @ (poly_poly_a2 @ P @ X) @ (poly_poly_a2 @ Q @ X)))))). % poly_mult
thf(fact_3_poly__mult, axiom,
    ((![P : poly_a, Q : poly_a, X : a]: ((poly_a2 @ (times_times_poly_a @ P @ Q) @ X) = (times_times_a @ (poly_a2 @ P @ X) @ (poly_a2 @ Q @ X)))))). % poly_mult
thf(fact_4_poly__power, axiom,
    ((![P : poly_poly_nat, N : nat, X : poly_nat]: ((poly_poly_nat2 @ (power_1336127338ly_nat @ P @ N) @ X) = (power_power_poly_nat @ (poly_poly_nat2 @ P @ X) @ N))))). % poly_power
thf(fact_5_poly__power, axiom,
    ((![P : poly_poly_a, N : nat, X : poly_a]: ((poly_poly_a2 @ (power_276493840poly_a @ P @ N) @ X) = (power_power_poly_a @ (poly_poly_a2 @ P @ X) @ N))))). % poly_power
thf(fact_6_poly__power, axiom,
    ((![P : poly_a, N : nat, X : a]: ((poly_a2 @ (power_power_poly_a @ P @ N) @ X) = (power_power_a @ (poly_a2 @ P @ X) @ N))))). % poly_power
thf(fact_7_poly__power, axiom,
    ((![P : poly_nat, N : nat, X : nat]: ((poly_nat2 @ (power_power_poly_nat @ P @ N) @ X) = (power_power_nat @ (poly_nat2 @ P @ X) @ N))))). % poly_power
thf(fact_8_poly__1, axiom,
    ((![X : poly_a]: ((poly_poly_a2 @ one_one_poly_poly_a @ X) = one_one_poly_a)))). % poly_1
thf(fact_9_poly__1, axiom,
    ((![X : nat]: ((poly_nat2 @ one_one_poly_nat @ X) = one_one_nat)))). % poly_1
thf(fact_10_poly__1, axiom,
    ((![X : a]: ((poly_a2 @ one_one_poly_a @ X) = one_one_a)))). % poly_1
thf(fact_11_power__one, axiom,
    ((![N : nat]: ((power_power_poly_nat @ one_one_poly_nat @ N) = one_one_poly_nat)))). % power_one
thf(fact_12_power__one, axiom,
    ((![N : nat]: ((power_power_poly_a @ one_one_poly_a @ N) = one_one_poly_a)))). % power_one
thf(fact_13_power__one, axiom,
    ((![N : nat]: ((power_power_a @ one_one_a @ N) = one_one_a)))). % power_one
thf(fact_14_power__one, axiom,
    ((![N : nat]: ((power_power_nat @ one_one_nat @ N) = one_one_nat)))). % power_one
thf(fact_15_mult_Oleft__neutral, axiom,
    ((![A : poly_poly_a]: ((times_545135445poly_a @ one_one_poly_poly_a @ A) = A)))). % mult.left_neutral
thf(fact_16_mult_Oleft__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ one_one_nat @ A) = A)))). % mult.left_neutral
thf(fact_17_mult_Oleft__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ one_one_poly_a @ A) = A)))). % mult.left_neutral
thf(fact_18_mult_Oleft__neutral, axiom,
    ((![A : a]: ((times_times_a @ one_one_a @ A) = A)))). % mult.left_neutral
thf(fact_19_mult_Oright__neutral, axiom,
    ((![A : poly_poly_a]: ((times_545135445poly_a @ A @ one_one_poly_poly_a) = A)))). % mult.right_neutral
thf(fact_20_mult_Oright__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ A @ one_one_nat) = A)))). % mult.right_neutral
thf(fact_21_mult_Oright__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ A @ one_one_poly_a) = A)))). % mult.right_neutral
thf(fact_22_mult_Oright__neutral, axiom,
    ((![A : a]: ((times_times_a @ A @ one_one_a) = A)))). % mult.right_neutral
thf(fact_23_poly__monom, axiom,
    ((![A : poly_nat, N : nat, X : poly_nat]: ((poly_poly_nat2 @ (monom_poly_nat @ A @ N) @ X) = (times_times_poly_nat @ A @ (power_power_poly_nat @ X @ N)))))). % poly_monom
thf(fact_24_poly__monom, axiom,
    ((![A : poly_poly_a, N : nat, X : poly_poly_a]: ((poly_poly_poly_a2 @ (monom_poly_poly_a @ A @ N) @ X) = (times_545135445poly_a @ A @ (power_276493840poly_a @ X @ N)))))). % poly_monom
thf(fact_25_poly__monom, axiom,
    ((![A : nat, N : nat, X : nat]: ((poly_nat2 @ (monom_nat @ A @ N) @ X) = (times_times_nat @ A @ (power_power_nat @ X @ N)))))). % poly_monom
thf(fact_26_poly__monom, axiom,
    ((![A : poly_a, N : nat, X : poly_a]: ((poly_poly_a2 @ (monom_poly_a @ A @ N) @ X) = (times_times_poly_a @ A @ (power_power_poly_a @ X @ N)))))). % poly_monom
thf(fact_27_poly__monom, axiom,
    ((![A : a, N : nat, X : a]: ((poly_a2 @ (monom_a @ A @ N) @ X) = (times_times_a @ A @ (power_power_a @ X @ N)))))). % poly_monom
thf(fact_28_left__right__inverse__power, axiom,
    ((![X : poly_nat, Y : poly_nat, N : nat]: (((times_times_poly_nat @ X @ Y) = one_one_poly_nat) => ((times_times_poly_nat @ (power_power_poly_nat @ X @ N) @ (power_power_poly_nat @ Y @ N)) = one_one_poly_nat))))). % left_right_inverse_power
thf(fact_29_left__right__inverse__power, axiom,
    ((![X : poly_poly_a, Y : poly_poly_a, N : nat]: (((times_545135445poly_a @ X @ Y) = one_one_poly_poly_a) => ((times_545135445poly_a @ (power_276493840poly_a @ X @ N) @ (power_276493840poly_a @ Y @ N)) = one_one_poly_poly_a))))). % left_right_inverse_power
thf(fact_30_left__right__inverse__power, axiom,
    ((![X : nat, Y : nat, N : nat]: (((times_times_nat @ X @ Y) = one_one_nat) => ((times_times_nat @ (power_power_nat @ X @ N) @ (power_power_nat @ Y @ N)) = one_one_nat))))). % left_right_inverse_power
thf(fact_31_left__right__inverse__power, axiom,
    ((![X : poly_a, Y : poly_a, N : nat]: (((times_times_poly_a @ X @ Y) = one_one_poly_a) => ((times_times_poly_a @ (power_power_poly_a @ X @ N) @ (power_power_poly_a @ Y @ N)) = one_one_poly_a))))). % left_right_inverse_power
thf(fact_32_left__right__inverse__power, axiom,
    ((![X : a, Y : a, N : nat]: (((times_times_a @ X @ Y) = one_one_a) => ((times_times_a @ (power_power_a @ X @ N) @ (power_power_a @ Y @ N)) = one_one_a))))). % left_right_inverse_power
thf(fact_33_monom__eq__iff, axiom,
    ((![A : poly_a, N : nat, B : poly_a]: (((monom_poly_a @ A @ N) = (monom_poly_a @ B @ N)) = (A = B))))). % monom_eq_iff
thf(fact_34_monom__eq__iff, axiom,
    ((![A : nat, N : nat, B : nat]: (((monom_nat @ A @ N) = (monom_nat @ B @ N)) = (A = B))))). % monom_eq_iff
thf(fact_35_monom__eq__iff, axiom,
    ((![A : a, N : nat, B : a]: (((monom_a @ A @ N) = (monom_a @ B @ N)) = (A = B))))). % monom_eq_iff
thf(fact_36_power__commutes, axiom,
    ((![A : poly_nat, N : nat]: ((times_times_poly_nat @ (power_power_poly_nat @ A @ N) @ A) = (times_times_poly_nat @ A @ (power_power_poly_nat @ A @ N)))))). % power_commutes
thf(fact_37_power__commutes, axiom,
    ((![A : poly_a, N : nat]: ((times_times_poly_a @ (power_power_poly_a @ A @ N) @ A) = (times_times_poly_a @ A @ (power_power_poly_a @ A @ N)))))). % power_commutes
thf(fact_38_power__commutes, axiom,
    ((![A : a, N : nat]: ((times_times_a @ (power_power_a @ A @ N) @ A) = (times_times_a @ A @ (power_power_a @ A @ N)))))). % power_commutes
thf(fact_39_power__commutes, axiom,
    ((![A : poly_poly_a, N : nat]: ((times_545135445poly_a @ (power_276493840poly_a @ A @ N) @ A) = (times_545135445poly_a @ A @ (power_276493840poly_a @ A @ N)))))). % power_commutes
thf(fact_40_power__commutes, axiom,
    ((![A : nat, N : nat]: ((times_times_nat @ (power_power_nat @ A @ N) @ A) = (times_times_nat @ A @ (power_power_nat @ A @ N)))))). % power_commutes
thf(fact_41_power__mult__distrib, axiom,
    ((![A : poly_nat, B : poly_nat, N : nat]: ((power_power_poly_nat @ (times_times_poly_nat @ A @ B) @ N) = (times_times_poly_nat @ (power_power_poly_nat @ A @ N) @ (power_power_poly_nat @ B @ N)))))). % power_mult_distrib
thf(fact_42_power__mult__distrib, axiom,
    ((![A : poly_a, B : poly_a, N : nat]: ((power_power_poly_a @ (times_times_poly_a @ A @ B) @ N) = (times_times_poly_a @ (power_power_poly_a @ A @ N) @ (power_power_poly_a @ B @ N)))))). % power_mult_distrib
thf(fact_43_power__mult__distrib, axiom,
    ((![A : a, B : a, N : nat]: ((power_power_a @ (times_times_a @ A @ B) @ N) = (times_times_a @ (power_power_a @ A @ N) @ (power_power_a @ B @ N)))))). % power_mult_distrib
thf(fact_44_power__mult__distrib, axiom,
    ((![A : poly_poly_a, B : poly_poly_a, N : nat]: ((power_276493840poly_a @ (times_545135445poly_a @ A @ B) @ N) = (times_545135445poly_a @ (power_276493840poly_a @ A @ N) @ (power_276493840poly_a @ B @ N)))))). % power_mult_distrib
thf(fact_45_power__mult__distrib, axiom,
    ((![A : nat, B : nat, N : nat]: ((power_power_nat @ (times_times_nat @ A @ B) @ N) = (times_times_nat @ (power_power_nat @ A @ N) @ (power_power_nat @ B @ N)))))). % power_mult_distrib
thf(fact_46_power__one__right, axiom,
    ((![A : a]: ((power_power_a @ A @ one_one_nat) = A)))). % power_one_right
thf(fact_47_power__one__right, axiom,
    ((![A : nat]: ((power_power_nat @ A @ one_one_nat) = A)))). % power_one_right
thf(fact_48_power__one__right, axiom,
    ((![A : poly_nat]: ((power_power_poly_nat @ A @ one_one_nat) = A)))). % power_one_right
thf(fact_49_power__one__right, axiom,
    ((![A : poly_a]: ((power_power_poly_a @ A @ one_one_nat) = A)))). % power_one_right
thf(fact_50_power__mult, axiom,
    ((![A : a, M : nat, N : nat]: ((power_power_a @ A @ (times_times_nat @ M @ N)) = (power_power_a @ (power_power_a @ A @ M) @ N))))). % power_mult
thf(fact_51_power__mult, axiom,
    ((![A : nat, M : nat, N : nat]: ((power_power_nat @ A @ (times_times_nat @ M @ N)) = (power_power_nat @ (power_power_nat @ A @ M) @ N))))). % power_mult
thf(fact_52_power__mult, axiom,
    ((![A : poly_nat, M : nat, N : nat]: ((power_power_poly_nat @ A @ (times_times_nat @ M @ N)) = (power_power_poly_nat @ (power_power_poly_nat @ A @ M) @ N))))). % power_mult
thf(fact_53_power__mult, axiom,
    ((![A : poly_a, M : nat, N : nat]: ((power_power_poly_a @ A @ (times_times_nat @ M @ N)) = (power_power_poly_a @ (power_power_poly_a @ A @ M) @ N))))). % power_mult
thf(fact_54_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_55_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_56_mult_Oleft__commute, axiom,
    ((![B : poly_poly_a, A : poly_poly_a, C : poly_poly_a]: ((times_545135445poly_a @ B @ (times_545135445poly_a @ A @ C)) = (times_545135445poly_a @ A @ (times_545135445poly_a @ B @ C)))))). % mult.left_commute
thf(fact_57_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_58_mult_Ocommute, axiom,
    ((times_times_poly_a = (^[A2 : poly_a]: (^[B2 : poly_a]: (times_times_poly_a @ B2 @ A2)))))). % mult.commute
thf(fact_59_mult_Ocommute, axiom,
    ((times_times_a = (^[A2 : a]: (^[B2 : a]: (times_times_a @ B2 @ A2)))))). % mult.commute
thf(fact_60_mult_Ocommute, axiom,
    ((times_545135445poly_a = (^[A2 : poly_poly_a]: (^[B2 : poly_poly_a]: (times_545135445poly_a @ B2 @ A2)))))). % mult.commute
thf(fact_61_mult_Ocommute, axiom,
    ((times_times_nat = (^[A2 : nat]: (^[B2 : nat]: (times_times_nat @ B2 @ A2)))))). % mult.commute
thf(fact_62_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_63_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_64_mult_Oassoc, axiom,
    ((![A : poly_poly_a, B : poly_poly_a, C : poly_poly_a]: ((times_545135445poly_a @ (times_545135445poly_a @ A @ B) @ C) = (times_545135445poly_a @ A @ (times_545135445poly_a @ B @ C)))))). % mult.assoc
thf(fact_65_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_66_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_67_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_68_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : poly_poly_a, B : poly_poly_a, C : poly_poly_a]: ((times_545135445poly_a @ (times_545135445poly_a @ A @ B) @ C) = (times_545135445poly_a @ A @ (times_545135445poly_a @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_69_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_70_one__reorient, axiom,
    ((![X : a]: ((one_one_a = X) = (X = one_one_a))))). % one_reorient
thf(fact_71_one__reorient, axiom,
    ((![X : poly_a]: ((one_one_poly_a = X) = (X = one_one_poly_a))))). % one_reorient
thf(fact_72_one__reorient, axiom,
    ((![X : nat]: ((one_one_nat = X) = (X = one_one_nat))))). % one_reorient
thf(fact_73_mult_Ocomm__neutral, axiom,
    ((![A : poly_a]: ((times_times_poly_a @ A @ one_one_poly_a) = A)))). % mult.comm_neutral
thf(fact_74_mult_Ocomm__neutral, axiom,
    ((![A : a]: ((times_times_a @ A @ one_one_a) = A)))). % mult.comm_neutral
thf(fact_75_mult_Ocomm__neutral, axiom,
    ((![A : poly_poly_a]: ((times_545135445poly_a @ A @ one_one_poly_poly_a) = A)))). % mult.comm_neutral
thf(fact_76_mult_Ocomm__neutral, axiom,
    ((![A : nat]: ((times_times_nat @ A @ one_one_nat) = A)))). % mult.comm_neutral
thf(fact_77_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_78_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_79_comm__monoid__mult__class_Omult__1, axiom,
    ((![A : poly_poly_a]: ((times_545135445poly_a @ one_one_poly_poly_a @ A) = A)))). % comm_monoid_mult_class.mult_1
thf(fact_80_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_81_power__commuting__commutes, axiom,
    ((![X : poly_nat, Y : poly_nat, N : nat]: (((times_times_poly_nat @ X @ Y) = (times_times_poly_nat @ Y @ X)) => ((times_times_poly_nat @ (power_power_poly_nat @ X @ N) @ Y) = (times_times_poly_nat @ Y @ (power_power_poly_nat @ X @ N))))))). % power_commuting_commutes
thf(fact_82_power__commuting__commutes, axiom,
    ((![X : poly_a, Y : poly_a, N : nat]: (((times_times_poly_a @ X @ Y) = (times_times_poly_a @ Y @ X)) => ((times_times_poly_a @ (power_power_poly_a @ X @ N) @ Y) = (times_times_poly_a @ Y @ (power_power_poly_a @ X @ N))))))). % power_commuting_commutes
thf(fact_83_power__commuting__commutes, axiom,
    ((![X : a, Y : a, N : nat]: (((times_times_a @ X @ Y) = (times_times_a @ Y @ X)) => ((times_times_a @ (power_power_a @ X @ N) @ Y) = (times_times_a @ Y @ (power_power_a @ X @ N))))))). % power_commuting_commutes
thf(fact_84_power__commuting__commutes, axiom,
    ((![X : poly_poly_a, Y : poly_poly_a, N : nat]: (((times_545135445poly_a @ X @ Y) = (times_545135445poly_a @ Y @ X)) => ((times_545135445poly_a @ (power_276493840poly_a @ X @ N) @ Y) = (times_545135445poly_a @ Y @ (power_276493840poly_a @ X @ N))))))). % power_commuting_commutes
thf(fact_85_power__commuting__commutes, axiom,
    ((![X : nat, Y : nat, N : nat]: (((times_times_nat @ X @ Y) = (times_times_nat @ Y @ X)) => ((times_times_nat @ (power_power_nat @ X @ N) @ Y) = (times_times_nat @ Y @ (power_power_nat @ X @ N))))))). % power_commuting_commutes
thf(fact_86_monom__eq__1, axiom,
    (((monom_a @ one_one_a @ zero_zero_nat) = one_one_poly_a))). % monom_eq_1
thf(fact_87_monom__eq__1, axiom,
    (((monom_poly_a @ one_one_poly_a @ zero_zero_nat) = one_one_poly_poly_a))). % monom_eq_1
thf(fact_88_monom__eq__1, axiom,
    (((monom_nat @ one_one_nat @ zero_zero_nat) = one_one_poly_nat))). % monom_eq_1
thf(fact_89_monom__eq__1__iff, axiom,
    ((![C : poly_a, N : nat]: (((monom_poly_a @ C @ N) = one_one_poly_poly_a) = (((C = one_one_poly_a)) & ((N = zero_zero_nat))))))). % monom_eq_1_iff
thf(fact_90_monom__eq__1__iff, axiom,
    ((![C : nat, N : nat]: (((monom_nat @ C @ N) = one_one_poly_nat) = (((C = one_one_nat)) & ((N = zero_zero_nat))))))). % monom_eq_1_iff
thf(fact_91_monom__eq__1__iff, axiom,
    ((![C : a, N : nat]: (((monom_a @ C @ N) = one_one_poly_a) = (((C = one_one_a)) & ((N = zero_zero_nat))))))). % monom_eq_1_iff
thf(fact_92_left__minus__one__mult__self, axiom,
    ((![N : nat, A : poly_a]: ((times_times_poly_a @ (power_power_poly_a @ (uminus_uminus_poly_a @ one_one_poly_a) @ N) @ (times_times_poly_a @ (power_power_poly_a @ (uminus_uminus_poly_a @ one_one_poly_a) @ N) @ A)) = A)))). % left_minus_one_mult_self
thf(fact_93_left__minus__one__mult__self, axiom,
    ((![N : nat, A : a]: ((times_times_a @ (power_power_a @ (uminus_uminus_a @ one_one_a) @ N) @ (times_times_a @ (power_power_a @ (uminus_uminus_a @ one_one_a) @ N) @ A)) = A)))). % left_minus_one_mult_self
thf(fact_94_left__minus__one__mult__self, axiom,
    ((![N : nat, A : poly_poly_a]: ((times_545135445poly_a @ (power_276493840poly_a @ (uminus1736902417poly_a @ one_one_poly_poly_a) @ N) @ (times_545135445poly_a @ (power_276493840poly_a @ (uminus1736902417poly_a @ one_one_poly_poly_a) @ N) @ A)) = A)))). % left_minus_one_mult_self
thf(fact_95_minus__one__mult__self, axiom,
    ((![N : nat]: ((times_times_poly_a @ (power_power_poly_a @ (uminus_uminus_poly_a @ one_one_poly_a) @ N) @ (power_power_poly_a @ (uminus_uminus_poly_a @ one_one_poly_a) @ N)) = one_one_poly_a)))). % minus_one_mult_self
thf(fact_96_minus__one__mult__self, axiom,
    ((![N : nat]: ((times_times_a @ (power_power_a @ (uminus_uminus_a @ one_one_a) @ N) @ (power_power_a @ (uminus_uminus_a @ one_one_a) @ N)) = one_one_a)))). % minus_one_mult_self
thf(fact_97_minus__one__mult__self, axiom,
    ((![N : nat]: ((times_545135445poly_a @ (power_276493840poly_a @ (uminus1736902417poly_a @ one_one_poly_poly_a) @ N) @ (power_276493840poly_a @ (uminus1736902417poly_a @ one_one_poly_poly_a) @ N)) = one_one_poly_poly_a)))). % minus_one_mult_self
thf(fact_98_content__1, axiom,
    (((content_nat @ one_one_poly_nat) = one_one_nat))). % content_1
thf(fact_99_map__poly__1_H, axiom,
    ((![F : a > a]: (((F @ one_one_a) = one_one_a) => ((map_poly_a_a @ F @ one_one_poly_a) = one_one_poly_a))))). % map_poly_1'
thf(fact_100_map__poly__1_H, axiom,
    ((![F : a > poly_a]: (((F @ one_one_a) = one_one_poly_a) => ((map_poly_a_poly_a @ F @ one_one_poly_a) = one_one_poly_poly_a))))). % map_poly_1'
thf(fact_101_map__poly__1_H, axiom,
    ((![F : a > nat]: (((F @ one_one_a) = one_one_nat) => ((map_poly_a_nat @ F @ one_one_poly_a) = one_one_poly_nat))))). % map_poly_1'
thf(fact_102_map__poly__1_H, axiom,
    ((![F : poly_a > a]: (((F @ one_one_poly_a) = one_one_a) => ((map_poly_poly_a_a @ F @ one_one_poly_poly_a) = one_one_poly_a))))). % map_poly_1'
thf(fact_103_map__poly__1_H, axiom,
    ((![F : poly_a > poly_a]: (((F @ one_one_poly_a) = one_one_poly_a) => ((map_po495521320poly_a @ F @ one_one_poly_poly_a) = one_one_poly_poly_a))))). % map_poly_1'
thf(fact_104_map__poly__1_H, axiom,
    ((![F : poly_a > nat]: (((F @ one_one_poly_a) = one_one_nat) => ((map_poly_poly_a_nat @ F @ one_one_poly_poly_a) = one_one_poly_nat))))). % map_poly_1'
thf(fact_105_map__poly__1_H, axiom,
    ((![F : nat > a]: (((F @ one_one_nat) = one_one_a) => ((map_poly_nat_a @ F @ one_one_poly_nat) = one_one_poly_a))))). % map_poly_1'
thf(fact_106_map__poly__1_H, axiom,
    ((![F : nat > poly_a]: (((F @ one_one_nat) = one_one_poly_a) => ((map_poly_nat_poly_a @ F @ one_one_poly_nat) = one_one_poly_poly_a))))). % map_poly_1'
thf(fact_107_map__poly__1_H, axiom,
    ((![F : nat > nat]: (((F @ one_one_nat) = one_one_nat) => ((map_poly_nat_nat @ F @ one_one_poly_nat) = one_one_poly_nat))))). % map_poly_1'
thf(fact_108_mult__monom, axiom,
    ((![A : poly_poly_a, M : nat, B : poly_poly_a, N : nat]: ((times_1069126883poly_a @ (monom_poly_poly_a @ A @ M) @ (monom_poly_poly_a @ B @ N)) = (monom_poly_poly_a @ (times_545135445poly_a @ A @ B) @ (plus_plus_nat @ M @ N)))))). % mult_monom
thf(fact_109_mult__monom, axiom,
    ((![A : nat, M : nat, B : nat, N : nat]: ((times_times_poly_nat @ (monom_nat @ A @ M) @ (monom_nat @ B @ N)) = (monom_nat @ (times_times_nat @ A @ B) @ (plus_plus_nat @ M @ N)))))). % mult_monom
thf(fact_110_mult__monom, axiom,
    ((![A : a, M : nat, B : a, N : nat]: ((times_times_poly_a @ (monom_a @ A @ M) @ (monom_a @ B @ N)) = (monom_a @ (times_times_a @ A @ B) @ (plus_plus_nat @ M @ N)))))). % mult_monom
thf(fact_111_mult__monom, axiom,
    ((![A : poly_a, M : nat, B : poly_a, N : nat]: ((times_545135445poly_a @ (monom_poly_a @ A @ M) @ (monom_poly_a @ B @ N)) = (monom_poly_a @ (times_times_poly_a @ A @ B) @ (plus_plus_nat @ M @ N)))))). % mult_monom
thf(fact_112_mult_Omonoid__axioms, axiom,
    ((monoid_poly_a @ times_times_poly_a @ one_one_poly_a))). % mult.monoid_axioms
thf(fact_113_mult_Omonoid__axioms, axiom,
    ((monoid_a @ times_times_a @ one_one_a))). % mult.monoid_axioms
thf(fact_114_mult_Omonoid__axioms, axiom,
    ((monoid_poly_poly_a @ times_545135445poly_a @ one_one_poly_poly_a))). % mult.monoid_axioms
thf(fact_115_mult_Omonoid__axioms, axiom,
    ((monoid_nat @ times_times_nat @ one_one_nat))). % mult.monoid_axioms
thf(fact_116_power__less__power__Suc, axiom,
    ((![A : nat, N : nat]: ((ord_less_nat @ one_one_nat @ A) => (ord_less_nat @ (power_power_nat @ A @ N) @ (times_times_nat @ A @ (power_power_nat @ A @ N))))))). % power_less_power_Suc
thf(fact_117_power__gt1__lemma, axiom,
    ((![A : nat, N : nat]: ((ord_less_nat @ one_one_nat @ A) => (ord_less_nat @ one_one_nat @ (times_times_nat @ A @ (power_power_nat @ A @ N))))))). % power_gt1_lemma
thf(fact_118_nat__zero__less__power__iff, axiom,
    ((![X : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ (power_power_nat @ X @ N)) = (((ord_less_nat @ zero_zero_nat @ X)) | ((N = zero_zero_nat))))))). % nat_zero_less_power_iff
thf(fact_119_not__gr__zero, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr_zero
thf(fact_120_add_Oleft__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ zero_zero_nat @ A) = A)))). % add.left_neutral
thf(fact_121_add_Oright__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ A @ zero_zero_nat) = A)))). % add.right_neutral
thf(fact_122_add__cancel__left__left, axiom,
    ((![B : nat, A : nat]: (((plus_plus_nat @ B @ A) = A) = (B = zero_zero_nat))))). % add_cancel_left_left
thf(fact_123_add__cancel__left__right, axiom,
    ((![A : nat, B : nat]: (((plus_plus_nat @ A @ B) = A) = (B = zero_zero_nat))))). % add_cancel_left_right
thf(fact_124_add__cancel__right__left, axiom,
    ((![A : nat, B : nat]: ((A = (plus_plus_nat @ B @ A)) = (B = zero_zero_nat))))). % add_cancel_right_left
thf(fact_125_add__cancel__right__right, axiom,
    ((![A : nat, B : nat]: ((A = (plus_plus_nat @ A @ B)) = (B = zero_zero_nat))))). % add_cancel_right_right
thf(fact_126_add__eq__0__iff__both__eq__0, axiom,
    ((![X : nat, Y : nat]: (((plus_plus_nat @ X @ Y) = zero_zero_nat) = (((X = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % add_eq_0_iff_both_eq_0
thf(fact_127_zero__eq__add__iff__both__eq__0, axiom,
    ((![X : nat, Y : nat]: ((zero_zero_nat = (plus_plus_nat @ X @ Y)) = (((X = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % zero_eq_add_iff_both_eq_0
thf(fact_128_add__less__cancel__left, axiom,
    ((![C : nat, A : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ C @ A) @ (plus_plus_nat @ C @ B)) = (ord_less_nat @ A @ B))))). % add_less_cancel_left
thf(fact_129_add__less__cancel__right, axiom,
    ((![A : nat, C : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ C)) = (ord_less_nat @ A @ B))))). % add_less_cancel_right
thf(fact_130_poly__0, axiom,
    ((![X : a]: ((poly_a2 @ zero_zero_poly_a @ X) = zero_zero_a)))). % poly_0
thf(fact_131_poly__0, axiom,
    ((![X : poly_a]: ((poly_poly_a2 @ zero_z2096148049poly_a @ X) = zero_zero_poly_a)))). % poly_0
thf(fact_132_poly__0, axiom,
    ((![X : nat]: ((poly_nat2 @ zero_zero_poly_nat @ X) = zero_zero_nat)))). % poly_0
thf(fact_133_monom__eq__0, axiom,
    ((![N : nat]: ((monom_a @ zero_zero_a @ N) = zero_zero_poly_a)))). % monom_eq_0
thf(fact_134_monom__eq__0, axiom,
    ((![N : nat]: ((monom_poly_a @ zero_zero_poly_a @ N) = zero_z2096148049poly_a)))). % monom_eq_0
thf(fact_135_monom__eq__0, axiom,
    ((![N : nat]: ((monom_nat @ zero_zero_nat @ N) = zero_zero_poly_nat)))). % monom_eq_0
thf(fact_136_monom__eq__0__iff, axiom,
    ((![A : a, N : nat]: (((monom_a @ A @ N) = zero_zero_poly_a) = (A = zero_zero_a))))). % monom_eq_0_iff
thf(fact_137_monom__eq__0__iff, axiom,
    ((![A : poly_a, N : nat]: (((monom_poly_a @ A @ N) = zero_z2096148049poly_a) = (A = zero_zero_poly_a))))). % monom_eq_0_iff
thf(fact_138_monom__eq__0__iff, axiom,
    ((![A : nat, N : nat]: (((monom_nat @ A @ N) = zero_zero_poly_nat) = (A = zero_zero_nat))))). % monom_eq_0_iff
thf(fact_139_poly__add, axiom,
    ((![P : poly_a, Q : poly_a, X : a]: ((poly_a2 @ (plus_plus_poly_a @ P @ Q) @ X) = (plus_plus_a @ (poly_a2 @ P @ X) @ (poly_a2 @ Q @ X)))))). % poly_add
thf(fact_140_poly__add, axiom,
    ((![P : poly_poly_a, Q : poly_poly_a, X : poly_a]: ((poly_poly_a2 @ (plus_p1976640465poly_a @ P @ Q) @ X) = (plus_plus_poly_a @ (poly_poly_a2 @ P @ X) @ (poly_poly_a2 @ Q @ X)))))). % poly_add
thf(fact_141_poly__add, axiom,
    ((![P : poly_nat, Q : poly_nat, X : nat]: ((poly_nat2 @ (plus_plus_poly_nat @ P @ Q) @ X) = (plus_plus_nat @ (poly_nat2 @ P @ X) @ (poly_nat2 @ Q @ X)))))). % poly_add
thf(fact_142_poly__minus, axiom,
    ((![P : poly_a, X : a]: ((poly_a2 @ (uminus_uminus_poly_a @ P) @ X) = (uminus_uminus_a @ (poly_a2 @ P @ X)))))). % poly_minus
thf(fact_143_poly__minus, axiom,
    ((![P : poly_poly_a, X : poly_a]: ((poly_poly_a2 @ (uminus1736902417poly_a @ P) @ X) = (uminus_uminus_poly_a @ (poly_poly_a2 @ P @ X)))))). % poly_minus
thf(fact_144_content__0, axiom,
    (((content_nat @ zero_zero_poly_nat) = zero_zero_nat))). % content_0
thf(fact_145_content__eq__zero__iff, axiom,
    ((![P : poly_nat]: (((content_nat @ P) = zero_zero_nat) = (P = zero_zero_poly_nat))))). % content_eq_zero_iff
thf(fact_146_add__less__same__cancel1, axiom,
    ((![B : nat, A : nat]: ((ord_less_nat @ (plus_plus_nat @ B @ A) @ B) = (ord_less_nat @ A @ zero_zero_nat))))). % add_less_same_cancel1
thf(fact_147_add__less__same__cancel2, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ A @ B) @ B) = (ord_less_nat @ A @ zero_zero_nat))))). % add_less_same_cancel2
thf(fact_148_less__add__same__cancel1, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ (plus_plus_nat @ A @ B)) = (ord_less_nat @ zero_zero_nat @ B))))). % less_add_same_cancel1
thf(fact_149_less__add__same__cancel2, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ (plus_plus_nat @ B @ A)) = (ord_less_nat @ zero_zero_nat @ B))))). % less_add_same_cancel2
thf(fact_150_power__strict__increasing__iff, axiom,
    ((![B : nat, X : nat, Y : nat]: ((ord_less_nat @ one_one_nat @ B) => ((ord_less_nat @ (power_power_nat @ B @ X) @ (power_power_nat @ B @ Y)) = (ord_less_nat @ X @ Y)))))). % power_strict_increasing_iff
thf(fact_151_power__inject__exp, axiom,
    ((![A : nat, M : nat, N : nat]: ((ord_less_nat @ one_one_nat @ A) => (((power_power_nat @ A @ M) = (power_power_nat @ A @ N)) = (M = N)))))). % power_inject_exp
thf(fact_152_power__eq__0__iff, axiom,
    ((![A : nat, N : nat]: (((power_power_nat @ A @ N) = zero_zero_nat) = (((A = zero_zero_nat)) & ((ord_less_nat @ zero_zero_nat @ N))))))). % power_eq_0_iff
thf(fact_153_power__eq__0__iff, axiom,
    ((![A : poly_nat, N : nat]: (((power_power_poly_nat @ A @ N) = zero_zero_poly_nat) = (((A = zero_zero_poly_nat)) & ((ord_less_nat @ zero_zero_nat @ N))))))). % power_eq_0_iff
thf(fact_154_power__strict__decreasing__iff, axiom,
    ((![B : nat, M : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ B) => ((ord_less_nat @ B @ one_one_nat) => ((ord_less_nat @ (power_power_nat @ B @ M) @ (power_power_nat @ B @ N)) = (ord_less_nat @ N @ M))))))). % power_strict_decreasing_iff
thf(fact_155_add__mono__thms__linordered__field_I5_J, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: (((ord_less_nat @ I @ J) & (ord_less_nat @ K @ L)) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ L)))))). % add_mono_thms_linordered_field(5)
thf(fact_156_add__mono__thms__linordered__field_I2_J, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: (((I = J) & (ord_less_nat @ K @ L)) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ L)))))). % add_mono_thms_linordered_field(2)
thf(fact_157_add__mono__thms__linordered__field_I1_J, axiom,
    ((![I : nat, J : nat, K : nat, L : nat]: (((ord_less_nat @ I @ J) & (K = L)) => (ord_less_nat @ (plus_plus_nat @ I @ K) @ (plus_plus_nat @ J @ L)))))). % add_mono_thms_linordered_field(1)
thf(fact_158_zero__reorient, axiom,
    ((![X : nat]: ((zero_zero_nat = X) = (X = zero_zero_nat))))). % zero_reorient
thf(fact_159_nat__power__less__imp__less, axiom,
    ((![I : nat, M : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ I) => ((ord_less_nat @ (power_power_nat @ I @ M) @ (power_power_nat @ I @ N)) => (ord_less_nat @ M @ N)))))). % nat_power_less_imp_less
thf(fact_160_zero__power, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((power_power_a @ zero_zero_a @ N) = zero_zero_a))))). % zero_power
thf(fact_161_zero__power, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((power_power_nat @ zero_zero_nat @ N) = zero_zero_nat))))). % zero_power
thf(fact_162_zero__power, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((power_power_poly_nat @ zero_zero_poly_nat @ N) = zero_zero_poly_nat))))). % zero_power
thf(fact_163_zero__power, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((power_power_poly_a @ zero_zero_poly_a @ N) = zero_zero_poly_a))))). % zero_power
thf(fact_164_comm__monoid__add__class_Oadd__0, axiom,
    ((![A : nat]: ((plus_plus_nat @ zero_zero_nat @ A) = A)))). % comm_monoid_add_class.add_0
thf(fact_165_add_Omonoid__axioms, axiom,
    ((monoid_nat @ plus_plus_nat @ zero_zero_nat))). % add.monoid_axioms
thf(fact_166_add_Ocomm__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ A @ zero_zero_nat) = A)))). % add.comm_neutral
thf(fact_167_add__neg__neg, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ zero_zero_nat) => ((ord_less_nat @ B @ zero_zero_nat) => (ord_less_nat @ (plus_plus_nat @ A @ B) @ zero_zero_nat)))))). % add_neg_neg
thf(fact_168_add__pos__pos, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ zero_zero_nat @ A) => ((ord_less_nat @ zero_zero_nat @ B) => (ord_less_nat @ zero_zero_nat @ (plus_plus_nat @ A @ B))))))). % add_pos_pos
thf(fact_169_canonically__ordered__monoid__add__class_OlessE, axiom,
    ((![A : nat, B : nat]: ((ord_less_nat @ A @ B) => (~ ((![C2 : nat]: ((B = (plus_plus_nat @ A @ C2)) => (C2 = zero_zero_nat))))))))). % canonically_ordered_monoid_add_class.lessE
thf(fact_170_gr__zeroI, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (ord_less_nat @ zero_zero_nat @ N))))). % gr_zeroI
thf(fact_171_not__less__zero, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % not_less_zero
thf(fact_172_pos__add__strict, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_nat @ zero_zero_nat @ A) => ((ord_less_nat @ B @ C) => (ord_less_nat @ B @ (plus_plus_nat @ A @ C))))))). % pos_add_strict
thf(fact_173_add__strict__mono, axiom,
    ((![A : nat, B : nat, C : nat, D : nat]: ((ord_less_nat @ A @ B) => ((ord_less_nat @ C @ D) => (ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ D))))))). % add_strict_mono
thf(fact_174_gr__implies__not__zero, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (~ ((N = zero_zero_nat))))))). % gr_implies_not_zero
thf(fact_175_add__strict__left__mono, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_nat @ A @ B) => (ord_less_nat @ (plus_plus_nat @ C @ A) @ (plus_plus_nat @ C @ B)))))). % add_strict_left_mono
thf(fact_176_zero__less__iff__neq__zero, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) = (~ ((N = zero_zero_nat))))))). % zero_less_iff_neq_zero
thf(fact_177_add__strict__right__mono, axiom,
    ((![A : nat, B : nat, C : nat]: ((ord_less_nat @ A @ B) => (ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ C)))))). % add_strict_right_mono
thf(fact_178_add__less__imp__less__left, axiom,
    ((![C : nat, A : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ C @ A) @ (plus_plus_nat @ C @ B)) => (ord_less_nat @ A @ B))))). % add_less_imp_less_left
thf(fact_179_add__less__imp__less__right, axiom,
    ((![A : nat, C : nat, B : nat]: ((ord_less_nat @ (plus_plus_nat @ A @ C) @ (plus_plus_nat @ B @ C)) => (ord_less_nat @ A @ B))))). % add_less_imp_less_right
thf(fact_180_zero__less__power, axiom,
    ((![A : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ A) => (ord_less_nat @ zero_zero_nat @ (power_power_nat @ A @ N)))))). % zero_less_power
thf(fact_181_minus__monom, axiom,
    ((![A : a, N : nat]: ((uminus_uminus_poly_a @ (monom_a @ A @ N)) = (monom_a @ (uminus_uminus_a @ A) @ N))))). % minus_monom
thf(fact_182_minus__monom, axiom,
    ((![A : poly_a, N : nat]: ((uminus1736902417poly_a @ (monom_poly_a @ A @ N)) = (monom_poly_a @ (uminus_uminus_poly_a @ A) @ N))))). % minus_monom
thf(fact_183_add__monom, axiom,
    ((![A : a, N : nat, B : a]: ((plus_plus_poly_a @ (monom_a @ A @ N) @ (monom_a @ B @ N)) = (monom_a @ (plus_plus_a @ A @ B) @ N))))). % add_monom
thf(fact_184_add__monom, axiom,
    ((![A : poly_a, N : nat, B : poly_a]: ((plus_p1976640465poly_a @ (monom_poly_a @ A @ N) @ (monom_poly_a @ B @ N)) = (monom_poly_a @ (plus_plus_poly_a @ A @ B) @ N))))). % add_monom
thf(fact_185_add__monom, axiom,
    ((![A : nat, N : nat, B : nat]: ((plus_plus_poly_nat @ (monom_nat @ A @ N) @ (monom_nat @ B @ N)) = (monom_nat @ (plus_plus_nat @ A @ B) @ N))))). % add_monom
thf(fact_186_power__strict__decreasing, axiom,
    ((![N : nat, N2 : nat, A : nat]: ((ord_less_nat @ N @ N2) => ((ord_less_nat @ zero_zero_nat @ A) => ((ord_less_nat @ A @ one_one_nat) => (ord_less_nat @ (power_power_nat @ A @ N2) @ (power_power_nat @ A @ N)))))))). % power_strict_decreasing
thf(fact_187_one__less__power, axiom,
    ((![A : nat, N : nat]: ((ord_less_nat @ one_one_nat @ A) => ((ord_less_nat @ zero_zero_nat @ N) => (ord_less_nat @ one_one_nat @ (power_power_nat @ A @ N))))))). % one_less_power
thf(fact_188_map__poly__monom, axiom,
    ((![F : a > a, C : a, N : nat]: (((F @ zero_zero_a) = zero_zero_a) => ((map_poly_a_a @ F @ (monom_a @ C @ N)) = (monom_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_189_map__poly__monom, axiom,
    ((![F : a > poly_a, C : a, N : nat]: (((F @ zero_zero_a) = zero_zero_poly_a) => ((map_poly_a_poly_a @ F @ (monom_a @ C @ N)) = (monom_poly_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_190_map__poly__monom, axiom,
    ((![F : poly_a > a, C : poly_a, N : nat]: (((F @ zero_zero_poly_a) = zero_zero_a) => ((map_poly_poly_a_a @ F @ (monom_poly_a @ C @ N)) = (monom_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_191_map__poly__monom, axiom,
    ((![F : poly_a > poly_a, C : poly_a, N : nat]: (((F @ zero_zero_poly_a) = zero_zero_poly_a) => ((map_po495521320poly_a @ F @ (monom_poly_a @ C @ N)) = (monom_poly_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_192_map__poly__monom, axiom,
    ((![F : a > nat, C : a, N : nat]: (((F @ zero_zero_a) = zero_zero_nat) => ((map_poly_a_nat @ F @ (monom_a @ C @ N)) = (monom_nat @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_193_map__poly__monom, axiom,
    ((![F : poly_a > nat, C : poly_a, N : nat]: (((F @ zero_zero_poly_a) = zero_zero_nat) => ((map_poly_poly_a_nat @ F @ (monom_poly_a @ C @ N)) = (monom_nat @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_194_map__poly__monom, axiom,
    ((![F : nat > a, C : nat, N : nat]: (((F @ zero_zero_nat) = zero_zero_a) => ((map_poly_nat_a @ F @ (monom_nat @ C @ N)) = (monom_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_195_map__poly__monom, axiom,
    ((![F : nat > poly_a, C : nat, N : nat]: (((F @ zero_zero_nat) = zero_zero_poly_a) => ((map_poly_nat_poly_a @ F @ (monom_nat @ C @ N)) = (monom_poly_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_196_map__poly__monom, axiom,
    ((![F : nat > nat, C : nat, N : nat]: (((F @ zero_zero_nat) = zero_zero_nat) => ((map_poly_nat_nat @ F @ (monom_nat @ C @ N)) = (monom_nat @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_197_power__less__imp__less__exp, axiom,
    ((![A : nat, M : nat, N : nat]: ((ord_less_nat @ one_one_nat @ A) => ((ord_less_nat @ (power_power_nat @ A @ M) @ (power_power_nat @ A @ N)) => (ord_less_nat @ M @ N)))))). % power_less_imp_less_exp
thf(fact_198_power__strict__increasing, axiom,
    ((![N : nat, N2 : nat, A : nat]: ((ord_less_nat @ N @ N2) => ((ord_less_nat @ one_one_nat @ A) => (ord_less_nat @ (power_power_nat @ A @ N) @ (power_power_nat @ A @ N2))))))). % power_strict_increasing
thf(fact_199_power__0__left, axiom,
    ((![N : nat]: (((N = zero_zero_nat) => ((power_power_a @ zero_zero_a @ N) = one_one_a)) & ((~ ((N = zero_zero_nat))) => ((power_power_a @ zero_zero_a @ N) = zero_zero_a)))))). % power_0_left
thf(fact_200_power__0__left, axiom,
    ((![N : nat]: (((N = zero_zero_nat) => ((power_power_nat @ zero_zero_nat @ N) = one_one_nat)) & ((~ ((N = zero_zero_nat))) => ((power_power_nat @ zero_zero_nat @ N) = zero_zero_nat)))))). % power_0_left
thf(fact_201_power__0__left, axiom,
    ((![N : nat]: (((N = zero_zero_nat) => ((power_power_poly_nat @ zero_zero_poly_nat @ N) = one_one_poly_nat)) & ((~ ((N = zero_zero_nat))) => ((power_power_poly_nat @ zero_zero_poly_nat @ N) = zero_zero_poly_nat)))))). % power_0_left
thf(fact_202_power__0__left, axiom,
    ((![N : nat]: (((N = zero_zero_nat) => ((power_power_poly_a @ zero_zero_poly_a @ N) = one_one_poly_a)) & ((~ ((N = zero_zero_nat))) => ((power_power_poly_a @ zero_zero_poly_a @ N) = zero_zero_poly_a)))))). % power_0_left
thf(fact_203_power__not__zero, axiom,
    ((![A : nat, N : nat]: ((~ ((A = zero_zero_nat))) => (~ (((power_power_nat @ A @ N) = zero_zero_nat))))))). % power_not_zero
thf(fact_204_power__not__zero, axiom,
    ((![A : poly_nat, N : nat]: ((~ ((A = zero_zero_poly_nat))) => (~ (((power_power_poly_nat @ A @ N) = zero_zero_poly_nat))))))). % power_not_zero
thf(fact_205_monom__eq__iff_H, axiom,
    ((![C : a, N : nat, D : a, M : nat]: (((monom_a @ C @ N) = (monom_a @ D @ M)) = (((C = D)) & ((((C = zero_zero_a)) | ((N = M))))))))). % monom_eq_iff'
thf(fact_206_monom__eq__iff_H, axiom,
    ((![C : poly_a, N : nat, D : poly_a, M : nat]: (((monom_poly_a @ C @ N) = (monom_poly_a @ D @ M)) = (((C = D)) & ((((C = zero_zero_poly_a)) | ((N = M))))))))). % monom_eq_iff'
thf(fact_207_monom__eq__iff_H, axiom,
    ((![C : nat, N : nat, D : nat, M : nat]: (((monom_nat @ C @ N) = (monom_nat @ D @ M)) = (((C = D)) & ((((C = zero_zero_nat)) | ((N = M))))))))). % monom_eq_iff'
thf(fact_208_power__Suc__less, axiom,
    ((![A : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ A) => ((ord_less_nat @ A @ one_one_nat) => (ord_less_nat @ (times_times_nat @ A @ (power_power_nat @ A @ N)) @ (power_power_nat @ A @ N))))))). % power_Suc_less
thf(fact_209_power__add, axiom,
    ((![A : poly_nat, M : nat, N : nat]: ((power_power_poly_nat @ A @ (plus_plus_nat @ M @ N)) = (times_times_poly_nat @ (power_power_poly_nat @ A @ M) @ (power_power_poly_nat @ A @ N)))))). % power_add
thf(fact_210_power__add, axiom,
    ((![A : poly_a, M : nat, N : nat]: ((power_power_poly_a @ A @ (plus_plus_nat @ M @ N)) = (times_times_poly_a @ (power_power_poly_a @ A @ M) @ (power_power_poly_a @ A @ N)))))). % power_add
thf(fact_211_power__add, axiom,
    ((![A : a, M : nat, N : nat]: ((power_power_a @ A @ (plus_plus_nat @ M @ N)) = (times_times_a @ (power_power_a @ A @ M) @ (power_power_a @ A @ N)))))). % power_add
thf(fact_212_power__add, axiom,
    ((![A : poly_poly_a, M : nat, N : nat]: ((power_276493840poly_a @ A @ (plus_plus_nat @ M @ N)) = (times_545135445poly_a @ (power_276493840poly_a @ A @ M) @ (power_276493840poly_a @ A @ N)))))). % power_add
thf(fact_213_power__add, axiom,
    ((![A : nat, M : nat, N : nat]: ((power_power_nat @ A @ (plus_plus_nat @ M @ N)) = (times_times_nat @ (power_power_nat @ A @ M) @ (power_power_nat @ A @ N)))))). % power_add
thf(fact_214_power__0, axiom,
    ((![A : a]: ((power_power_a @ A @ zero_zero_nat) = one_one_a)))). % power_0
thf(fact_215_power__0, axiom,
    ((![A : nat]: ((power_power_nat @ A @ zero_zero_nat) = one_one_nat)))). % power_0
thf(fact_216_power__0, axiom,
    ((![A : poly_nat]: ((power_power_poly_nat @ A @ zero_zero_nat) = one_one_poly_nat)))). % power_0
thf(fact_217_power__0, axiom,
    ((![A : poly_a]: ((power_power_poly_a @ A @ zero_zero_nat) = one_one_poly_a)))). % power_0

% Conjectures (1)
thf(conj_0, conjecture,
    (((poly_a2 @ (times_times_poly_a @ (monom_a @ one_one_a @ n) @ p) @ x) = (times_times_a @ (power_power_a @ x @ n) @ (poly_a2 @ p @ x))))).
