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

% Could-be-implicit typings (5)
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_Itf__a_J_J, type,
    poly_poly_a : $tType).
thf(ty_n_t__Polynomial__Opoly_Itf__a_J, type,
    poly_a : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_tf__a, type,
    a : $tType).

% Explicit typings (50)
thf(sy_c_Fundamental__Theorem__Algebra__Mirabelle__sywschxjbb_Ooffset__poly_001t__Polynomial__Opoly_Itf__a_J, type,
    fundam1343031620poly_a : poly_poly_a > poly_a > poly_poly_a).
thf(sy_c_Fundamental__Theorem__Algebra__Mirabelle__sywschxjbb_Ooffset__poly_001tf__a, type,
    fundam1358810038poly_a : poly_a > a > poly_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__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_If_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    if_poly_poly_a : $o > poly_poly_a > poly_poly_a > poly_poly_a).
thf(sy_c_If_001t__Polynomial__Opoly_Itf__a_J, type,
    if_poly_a : $o > poly_a > poly_a > poly_a).
thf(sy_c_If_001tf__a, type,
    if_a : $o > a > a > a).
thf(sy_c_Nat_OSuc, type,
    suc : nat > nat).
thf(sy_c_Polynomial_Odegree_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    degree_poly_poly_a : poly_poly_poly_a > nat).
thf(sy_c_Polynomial_Odegree_001t__Polynomial__Opoly_Itf__a_J, type,
    degree_poly_a : poly_poly_a > nat).
thf(sy_c_Polynomial_Odegree_001tf__a, type,
    degree_a : poly_a > nat).
thf(sy_c_Polynomial_Ois__zero_001t__Polynomial__Opoly_Itf__a_J, type,
    is_zero_poly_a : poly_poly_a > $o).
thf(sy_c_Polynomial_Ois__zero_001tf__a, type,
    is_zero_a : poly_a > $o).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    map_po1355470760poly_a : (poly_poly_a > poly_poly_a) > poly_poly_poly_a > poly_poly_poly_a).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_001t__Polynomial__Opoly_Itf__a_J, type,
    map_po1689687834poly_a : (poly_poly_a > poly_a) > poly_poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_001tf__a, type,
    map_po2083970444ly_a_a : (poly_poly_a > a) > poly_poly_poly_a > poly_a).
thf(sy_c_Polynomial_Omap__poly_001t__Polynomial__Opoly_Itf__a_J_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    map_po74742454poly_a : (poly_a > poly_poly_a) > poly_poly_a > poly_poly_poly_a).
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__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    map_po34166468poly_a : (a > poly_poly_a) > poly_a > poly_poly_poly_a).
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__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_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__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_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_Polynomial_Opoly_Ocoeff_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    coeff_poly_poly_a : poly_poly_poly_a > nat > poly_poly_a).
thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Polynomial__Opoly_Itf__a_J, type,
    coeff_poly_a : poly_poly_a > nat > poly_a).
thf(sy_c_Polynomial_Opoly_Ocoeff_001tf__a, type,
    coeff_a : poly_a > nat > a).
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_Polynomial_Opoly__shift_001t__Polynomial__Opoly_Itf__a_J, type,
    poly_shift_poly_a : nat > poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Opoly__shift_001tf__a, type,
    poly_shift_a : nat > poly_a > poly_a).
thf(sy_c_Polynomial_Oreflect__poly_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J, type,
    reflec581648976poly_a : poly_poly_poly_a > poly_poly_poly_a).
thf(sy_c_Polynomial_Oreflect__poly_001t__Polynomial__Opoly_Itf__a_J, type,
    reflect_poly_poly_a : poly_poly_a > poly_poly_a).
thf(sy_c_Polynomial_Oreflect__poly_001tf__a, type,
    reflect_poly_a : poly_a > poly_a).
thf(sy_c_Polynomial_Osynthetic__div_001t__Polynomial__Opoly_Itf__a_J, type,
    synthetic_div_poly_a : poly_poly_a > poly_a > poly_poly_a).
thf(sy_c_Polynomial_Osynthetic__div_001tf__a, type,
    synthetic_div_a : poly_a > a > poly_a).
thf(sy_v_a, type,
    a2 : a).
thf(sy_v_h, type,
    h : a).

% Relevant facts (156)
thf(fact_0_offset__poly__0, axiom,
    ((![H : poly_a]: ((fundam1343031620poly_a @ zero_z2096148049poly_a @ H) = zero_z2096148049poly_a)))). % offset_poly_0
thf(fact_1_offset__poly__0, axiom,
    ((![H : a]: ((fundam1358810038poly_a @ zero_zero_poly_a @ H) = zero_zero_poly_a)))). % offset_poly_0
thf(fact_2_pCons__0__0, axiom,
    (((pCons_poly_poly_a @ zero_z2096148049poly_a @ zero_z2064990175poly_a) = zero_z2064990175poly_a))). % pCons_0_0
thf(fact_3_pCons__0__0, axiom,
    (((pCons_a @ zero_zero_a @ zero_zero_poly_a) = zero_zero_poly_a))). % pCons_0_0
thf(fact_4_pCons__0__0, axiom,
    (((pCons_poly_a @ zero_zero_poly_a @ zero_z2096148049poly_a) = zero_z2096148049poly_a))). % pCons_0_0
thf(fact_5_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_6_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_7_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_8_pCons__induct, axiom,
    ((![P2 : poly_poly_poly_a > $o, P : poly_poly_poly_a]: ((P2 @ zero_z2064990175poly_a) => ((![A2 : poly_poly_a, P3 : poly_poly_poly_a]: (((~ ((A2 = zero_z2096148049poly_a))) | (~ ((P3 = zero_z2064990175poly_a)))) => ((P2 @ P3) => (P2 @ (pCons_poly_poly_a @ A2 @ P3))))) => (P2 @ P)))))). % pCons_induct
thf(fact_9_pCons__induct, axiom,
    ((![P2 : poly_poly_a > $o, P : poly_poly_a]: ((P2 @ zero_z2096148049poly_a) => ((![A2 : poly_a, P3 : poly_poly_a]: (((~ ((A2 = zero_zero_poly_a))) | (~ ((P3 = zero_z2096148049poly_a)))) => ((P2 @ P3) => (P2 @ (pCons_poly_a @ A2 @ P3))))) => (P2 @ P)))))). % pCons_induct
thf(fact_10_pCons__induct, axiom,
    ((![P2 : poly_a > $o, P : poly_a]: ((P2 @ zero_zero_poly_a) => ((![A2 : a, P3 : poly_a]: (((~ ((A2 = zero_zero_a))) | (~ ((P3 = zero_zero_poly_a)))) => ((P2 @ P3) => (P2 @ (pCons_a @ A2 @ P3))))) => (P2 @ P)))))). % pCons_induct
thf(fact_11_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_12_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_13_poly__induct2, axiom,
    ((![P2 : poly_a > poly_poly_a > $o, P : poly_a, Q : poly_poly_a]: ((P2 @ zero_zero_poly_a @ zero_z2096148049poly_a) => ((![A2 : a, P3 : poly_a, B2 : poly_a, Q2 : poly_poly_a]: ((P2 @ P3 @ Q2) => (P2 @ (pCons_a @ A2 @ P3) @ (pCons_poly_a @ B2 @ Q2)))) => (P2 @ P @ Q)))))). % poly_induct2
thf(fact_14_poly__induct2, axiom,
    ((![P2 : poly_poly_a > poly_a > $o, P : poly_poly_a, Q : poly_a]: ((P2 @ zero_z2096148049poly_a @ zero_zero_poly_a) => ((![A2 : poly_a, P3 : poly_poly_a, B2 : a, Q2 : poly_a]: ((P2 @ P3 @ Q2) => (P2 @ (pCons_poly_a @ A2 @ P3) @ (pCons_a @ B2 @ Q2)))) => (P2 @ P @ Q)))))). % poly_induct2
thf(fact_15_poly__induct2, axiom,
    ((![P2 : poly_poly_a > poly_poly_a > $o, P : poly_poly_a, Q : poly_poly_a]: ((P2 @ zero_z2096148049poly_a @ zero_z2096148049poly_a) => ((![A2 : poly_a, P3 : poly_poly_a, B2 : poly_a, Q2 : poly_poly_a]: ((P2 @ P3 @ Q2) => (P2 @ (pCons_poly_a @ A2 @ P3) @ (pCons_poly_a @ B2 @ Q2)))) => (P2 @ P @ Q)))))). % poly_induct2
thf(fact_16_poly__induct2, axiom,
    ((![P2 : poly_a > poly_a > $o, P : poly_a, Q : poly_a]: ((P2 @ zero_zero_poly_a @ zero_zero_poly_a) => ((![A2 : a, P3 : poly_a, B2 : a, Q2 : poly_a]: ((P2 @ P3 @ Q2) => (P2 @ (pCons_a @ A2 @ P3) @ (pCons_a @ B2 @ Q2)))) => (P2 @ P @ Q)))))). % poly_induct2
thf(fact_17_pCons__cases, axiom,
    ((![P : poly_poly_a]: (~ ((![A2 : poly_a, Q2 : poly_poly_a]: (~ ((P = (pCons_poly_a @ A2 @ Q2)))))))))). % pCons_cases
thf(fact_18_pCons__cases, axiom,
    ((![P : poly_a]: (~ ((![A2 : a, Q2 : poly_a]: (~ ((P = (pCons_a @ A2 @ Q2)))))))))). % pCons_cases
thf(fact_19_zero__reorient, axiom,
    ((![X : poly_a]: ((zero_zero_poly_a = X) = (X = zero_zero_poly_a))))). % zero_reorient
thf(fact_20_zero__reorient, axiom,
    ((![X : poly_poly_a]: ((zero_z2096148049poly_a = X) = (X = zero_z2096148049poly_a))))). % zero_reorient
thf(fact_21_zero__reorient, axiom,
    ((![X : a]: ((zero_zero_a = X) = (X = zero_zero_a))))). % zero_reorient
thf(fact_22_is__zero__null, axiom,
    ((is_zero_a = (^[P4 : poly_a]: (P4 = zero_zero_poly_a))))). % is_zero_null
thf(fact_23_is__zero__null, axiom,
    ((is_zero_poly_a = (^[P4 : poly_poly_a]: (P4 = zero_z2096148049poly_a))))). % is_zero_null
thf(fact_24_poly__cutoff__0, axiom,
    ((![N : nat]: ((poly_cutoff_a @ N @ zero_zero_poly_a) = zero_zero_poly_a)))). % poly_cutoff_0
thf(fact_25_poly__cutoff__0, axiom,
    ((![N : nat]: ((poly_cutoff_poly_a @ N @ zero_z2096148049poly_a) = zero_z2096148049poly_a)))). % poly_cutoff_0
thf(fact_26_poly__shift__0, axiom,
    ((![N : nat]: ((poly_shift_a @ N @ zero_zero_poly_a) = zero_zero_poly_a)))). % poly_shift_0
thf(fact_27_poly__shift__0, axiom,
    ((![N : nat]: ((poly_shift_poly_a @ N @ zero_z2096148049poly_a) = zero_z2096148049poly_a)))). % poly_shift_0
thf(fact_28_reflect__poly__const, axiom,
    ((![A : a]: ((reflect_poly_a @ (pCons_a @ A @ zero_zero_poly_a)) = (pCons_a @ A @ zero_zero_poly_a))))). % reflect_poly_const
thf(fact_29_reflect__poly__const, axiom,
    ((![A : poly_a]: ((reflect_poly_poly_a @ (pCons_poly_a @ A @ zero_z2096148049poly_a)) = (pCons_poly_a @ A @ zero_z2096148049poly_a))))). % reflect_poly_const
thf(fact_30_pcompose__const, axiom,
    ((![A : a, Q : poly_a]: ((pcompose_a @ (pCons_a @ A @ zero_zero_poly_a) @ Q) = (pCons_a @ A @ zero_zero_poly_a))))). % pcompose_const
thf(fact_31_pcompose__const, axiom,
    ((![A : poly_a, Q : poly_poly_a]: ((pcompose_poly_a @ (pCons_poly_a @ A @ zero_z2096148049poly_a) @ Q) = (pCons_poly_a @ A @ zero_z2096148049poly_a))))). % pcompose_const
thf(fact_32_synthetic__div__0, axiom,
    ((![C : a]: ((synthetic_div_a @ zero_zero_poly_a @ C) = zero_zero_poly_a)))). % synthetic_div_0
thf(fact_33_synthetic__div__0, axiom,
    ((![C : poly_a]: ((synthetic_div_poly_a @ zero_z2096148049poly_a @ C) = zero_z2096148049poly_a)))). % synthetic_div_0
thf(fact_34_monom__eq__const__iff, axiom,
    ((![C : poly_poly_a, N : nat, D : poly_poly_a]: (((monom_poly_poly_a @ C @ N) = (pCons_poly_poly_a @ D @ zero_z2064990175poly_a)) = (((C = D)) & ((((C = zero_z2096148049poly_a)) | ((N = zero_zero_nat))))))))). % monom_eq_const_iff
thf(fact_35_monom__eq__const__iff, axiom,
    ((![C : a, N : nat, D : a]: (((monom_a @ C @ N) = (pCons_a @ D @ zero_zero_poly_a)) = (((C = D)) & ((((C = zero_zero_a)) | ((N = zero_zero_nat))))))))). % monom_eq_const_iff
thf(fact_36_monom__eq__const__iff, axiom,
    ((![C : poly_a, N : nat, D : poly_a]: (((monom_poly_a @ C @ N) = (pCons_poly_a @ D @ zero_z2096148049poly_a)) = (((C = D)) & ((((C = zero_zero_poly_a)) | ((N = zero_zero_nat))))))))). % monom_eq_const_iff
thf(fact_37_pcompose__0, axiom,
    ((![Q : poly_a]: ((pcompose_a @ zero_zero_poly_a @ Q) = zero_zero_poly_a)))). % pcompose_0
thf(fact_38_pcompose__0, axiom,
    ((![Q : poly_poly_a]: ((pcompose_poly_a @ zero_z2096148049poly_a @ Q) = zero_z2096148049poly_a)))). % pcompose_0
thf(fact_39_reflect__poly__0, axiom,
    (((reflect_poly_a @ zero_zero_poly_a) = zero_zero_poly_a))). % reflect_poly_0
thf(fact_40_reflect__poly__0, axiom,
    (((reflect_poly_poly_a @ zero_z2096148049poly_a) = zero_z2096148049poly_a))). % reflect_poly_0
thf(fact_41_monom__eq__0, axiom,
    ((![N : nat]: ((monom_poly_a @ zero_zero_poly_a @ N) = zero_z2096148049poly_a)))). % monom_eq_0
thf(fact_42_monom__eq__0, axiom,
    ((![N : nat]: ((monom_poly_poly_a @ zero_z2096148049poly_a @ N) = zero_z2064990175poly_a)))). % monom_eq_0
thf(fact_43_monom__eq__0, axiom,
    ((![N : nat]: ((monom_a @ zero_zero_a @ N) = zero_zero_poly_a)))). % monom_eq_0
thf(fact_44_monom__eq__0__iff, axiom,
    ((![A : poly_poly_a, N : nat]: (((monom_poly_poly_a @ A @ N) = zero_z2064990175poly_a) = (A = zero_z2096148049poly_a))))). % monom_eq_0_iff
thf(fact_45_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_46_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_47_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_48_monom__eq__iff_H, axiom,
    ((![C : poly_poly_a, N : nat, D : poly_poly_a, M : nat]: (((monom_poly_poly_a @ C @ N) = (monom_poly_poly_a @ D @ M)) = (((C = D)) & ((((C = zero_z2096148049poly_a)) | ((N = M))))))))). % monom_eq_iff'
thf(fact_49_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_50_monom__0, axiom,
    ((![A : a]: ((monom_a @ A @ zero_zero_nat) = (pCons_a @ A @ zero_zero_poly_a))))). % monom_0
thf(fact_51_monom__0, axiom,
    ((![A : poly_a]: ((monom_poly_a @ A @ zero_zero_nat) = (pCons_poly_a @ A @ zero_z2096148049poly_a))))). % monom_0
thf(fact_52_coeff__0__reflect__poly__0__iff, axiom,
    ((![P : poly_poly_a]: (((coeff_poly_a @ (reflect_poly_poly_a @ P) @ zero_zero_nat) = zero_zero_poly_a) = (P = zero_z2096148049poly_a))))). % coeff_0_reflect_poly_0_iff
thf(fact_53_coeff__0__reflect__poly__0__iff, axiom,
    ((![P : poly_poly_poly_a]: (((coeff_poly_poly_a @ (reflec581648976poly_a @ P) @ zero_zero_nat) = zero_z2096148049poly_a) = (P = zero_z2064990175poly_a))))). % coeff_0_reflect_poly_0_iff
thf(fact_54_coeff__0__reflect__poly__0__iff, axiom,
    ((![P : poly_a]: (((coeff_a @ (reflect_poly_a @ P) @ zero_zero_nat) = zero_zero_a) = (P = zero_zero_poly_a))))). % coeff_0_reflect_poly_0_iff
thf(fact_55_pcompose__0_H, axiom,
    ((![P : poly_a]: ((pcompose_a @ P @ zero_zero_poly_a) = (pCons_a @ (coeff_a @ P @ zero_zero_nat) @ zero_zero_poly_a))))). % pcompose_0'
thf(fact_56_pcompose__0_H, axiom,
    ((![P : poly_poly_a]: ((pcompose_poly_a @ P @ zero_z2096148049poly_a) = (pCons_poly_a @ (coeff_poly_a @ P @ zero_zero_nat) @ zero_z2096148049poly_a))))). % pcompose_0'
thf(fact_57_reflect__poly__at__0__eq__0__iff, axiom,
    ((![P : poly_poly_a]: (((poly_poly_a2 @ (reflect_poly_poly_a @ P) @ zero_zero_poly_a) = zero_zero_poly_a) = (P = zero_z2096148049poly_a))))). % reflect_poly_at_0_eq_0_iff
thf(fact_58_reflect__poly__at__0__eq__0__iff, axiom,
    ((![P : poly_poly_poly_a]: (((poly_poly_poly_a2 @ (reflec581648976poly_a @ P) @ zero_z2096148049poly_a) = zero_z2096148049poly_a) = (P = zero_z2064990175poly_a))))). % reflect_poly_at_0_eq_0_iff
thf(fact_59_reflect__poly__at__0__eq__0__iff, axiom,
    ((![P : poly_a]: (((poly_a2 @ (reflect_poly_a @ P) @ zero_zero_a) = zero_zero_a) = (P = zero_zero_poly_a))))). % reflect_poly_at_0_eq_0_iff
thf(fact_60_reflect__poly__reflect__poly, axiom,
    ((![P : poly_poly_a]: ((~ (((coeff_poly_a @ P @ zero_zero_nat) = zero_zero_poly_a))) => ((reflect_poly_poly_a @ (reflect_poly_poly_a @ P)) = P))))). % reflect_poly_reflect_poly
thf(fact_61_reflect__poly__reflect__poly, axiom,
    ((![P : poly_poly_poly_a]: ((~ (((coeff_poly_poly_a @ P @ zero_zero_nat) = zero_z2096148049poly_a))) => ((reflec581648976poly_a @ (reflec581648976poly_a @ P)) = P))))). % reflect_poly_reflect_poly
thf(fact_62_reflect__poly__reflect__poly, axiom,
    ((![P : poly_a]: ((~ (((coeff_a @ P @ zero_zero_nat) = zero_zero_a))) => ((reflect_poly_a @ (reflect_poly_a @ P)) = P))))). % reflect_poly_reflect_poly
thf(fact_63_coeff__0, axiom,
    ((![N : nat]: ((coeff_poly_poly_a @ zero_z2064990175poly_a @ N) = zero_z2096148049poly_a)))). % coeff_0
thf(fact_64_coeff__0, axiom,
    ((![N : nat]: ((coeff_a @ zero_zero_poly_a @ N) = zero_zero_a)))). % coeff_0
thf(fact_65_coeff__0, axiom,
    ((![N : nat]: ((coeff_poly_a @ zero_z2096148049poly_a @ N) = zero_zero_poly_a)))). % coeff_0
thf(fact_66_poly__0, axiom,
    ((![X : poly_poly_a]: ((poly_poly_poly_a2 @ zero_z2064990175poly_a @ X) = zero_z2096148049poly_a)))). % poly_0
thf(fact_67_poly__0, axiom,
    ((![X : a]: ((poly_a2 @ zero_zero_poly_a @ X) = zero_zero_a)))). % poly_0
thf(fact_68_poly__0, axiom,
    ((![X : poly_a]: ((poly_poly_a2 @ zero_z2096148049poly_a @ X) = zero_zero_poly_a)))). % poly_0
thf(fact_69_coeff__pCons__0, axiom,
    ((![A : a, P : poly_a]: ((coeff_a @ (pCons_a @ A @ P) @ zero_zero_nat) = A)))). % coeff_pCons_0
thf(fact_70_coeff__pCons__0, axiom,
    ((![A : poly_a, P : poly_poly_a]: ((coeff_poly_a @ (pCons_poly_a @ A @ P) @ zero_zero_nat) = A)))). % coeff_pCons_0
thf(fact_71_coeff__monom, axiom,
    ((![M : nat, N : nat, A : poly_a]: (((M = N) => ((coeff_poly_a @ (monom_poly_a @ A @ M) @ N) = A)) & ((~ ((M = N))) => ((coeff_poly_a @ (monom_poly_a @ A @ M) @ N) = zero_zero_poly_a)))))). % coeff_monom
thf(fact_72_coeff__monom, axiom,
    ((![M : nat, N : nat, A : poly_poly_a]: (((M = N) => ((coeff_poly_poly_a @ (monom_poly_poly_a @ A @ M) @ N) = A)) & ((~ ((M = N))) => ((coeff_poly_poly_a @ (monom_poly_poly_a @ A @ M) @ N) = zero_z2096148049poly_a)))))). % coeff_monom
thf(fact_73_coeff__monom, axiom,
    ((![M : nat, N : nat, A : a]: (((M = N) => ((coeff_a @ (monom_a @ A @ M) @ N) = A)) & ((~ ((M = N))) => ((coeff_a @ (monom_a @ A @ M) @ N) = zero_zero_a)))))). % coeff_monom
thf(fact_74_synthetic__div__pCons, axiom,
    ((![A : a, P : poly_a, C : a]: ((synthetic_div_a @ (pCons_a @ A @ P) @ C) = (pCons_a @ (poly_a2 @ P @ C) @ (synthetic_div_a @ P @ C)))))). % synthetic_div_pCons
thf(fact_75_synthetic__div__pCons, axiom,
    ((![A : poly_a, P : poly_poly_a, C : poly_a]: ((synthetic_div_poly_a @ (pCons_poly_a @ A @ P) @ C) = (pCons_poly_a @ (poly_poly_a2 @ P @ C) @ (synthetic_div_poly_a @ P @ C)))))). % synthetic_div_pCons
thf(fact_76_poly__0__coeff__0, axiom,
    ((![P : poly_poly_a]: ((poly_poly_a2 @ P @ zero_zero_poly_a) = (coeff_poly_a @ P @ zero_zero_nat))))). % poly_0_coeff_0
thf(fact_77_poly__0__coeff__0, axiom,
    ((![P : poly_poly_poly_a]: ((poly_poly_poly_a2 @ P @ zero_z2096148049poly_a) = (coeff_poly_poly_a @ P @ zero_zero_nat))))). % poly_0_coeff_0
thf(fact_78_poly__0__coeff__0, axiom,
    ((![P : poly_a]: ((poly_a2 @ P @ zero_zero_a) = (coeff_a @ P @ zero_zero_nat))))). % poly_0_coeff_0
thf(fact_79_zero__poly_Orep__eq, axiom,
    (((coeff_poly_poly_a @ zero_z2064990175poly_a) = (^[Uu : nat]: zero_z2096148049poly_a)))). % zero_poly.rep_eq
thf(fact_80_zero__poly_Orep__eq, axiom,
    (((coeff_a @ zero_zero_poly_a) = (^[Uu : nat]: zero_zero_a)))). % zero_poly.rep_eq
thf(fact_81_zero__poly_Orep__eq, axiom,
    (((coeff_poly_a @ zero_z2096148049poly_a) = (^[Uu : nat]: zero_zero_poly_a)))). % zero_poly.rep_eq
thf(fact_82_monom_Orep__eq, axiom,
    ((![X : poly_a, Xa : nat]: ((coeff_poly_a @ (monom_poly_a @ X @ Xa)) = (^[N2 : nat]: (if_poly_a @ (Xa = N2) @ X @ zero_zero_poly_a)))))). % monom.rep_eq
thf(fact_83_monom_Orep__eq, axiom,
    ((![X : poly_poly_a, Xa : nat]: ((coeff_poly_poly_a @ (monom_poly_poly_a @ X @ Xa)) = (^[N2 : nat]: (if_poly_poly_a @ (Xa = N2) @ X @ zero_z2096148049poly_a)))))). % monom.rep_eq
thf(fact_84_monom_Orep__eq, axiom,
    ((![X : a, Xa : nat]: ((coeff_a @ (monom_a @ X @ Xa)) = (^[N2 : nat]: (if_a @ (Xa = N2) @ X @ zero_zero_a)))))). % monom.rep_eq
thf(fact_85_poly__reflect__poly__0, axiom,
    ((![P : poly_poly_a]: ((poly_poly_a2 @ (reflect_poly_poly_a @ P) @ zero_zero_poly_a) = (coeff_poly_a @ P @ (degree_poly_a @ P)))))). % poly_reflect_poly_0
thf(fact_86_poly__reflect__poly__0, axiom,
    ((![P : poly_poly_poly_a]: ((poly_poly_poly_a2 @ (reflec581648976poly_a @ P) @ zero_z2096148049poly_a) = (coeff_poly_poly_a @ P @ (degree_poly_poly_a @ P)))))). % poly_reflect_poly_0
thf(fact_87_poly__reflect__poly__0, axiom,
    ((![P : poly_a]: ((poly_a2 @ (reflect_poly_a @ P) @ zero_zero_a) = (coeff_a @ P @ (degree_a @ P)))))). % poly_reflect_poly_0
thf(fact_88_map__poly__0, axiom,
    ((![F : a > a]: ((map_poly_a_a @ F @ zero_zero_poly_a) = zero_zero_poly_a)))). % map_poly_0
thf(fact_89_map__poly__0, axiom,
    ((![F : a > poly_a]: ((map_poly_a_poly_a @ F @ zero_zero_poly_a) = zero_z2096148049poly_a)))). % map_poly_0
thf(fact_90_map__poly__0, axiom,
    ((![F : poly_a > a]: ((map_poly_poly_a_a @ F @ zero_z2096148049poly_a) = zero_zero_poly_a)))). % map_poly_0
thf(fact_91_map__poly__0, axiom,
    ((![F : poly_a > poly_a]: ((map_po495521320poly_a @ F @ zero_z2096148049poly_a) = zero_z2096148049poly_a)))). % map_poly_0
thf(fact_92_degree__0, axiom,
    (((degree_a @ zero_zero_poly_a) = zero_zero_nat))). % degree_0
thf(fact_93_degree__0, axiom,
    (((degree_poly_a @ zero_z2096148049poly_a) = zero_zero_nat))). % degree_0
thf(fact_94_leading__coeff__0__iff, axiom,
    ((![P : poly_poly_a]: (((coeff_poly_a @ P @ (degree_poly_a @ P)) = zero_zero_poly_a) = (P = zero_z2096148049poly_a))))). % leading_coeff_0_iff
thf(fact_95_leading__coeff__0__iff, axiom,
    ((![P : poly_poly_poly_a]: (((coeff_poly_poly_a @ P @ (degree_poly_poly_a @ P)) = zero_z2096148049poly_a) = (P = zero_z2064990175poly_a))))). % leading_coeff_0_iff
thf(fact_96_leading__coeff__0__iff, axiom,
    ((![P : poly_a]: (((coeff_a @ P @ (degree_a @ P)) = zero_zero_a) = (P = zero_zero_poly_a))))). % leading_coeff_0_iff
thf(fact_97_lead__coeff__pCons_I1_J, axiom,
    ((![P : poly_a, A : a]: ((~ ((P = zero_zero_poly_a))) => ((coeff_a @ (pCons_a @ A @ P) @ (degree_a @ (pCons_a @ A @ P))) = (coeff_a @ P @ (degree_a @ P))))))). % lead_coeff_pCons(1)
thf(fact_98_lead__coeff__pCons_I1_J, axiom,
    ((![P : poly_poly_a, A : poly_a]: ((~ ((P = zero_z2096148049poly_a))) => ((coeff_poly_a @ (pCons_poly_a @ A @ P) @ (degree_poly_a @ (pCons_poly_a @ A @ P))) = (coeff_poly_a @ P @ (degree_poly_a @ P))))))). % lead_coeff_pCons(1)
thf(fact_99_lead__coeff__pCons_I2_J, axiom,
    ((![P : poly_a, A : a]: ((P = zero_zero_poly_a) => ((coeff_a @ (pCons_a @ A @ P) @ (degree_a @ (pCons_a @ A @ P))) = A))))). % lead_coeff_pCons(2)
thf(fact_100_lead__coeff__pCons_I2_J, axiom,
    ((![P : poly_poly_a, A : poly_a]: ((P = zero_z2096148049poly_a) => ((coeff_poly_a @ (pCons_poly_a @ A @ P) @ (degree_poly_a @ (pCons_poly_a @ A @ P))) = A))))). % lead_coeff_pCons(2)
thf(fact_101_degree__reflect__poly__eq, axiom,
    ((![P : poly_poly_a]: ((~ (((coeff_poly_a @ P @ zero_zero_nat) = zero_zero_poly_a))) => ((degree_poly_a @ (reflect_poly_poly_a @ P)) = (degree_poly_a @ P)))))). % degree_reflect_poly_eq
thf(fact_102_degree__reflect__poly__eq, axiom,
    ((![P : poly_poly_poly_a]: ((~ (((coeff_poly_poly_a @ P @ zero_zero_nat) = zero_z2096148049poly_a))) => ((degree_poly_poly_a @ (reflec581648976poly_a @ P)) = (degree_poly_poly_a @ P)))))). % degree_reflect_poly_eq
thf(fact_103_degree__reflect__poly__eq, axiom,
    ((![P : poly_a]: ((~ (((coeff_a @ P @ zero_zero_nat) = zero_zero_a))) => ((degree_a @ (reflect_poly_a @ P)) = (degree_a @ P)))))). % degree_reflect_poly_eq
thf(fact_104_degree__map__poly, axiom,
    ((![F : poly_a > poly_a, P : poly_poly_a]: ((![X2 : poly_a]: ((~ ((X2 = zero_zero_poly_a))) => (~ (((F @ X2) = zero_zero_poly_a))))) => ((degree_poly_a @ (map_po495521320poly_a @ F @ P)) = (degree_poly_a @ P)))))). % degree_map_poly
thf(fact_105_degree__map__poly, axiom,
    ((![F : poly_a > poly_poly_a, P : poly_poly_a]: ((![X2 : poly_a]: ((~ ((X2 = zero_zero_poly_a))) => (~ (((F @ X2) = zero_z2096148049poly_a))))) => ((degree_poly_poly_a @ (map_po74742454poly_a @ F @ P)) = (degree_poly_a @ P)))))). % degree_map_poly
thf(fact_106_degree__map__poly, axiom,
    ((![F : poly_a > a, P : poly_poly_a]: ((![X2 : poly_a]: ((~ ((X2 = zero_zero_poly_a))) => (~ (((F @ X2) = zero_zero_a))))) => ((degree_a @ (map_poly_poly_a_a @ F @ P)) = (degree_poly_a @ P)))))). % degree_map_poly
thf(fact_107_degree__map__poly, axiom,
    ((![F : poly_poly_a > poly_a, P : poly_poly_poly_a]: ((![X2 : poly_poly_a]: ((~ ((X2 = zero_z2096148049poly_a))) => (~ (((F @ X2) = zero_zero_poly_a))))) => ((degree_poly_a @ (map_po1689687834poly_a @ F @ P)) = (degree_poly_poly_a @ P)))))). % degree_map_poly
thf(fact_108_degree__map__poly, axiom,
    ((![F : poly_poly_a > poly_poly_a, P : poly_poly_poly_a]: ((![X2 : poly_poly_a]: ((~ ((X2 = zero_z2096148049poly_a))) => (~ (((F @ X2) = zero_z2096148049poly_a))))) => ((degree_poly_poly_a @ (map_po1355470760poly_a @ F @ P)) = (degree_poly_poly_a @ P)))))). % degree_map_poly
thf(fact_109_degree__map__poly, axiom,
    ((![F : poly_poly_a > a, P : poly_poly_poly_a]: ((![X2 : poly_poly_a]: ((~ ((X2 = zero_z2096148049poly_a))) => (~ (((F @ X2) = zero_zero_a))))) => ((degree_a @ (map_po2083970444ly_a_a @ F @ P)) = (degree_poly_poly_a @ P)))))). % degree_map_poly
thf(fact_110_degree__map__poly, axiom,
    ((![F : a > poly_a, P : poly_a]: ((![X2 : a]: ((~ ((X2 = zero_zero_a))) => (~ (((F @ X2) = zero_zero_poly_a))))) => ((degree_poly_a @ (map_poly_a_poly_a @ F @ P)) = (degree_a @ P)))))). % degree_map_poly
thf(fact_111_degree__map__poly, axiom,
    ((![F : a > poly_poly_a, P : poly_a]: ((![X2 : a]: ((~ ((X2 = zero_zero_a))) => (~ (((F @ X2) = zero_z2096148049poly_a))))) => ((degree_poly_poly_a @ (map_po34166468poly_a @ F @ P)) = (degree_a @ P)))))). % degree_map_poly
thf(fact_112_degree__map__poly, axiom,
    ((![F : a > a, P : poly_a]: ((![X2 : a]: ((~ ((X2 = zero_zero_a))) => (~ (((F @ X2) = zero_zero_a))))) => ((degree_a @ (map_poly_a_a @ F @ P)) = (degree_a @ P)))))). % degree_map_poly
thf(fact_113_degree__monom__eq, axiom,
    ((![A : poly_a, N : nat]: ((~ ((A = zero_zero_poly_a))) => ((degree_poly_a @ (monom_poly_a @ A @ N)) = N))))). % degree_monom_eq
thf(fact_114_degree__monom__eq, axiom,
    ((![A : poly_poly_a, N : nat]: ((~ ((A = zero_z2096148049poly_a))) => ((degree_poly_poly_a @ (monom_poly_poly_a @ A @ N)) = N))))). % degree_monom_eq
thf(fact_115_degree__monom__eq, axiom,
    ((![A : a, N : nat]: ((~ ((A = zero_zero_a))) => ((degree_a @ (monom_a @ A @ N)) = N))))). % degree_monom_eq
thf(fact_116_coeff__map__poly, axiom,
    ((![F : poly_a > poly_a, P : poly_poly_a, N : nat]: (((F @ zero_zero_poly_a) = zero_zero_poly_a) => ((coeff_poly_a @ (map_po495521320poly_a @ F @ P) @ N) = (F @ (coeff_poly_a @ P @ N))))))). % coeff_map_poly
thf(fact_117_coeff__map__poly, axiom,
    ((![F : poly_a > poly_poly_a, P : poly_poly_a, N : nat]: (((F @ zero_zero_poly_a) = zero_z2096148049poly_a) => ((coeff_poly_poly_a @ (map_po74742454poly_a @ F @ P) @ N) = (F @ (coeff_poly_a @ P @ N))))))). % coeff_map_poly
thf(fact_118_coeff__map__poly, axiom,
    ((![F : poly_a > a, P : poly_poly_a, N : nat]: (((F @ zero_zero_poly_a) = zero_zero_a) => ((coeff_a @ (map_poly_poly_a_a @ F @ P) @ N) = (F @ (coeff_poly_a @ P @ N))))))). % coeff_map_poly
thf(fact_119_coeff__map__poly, axiom,
    ((![F : poly_poly_a > poly_a, P : poly_poly_poly_a, N : nat]: (((F @ zero_z2096148049poly_a) = zero_zero_poly_a) => ((coeff_poly_a @ (map_po1689687834poly_a @ F @ P) @ N) = (F @ (coeff_poly_poly_a @ P @ N))))))). % coeff_map_poly
thf(fact_120_coeff__map__poly, axiom,
    ((![F : poly_poly_a > poly_poly_a, P : poly_poly_poly_a, N : nat]: (((F @ zero_z2096148049poly_a) = zero_z2096148049poly_a) => ((coeff_poly_poly_a @ (map_po1355470760poly_a @ F @ P) @ N) = (F @ (coeff_poly_poly_a @ P @ N))))))). % coeff_map_poly
thf(fact_121_coeff__map__poly, axiom,
    ((![F : poly_poly_a > a, P : poly_poly_poly_a, N : nat]: (((F @ zero_z2096148049poly_a) = zero_zero_a) => ((coeff_a @ (map_po2083970444ly_a_a @ F @ P) @ N) = (F @ (coeff_poly_poly_a @ P @ N))))))). % coeff_map_poly
thf(fact_122_coeff__map__poly, axiom,
    ((![F : a > poly_a, P : poly_a, N : nat]: (((F @ zero_zero_a) = zero_zero_poly_a) => ((coeff_poly_a @ (map_poly_a_poly_a @ F @ P) @ N) = (F @ (coeff_a @ P @ N))))))). % coeff_map_poly
thf(fact_123_coeff__map__poly, axiom,
    ((![F : a > poly_poly_a, P : poly_a, N : nat]: (((F @ zero_zero_a) = zero_z2096148049poly_a) => ((coeff_poly_poly_a @ (map_po34166468poly_a @ F @ P) @ N) = (F @ (coeff_a @ P @ N))))))). % coeff_map_poly
thf(fact_124_coeff__map__poly, axiom,
    ((![F : a > a, P : poly_a, N : nat]: (((F @ zero_zero_a) = zero_zero_a) => ((coeff_a @ (map_poly_a_a @ F @ P) @ N) = (F @ (coeff_a @ P @ N))))))). % coeff_map_poly
thf(fact_125_map__poly__pCons, axiom,
    ((![F : poly_a > poly_a, C : poly_a, P : poly_poly_a]: (((F @ zero_zero_poly_a) = zero_zero_poly_a) => ((map_po495521320poly_a @ F @ (pCons_poly_a @ C @ P)) = (pCons_poly_a @ (F @ C) @ (map_po495521320poly_a @ F @ P))))))). % map_poly_pCons
thf(fact_126_map__poly__pCons, axiom,
    ((![F : poly_a > poly_poly_a, C : poly_a, P : poly_poly_a]: (((F @ zero_zero_poly_a) = zero_z2096148049poly_a) => ((map_po74742454poly_a @ F @ (pCons_poly_a @ C @ P)) = (pCons_poly_poly_a @ (F @ C) @ (map_po74742454poly_a @ F @ P))))))). % map_poly_pCons
thf(fact_127_map__poly__pCons, axiom,
    ((![F : poly_a > a, C : poly_a, P : poly_poly_a]: (((F @ zero_zero_poly_a) = zero_zero_a) => ((map_poly_poly_a_a @ F @ (pCons_poly_a @ C @ P)) = (pCons_a @ (F @ C) @ (map_poly_poly_a_a @ F @ P))))))). % map_poly_pCons
thf(fact_128_map__poly__pCons, axiom,
    ((![F : poly_poly_a > poly_a, C : poly_poly_a, P : poly_poly_poly_a]: (((F @ zero_z2096148049poly_a) = zero_zero_poly_a) => ((map_po1689687834poly_a @ F @ (pCons_poly_poly_a @ C @ P)) = (pCons_poly_a @ (F @ C) @ (map_po1689687834poly_a @ F @ P))))))). % map_poly_pCons
thf(fact_129_map__poly__pCons, axiom,
    ((![F : poly_poly_a > poly_poly_a, C : poly_poly_a, P : poly_poly_poly_a]: (((F @ zero_z2096148049poly_a) = zero_z2096148049poly_a) => ((map_po1355470760poly_a @ F @ (pCons_poly_poly_a @ C @ P)) = (pCons_poly_poly_a @ (F @ C) @ (map_po1355470760poly_a @ F @ P))))))). % map_poly_pCons
thf(fact_130_map__poly__pCons, axiom,
    ((![F : poly_poly_a > a, C : poly_poly_a, P : poly_poly_poly_a]: (((F @ zero_z2096148049poly_a) = zero_zero_a) => ((map_po2083970444ly_a_a @ F @ (pCons_poly_poly_a @ C @ P)) = (pCons_a @ (F @ C) @ (map_po2083970444ly_a_a @ F @ P))))))). % map_poly_pCons
thf(fact_131_map__poly__pCons, axiom,
    ((![F : a > poly_a, C : a, P : poly_a]: (((F @ zero_zero_a) = zero_zero_poly_a) => ((map_poly_a_poly_a @ F @ (pCons_a @ C @ P)) = (pCons_poly_a @ (F @ C) @ (map_poly_a_poly_a @ F @ P))))))). % map_poly_pCons
thf(fact_132_map__poly__pCons, axiom,
    ((![F : a > poly_poly_a, C : a, P : poly_a]: (((F @ zero_zero_a) = zero_z2096148049poly_a) => ((map_po34166468poly_a @ F @ (pCons_a @ C @ P)) = (pCons_poly_poly_a @ (F @ C) @ (map_po34166468poly_a @ F @ P))))))). % map_poly_pCons
thf(fact_133_map__poly__pCons, axiom,
    ((![F : a > a, C : a, P : poly_a]: (((F @ zero_zero_a) = zero_zero_a) => ((map_poly_a_a @ F @ (pCons_a @ C @ P)) = (pCons_a @ (F @ C) @ (map_poly_a_a @ F @ P))))))). % map_poly_pCons
thf(fact_134_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_135_map__poly__monom, axiom,
    ((![F : poly_a > poly_poly_a, C : poly_a, N : nat]: (((F @ zero_zero_poly_a) = zero_z2096148049poly_a) => ((map_po74742454poly_a @ F @ (monom_poly_a @ C @ N)) = (monom_poly_poly_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_136_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_137_map__poly__monom, axiom,
    ((![F : poly_poly_a > poly_a, C : poly_poly_a, N : nat]: (((F @ zero_z2096148049poly_a) = zero_zero_poly_a) => ((map_po1689687834poly_a @ F @ (monom_poly_poly_a @ C @ N)) = (monom_poly_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_138_map__poly__monom, axiom,
    ((![F : poly_poly_a > poly_poly_a, C : poly_poly_a, N : nat]: (((F @ zero_z2096148049poly_a) = zero_z2096148049poly_a) => ((map_po1355470760poly_a @ F @ (monom_poly_poly_a @ C @ N)) = (monom_poly_poly_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_139_map__poly__monom, axiom,
    ((![F : poly_poly_a > a, C : poly_poly_a, N : nat]: (((F @ zero_z2096148049poly_a) = zero_zero_a) => ((map_po2083970444ly_a_a @ F @ (monom_poly_poly_a @ C @ N)) = (monom_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_140_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_141_map__poly__monom, axiom,
    ((![F : a > poly_poly_a, C : a, N : nat]: (((F @ zero_zero_a) = zero_z2096148049poly_a) => ((map_po34166468poly_a @ F @ (monom_a @ C @ N)) = (monom_poly_poly_a @ (F @ C) @ N)))))). % map_poly_monom
thf(fact_142_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_143_leading__coeff__neq__0, axiom,
    ((![P : poly_poly_poly_a]: ((~ ((P = zero_z2064990175poly_a))) => (~ (((coeff_poly_poly_a @ P @ (degree_poly_poly_a @ P)) = zero_z2096148049poly_a))))))). % leading_coeff_neq_0
thf(fact_144_leading__coeff__neq__0, axiom,
    ((![P : poly_a]: ((~ ((P = zero_zero_poly_a))) => (~ (((coeff_a @ P @ (degree_a @ P)) = zero_zero_a))))))). % leading_coeff_neq_0
thf(fact_145_leading__coeff__neq__0, axiom,
    ((![P : poly_poly_a]: ((~ ((P = zero_z2096148049poly_a))) => (~ (((coeff_poly_a @ P @ (degree_poly_a @ P)) = zero_zero_poly_a))))))). % leading_coeff_neq_0
thf(fact_146_degree__eq__zeroE, axiom,
    ((![P : poly_a]: (((degree_a @ P) = zero_zero_nat) => (~ ((![A2 : a]: (~ ((P = (pCons_a @ A2 @ zero_zero_poly_a))))))))))). % degree_eq_zeroE
thf(fact_147_degree__eq__zeroE, axiom,
    ((![P : poly_poly_a]: (((degree_poly_a @ P) = zero_zero_nat) => (~ ((![A2 : poly_a]: (~ ((P = (pCons_poly_a @ A2 @ zero_z2096148049poly_a))))))))))). % degree_eq_zeroE
thf(fact_148_degree__pCons__0, axiom,
    ((![A : a]: ((degree_a @ (pCons_a @ A @ zero_zero_poly_a)) = zero_zero_nat)))). % degree_pCons_0
thf(fact_149_degree__pCons__0, axiom,
    ((![A : poly_a]: ((degree_poly_a @ (pCons_poly_a @ A @ zero_z2096148049poly_a)) = zero_zero_nat)))). % degree_pCons_0
thf(fact_150_synthetic__div__eq__0__iff, axiom,
    ((![P : poly_a, C : a]: (((synthetic_div_a @ P @ C) = zero_zero_poly_a) = ((degree_a @ P) = zero_zero_nat))))). % synthetic_div_eq_0_iff
thf(fact_151_synthetic__div__eq__0__iff, axiom,
    ((![P : poly_poly_a, C : poly_a]: (((synthetic_div_poly_a @ P @ C) = zero_z2096148049poly_a) = ((degree_poly_a @ P) = zero_zero_nat))))). % synthetic_div_eq_0_iff
thf(fact_152_degree__pCons__eq__if, axiom,
    ((![P : poly_a, A : a]: (((P = zero_zero_poly_a) => ((degree_a @ (pCons_a @ A @ P)) = zero_zero_nat)) & ((~ ((P = zero_zero_poly_a))) => ((degree_a @ (pCons_a @ A @ P)) = (suc @ (degree_a @ P)))))))). % degree_pCons_eq_if
thf(fact_153_degree__pCons__eq__if, axiom,
    ((![P : poly_poly_a, A : poly_a]: (((P = zero_z2096148049poly_a) => ((degree_poly_a @ (pCons_poly_a @ A @ P)) = zero_zero_nat)) & ((~ ((P = zero_z2096148049poly_a))) => ((degree_poly_a @ (pCons_poly_a @ A @ P)) = (suc @ (degree_poly_a @ P)))))))). % degree_pCons_eq_if
thf(fact_154_coeff__pCons__Suc, axiom,
    ((![A : a, P : poly_a, N : nat]: ((coeff_a @ (pCons_a @ A @ P) @ (suc @ N)) = (coeff_a @ P @ N))))). % coeff_pCons_Suc
thf(fact_155_coeff__pCons__Suc, axiom,
    ((![A : poly_a, P : poly_poly_a, N : nat]: ((coeff_poly_a @ (pCons_poly_a @ A @ P) @ (suc @ N)) = (coeff_poly_a @ P @ N))))). % coeff_pCons_Suc

% Helper facts (7)
thf(help_If_2_1_If_001tf__a_T, axiom,
    ((![X : a, Y : a]: ((if_a @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001tf__a_T, axiom,
    ((![X : a, Y : a]: ((if_a @ $true @ X @ Y) = X)))).
thf(help_If_2_1_If_001t__Polynomial__Opoly_Itf__a_J_T, axiom,
    ((![X : poly_a, Y : poly_a]: ((if_poly_a @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001t__Polynomial__Opoly_Itf__a_J_T, axiom,
    ((![X : poly_a, Y : poly_a]: ((if_poly_a @ $true @ X @ Y) = X)))).
thf(help_If_3_1_If_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_T, axiom,
    ((![P2 : $o]: ((P2 = $true) | (P2 = $false))))).
thf(help_If_2_1_If_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_T, axiom,
    ((![X : poly_poly_a, Y : poly_poly_a]: ((if_poly_poly_a @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001t__Polynomial__Opoly_It__Polynomial__Opoly_Itf__a_J_J_T, axiom,
    ((![X : poly_poly_a, Y : poly_poly_a]: ((if_poly_poly_a @ $true @ X @ Y) = X)))).

% Conjectures (1)
thf(conj_0, conjecture,
    (((fundam1358810038poly_a @ (pCons_a @ a2 @ zero_zero_poly_a) @ h) = (pCons_a @ a2 @ zero_zero_poly_a)))).
