TPTP Problem File: SLH0315^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SLH0000^1 : TPTP v8.2.0. Released v8.2.0.
% Domain   : Archive of Formal Proofs
% Problem  :
% Version  : Especial.
% English  :

% Refs     : [Des23] Desharnais (2023), Email to Geoff Sutcliffe
% Source   : [Des23]
% Names    : CRYSTALS-Kyber/0015_Kyber_spec/prob_00228_008657__25613648_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1462 ( 830 unt; 171 typ;   0 def)
%            Number of atoms       : 2792 (1884 equ;   0 cnn)
%            Maximal formula atoms :   10 (   2 avg)
%            Number of connectives : 9803 ( 318   ~;  67   |; 133   &;8503   @)
%                                         (   0 <=>; 782  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (   5 avg)
%            Number of types       :   25 (  24 usr)
%            Number of type conns  :  262 ( 262   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  150 ( 147 usr;  33 con; 0-3 aty)
%            Number of variables   : 3117 (  98   ^;2954   !;  65   ?;3117   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 12:29:47.390
%------------------------------------------------------------------------------
% Could-be-implicit typings (24)
thf(ty_n_t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    formal6909625638053982063ring_a: $tType ).

thf(ty_n_t__Polynomial__Opoly_It__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    poly_F478958623150486895ring_a: $tType ).

thf(ty_n_t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    formal892414876638199791ring_a: $tType ).

thf(ty_n_t__Set__Oset_It__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    set_Fo5872670968731555905ring_a: $tType ).

thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    poly_p4807514599573898735ring_a: $tType ).

thf(ty_n_t__Set__Oset_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    set_po635232602878568385ring_a: $tType ).

thf(ty_n_t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    formal8450108040061743841ring_a: $tType ).

thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    poly_p2573953413498894561ring_a: $tType ).

thf(ty_n_t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    formal1278092128589203552ps_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    set_po5729067318325380787ring_a: $tType ).

thf(ty_n_t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    formal2349581728840281299ring_a: $tType ).

thf(ty_n_t__Polynomial__Opoly_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    poly_F1712242100642103904ps_nat: $tType ).

thf(ty_n_t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    formal8288521878066042848ly_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    set_Fo7423476515045695758ps_nat: $tType ).

thf(ty_n_t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    poly_F3299452240248304339ring_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__Set__Oset_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    set_Fi2982333969990053029ring_a: $tType ).

thf(ty_n_t__Set__Oset_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    set_poly_nat: $tType ).

thf(ty_n_t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    formal_Power_fps_nat: $tType ).

thf(ty_n_t__Finite____Field__Omod____ring_Itf__a_J,type,
    finite_mod_ring_a: $tType ).

thf(ty_n_t__Polynomial__Opoly_It__Nat__Onat_J,type,
    poly_nat: $tType ).

thf(ty_n_t__Kyber____spec__Oqr_Itf__a_J,type,
    kyber_qr_a: $tType ).

thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

% Explicit typings (147)
thf(sy_c_Cong_Ounique__euclidean__semiring__class_Ocong_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    unique9076693328225066129ring_a: finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a > $o ).

thf(sy_c_Cong_Ounique__euclidean__semiring__class_Ocong_001t__Nat__Onat,type,
    unique653641344996303876ng_nat: nat > nat > nat > $o ).

thf(sy_c_Cong_Ounique__euclidean__semiring__class_Ocong_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    unique1634774806376436639ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o ).

thf(sy_c_Equiv__Relations_Oequivp_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    equiv_2442139355631460267ring_a: ( poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o ) > $o ).

thf(sy_c_Field__as__Ring_Ofield__class_Oeuclidean__size__field_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    field_345814935103669131ring_a: finite_mod_ring_a > nat ).

thf(sy_c_Field__as__Ring_Ofield__class_Omod__field_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    field_9136420874929831918ring_a: finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Field__as__Ring_Ofield__class_Onormalize__field_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    field_3121160262079256089ring_a: finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Fields_Oinverse__class_Oinverse_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    invers3071014334073179505ring_a: finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Fields_Oinverse__class_Oinverse_001t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    invers7098815682652382335ring_a: formal2349581728840281299ring_a > formal2349581728840281299ring_a ).

thf(sy_c_Formal__Power__Series_Ofps_Ofps__nth_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    formal5645259561818150291ring_a: formal2349581728840281299ring_a > nat > finite_mod_ring_a ).

thf(sy_c_Formal__Power__Series_Ofps_Ofps__nth_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    formal314479119723151242ps_nat: formal1278092128589203552ps_nat > nat > formal_Power_fps_nat ).

thf(sy_c_Formal__Power__Series_Ofps_Ofps__nth_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    formal3256772333290666927ring_a: formal6909625638053982063ring_a > nat > formal8450108040061743841ring_a ).

thf(sy_c_Formal__Power__Series_Ofps_Ofps__nth_001t__Nat__Onat,type,
    formal3720337525774269570th_nat: formal_Power_fps_nat > nat > nat ).

thf(sy_c_Formal__Power__Series_Ofps_Ofps__nth_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    formal1348538149566464161ring_a: formal8450108040061743841ring_a > nat > poly_F3299452240248304339ring_a ).

thf(sy_c_Formal__Power__Series_Ofps_Ofps__nth_001t__Polynomial__Opoly_It__Nat__Onat_J,type,
    formal3266207275896326282ly_nat: formal8288521878066042848ly_nat > nat > poly_nat ).

thf(sy_c_Formal__Power__Series_Ofps_Ofps__nth_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    formal7525811227350201007ring_a: formal892414876638199791ring_a > nat > poly_p2573953413498894561ring_a ).

thf(sy_c_Formal__Power__Series_Ofps__XD_001t__Nat__Onat,type,
    formal814923487339530757XD_nat: formal_Power_fps_nat > formal_Power_fps_nat ).

thf(sy_c_Formal__Power__Series_Ofps__XDp_001t__Nat__Onat,type,
    formal9197787955091086413Dp_nat: nat > formal_Power_fps_nat > formal_Power_fps_nat ).

thf(sy_c_Formal__Power__Series_Ofps__const_001t__Nat__Onat,type,
    formal5286749789737391404st_nat: nat > formal_Power_fps_nat ).

thf(sy_c_Formal__Power__Series_Ofps__const_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    formal3326279369756374135ring_a: poly_F3299452240248304339ring_a > formal8450108040061743841ring_a ).

thf(sy_c_Formal__Power__Series_Ofps__cutoff_001t__Nat__Onat,type,
    formal4818209184033568742ff_nat: nat > formal_Power_fps_nat > formal_Power_fps_nat ).

thf(sy_c_Formal__Power__Series_Ofps__inv_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    formal6641317509014654427ring_a: formal2349581728840281299ring_a > formal2349581728840281299ring_a ).

thf(sy_c_Formal__Power__Series_Osubdegree_001t__Nat__Onat,type,
    formal1631592546598054428ee_nat: formal_Power_fps_nat > nat ).

thf(sy_c_Formal__Power__Series_Osubdegree_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    formal805226507785309063ring_a: formal8450108040061743841ring_a > nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Nat__Onat,type,
    minus_minus_nat: nat > nat > nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    minus_5354101470050066234ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Polynomial__Opoly_It__Nat__Onat_J,type,
    minus_minus_poly_nat: poly_nat > poly_nat > poly_nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    one_on2109788427901206336ring_a: finite_mod_ring_a ).

thf(sy_c_Groups_Oone__class_Oone_001t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    one_on4821279438748710862ring_a: formal2349581728840281299ring_a ).

thf(sy_c_Groups_Oone__class_Oone_001t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    one_on4270512634974056997ps_nat: formal1278092128589203552ps_nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    one_on1709007884187965418ring_a: formal6909625638053982063ring_a ).

thf(sy_c_Groups_Oone__class_Oone_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    one_on3350087005236239133ps_nat: formal_Power_fps_nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    one_on3584675865978100700ring_a: formal8450108040061743841ring_a ).

thf(sy_c_Groups_Oone__class_Oone_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    one_on1771451529969861413ly_nat: formal8288521878066042848ly_nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    one_on5137491864489035498ring_a: formal892414876638199791ring_a ).

thf(sy_c_Groups_Oone__class_Oone_001t__Kyber____spec__Oqr_Itf__a_J,type,
    one_one_Kyber_qr_a: kyber_qr_a ).

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__Finite____Field__Omod____ring_Itf__a_J_J,type,
    one_on3394844594818161742ring_a: poly_F3299452240248304339ring_a ).

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__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    one_on1339691373306511452ring_a: poly_p2573953413498894561ring_a ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    plus_p6165643967897163644ring_a: finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    plus_p2766911293903558154ring_a: formal2349581728840281299ring_a > formal2349581728840281299ring_a > formal2349581728840281299ring_a ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    plus_p3593048529598864105ps_nat: formal1278092128589203552ps_nat > formal1278092128589203552ps_nat > formal1278092128589203552ps_nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    plus_p6043471806551771617ps_nat: formal_Power_fps_nat > formal_Power_fps_nat > formal_Power_fps_nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    plus_p3824337536216486424ring_a: formal8450108040061743841ring_a > formal8450108040061743841ring_a > formal8450108040061743841ring_a ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    plus_p3766231721960446441ly_nat: formal8288521878066042848ly_nat > formal8288521878066042848ly_nat > formal8288521878066042848ly_nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Kyber____spec__Oqr_Itf__a_J,type,
    plus_plus_Kyber_qr_a: kyber_qr_a > kyber_qr_a > kyber_qr_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__Finite____Field__Omod____ring_Itf__a_J_J,type,
    plus_p7290290253215468682ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Polynomial__Opoly_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    plus_p6413323981391283305ps_nat: poly_F1712242100642103904ps_nat > poly_F1712242100642103904ps_nat > poly_F1712242100642103904ps_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_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    plus_p7801688469192607896ring_a: poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    plus_p6665843690380149609ly_nat: poly_poly_nat > poly_poly_nat > poly_poly_nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    times_5121417576591743744ring_a: finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    times_2238589750900994958ring_a: formal2349581728840281299ring_a > formal2349581728840281299ring_a > formal2349581728840281299ring_a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    times_310685333931091557ps_nat: formal1278092128589203552ps_nat > formal1278092128589203552ps_nat > formal1278092128589203552ps_nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    times_5730971402207048618ring_a: formal6909625638053982063ring_a > formal6909625638053982063ring_a > formal6909625638053982063ring_a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    times_7269705568686124893ps_nat: formal_Power_fps_nat > formal_Power_fps_nat > formal_Power_fps_nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    times_6867330870908917660ring_a: formal8450108040061743841ring_a > formal8450108040061743841ring_a > formal8450108040061743841ring_a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    times_3757592723905353573ly_nat: formal8288521878066042848ly_nat > formal8288521878066042848ly_nat > formal8288521878066042848ly_nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    times_6673521651217121962ring_a: formal892414876638199791ring_a > formal892414876638199791ring_a > formal892414876638199791ring_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__Finite____Field__Omod____ring_Itf__a_J_J,type,
    times_3242606764180207630ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Polynomial__Opoly_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    times_6404684983336190437ps_nat: poly_F1712242100642103904ps_nat > poly_F1712242100642103904ps_nat > poly_F1712242100642103904ps_nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Polynomial__Opoly_It__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    times_6260065397729409066ring_a: poly_F478958623150486895ring_a > poly_F478958623150486895ring_a > poly_F478958623150486895ring_a ).

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__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    times_7678616233722469404ring_a: poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    times_7229843563219399397ly_nat: poly_poly_nat > poly_poly_nat > poly_poly_nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_J,type,
    times_6681707185059890986ring_a: poly_p4807514599573898735ring_a > poly_p4807514599573898735ring_a > poly_p4807514599573898735ring_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    zero_z7902377541816115708ring_a: finite_mod_ring_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    zero_z5638632417171775626ring_a: formal2349581728840281299ring_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Formal____Power____Series__Ofps_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    zero_z499980418567581801ps_nat: formal1278092128589203552ps_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    zero_z8531573698755551073ps_nat: formal_Power_fps_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    zero_z678313208903408792ring_a: formal8450108040061743841ring_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    zero_z7618583475929100137ly_nat: formal8288521878066042848ly_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Kyber____spec__Oqr_Itf__a_J,type,
    zero_zero_Kyber_qr_a: kyber_qr_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__Finite____Field__Omod____ring_Itf__a_J_J,type,
    zero_z1830546546923837194ring_a: poly_F3299452240248304339ring_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Formal____Power____Series__Ofps_It__Nat__Onat_J_J,type,
    zero_z1042303698505161193ps_nat: poly_F1712242100642103904ps_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__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    zero_z1364739659462972184ring_a: poly_p2573953413498894561ring_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Nat__Onat_J_J,type,
    zero_z3289306709065865449ly_nat: poly_poly_nat ).

thf(sy_c_If_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    if_Finite_mod_ring_a: $o > finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_If_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    if_For6818226542697513106ps_nat: $o > formal_Power_fps_nat > formal_Power_fps_nat > formal_Power_fps_nat ).

thf(sy_c_If_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    if_For7386278572730688679ring_a: $o > formal8450108040061743841ring_a > formal8450108040061743841ring_a > formal8450108040061743841ring_a ).

thf(sy_c_If_001t__Nat__Onat,type,
    if_nat: $o > nat > nat > nat ).

thf(sy_c_If_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    if_pol8205948207082003865ring_a: $o > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_If_001t__Polynomial__Opoly_It__Nat__Onat_J,type,
    if_poly_nat: $o > poly_nat > poly_nat > poly_nat ).

thf(sy_c_If_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    if_pol1219332235598675879ring_a: $o > poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a ).

thf(sy_c_Kyber__spec_Oabs__qr_001tf__a,type,
    kyber_abs_qr_a: poly_F3299452240248304339ring_a > kyber_qr_a ).

thf(sy_c_Kyber__spec_Ocr__qr_001tf__a,type,
    kyber_cr_qr_a: poly_F3299452240248304339ring_a > kyber_qr_a > $o ).

thf(sy_c_Kyber__spec_Oof__qr_001tf__a,type,
    kyber_of_qr_a: kyber_qr_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Kyber__spec_Oqr__poly_001tf__a,type,
    kyber_qr_poly_a: poly_F3299452240248304339ring_a ).

thf(sy_c_Kyber__spec_Oqr__rel_001tf__a,type,
    kyber_qr_rel_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o ).

thf(sy_c_Kyber__spec_Orep__qr_001tf__a,type,
    kyber_rep_qr_a: kyber_qr_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Kyber__spec_Oto__qr_001tf__a,type,
    kyber_to_qr_a: poly_F3299452240248304339ring_a > kyber_qr_a ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat,type,
    ord_less_nat: nat > nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat,type,
    ord_less_eq_nat: nat > nat > $o ).

thf(sy_c_Polynomial_Odiv__field__poly__impl_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    div_fi3389761805290061135ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Odivide__poly__list_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    divide8468732384480566209ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Ois__zero_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    is_zer8067033805558884434ring_a: poly_F3299452240248304339ring_a > $o ).

thf(sy_c_Polynomial_Ois__zero_001t__Nat__Onat,type,
    is_zero_nat: poly_nat > $o ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    coeff_1607515655354303335ring_a: poly_F3299452240248304339ring_a > nat > finite_mod_ring_a ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    coeff_4994007371902938806ps_nat: poly_F1712242100642103904ps_nat > nat > formal_Power_fps_nat ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    coeff_7022148341067092867ring_a: poly_F478958623150486895ring_a > nat > formal8450108040061743841ring_a ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Nat__Onat,type,
    coeff_nat: poly_nat > nat > nat ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    coeff_7919988552178873973ring_a: poly_p2573953413498894561ring_a > nat > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Polynomial__Opoly_It__Nat__Onat_J,type,
    coeff_poly_nat: poly_poly_nat > nat > poly_nat ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    coeff_3719764296802005123ring_a: poly_p4807514599573898735ring_a > nat > poly_p2573953413498894561ring_a ).

thf(sy_c_Polynomial_Opoly__cutoff_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    poly_c8149583573515411563ring_a: nat > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Opoly__cutoff_001t__Nat__Onat,type,
    poly_cutoff_nat: nat > poly_nat > poly_nat ).

thf(sy_c_Polynomial_Opoly__shift_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    poly_s3529999020188229582ring_a: nat > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Opoly__shift_001t__Nat__Onat,type,
    poly_shift_nat: nat > poly_nat > poly_nat ).

thf(sy_c_Polynomial_Opoly__shift_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    poly_s6741649426647656668ring_a: nat > poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a ).

thf(sy_c_Polynomial_Oreflect__poly_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    reflec4498816349307343611ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Oreflect__poly_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    reflec5061018189423815714ps_nat: poly_F1712242100642103904ps_nat > poly_F1712242100642103904ps_nat ).

thf(sy_c_Polynomial_Oreflect__poly_001t__Nat__Onat,type,
    reflect_poly_nat: poly_nat > poly_nat ).

thf(sy_c_Polynomial_Oreflect__poly_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    reflec6105554567727746569ring_a: poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a ).

thf(sy_c_Polynomial_Oreflect__poly_001t__Polynomial__Opoly_It__Nat__Onat_J,type,
    reflec6151991051106109730ly_nat: poly_poly_nat > poly_poly_nat ).

thf(sy_c_Rings_Oalgebraic__semidom__class_Ocoprime_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    algebr1057500623109291024ring_a: finite_mod_ring_a > finite_mod_ring_a > $o ).

thf(sy_c_Rings_Oalgebraic__semidom__class_Ocoprime_001t__Nat__Onat,type,
    algebr934650988132801477me_nat: nat > nat > $o ).

thf(sy_c_Rings_Oalgebraic__semidom__class_Ocoprime_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    algebr2819680875720522014ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o ).

thf(sy_c_Rings_Oalgebraic__semidom__class_Ocoprime_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    algebr945414266375912748ring_a: poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a > $o ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    divide972148758386938611ring_a: finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    divide7626425505994258177ring_a: formal2349581728840281299ring_a > formal2349581728840281299ring_a > formal2349581728840281299ring_a ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Nat__Onat,type,
    divide_divide_nat: nat > nat > nat ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    divide6384432771786456577ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Rings_Odivide__class_Odivide_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    divide7422858485133193231ring_a: poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a > poly_p2573953413498894561ring_a ).

thf(sy_c_Rings_Omodulo__class_Omodulo_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    modulo8308552932176287283ring_a: finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Rings_Omodulo__class_Omodulo_001t__Formal____Power____Series__Ofps_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    modulo4455057136698366529ring_a: formal2349581728840281299ring_a > formal2349581728840281299ring_a > formal2349581728840281299ring_a ).

thf(sy_c_Rings_Omodulo__class_Omodulo_001t__Nat__Onat,type,
    modulo_modulo_nat: nat > nat > nat ).

thf(sy_c_Rings_Omodulo__class_Omodulo_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    modulo2591651872109920577ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Set_OCollect_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    collec4943914941012508720ring_a: ( finite_mod_ring_a > $o ) > set_Fi2982333969990053029ring_a ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_OCollect_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    collec616791576872811838ring_a: ( poly_F3299452240248304339ring_a > $o ) > set_po5729067318325380787ring_a ).

thf(sy_c_member_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    member3034048621153491438ring_a: finite_mod_ring_a > set_Fi2982333969990053029ring_a > $o ).

thf(sy_c_member_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J,type,
    member8648137790864656367ps_nat: formal_Power_fps_nat > set_Fo7423476515045695758ps_nat > $o ).

thf(sy_c_member_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    member736625194951740810ring_a: formal8450108040061743841ring_a > set_Fo5872670968731555905ring_a > $o ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_c_member_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    member3677679344809550588ring_a: poly_F3299452240248304339ring_a > set_po5729067318325380787ring_a > $o ).

thf(sy_c_member_001t__Polynomial__Opoly_It__Nat__Onat_J,type,
    member_poly_nat: poly_nat > set_poly_nat > $o ).

thf(sy_c_member_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    member4122051725848212234ring_a: poly_p2573953413498894561ring_a > set_po635232602878568385ring_a > $o ).

thf(sy_v_poly1,type,
    poly1: poly_F3299452240248304339ring_a ).

thf(sy_v_poly2,type,
    poly2: poly_F3299452240248304339ring_a ).

thf(sy_v_poly3,type,
    poly3: poly_F3299452240248304339ring_a ).

thf(sy_v_poly4,type,
    poly4: poly_F3299452240248304339ring_a ).

% Relevant facts (1273)
thf(fact_0_cong__mult,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a,D: finite_mod_ring_a,E: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ B @ C @ A )
     => ( ( unique9076693328225066129ring_a @ D @ E @ A )
       => ( unique9076693328225066129ring_a @ ( times_5121417576591743744ring_a @ B @ D ) @ ( times_5121417576591743744ring_a @ C @ E ) @ A ) ) ) ).

% cong_mult
thf(fact_1_cong__mult,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a,E: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ A )
     => ( ( unique1634774806376436639ring_a @ D @ E @ A )
       => ( unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ B @ D ) @ ( times_3242606764180207630ring_a @ C @ E ) @ A ) ) ) ).

% cong_mult
thf(fact_2_cong__mult,axiom,
    ! [B: nat,C: nat,A: nat,D: nat,E: nat] :
      ( ( unique653641344996303876ng_nat @ B @ C @ A )
     => ( ( unique653641344996303876ng_nat @ D @ E @ A )
       => ( unique653641344996303876ng_nat @ ( times_times_nat @ B @ D ) @ ( times_times_nat @ C @ E ) @ A ) ) ) ).

% cong_mult
thf(fact_3_cong__modulus__mult,axiom,
    ! [X: finite_mod_ring_a,Y: finite_mod_ring_a,M: finite_mod_ring_a,N: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ X @ Y @ ( times_5121417576591743744ring_a @ M @ N ) )
     => ( unique9076693328225066129ring_a @ X @ Y @ M ) ) ).

% cong_modulus_mult
thf(fact_4_cong__modulus__mult,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,M: poly_F3299452240248304339ring_a,N: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ X @ Y @ ( times_3242606764180207630ring_a @ M @ N ) )
     => ( unique1634774806376436639ring_a @ X @ Y @ M ) ) ).

% cong_modulus_mult
thf(fact_5_cong__scalar__left,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a,D: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ B @ C @ A )
     => ( unique9076693328225066129ring_a @ ( times_5121417576591743744ring_a @ D @ B ) @ ( times_5121417576591743744ring_a @ D @ C ) @ A ) ) ).

% cong_scalar_left
thf(fact_6_cong__scalar__left,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ A )
     => ( unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ D @ B ) @ ( times_3242606764180207630ring_a @ D @ C ) @ A ) ) ).

% cong_scalar_left
thf(fact_7_cong__scalar__left,axiom,
    ! [B: nat,C: nat,A: nat,D: nat] :
      ( ( unique653641344996303876ng_nat @ B @ C @ A )
     => ( unique653641344996303876ng_nat @ ( times_times_nat @ D @ B ) @ ( times_times_nat @ D @ C ) @ A ) ) ).

% cong_scalar_left
thf(fact_8_cong__scalar__right,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a,D: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ B @ C @ A )
     => ( unique9076693328225066129ring_a @ ( times_5121417576591743744ring_a @ B @ D ) @ ( times_5121417576591743744ring_a @ C @ D ) @ A ) ) ).

% cong_scalar_right
thf(fact_9_cong__scalar__right,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ A )
     => ( unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ B @ D ) @ ( times_3242606764180207630ring_a @ C @ D ) @ A ) ) ).

% cong_scalar_right
thf(fact_10_cong__scalar__right,axiom,
    ! [B: nat,C: nat,A: nat,D: nat] :
      ( ( unique653641344996303876ng_nat @ B @ C @ A )
     => ( unique653641344996303876ng_nat @ ( times_times_nat @ B @ D ) @ ( times_times_nat @ C @ D ) @ A ) ) ).

% cong_scalar_right
thf(fact_11_qr__rel__def,axiom,
    ( kyber_qr_rel_a
    = ( ^ [P: poly_F3299452240248304339ring_a,Q: poly_F3299452240248304339ring_a] : ( unique1634774806376436639ring_a @ P @ Q @ kyber_qr_poly_a ) ) ) ).

% qr_rel_def
thf(fact_12_cong__sym,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ A )
     => ( unique1634774806376436639ring_a @ C @ B @ A ) ) ).

% cong_sym
thf(fact_13_cong__sym,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( unique653641344996303876ng_nat @ B @ C @ A )
     => ( unique653641344996303876ng_nat @ C @ B @ A ) ) ).

% cong_sym
thf(fact_14_cong__refl,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] : ( unique1634774806376436639ring_a @ B @ B @ A ) ).

% cong_refl
thf(fact_15_cong__refl,axiom,
    ! [B: nat,A: nat] : ( unique653641344996303876ng_nat @ B @ B @ A ) ).

% cong_refl
thf(fact_16_cong__trans,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ A )
     => ( ( unique1634774806376436639ring_a @ C @ D @ A )
       => ( unique1634774806376436639ring_a @ B @ D @ A ) ) ) ).

% cong_trans
thf(fact_17_cong__trans,axiom,
    ! [B: nat,C: nat,A: nat,D: nat] :
      ( ( unique653641344996303876ng_nat @ B @ C @ A )
     => ( ( unique653641344996303876ng_nat @ C @ D @ A )
       => ( unique653641344996303876ng_nat @ B @ D @ A ) ) ) ).

% cong_trans
thf(fact_18_cong__sym__eq,axiom,
    ( unique1634774806376436639ring_a
    = ( ^ [B2: poly_F3299452240248304339ring_a,C2: poly_F3299452240248304339ring_a] : ( unique1634774806376436639ring_a @ C2 @ B2 ) ) ) ).

% cong_sym_eq
thf(fact_19_cong__sym__eq,axiom,
    ( unique653641344996303876ng_nat
    = ( ^ [B2: nat,C2: nat] : ( unique653641344996303876ng_nat @ C2 @ B2 ) ) ) ).

% cong_sym_eq
thf(fact_20_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( times_times_poly_nat @ ( times_times_poly_nat @ A @ B ) @ C )
      = ( times_times_poly_nat @ A @ ( times_times_poly_nat @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_21_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ ( times_7678616233722469404ring_a @ A @ B ) @ C )
      = ( times_7678616233722469404ring_a @ A @ ( times_7678616233722469404ring_a @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_22_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C )
      = ( times_5121417576591743744ring_a @ A @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_23_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ ( times_7269705568686124893ps_nat @ A @ B ) @ C )
      = ( times_7269705568686124893ps_nat @ A @ ( times_7269705568686124893ps_nat @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_24_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ ( times_6867330870908917660ring_a @ A @ B ) @ C )
      = ( times_6867330870908917660ring_a @ A @ ( times_6867330870908917660ring_a @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_25_ab__semigroup__mult__class_Omult__ac_I1_J,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C )
      = ( times_3242606764180207630ring_a @ A @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ).

% ab_semigroup_mult_class.mult_ac(1)
thf(fact_26_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_27_mult_Oassoc,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( times_times_poly_nat @ ( times_times_poly_nat @ A @ B ) @ C )
      = ( times_times_poly_nat @ A @ ( times_times_poly_nat @ B @ C ) ) ) ).

% mult.assoc
thf(fact_28_mult_Oassoc,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ ( times_7678616233722469404ring_a @ A @ B ) @ C )
      = ( times_7678616233722469404ring_a @ A @ ( times_7678616233722469404ring_a @ B @ C ) ) ) ).

% mult.assoc
thf(fact_29_mult_Oassoc,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C )
      = ( times_5121417576591743744ring_a @ A @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ).

% mult.assoc
thf(fact_30_mult_Oassoc,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ ( times_7269705568686124893ps_nat @ A @ B ) @ C )
      = ( times_7269705568686124893ps_nat @ A @ ( times_7269705568686124893ps_nat @ B @ C ) ) ) ).

% mult.assoc
thf(fact_31_mult_Oassoc,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ ( times_6867330870908917660ring_a @ A @ B ) @ C )
      = ( times_6867330870908917660ring_a @ A @ ( times_6867330870908917660ring_a @ B @ C ) ) ) ).

% mult.assoc
thf(fact_32_mult_Oassoc,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C )
      = ( times_3242606764180207630ring_a @ A @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ).

% mult.assoc
thf(fact_33_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_34_mult_Ocommute,axiom,
    ( times_times_poly_nat
    = ( ^ [A2: poly_nat,B2: poly_nat] : ( times_times_poly_nat @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_35_mult_Ocommute,axiom,
    ( times_7678616233722469404ring_a
    = ( ^ [A2: poly_p2573953413498894561ring_a,B2: poly_p2573953413498894561ring_a] : ( times_7678616233722469404ring_a @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_36_mult_Ocommute,axiom,
    ( times_5121417576591743744ring_a
    = ( ^ [A2: finite_mod_ring_a,B2: finite_mod_ring_a] : ( times_5121417576591743744ring_a @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_37_mult_Ocommute,axiom,
    ( times_7269705568686124893ps_nat
    = ( ^ [A2: formal_Power_fps_nat,B2: formal_Power_fps_nat] : ( times_7269705568686124893ps_nat @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_38_mult_Ocommute,axiom,
    ( times_6867330870908917660ring_a
    = ( ^ [A2: formal8450108040061743841ring_a,B2: formal8450108040061743841ring_a] : ( times_6867330870908917660ring_a @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_39_mult_Ocommute,axiom,
    ( times_3242606764180207630ring_a
    = ( ^ [A2: poly_F3299452240248304339ring_a,B2: poly_F3299452240248304339ring_a] : ( times_3242606764180207630ring_a @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_40_mult_Ocommute,axiom,
    ( times_times_nat
    = ( ^ [A2: nat,B2: nat] : ( times_times_nat @ B2 @ A2 ) ) ) ).

% mult.commute
thf(fact_41_mult_Oleft__commute,axiom,
    ! [B: poly_nat,A: poly_nat,C: poly_nat] :
      ( ( times_times_poly_nat @ B @ ( times_times_poly_nat @ A @ C ) )
      = ( times_times_poly_nat @ A @ ( times_times_poly_nat @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_42_mult_Oleft__commute,axiom,
    ! [B: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ B @ ( times_7678616233722469404ring_a @ A @ C ) )
      = ( times_7678616233722469404ring_a @ A @ ( times_7678616233722469404ring_a @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_43_mult_Oleft__commute,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ B @ ( times_5121417576591743744ring_a @ A @ C ) )
      = ( times_5121417576591743744ring_a @ A @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_44_mult_Oleft__commute,axiom,
    ! [B: formal_Power_fps_nat,A: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ B @ ( times_7269705568686124893ps_nat @ A @ C ) )
      = ( times_7269705568686124893ps_nat @ A @ ( times_7269705568686124893ps_nat @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_45_mult_Oleft__commute,axiom,
    ! [B: formal8450108040061743841ring_a,A: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ B @ ( times_6867330870908917660ring_a @ A @ C ) )
      = ( times_6867330870908917660ring_a @ A @ ( times_6867330870908917660ring_a @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_46_mult_Oleft__commute,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ B @ ( times_3242606764180207630ring_a @ A @ C ) )
      = ( times_3242606764180207630ring_a @ A @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ).

% mult.left_commute
thf(fact_47_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_48_cong__mult__self__right,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] : ( unique9076693328225066129ring_a @ ( times_5121417576591743744ring_a @ B @ A ) @ zero_z7902377541816115708ring_a @ A ) ).

% cong_mult_self_right
thf(fact_49_cong__mult__self__right,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] : ( unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ B @ A ) @ zero_z1830546546923837194ring_a @ A ) ).

% cong_mult_self_right
thf(fact_50_cong__mult__self__right,axiom,
    ! [B: nat,A: nat] : ( unique653641344996303876ng_nat @ ( times_times_nat @ B @ A ) @ zero_zero_nat @ A ) ).

% cong_mult_self_right
thf(fact_51_cong__mult__self__left,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] : ( unique9076693328225066129ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ zero_z7902377541816115708ring_a @ A ) ).

% cong_mult_self_left
thf(fact_52_cong__mult__self__left,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] : ( unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ zero_z1830546546923837194ring_a @ A ) ).

% cong_mult_self_left
thf(fact_53_cong__mult__self__left,axiom,
    ! [A: nat,B: nat] : ( unique653641344996303876ng_nat @ ( times_times_nat @ A @ B ) @ zero_zero_nat @ A ) ).

% cong_mult_self_left
thf(fact_54_cong__iff__lin,axiom,
    ( unique9076693328225066129ring_a
    = ( ^ [A2: finite_mod_ring_a,B2: finite_mod_ring_a,M2: finite_mod_ring_a] :
        ? [K: finite_mod_ring_a] :
          ( B2
          = ( plus_p6165643967897163644ring_a @ A2 @ ( times_5121417576591743744ring_a @ M2 @ K ) ) ) ) ) ).

% cong_iff_lin
thf(fact_55_cong__iff__lin,axiom,
    ( unique1634774806376436639ring_a
    = ( ^ [A2: poly_F3299452240248304339ring_a,B2: poly_F3299452240248304339ring_a,M2: poly_F3299452240248304339ring_a] :
        ? [K: poly_F3299452240248304339ring_a] :
          ( B2
          = ( plus_p7290290253215468682ring_a @ A2 @ ( times_3242606764180207630ring_a @ M2 @ K ) ) ) ) ) ).

% cong_iff_lin
thf(fact_56_mod__mult__cong__right,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a,D: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ ( modulo8308552932176287283ring_a @ C @ ( times_5121417576591743744ring_a @ A @ B ) ) @ D @ A )
      = ( unique9076693328225066129ring_a @ C @ D @ A ) ) ).

% mod_mult_cong_right
thf(fact_57_mod__mult__cong__right,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( modulo2591651872109920577ring_a @ C @ ( times_3242606764180207630ring_a @ A @ B ) ) @ D @ A )
      = ( unique1634774806376436639ring_a @ C @ D @ A ) ) ).

% mod_mult_cong_right
thf(fact_58_mod__mult__cong__right,axiom,
    ! [C: nat,A: nat,B: nat,D: nat] :
      ( ( unique653641344996303876ng_nat @ ( modulo_modulo_nat @ C @ ( times_times_nat @ A @ B ) ) @ D @ A )
      = ( unique653641344996303876ng_nat @ C @ D @ A ) ) ).

% mod_mult_cong_right
thf(fact_59_mod__mult__cong__left,axiom,
    ! [C: finite_mod_ring_a,B: finite_mod_ring_a,A: finite_mod_ring_a,D: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ ( modulo8308552932176287283ring_a @ C @ ( times_5121417576591743744ring_a @ B @ A ) ) @ D @ A )
      = ( unique9076693328225066129ring_a @ C @ D @ A ) ) ).

% mod_mult_cong_left
thf(fact_60_mod__mult__cong__left,axiom,
    ! [C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( modulo2591651872109920577ring_a @ C @ ( times_3242606764180207630ring_a @ B @ A ) ) @ D @ A )
      = ( unique1634774806376436639ring_a @ C @ D @ A ) ) ).

% mod_mult_cong_left
thf(fact_61_mod__mult__cong__left,axiom,
    ! [C: nat,B: nat,A: nat,D: nat] :
      ( ( unique653641344996303876ng_nat @ ( modulo_modulo_nat @ C @ ( times_times_nat @ B @ A ) ) @ D @ A )
      = ( unique653641344996303876ng_nat @ C @ D @ A ) ) ).

% mod_mult_cong_left
thf(fact_62_coprime__cong__mult,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,M: finite_mod_ring_a,N: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ A @ B @ M )
     => ( ( unique9076693328225066129ring_a @ A @ B @ N )
       => ( ( algebr1057500623109291024ring_a @ M @ N )
         => ( unique9076693328225066129ring_a @ A @ B @ ( times_5121417576591743744ring_a @ M @ N ) ) ) ) ) ).

% coprime_cong_mult
thf(fact_63_coprime__cong__mult,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,M: poly_F3299452240248304339ring_a,N: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ A @ B @ M )
     => ( ( unique1634774806376436639ring_a @ A @ B @ N )
       => ( ( algebr2819680875720522014ring_a @ M @ N )
         => ( unique1634774806376436639ring_a @ A @ B @ ( times_3242606764180207630ring_a @ M @ N ) ) ) ) ) ).

% coprime_cong_mult
thf(fact_64_cong__mult__rcancel,axiom,
    ! [K2: finite_mod_ring_a,M: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( algebr1057500623109291024ring_a @ K2 @ M )
     => ( ( unique9076693328225066129ring_a @ ( times_5121417576591743744ring_a @ A @ K2 ) @ ( times_5121417576591743744ring_a @ B @ K2 ) @ M )
        = ( unique9076693328225066129ring_a @ A @ B @ M ) ) ) ).

% cong_mult_rcancel
thf(fact_65_cong__mult__rcancel,axiom,
    ! [K2: poly_F3299452240248304339ring_a,M: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( algebr2819680875720522014ring_a @ K2 @ M )
     => ( ( unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ A @ K2 ) @ ( times_3242606764180207630ring_a @ B @ K2 ) @ M )
        = ( unique1634774806376436639ring_a @ A @ B @ M ) ) ) ).

% cong_mult_rcancel
thf(fact_66_cong__mult__lcancel,axiom,
    ! [K2: finite_mod_ring_a,M: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( algebr1057500623109291024ring_a @ K2 @ M )
     => ( ( unique9076693328225066129ring_a @ ( times_5121417576591743744ring_a @ K2 @ A ) @ ( times_5121417576591743744ring_a @ K2 @ B ) @ M )
        = ( unique9076693328225066129ring_a @ A @ B @ M ) ) ) ).

% cong_mult_lcancel
thf(fact_67_cong__mult__lcancel,axiom,
    ! [K2: poly_F3299452240248304339ring_a,M: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( algebr2819680875720522014ring_a @ K2 @ M )
     => ( ( unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ K2 @ A ) @ ( times_3242606764180207630ring_a @ K2 @ B ) @ M )
        = ( unique1634774806376436639ring_a @ A @ B @ M ) ) ) ).

% cong_mult_lcancel
thf(fact_68_qr_Oabs__eq__iff,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( ( kyber_abs_qr_a @ X )
        = ( kyber_abs_qr_a @ Y ) )
      = ( kyber_qr_rel_a @ X @ Y ) ) ).

% qr.abs_eq_iff
thf(fact_69_cong__0,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ B @ C @ zero_z7902377541816115708ring_a )
      = ( B = C ) ) ).

% cong_0
thf(fact_70_cong__0,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ zero_z1830546546923837194ring_a )
      = ( B = C ) ) ).

% cong_0
thf(fact_71_cong__0,axiom,
    ! [B: nat,C: nat] :
      ( ( unique653641344996303876ng_nat @ B @ C @ zero_zero_nat )
      = ( B = C ) ) ).

% cong_0
thf(fact_72_qr__poly__nz,axiom,
    kyber_qr_poly_a != zero_z1830546546923837194ring_a ).

% qr_poly_nz
thf(fact_73_equivp__qr__rel,axiom,
    equiv_2442139355631460267ring_a @ kyber_qr_rel_a ).

% equivp_qr_rel
thf(fact_74_add__left__cancel,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ A @ B )
        = ( plus_p7290290253215468682ring_a @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_75_add__left__cancel,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ A @ B )
        = ( plus_p6165643967897163644ring_a @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_76_add__left__cancel,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( ( plus_plus_poly_nat @ A @ B )
        = ( plus_plus_poly_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_77_add__left__cancel,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( ( plus_p6043471806551771617ps_nat @ A @ B )
        = ( plus_p6043471806551771617ps_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_78_add__left__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_79_add__right__cancel,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ B @ A )
        = ( plus_p7290290253215468682ring_a @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_80_add__right__cancel,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ B @ A )
        = ( plus_p6165643967897163644ring_a @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_81_add__right__cancel,axiom,
    ! [B: poly_nat,A: poly_nat,C: poly_nat] :
      ( ( ( plus_plus_poly_nat @ B @ A )
        = ( plus_plus_poly_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_82_add__right__cancel,axiom,
    ! [B: formal_Power_fps_nat,A: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( ( plus_p6043471806551771617ps_nat @ B @ A )
        = ( plus_p6043471806551771617ps_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_83_add__right__cancel,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_84_add_Oright__neutral,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ A @ zero_z1830546546923837194ring_a )
      = A ) ).

% add.right_neutral
thf(fact_85_add_Oright__neutral,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ A @ zero_z7902377541816115708ring_a )
      = A ) ).

% add.right_neutral
thf(fact_86_add_Oright__neutral,axiom,
    ! [A: poly_nat] :
      ( ( plus_plus_poly_nat @ A @ zero_zero_poly_nat )
      = A ) ).

% add.right_neutral
thf(fact_87_add_Oright__neutral,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ A @ zero_z8531573698755551073ps_nat )
      = A ) ).

% add.right_neutral
thf(fact_88_add_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.right_neutral
thf(fact_89_add__cancel__left__left,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ B @ A )
        = A )
      = ( B = zero_z1830546546923837194ring_a ) ) ).

% add_cancel_left_left
thf(fact_90_add__cancel__left__left,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ B @ A )
        = A )
      = ( B = zero_z7902377541816115708ring_a ) ) ).

% add_cancel_left_left
thf(fact_91_add__cancel__left__left,axiom,
    ! [B: poly_nat,A: poly_nat] :
      ( ( ( plus_plus_poly_nat @ B @ A )
        = A )
      = ( B = zero_zero_poly_nat ) ) ).

% add_cancel_left_left
thf(fact_92_add__cancel__left__left,axiom,
    ! [B: formal_Power_fps_nat,A: formal_Power_fps_nat] :
      ( ( ( plus_p6043471806551771617ps_nat @ B @ A )
        = A )
      = ( B = zero_z8531573698755551073ps_nat ) ) ).

% add_cancel_left_left
thf(fact_93_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_94_add__cancel__left__right,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ A @ B )
        = A )
      = ( B = zero_z1830546546923837194ring_a ) ) ).

% add_cancel_left_right
thf(fact_95_add__cancel__left__right,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ A @ B )
        = A )
      = ( B = zero_z7902377541816115708ring_a ) ) ).

% add_cancel_left_right
thf(fact_96_add__cancel__left__right,axiom,
    ! [A: poly_nat,B: poly_nat] :
      ( ( ( plus_plus_poly_nat @ A @ B )
        = A )
      = ( B = zero_zero_poly_nat ) ) ).

% add_cancel_left_right
thf(fact_97_add__cancel__left__right,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( ( plus_p6043471806551771617ps_nat @ A @ B )
        = A )
      = ( B = zero_z8531573698755551073ps_nat ) ) ).

% add_cancel_left_right
thf(fact_98_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_99_add__cancel__right__left,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( A
        = ( plus_p7290290253215468682ring_a @ B @ A ) )
      = ( B = zero_z1830546546923837194ring_a ) ) ).

% add_cancel_right_left
thf(fact_100_add__cancel__right__left,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A
        = ( plus_p6165643967897163644ring_a @ B @ A ) )
      = ( B = zero_z7902377541816115708ring_a ) ) ).

% add_cancel_right_left
thf(fact_101_add__cancel__right__left,axiom,
    ! [A: poly_nat,B: poly_nat] :
      ( ( A
        = ( plus_plus_poly_nat @ B @ A ) )
      = ( B = zero_zero_poly_nat ) ) ).

% add_cancel_right_left
thf(fact_102_add__cancel__right__left,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( A
        = ( plus_p6043471806551771617ps_nat @ B @ A ) )
      = ( B = zero_z8531573698755551073ps_nat ) ) ).

% add_cancel_right_left
thf(fact_103_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_104_add__cancel__right__right,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( A
        = ( plus_p7290290253215468682ring_a @ A @ B ) )
      = ( B = zero_z1830546546923837194ring_a ) ) ).

% add_cancel_right_right
thf(fact_105_add__cancel__right__right,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A
        = ( plus_p6165643967897163644ring_a @ A @ B ) )
      = ( B = zero_z7902377541816115708ring_a ) ) ).

% add_cancel_right_right
thf(fact_106_add__cancel__right__right,axiom,
    ! [A: poly_nat,B: poly_nat] :
      ( ( A
        = ( plus_plus_poly_nat @ A @ B ) )
      = ( B = zero_zero_poly_nat ) ) ).

% add_cancel_right_right
thf(fact_107_add__cancel__right__right,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( A
        = ( plus_p6043471806551771617ps_nat @ A @ B ) )
      = ( B = zero_z8531573698755551073ps_nat ) ) ).

% add_cancel_right_right
thf(fact_108_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_109_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_110_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_111_add__0,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ zero_z1830546546923837194ring_a @ A )
      = A ) ).

% add_0
thf(fact_112_add__0,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ zero_z7902377541816115708ring_a @ A )
      = A ) ).

% add_0
thf(fact_113_add__0,axiom,
    ! [A: poly_nat] :
      ( ( plus_plus_poly_nat @ zero_zero_poly_nat @ A )
      = A ) ).

% add_0
thf(fact_114_add__0,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ zero_z8531573698755551073ps_nat @ A )
      = A ) ).

% add_0
thf(fact_115_add__0,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ A )
      = A ) ).

% add_0
thf(fact_116_cong__mod__left,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( modulo2591651872109920577ring_a @ B @ A ) @ C @ A )
      = ( unique1634774806376436639ring_a @ B @ C @ A ) ) ).

% cong_mod_left
thf(fact_117_cong__mod__left,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( unique653641344996303876ng_nat @ ( modulo_modulo_nat @ B @ A ) @ C @ A )
      = ( unique653641344996303876ng_nat @ B @ C @ A ) ) ).

% cong_mod_left
thf(fact_118_cong__mod__right,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ ( modulo2591651872109920577ring_a @ C @ A ) @ A )
      = ( unique1634774806376436639ring_a @ B @ C @ A ) ) ).

% cong_mod_right
thf(fact_119_cong__mod__right,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( unique653641344996303876ng_nat @ B @ ( modulo_modulo_nat @ C @ A ) @ A )
      = ( unique653641344996303876ng_nat @ B @ C @ A ) ) ).

% cong_mod_right
thf(fact_120_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C )
      = ( plus_p7290290253215468682ring_a @ A @ ( plus_p7290290253215468682ring_a @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_121_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ A @ ( plus_p6165643967897163644ring_a @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_122_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( plus_plus_poly_nat @ ( plus_plus_poly_nat @ A @ B ) @ C )
      = ( plus_plus_poly_nat @ A @ ( plus_plus_poly_nat @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_123_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ ( plus_p6043471806551771617ps_nat @ A @ B ) @ C )
      = ( plus_p6043471806551771617ps_nat @ A @ ( plus_p6043471806551771617ps_nat @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_124_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_125_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( K2 = L ) )
     => ( ( plus_plus_nat @ I @ K2 )
        = ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_126_group__cancel_Oadd1,axiom,
    ! [A3: poly_F3299452240248304339ring_a,K2: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( A3
        = ( plus_p7290290253215468682ring_a @ K2 @ A ) )
     => ( ( plus_p7290290253215468682ring_a @ A3 @ B )
        = ( plus_p7290290253215468682ring_a @ K2 @ ( plus_p7290290253215468682ring_a @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_127_group__cancel_Oadd1,axiom,
    ! [A3: finite_mod_ring_a,K2: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A3
        = ( plus_p6165643967897163644ring_a @ K2 @ A ) )
     => ( ( plus_p6165643967897163644ring_a @ A3 @ B )
        = ( plus_p6165643967897163644ring_a @ K2 @ ( plus_p6165643967897163644ring_a @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_128_group__cancel_Oadd1,axiom,
    ! [A3: poly_nat,K2: poly_nat,A: poly_nat,B: poly_nat] :
      ( ( A3
        = ( plus_plus_poly_nat @ K2 @ A ) )
     => ( ( plus_plus_poly_nat @ A3 @ B )
        = ( plus_plus_poly_nat @ K2 @ ( plus_plus_poly_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_129_group__cancel_Oadd1,axiom,
    ! [A3: formal_Power_fps_nat,K2: formal_Power_fps_nat,A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( A3
        = ( plus_p6043471806551771617ps_nat @ K2 @ A ) )
     => ( ( plus_p6043471806551771617ps_nat @ A3 @ B )
        = ( plus_p6043471806551771617ps_nat @ K2 @ ( plus_p6043471806551771617ps_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_130_group__cancel_Oadd1,axiom,
    ! [A3: nat,K2: nat,A: nat,B: nat] :
      ( ( A3
        = ( plus_plus_nat @ K2 @ A ) )
     => ( ( plus_plus_nat @ A3 @ B )
        = ( plus_plus_nat @ K2 @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_131_group__cancel_Oadd2,axiom,
    ! [B3: poly_F3299452240248304339ring_a,K2: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B3
        = ( plus_p7290290253215468682ring_a @ K2 @ B ) )
     => ( ( plus_p7290290253215468682ring_a @ A @ B3 )
        = ( plus_p7290290253215468682ring_a @ K2 @ ( plus_p7290290253215468682ring_a @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_132_group__cancel_Oadd2,axiom,
    ! [B3: finite_mod_ring_a,K2: finite_mod_ring_a,B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B3
        = ( plus_p6165643967897163644ring_a @ K2 @ B ) )
     => ( ( plus_p6165643967897163644ring_a @ A @ B3 )
        = ( plus_p6165643967897163644ring_a @ K2 @ ( plus_p6165643967897163644ring_a @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_133_group__cancel_Oadd2,axiom,
    ! [B3: poly_nat,K2: poly_nat,B: poly_nat,A: poly_nat] :
      ( ( B3
        = ( plus_plus_poly_nat @ K2 @ B ) )
     => ( ( plus_plus_poly_nat @ A @ B3 )
        = ( plus_plus_poly_nat @ K2 @ ( plus_plus_poly_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_134_group__cancel_Oadd2,axiom,
    ! [B3: formal_Power_fps_nat,K2: formal_Power_fps_nat,B: formal_Power_fps_nat,A: formal_Power_fps_nat] :
      ( ( B3
        = ( plus_p6043471806551771617ps_nat @ K2 @ B ) )
     => ( ( plus_p6043471806551771617ps_nat @ A @ B3 )
        = ( plus_p6043471806551771617ps_nat @ K2 @ ( plus_p6043471806551771617ps_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_135_group__cancel_Oadd2,axiom,
    ! [B3: nat,K2: nat,B: nat,A: nat] :
      ( ( B3
        = ( plus_plus_nat @ K2 @ B ) )
     => ( ( plus_plus_nat @ A @ B3 )
        = ( plus_plus_nat @ K2 @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_136_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ zero_z1830546546923837194ring_a @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_137_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ zero_z7902377541816115708ring_a @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_138_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: poly_nat] :
      ( ( plus_plus_poly_nat @ zero_zero_poly_nat @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_139_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ zero_z8531573698755551073ps_nat @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_140_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_141_add_Oassoc,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C )
      = ( plus_p7290290253215468682ring_a @ A @ ( plus_p7290290253215468682ring_a @ B @ C ) ) ) ).

% add.assoc
thf(fact_142_add_Oassoc,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ A @ ( plus_p6165643967897163644ring_a @ B @ C ) ) ) ).

% add.assoc
thf(fact_143_add_Oassoc,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( plus_plus_poly_nat @ ( plus_plus_poly_nat @ A @ B ) @ C )
      = ( plus_plus_poly_nat @ A @ ( plus_plus_poly_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_144_add_Oassoc,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ ( plus_p6043471806551771617ps_nat @ A @ B ) @ C )
      = ( plus_p6043471806551771617ps_nat @ A @ ( plus_p6043471806551771617ps_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_145_add_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_146_mem__Collect__eq,axiom,
    ! [A: nat,P2: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_147_mem__Collect__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,P2: poly_F3299452240248304339ring_a > $o] :
      ( ( member3677679344809550588ring_a @ A @ ( collec616791576872811838ring_a @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_148_mem__Collect__eq,axiom,
    ! [A: finite_mod_ring_a,P2: finite_mod_ring_a > $o] :
      ( ( member3034048621153491438ring_a @ A @ ( collec4943914941012508720ring_a @ P2 ) )
      = ( P2 @ A ) ) ).

% mem_Collect_eq
thf(fact_149_Collect__mem__eq,axiom,
    ! [A3: set_nat] :
      ( ( collect_nat
        @ ^ [X2: nat] : ( member_nat @ X2 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_150_Collect__mem__eq,axiom,
    ! [A3: set_po5729067318325380787ring_a] :
      ( ( collec616791576872811838ring_a
        @ ^ [X2: poly_F3299452240248304339ring_a] : ( member3677679344809550588ring_a @ X2 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_151_Collect__mem__eq,axiom,
    ! [A3: set_Fi2982333969990053029ring_a] :
      ( ( collec4943914941012508720ring_a
        @ ^ [X2: finite_mod_ring_a] : ( member3034048621153491438ring_a @ X2 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_152_add_Oleft__cancel,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ A @ B )
        = ( plus_p7290290253215468682ring_a @ A @ C ) )
      = ( B = C ) ) ).

% add.left_cancel
thf(fact_153_add_Oleft__cancel,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ A @ B )
        = ( plus_p6165643967897163644ring_a @ A @ C ) )
      = ( B = C ) ) ).

% add.left_cancel
thf(fact_154_add_Oright__cancel,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ B @ A )
        = ( plus_p7290290253215468682ring_a @ C @ A ) )
      = ( B = C ) ) ).

% add.right_cancel
thf(fact_155_add_Oright__cancel,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ B @ A )
        = ( plus_p6165643967897163644ring_a @ C @ A ) )
      = ( B = C ) ) ).

% add.right_cancel
thf(fact_156_add_Ocommute,axiom,
    ( plus_p7290290253215468682ring_a
    = ( ^ [A2: poly_F3299452240248304339ring_a,B2: poly_F3299452240248304339ring_a] : ( plus_p7290290253215468682ring_a @ B2 @ A2 ) ) ) ).

% add.commute
thf(fact_157_add_Ocommute,axiom,
    ( plus_p6165643967897163644ring_a
    = ( ^ [A2: finite_mod_ring_a,B2: finite_mod_ring_a] : ( plus_p6165643967897163644ring_a @ B2 @ A2 ) ) ) ).

% add.commute
thf(fact_158_add_Ocommute,axiom,
    ( plus_plus_poly_nat
    = ( ^ [A2: poly_nat,B2: poly_nat] : ( plus_plus_poly_nat @ B2 @ A2 ) ) ) ).

% add.commute
thf(fact_159_add_Ocommute,axiom,
    ( plus_p6043471806551771617ps_nat
    = ( ^ [A2: formal_Power_fps_nat,B2: formal_Power_fps_nat] : ( plus_p6043471806551771617ps_nat @ B2 @ A2 ) ) ) ).

% add.commute
thf(fact_160_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A2: nat,B2: nat] : ( plus_plus_nat @ B2 @ A2 ) ) ) ).

% add.commute
thf(fact_161_add_Ocomm__neutral,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ A @ zero_z1830546546923837194ring_a )
      = A ) ).

% add.comm_neutral
thf(fact_162_add_Ocomm__neutral,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ A @ zero_z7902377541816115708ring_a )
      = A ) ).

% add.comm_neutral
thf(fact_163_add_Ocomm__neutral,axiom,
    ! [A: poly_nat] :
      ( ( plus_plus_poly_nat @ A @ zero_zero_poly_nat )
      = A ) ).

% add.comm_neutral
thf(fact_164_add_Ocomm__neutral,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ A @ zero_z8531573698755551073ps_nat )
      = A ) ).

% add.comm_neutral
thf(fact_165_add_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% add.comm_neutral
thf(fact_166_add_Ogroup__left__neutral,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ zero_z1830546546923837194ring_a @ A )
      = A ) ).

% add.group_left_neutral
thf(fact_167_add_Ogroup__left__neutral,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ zero_z7902377541816115708ring_a @ A )
      = A ) ).

% add.group_left_neutral
thf(fact_168_add_Oleft__commute,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ B @ ( plus_p7290290253215468682ring_a @ A @ C ) )
      = ( plus_p7290290253215468682ring_a @ A @ ( plus_p7290290253215468682ring_a @ B @ C ) ) ) ).

% add.left_commute
thf(fact_169_add_Oleft__commute,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ B @ ( plus_p6165643967897163644ring_a @ A @ C ) )
      = ( plus_p6165643967897163644ring_a @ A @ ( plus_p6165643967897163644ring_a @ B @ C ) ) ) ).

% add.left_commute
thf(fact_170_add_Oleft__commute,axiom,
    ! [B: poly_nat,A: poly_nat,C: poly_nat] :
      ( ( plus_plus_poly_nat @ B @ ( plus_plus_poly_nat @ A @ C ) )
      = ( plus_plus_poly_nat @ A @ ( plus_plus_poly_nat @ B @ C ) ) ) ).

% add.left_commute
thf(fact_171_add_Oleft__commute,axiom,
    ! [B: formal_Power_fps_nat,A: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ B @ ( plus_p6043471806551771617ps_nat @ A @ C ) )
      = ( plus_p6043471806551771617ps_nat @ A @ ( plus_p6043471806551771617ps_nat @ B @ C ) ) ) ).

% add.left_commute
thf(fact_172_add_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( plus_plus_nat @ B @ ( plus_plus_nat @ A @ C ) )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.left_commute
thf(fact_173_add__left__imp__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ A @ B )
        = ( plus_p7290290253215468682ring_a @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_174_add__left__imp__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ A @ B )
        = ( plus_p6165643967897163644ring_a @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_175_add__left__imp__eq,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( ( plus_plus_poly_nat @ A @ B )
        = ( plus_plus_poly_nat @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_176_add__left__imp__eq,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( ( plus_p6043471806551771617ps_nat @ A @ B )
        = ( plus_p6043471806551771617ps_nat @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_177_add__left__imp__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_178_add__right__imp__eq,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ B @ A )
        = ( plus_p7290290253215468682ring_a @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_179_add__right__imp__eq,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ B @ A )
        = ( plus_p6165643967897163644ring_a @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_180_add__right__imp__eq,axiom,
    ! [B: poly_nat,A: poly_nat,C: poly_nat] :
      ( ( ( plus_plus_poly_nat @ B @ A )
        = ( plus_plus_poly_nat @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_181_add__right__imp__eq,axiom,
    ! [B: formal_Power_fps_nat,A: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( ( plus_p6043471806551771617ps_nat @ B @ A )
        = ( plus_p6043471806551771617ps_nat @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_182_add__right__imp__eq,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ( plus_plus_nat @ B @ A )
        = ( plus_plus_nat @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_183_zero__reorient,axiom,
    ! [X: poly_F3299452240248304339ring_a] :
      ( ( zero_z1830546546923837194ring_a = X )
      = ( X = zero_z1830546546923837194ring_a ) ) ).

% zero_reorient
thf(fact_184_zero__reorient,axiom,
    ! [X: finite_mod_ring_a] :
      ( ( zero_z7902377541816115708ring_a = X )
      = ( X = zero_z7902377541816115708ring_a ) ) ).

% zero_reorient
thf(fact_185_zero__reorient,axiom,
    ! [X: poly_nat] :
      ( ( zero_zero_poly_nat = X )
      = ( X = zero_zero_poly_nat ) ) ).

% zero_reorient
thf(fact_186_zero__reorient,axiom,
    ! [X: formal_Power_fps_nat] :
      ( ( zero_z8531573698755551073ps_nat = X )
      = ( X = zero_z8531573698755551073ps_nat ) ) ).

% zero_reorient
thf(fact_187_zero__reorient,axiom,
    ! [X: nat] :
      ( ( zero_zero_nat = X )
      = ( X = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_188_Kyber__spec_Ozero__qr__def,axiom,
    ( zero_zero_Kyber_qr_a
    = ( kyber_abs_qr_a @ zero_z1830546546923837194ring_a ) ) ).

% Kyber_spec.zero_qr_def
thf(fact_189_Kyber__spec_Oplus__qr_Oabs__eq,axiom,
    ! [Xa: poly_F3299452240248304339ring_a,X: poly_F3299452240248304339ring_a] :
      ( ( plus_plus_Kyber_qr_a @ ( kyber_abs_qr_a @ Xa ) @ ( kyber_abs_qr_a @ X ) )
      = ( kyber_abs_qr_a @ ( plus_p7290290253215468682ring_a @ Xa @ X ) ) ) ).

% Kyber_spec.plus_qr.abs_eq
thf(fact_190_qr_Oabs__induct,axiom,
    ! [P2: kyber_qr_a > $o,X: kyber_qr_a] :
      ( ! [Y2: poly_F3299452240248304339ring_a] : ( P2 @ ( kyber_abs_qr_a @ Y2 ) )
     => ( P2 @ X ) ) ).

% qr.abs_induct
thf(fact_191_cong__add__rcancel__0,axiom,
    ! [X: finite_mod_ring_a,A: finite_mod_ring_a,N: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ ( plus_p6165643967897163644ring_a @ X @ A ) @ A @ N )
      = ( unique9076693328225066129ring_a @ X @ zero_z7902377541816115708ring_a @ N ) ) ).

% cong_add_rcancel_0
thf(fact_192_cong__add__rcancel__0,axiom,
    ! [X: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,N: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( plus_p7290290253215468682ring_a @ X @ A ) @ A @ N )
      = ( unique1634774806376436639ring_a @ X @ zero_z1830546546923837194ring_a @ N ) ) ).

% cong_add_rcancel_0
thf(fact_193_cong__add__lcancel__0,axiom,
    ! [A: finite_mod_ring_a,X: finite_mod_ring_a,N: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ ( plus_p6165643967897163644ring_a @ A @ X ) @ A @ N )
      = ( unique9076693328225066129ring_a @ X @ zero_z7902377541816115708ring_a @ N ) ) ).

% cong_add_lcancel_0
thf(fact_194_cong__add__lcancel__0,axiom,
    ! [A: poly_F3299452240248304339ring_a,X: poly_F3299452240248304339ring_a,N: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( plus_p7290290253215468682ring_a @ A @ X ) @ A @ N )
      = ( unique1634774806376436639ring_a @ X @ zero_z1830546546923837194ring_a @ N ) ) ).

% cong_add_lcancel_0
thf(fact_195_cong__imp__coprime,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,M: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ A @ B @ M )
     => ( ( algebr2819680875720522014ring_a @ A @ M )
       => ( algebr2819680875720522014ring_a @ B @ M ) ) ) ).

% cong_imp_coprime
thf(fact_196_cong__imp__coprime,axiom,
    ! [A: nat,B: nat,M: nat] :
      ( ( unique653641344996303876ng_nat @ A @ B @ M )
     => ( ( algebr934650988132801477me_nat @ A @ M )
       => ( algebr934650988132801477me_nat @ B @ M ) ) ) ).

% cong_imp_coprime
thf(fact_197_cong__def,axiom,
    ( unique1634774806376436639ring_a
    = ( ^ [B2: poly_F3299452240248304339ring_a,C2: poly_F3299452240248304339ring_a,A2: poly_F3299452240248304339ring_a] :
          ( ( modulo2591651872109920577ring_a @ B2 @ A2 )
          = ( modulo2591651872109920577ring_a @ C2 @ A2 ) ) ) ) ).

% cong_def
thf(fact_198_cong__def,axiom,
    ( unique653641344996303876ng_nat
    = ( ^ [B2: nat,C2: nat,A2: nat] :
          ( ( modulo_modulo_nat @ B2 @ A2 )
          = ( modulo_modulo_nat @ C2 @ A2 ) ) ) ) ).

% cong_def
thf(fact_199_cong__add,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a,D: finite_mod_ring_a,E: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ B @ C @ A )
     => ( ( unique9076693328225066129ring_a @ D @ E @ A )
       => ( unique9076693328225066129ring_a @ ( plus_p6165643967897163644ring_a @ B @ D ) @ ( plus_p6165643967897163644ring_a @ C @ E ) @ A ) ) ) ).

% cong_add
thf(fact_200_cong__add,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a,E: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ A )
     => ( ( unique1634774806376436639ring_a @ D @ E @ A )
       => ( unique1634774806376436639ring_a @ ( plus_p7290290253215468682ring_a @ B @ D ) @ ( plus_p7290290253215468682ring_a @ C @ E ) @ A ) ) ) ).

% cong_add
thf(fact_201_cong__add,axiom,
    ! [B: nat,C: nat,A: nat,D: nat,E: nat] :
      ( ( unique653641344996303876ng_nat @ B @ C @ A )
     => ( ( unique653641344996303876ng_nat @ D @ E @ A )
       => ( unique653641344996303876ng_nat @ ( plus_plus_nat @ B @ D ) @ ( plus_plus_nat @ C @ E ) @ A ) ) ) ).

% cong_add
thf(fact_202_cong__add__lcancel,axiom,
    ! [A: finite_mod_ring_a,X: finite_mod_ring_a,Y: finite_mod_ring_a,N: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ ( plus_p6165643967897163644ring_a @ A @ X ) @ ( plus_p6165643967897163644ring_a @ A @ Y ) @ N )
      = ( unique9076693328225066129ring_a @ X @ Y @ N ) ) ).

% cong_add_lcancel
thf(fact_203_cong__add__lcancel,axiom,
    ! [A: poly_F3299452240248304339ring_a,X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,N: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( plus_p7290290253215468682ring_a @ A @ X ) @ ( plus_p7290290253215468682ring_a @ A @ Y ) @ N )
      = ( unique1634774806376436639ring_a @ X @ Y @ N ) ) ).

% cong_add_lcancel
thf(fact_204_cong__add__rcancel,axiom,
    ! [X: finite_mod_ring_a,A: finite_mod_ring_a,Y: finite_mod_ring_a,N: finite_mod_ring_a] :
      ( ( unique9076693328225066129ring_a @ ( plus_p6165643967897163644ring_a @ X @ A ) @ ( plus_p6165643967897163644ring_a @ Y @ A ) @ N )
      = ( unique9076693328225066129ring_a @ X @ Y @ N ) ) ).

% cong_add_rcancel
thf(fact_205_cong__add__rcancel,axiom,
    ! [X: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,N: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( plus_p7290290253215468682ring_a @ X @ A ) @ ( plus_p7290290253215468682ring_a @ Y @ A ) @ N )
      = ( unique1634774806376436639ring_a @ X @ Y @ N ) ) ).

% cong_add_rcancel
thf(fact_206_Kyber__spec_Ozero__qr_Orsp,axiom,
    kyber_qr_rel_a @ zero_z1830546546923837194ring_a @ zero_z1830546546923837194ring_a ).

% Kyber_spec.zero_qr.rsp
thf(fact_207_coprime__mod__right__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( algebr1057500623109291024ring_a @ A @ ( modulo8308552932176287283ring_a @ B @ A ) )
        = ( algebr1057500623109291024ring_a @ A @ B ) ) ) ).

% coprime_mod_right_iff
thf(fact_208_coprime__mod__right__iff,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( A != zero_z1830546546923837194ring_a )
     => ( ( algebr2819680875720522014ring_a @ A @ ( modulo2591651872109920577ring_a @ B @ A ) )
        = ( algebr2819680875720522014ring_a @ A @ B ) ) ) ).

% coprime_mod_right_iff
thf(fact_209_coprime__mod__right__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( A != zero_zero_nat )
     => ( ( algebr934650988132801477me_nat @ A @ ( modulo_modulo_nat @ B @ A ) )
        = ( algebr934650988132801477me_nat @ A @ B ) ) ) ).

% coprime_mod_right_iff
thf(fact_210_coprime__mod__left__iff,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( algebr1057500623109291024ring_a @ ( modulo8308552932176287283ring_a @ A @ B ) @ B )
        = ( algebr1057500623109291024ring_a @ A @ B ) ) ) ).

% coprime_mod_left_iff
thf(fact_211_coprime__mod__left__iff,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( algebr2819680875720522014ring_a @ ( modulo2591651872109920577ring_a @ A @ B ) @ B )
        = ( algebr2819680875720522014ring_a @ A @ B ) ) ) ).

% coprime_mod_left_iff
thf(fact_212_coprime__mod__left__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( algebr934650988132801477me_nat @ ( modulo_modulo_nat @ A @ B ) @ B )
        = ( algebr934650988132801477me_nat @ A @ B ) ) ) ).

% coprime_mod_left_iff
thf(fact_213_mod__mult__self1,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ ( times_5121417576591743744ring_a @ C @ B ) ) @ B )
      = ( modulo8308552932176287283ring_a @ A @ B ) ) ).

% mod_mult_self1
thf(fact_214_mod__mult__self1,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ ( times_3242606764180207630ring_a @ C @ B ) ) @ B )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% mod_mult_self1
thf(fact_215_mod__mult__self1,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ A @ ( times_times_nat @ C @ B ) ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_mult_self1
thf(fact_216_mod__mult__self2,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ ( times_5121417576591743744ring_a @ B @ C ) ) @ B )
      = ( modulo8308552932176287283ring_a @ A @ B ) ) ).

% mod_mult_self2
thf(fact_217_mod__mult__self2,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ ( times_3242606764180207630ring_a @ B @ C ) ) @ B )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% mod_mult_self2
thf(fact_218_mod__mult__self2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ A @ ( times_times_nat @ B @ C ) ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_mult_self2
thf(fact_219_mod__mult__self3,axiom,
    ! [C: finite_mod_ring_a,B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ C @ B ) @ A ) @ B )
      = ( modulo8308552932176287283ring_a @ A @ B ) ) ).

% mod_mult_self3
thf(fact_220_mod__mult__self3,axiom,
    ! [C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ C @ B ) @ A ) @ B )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% mod_mult_self3
thf(fact_221_mod__mult__self3,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ ( times_times_nat @ C @ B ) @ A ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_mult_self3
thf(fact_222_mod__mult__self4,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ B @ C ) @ A ) @ B )
      = ( modulo8308552932176287283ring_a @ A @ B ) ) ).

% mod_mult_self4
thf(fact_223_mod__mult__self4,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ B @ C ) @ A ) @ B )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% mod_mult_self4
thf(fact_224_mod__mult__self4,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ ( times_times_nat @ B @ C ) @ A ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_mult_self4
thf(fact_225_mod__mult__self1__is__0,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ B @ A ) @ B )
      = zero_z7902377541816115708ring_a ) ).

% mod_mult_self1_is_0
thf(fact_226_mod__mult__self1__is__0,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ B @ A ) @ B )
      = zero_z1830546546923837194ring_a ) ).

% mod_mult_self1_is_0
thf(fact_227_mod__mult__self1__is__0,axiom,
    ! [B: nat,A: nat] :
      ( ( modulo_modulo_nat @ ( times_times_nat @ B @ A ) @ B )
      = zero_zero_nat ) ).

% mod_mult_self1_is_0
thf(fact_228_mod__mult__self2__is__0,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ B )
      = zero_z7902377541816115708ring_a ) ).

% mod_mult_self2_is_0
thf(fact_229_mod__mult__self2__is__0,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ B )
      = zero_z1830546546923837194ring_a ) ).

% mod_mult_self2_is_0
thf(fact_230_mod__mult__self2__is__0,axiom,
    ! [A: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( times_times_nat @ A @ B ) @ B )
      = zero_zero_nat ) ).

% mod_mult_self2_is_0
thf(fact_231_coprime__mult__left__iff,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( algebr945414266375912748ring_a @ ( times_7678616233722469404ring_a @ A @ B ) @ C )
      = ( ( algebr945414266375912748ring_a @ A @ C )
        & ( algebr945414266375912748ring_a @ B @ C ) ) ) ).

% coprime_mult_left_iff
thf(fact_232_coprime__mult__left__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( algebr1057500623109291024ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C )
      = ( ( algebr1057500623109291024ring_a @ A @ C )
        & ( algebr1057500623109291024ring_a @ B @ C ) ) ) ).

% coprime_mult_left_iff
thf(fact_233_coprime__mult__left__iff,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( algebr2819680875720522014ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C )
      = ( ( algebr2819680875720522014ring_a @ A @ C )
        & ( algebr2819680875720522014ring_a @ B @ C ) ) ) ).

% coprime_mult_left_iff
thf(fact_234_coprime__mult__left__iff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( algebr934650988132801477me_nat @ ( times_times_nat @ A @ B ) @ C )
      = ( ( algebr934650988132801477me_nat @ A @ C )
        & ( algebr934650988132801477me_nat @ B @ C ) ) ) ).

% coprime_mult_left_iff
thf(fact_235_coprime__mult__right__iff,axiom,
    ! [C: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( algebr945414266375912748ring_a @ C @ ( times_7678616233722469404ring_a @ A @ B ) )
      = ( ( algebr945414266375912748ring_a @ C @ A )
        & ( algebr945414266375912748ring_a @ C @ B ) ) ) ).

% coprime_mult_right_iff
thf(fact_236_coprime__mult__right__iff,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( algebr1057500623109291024ring_a @ C @ ( times_5121417576591743744ring_a @ A @ B ) )
      = ( ( algebr1057500623109291024ring_a @ C @ A )
        & ( algebr1057500623109291024ring_a @ C @ B ) ) ) ).

% coprime_mult_right_iff
thf(fact_237_coprime__mult__right__iff,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( algebr2819680875720522014ring_a @ C @ ( times_3242606764180207630ring_a @ A @ B ) )
      = ( ( algebr2819680875720522014ring_a @ C @ A )
        & ( algebr2819680875720522014ring_a @ C @ B ) ) ) ).

% coprime_mult_right_iff
thf(fact_238_coprime__mult__right__iff,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( algebr934650988132801477me_nat @ C @ ( times_times_nat @ A @ B ) )
      = ( ( algebr934650988132801477me_nat @ C @ A )
        & ( algebr934650988132801477me_nat @ C @ B ) ) ) ).

% coprime_mult_right_iff
thf(fact_239_mod__mod__trivial,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( modulo2591651872109920577ring_a @ A @ B ) @ B )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% mod_mod_trivial
thf(fact_240_mod__mod__trivial,axiom,
    ! [A: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( modulo_modulo_nat @ A @ B ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_mod_trivial
thf(fact_241_mod__add__self1,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ B @ A ) @ B )
      = ( modulo8308552932176287283ring_a @ A @ B ) ) ).

% mod_add_self1
thf(fact_242_mod__add__self1,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ B @ A ) @ B )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% mod_add_self1
thf(fact_243_mod__add__self1,axiom,
    ! [B: nat,A: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_add_self1
thf(fact_244_mod__add__self2,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ B )
      = ( modulo8308552932176287283ring_a @ A @ B ) ) ).

% mod_add_self2
thf(fact_245_mod__add__self2,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ B )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% mod_add_self2
thf(fact_246_mod__add__self2,axiom,
    ! [A: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_add_self2
thf(fact_247_mod__mult__right__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C )
      = ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C ) ) ).

% mod_mult_right_eq
thf(fact_248_mod__mult__right__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ ( modulo2591651872109920577ring_a @ B @ C ) ) @ C )
      = ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C ) ) ).

% mod_mult_right_eq
thf(fact_249_mod__mult__right__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( modulo_modulo_nat @ ( times_times_nat @ A @ ( modulo_modulo_nat @ B @ C ) ) @ C )
      = ( modulo_modulo_nat @ ( times_times_nat @ A @ B ) @ C ) ) ).

% mod_mult_right_eq
thf(fact_250_mod__mult__left__eq,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ ( modulo8308552932176287283ring_a @ A @ C ) @ B ) @ C )
      = ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C ) ) ).

% mod_mult_left_eq
thf(fact_251_mod__mult__left__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ ( modulo2591651872109920577ring_a @ A @ C ) @ B ) @ C )
      = ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C ) ) ).

% mod_mult_left_eq
thf(fact_252_mod__mult__left__eq,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( times_times_nat @ ( modulo_modulo_nat @ A @ C ) @ B ) @ C )
      = ( modulo_modulo_nat @ ( times_times_nat @ A @ B ) @ C ) ) ).

% mod_mult_left_eq
thf(fact_253_mult__mod__right,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ C @ ( modulo8308552932176287283ring_a @ A @ B ) )
      = ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ C @ B ) ) ) ).

% mult_mod_right
thf(fact_254_mult__mod__right,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ C @ ( modulo2591651872109920577ring_a @ A @ B ) )
      = ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ C @ A ) @ ( times_3242606764180207630ring_a @ C @ B ) ) ) ).

% mult_mod_right
thf(fact_255_mult__mod__right,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( times_times_nat @ C @ ( modulo_modulo_nat @ A @ B ) )
      = ( modulo_modulo_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) ) ) ).

% mult_mod_right
thf(fact_256_mod__mult__mult2,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ B @ C ) )
      = ( times_5121417576591743744ring_a @ ( modulo8308552932176287283ring_a @ A @ B ) @ C ) ) ).

% mod_mult_mult2
thf(fact_257_mod__mult__mult2,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ C ) @ ( times_3242606764180207630ring_a @ B @ C ) )
      = ( times_3242606764180207630ring_a @ ( modulo2591651872109920577ring_a @ A @ B ) @ C ) ) ).

% mod_mult_mult2
thf(fact_258_mod__mult__mult2,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) )
      = ( times_times_nat @ ( modulo_modulo_nat @ A @ B ) @ C ) ) ).

% mod_mult_mult2
thf(fact_259_mod__mult__cong,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,A4: finite_mod_ring_a,B: finite_mod_ring_a,B4: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ A @ C )
        = ( modulo8308552932176287283ring_a @ A4 @ C ) )
     => ( ( ( modulo8308552932176287283ring_a @ B @ C )
          = ( modulo8308552932176287283ring_a @ B4 @ C ) )
       => ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C )
          = ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A4 @ B4 ) @ C ) ) ) ) ).

% mod_mult_cong
thf(fact_260_mod__mult__cong,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A4: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,B4: poly_F3299452240248304339ring_a] :
      ( ( ( modulo2591651872109920577ring_a @ A @ C )
        = ( modulo2591651872109920577ring_a @ A4 @ C ) )
     => ( ( ( modulo2591651872109920577ring_a @ B @ C )
          = ( modulo2591651872109920577ring_a @ B4 @ C ) )
       => ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C )
          = ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A4 @ B4 ) @ C ) ) ) ) ).

% mod_mult_cong
thf(fact_261_mod__mult__cong,axiom,
    ! [A: nat,C: nat,A4: nat,B: nat,B4: nat] :
      ( ( ( modulo_modulo_nat @ A @ C )
        = ( modulo_modulo_nat @ A4 @ C ) )
     => ( ( ( modulo_modulo_nat @ B @ C )
          = ( modulo_modulo_nat @ B4 @ C ) )
       => ( ( modulo_modulo_nat @ ( times_times_nat @ A @ B ) @ C )
          = ( modulo_modulo_nat @ ( times_times_nat @ A4 @ B4 ) @ C ) ) ) ) ).

% mod_mult_cong
thf(fact_262_mod__mult__eq,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ ( modulo8308552932176287283ring_a @ A @ C ) @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C )
      = ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C ) ) ).

% mod_mult_eq
thf(fact_263_mod__mult__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ ( modulo2591651872109920577ring_a @ A @ C ) @ ( modulo2591651872109920577ring_a @ B @ C ) ) @ C )
      = ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C ) ) ).

% mod_mult_eq
thf(fact_264_mod__mult__eq,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( times_times_nat @ ( modulo_modulo_nat @ A @ C ) @ ( modulo_modulo_nat @ B @ C ) ) @ C )
      = ( modulo_modulo_nat @ ( times_times_nat @ A @ B ) @ C ) ) ).

% mod_mult_eq
thf(fact_265_mod__add__eq,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ ( modulo8308552932176287283ring_a @ A @ C ) @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C )
      = ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C ) ) ).

% mod_add_eq
thf(fact_266_mod__add__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ ( modulo2591651872109920577ring_a @ A @ C ) @ ( modulo2591651872109920577ring_a @ B @ C ) ) @ C )
      = ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C ) ) ).

% mod_add_eq
thf(fact_267_mod__add__eq,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ ( modulo_modulo_nat @ A @ C ) @ ( modulo_modulo_nat @ B @ C ) ) @ C )
      = ( modulo_modulo_nat @ ( plus_plus_nat @ A @ B ) @ C ) ) ).

% mod_add_eq
thf(fact_268_mod__add__cong,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,A4: finite_mod_ring_a,B: finite_mod_ring_a,B4: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ A @ C )
        = ( modulo8308552932176287283ring_a @ A4 @ C ) )
     => ( ( ( modulo8308552932176287283ring_a @ B @ C )
          = ( modulo8308552932176287283ring_a @ B4 @ C ) )
       => ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
          = ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A4 @ B4 ) @ C ) ) ) ) ).

% mod_add_cong
thf(fact_269_mod__add__cong,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A4: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,B4: poly_F3299452240248304339ring_a] :
      ( ( ( modulo2591651872109920577ring_a @ A @ C )
        = ( modulo2591651872109920577ring_a @ A4 @ C ) )
     => ( ( ( modulo2591651872109920577ring_a @ B @ C )
          = ( modulo2591651872109920577ring_a @ B4 @ C ) )
       => ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C )
          = ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A4 @ B4 ) @ C ) ) ) ) ).

% mod_add_cong
thf(fact_270_mod__add__cong,axiom,
    ! [A: nat,C: nat,A4: nat,B: nat,B4: nat] :
      ( ( ( modulo_modulo_nat @ A @ C )
        = ( modulo_modulo_nat @ A4 @ C ) )
     => ( ( ( modulo_modulo_nat @ B @ C )
          = ( modulo_modulo_nat @ B4 @ C ) )
       => ( ( modulo_modulo_nat @ ( plus_plus_nat @ A @ B ) @ C )
          = ( modulo_modulo_nat @ ( plus_plus_nat @ A4 @ B4 ) @ C ) ) ) ) ).

% mod_add_cong
thf(fact_271_mod__add__left__eq,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ ( modulo8308552932176287283ring_a @ A @ C ) @ B ) @ C )
      = ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C ) ) ).

% mod_add_left_eq
thf(fact_272_mod__add__left__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ ( modulo2591651872109920577ring_a @ A @ C ) @ B ) @ C )
      = ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C ) ) ).

% mod_add_left_eq
thf(fact_273_mod__add__left__eq,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ ( modulo_modulo_nat @ A @ C ) @ B ) @ C )
      = ( modulo_modulo_nat @ ( plus_plus_nat @ A @ B ) @ C ) ) ).

% mod_add_left_eq
thf(fact_274_mod__add__right__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C )
      = ( modulo8308552932176287283ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C ) ) ).

% mod_add_right_eq
thf(fact_275_mod__add__right__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ ( modulo2591651872109920577ring_a @ B @ C ) ) @ C )
      = ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C ) ) ).

% mod_add_right_eq
thf(fact_276_mod__add__right__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ A @ ( modulo_modulo_nat @ B @ C ) ) @ C )
      = ( modulo_modulo_nat @ ( plus_plus_nat @ A @ B ) @ C ) ) ).

% mod_add_right_eq
thf(fact_277_mod__eqE,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ A @ C )
        = ( modulo8308552932176287283ring_a @ B @ C ) )
     => ~ ! [D2: finite_mod_ring_a] :
            ( B
           != ( plus_p6165643967897163644ring_a @ A @ ( times_5121417576591743744ring_a @ C @ D2 ) ) ) ) ).

% mod_eqE
thf(fact_278_mod__eqE,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( modulo2591651872109920577ring_a @ A @ C )
        = ( modulo2591651872109920577ring_a @ B @ C ) )
     => ~ ! [D2: poly_F3299452240248304339ring_a] :
            ( B
           != ( plus_p7290290253215468682ring_a @ A @ ( times_3242606764180207630ring_a @ C @ D2 ) ) ) ) ).

% mod_eqE
thf(fact_279_mult__mod__cancel__right,axiom,
    ! [A: finite_mod_ring_a,N: finite_mod_ring_a,M: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ N ) @ M )
        = ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ B @ N ) @ M ) )
     => ( ( algebr1057500623109291024ring_a @ M @ N )
       => ( ( modulo8308552932176287283ring_a @ A @ M )
          = ( modulo8308552932176287283ring_a @ B @ M ) ) ) ) ).

% mult_mod_cancel_right
thf(fact_280_mult__mod__cancel__right,axiom,
    ! [A: poly_F3299452240248304339ring_a,N: poly_F3299452240248304339ring_a,M: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ N ) @ M )
        = ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ B @ N ) @ M ) )
     => ( ( algebr2819680875720522014ring_a @ M @ N )
       => ( ( modulo2591651872109920577ring_a @ A @ M )
          = ( modulo2591651872109920577ring_a @ B @ M ) ) ) ) ).

% mult_mod_cancel_right
thf(fact_281_mult__mod__cancel__left,axiom,
    ! [N: finite_mod_ring_a,A: finite_mod_ring_a,M: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ N @ A ) @ M )
        = ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ N @ B ) @ M ) )
     => ( ( algebr1057500623109291024ring_a @ M @ N )
       => ( ( modulo8308552932176287283ring_a @ A @ M )
          = ( modulo8308552932176287283ring_a @ B @ M ) ) ) ) ).

% mult_mod_cancel_left
thf(fact_282_mult__mod__cancel__left,axiom,
    ! [N: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,M: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ N @ A ) @ M )
        = ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ N @ B ) @ M ) )
     => ( ( algebr2819680875720522014ring_a @ M @ N )
       => ( ( modulo2591651872109920577ring_a @ A @ M )
          = ( modulo2591651872109920577ring_a @ B @ M ) ) ) ) ).

% mult_mod_cancel_left
thf(fact_283_mod__0,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ zero_z7902377541816115708ring_a @ A )
      = zero_z7902377541816115708ring_a ) ).

% mod_0
thf(fact_284_mod__0,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ zero_z1830546546923837194ring_a @ A )
      = zero_z1830546546923837194ring_a ) ).

% mod_0
thf(fact_285_mod__0,axiom,
    ! [A: nat] :
      ( ( modulo_modulo_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% mod_0
thf(fact_286_mod__by__0,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ A @ zero_z7902377541816115708ring_a )
      = A ) ).

% mod_by_0
thf(fact_287_mod__by__0,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ A @ zero_z1830546546923837194ring_a )
      = A ) ).

% mod_by_0
thf(fact_288_mod__by__0,axiom,
    ! [A: nat] :
      ( ( modulo_modulo_nat @ A @ zero_zero_nat )
      = A ) ).

% mod_by_0
thf(fact_289_mod__self,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ A @ A )
      = zero_z7902377541816115708ring_a ) ).

% mod_self
thf(fact_290_mod__self,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ A @ A )
      = zero_z1830546546923837194ring_a ) ).

% mod_self
thf(fact_291_mod__self,axiom,
    ! [A: nat] :
      ( ( modulo_modulo_nat @ A @ A )
      = zero_zero_nat ) ).

% mod_self
thf(fact_292_bits__mod__0,axiom,
    ! [A: nat] :
      ( ( modulo_modulo_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% bits_mod_0
thf(fact_293_mult__cancel__right,axiom,
    ! [A: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( ( times_7678616233722469404ring_a @ A @ C )
        = ( times_7678616233722469404ring_a @ B @ C ) )
      = ( ( C = zero_z1364739659462972184ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_294_mult__cancel__right,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ A @ C )
        = ( times_5121417576591743744ring_a @ B @ C ) )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_295_mult__cancel__right,axiom,
    ! [A: formal_Power_fps_nat,C: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( ( times_7269705568686124893ps_nat @ A @ C )
        = ( times_7269705568686124893ps_nat @ B @ C ) )
      = ( ( C = zero_z8531573698755551073ps_nat )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_296_mult__cancel__right,axiom,
    ! [A: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( ( times_6867330870908917660ring_a @ A @ C )
        = ( times_6867330870908917660ring_a @ B @ C ) )
      = ( ( C = zero_z678313208903408792ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_297_mult__cancel__right,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( times_3242606764180207630ring_a @ A @ C )
        = ( times_3242606764180207630ring_a @ B @ C ) )
      = ( ( C = zero_z1830546546923837194ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_right
thf(fact_298_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_299_mult__cancel__left,axiom,
    ! [C: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( ( times_7678616233722469404ring_a @ C @ A )
        = ( times_7678616233722469404ring_a @ C @ B ) )
      = ( ( C = zero_z1364739659462972184ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_300_mult__cancel__left,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ C @ A )
        = ( times_5121417576591743744ring_a @ C @ B ) )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_301_mult__cancel__left,axiom,
    ! [C: formal_Power_fps_nat,A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( ( times_7269705568686124893ps_nat @ C @ A )
        = ( times_7269705568686124893ps_nat @ C @ B ) )
      = ( ( C = zero_z8531573698755551073ps_nat )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_302_mult__cancel__left,axiom,
    ! [C: formal8450108040061743841ring_a,A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( ( times_6867330870908917660ring_a @ C @ A )
        = ( times_6867330870908917660ring_a @ C @ B ) )
      = ( ( C = zero_z678313208903408792ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_303_mult__cancel__left,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( times_3242606764180207630ring_a @ C @ A )
        = ( times_3242606764180207630ring_a @ C @ B ) )
      = ( ( C = zero_z1830546546923837194ring_a )
        | ( A = B ) ) ) ).

% mult_cancel_left
thf(fact_304_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_305_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_306_mult__eq__0__iff,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( ( times_7678616233722469404ring_a @ A @ B )
        = zero_z1364739659462972184ring_a )
      = ( ( A = zero_z1364739659462972184ring_a )
        | ( B = zero_z1364739659462972184ring_a ) ) ) ).

% mult_eq_0_iff
thf(fact_307_mult__eq__0__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ A @ B )
        = zero_z7902377541816115708ring_a )
      = ( ( A = zero_z7902377541816115708ring_a )
        | ( B = zero_z7902377541816115708ring_a ) ) ) ).

% mult_eq_0_iff
thf(fact_308_mult__eq__0__iff,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( ( times_7269705568686124893ps_nat @ A @ B )
        = zero_z8531573698755551073ps_nat )
      = ( ( A = zero_z8531573698755551073ps_nat )
        | ( B = zero_z8531573698755551073ps_nat ) ) ) ).

% mult_eq_0_iff
thf(fact_309_mult__eq__0__iff,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( ( times_6867330870908917660ring_a @ A @ B )
        = zero_z678313208903408792ring_a )
      = ( ( A = zero_z678313208903408792ring_a )
        | ( B = zero_z678313208903408792ring_a ) ) ) ).

% mult_eq_0_iff
thf(fact_310_mult__eq__0__iff,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( times_3242606764180207630ring_a @ A @ B )
        = zero_z1830546546923837194ring_a )
      = ( ( A = zero_z1830546546923837194ring_a )
        | ( B = zero_z1830546546923837194ring_a ) ) ) ).

% mult_eq_0_iff
thf(fact_311_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_312_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_313_mult__zero__right,axiom,
    ! [A: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ A @ zero_z1364739659462972184ring_a )
      = zero_z1364739659462972184ring_a ) ).

% mult_zero_right
thf(fact_314_mult__zero__right,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ A @ zero_z7902377541816115708ring_a )
      = zero_z7902377541816115708ring_a ) ).

% mult_zero_right
thf(fact_315_mult__zero__right,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ A @ zero_z8531573698755551073ps_nat )
      = zero_z8531573698755551073ps_nat ) ).

% mult_zero_right
thf(fact_316_mult__zero__right,axiom,
    ! [A: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ A @ zero_z678313208903408792ring_a )
      = zero_z678313208903408792ring_a ) ).

% mult_zero_right
thf(fact_317_mult__zero__right,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ A @ zero_z1830546546923837194ring_a )
      = zero_z1830546546923837194ring_a ) ).

% mult_zero_right
thf(fact_318_mult__zero__right,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_zero_right
thf(fact_319_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_320_mult__zero__left,axiom,
    ! [A: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ zero_z1364739659462972184ring_a @ A )
      = zero_z1364739659462972184ring_a ) ).

% mult_zero_left
thf(fact_321_mult__zero__left,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ zero_z7902377541816115708ring_a @ A )
      = zero_z7902377541816115708ring_a ) ).

% mult_zero_left
thf(fact_322_mult__zero__left,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ zero_z8531573698755551073ps_nat @ A )
      = zero_z8531573698755551073ps_nat ) ).

% mult_zero_left
thf(fact_323_mult__zero__left,axiom,
    ! [A: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ zero_z678313208903408792ring_a @ A )
      = zero_z678313208903408792ring_a ) ).

% mult_zero_left
thf(fact_324_mult__zero__left,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ zero_z1830546546923837194ring_a @ A )
      = zero_z1830546546923837194ring_a ) ).

% mult_zero_left
thf(fact_325_mult__zero__left,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% mult_zero_left
thf(fact_326_algebraic__semidom__class_Ocoprime__commute,axiom,
    ( algebr2819680875720522014ring_a
    = ( ^ [B2: poly_F3299452240248304339ring_a,A2: poly_F3299452240248304339ring_a] : ( algebr2819680875720522014ring_a @ A2 @ B2 ) ) ) ).

% algebraic_semidom_class.coprime_commute
thf(fact_327_algebraic__semidom__class_Ocoprime__commute,axiom,
    ( algebr934650988132801477me_nat
    = ( ^ [B2: nat,A2: nat] : ( algebr934650988132801477me_nat @ A2 @ B2 ) ) ) ).

% algebraic_semidom_class.coprime_commute
thf(fact_328_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_329_mult__not__zero,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( ( times_7678616233722469404ring_a @ A @ B )
       != zero_z1364739659462972184ring_a )
     => ( ( A != zero_z1364739659462972184ring_a )
        & ( B != zero_z1364739659462972184ring_a ) ) ) ).

% mult_not_zero
thf(fact_330_mult__not__zero,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ A @ B )
       != zero_z7902377541816115708ring_a )
     => ( ( A != zero_z7902377541816115708ring_a )
        & ( B != zero_z7902377541816115708ring_a ) ) ) ).

% mult_not_zero
thf(fact_331_mult__not__zero,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( ( times_7269705568686124893ps_nat @ A @ B )
       != zero_z8531573698755551073ps_nat )
     => ( ( A != zero_z8531573698755551073ps_nat )
        & ( B != zero_z8531573698755551073ps_nat ) ) ) ).

% mult_not_zero
thf(fact_332_mult__not__zero,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( ( times_6867330870908917660ring_a @ A @ B )
       != zero_z678313208903408792ring_a )
     => ( ( A != zero_z678313208903408792ring_a )
        & ( B != zero_z678313208903408792ring_a ) ) ) ).

% mult_not_zero
thf(fact_333_mult__not__zero,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( times_3242606764180207630ring_a @ A @ B )
       != zero_z1830546546923837194ring_a )
     => ( ( A != zero_z1830546546923837194ring_a )
        & ( B != zero_z1830546546923837194ring_a ) ) ) ).

% mult_not_zero
thf(fact_334_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_335_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_336_divisors__zero,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( ( times_7678616233722469404ring_a @ A @ B )
        = zero_z1364739659462972184ring_a )
     => ( ( A = zero_z1364739659462972184ring_a )
        | ( B = zero_z1364739659462972184ring_a ) ) ) ).

% divisors_zero
thf(fact_337_divisors__zero,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ A @ B )
        = zero_z7902377541816115708ring_a )
     => ( ( A = zero_z7902377541816115708ring_a )
        | ( B = zero_z7902377541816115708ring_a ) ) ) ).

% divisors_zero
thf(fact_338_divisors__zero,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( ( times_7269705568686124893ps_nat @ A @ B )
        = zero_z8531573698755551073ps_nat )
     => ( ( A = zero_z8531573698755551073ps_nat )
        | ( B = zero_z8531573698755551073ps_nat ) ) ) ).

% divisors_zero
thf(fact_339_divisors__zero,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( ( times_6867330870908917660ring_a @ A @ B )
        = zero_z678313208903408792ring_a )
     => ( ( A = zero_z678313208903408792ring_a )
        | ( B = zero_z678313208903408792ring_a ) ) ) ).

% divisors_zero
thf(fact_340_divisors__zero,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( times_3242606764180207630ring_a @ A @ B )
        = zero_z1830546546923837194ring_a )
     => ( ( A = zero_z1830546546923837194ring_a )
        | ( B = zero_z1830546546923837194ring_a ) ) ) ).

% divisors_zero
thf(fact_341_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_342_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_343_no__zero__divisors,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( A != zero_z1364739659462972184ring_a )
     => ( ( B != zero_z1364739659462972184ring_a )
       => ( ( times_7678616233722469404ring_a @ A @ B )
         != zero_z1364739659462972184ring_a ) ) ) ).

% no_zero_divisors
thf(fact_344_no__zero__divisors,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( B != zero_z7902377541816115708ring_a )
       => ( ( times_5121417576591743744ring_a @ A @ B )
         != zero_z7902377541816115708ring_a ) ) ) ).

% no_zero_divisors
thf(fact_345_no__zero__divisors,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( A != zero_z8531573698755551073ps_nat )
     => ( ( B != zero_z8531573698755551073ps_nat )
       => ( ( times_7269705568686124893ps_nat @ A @ B )
         != zero_z8531573698755551073ps_nat ) ) ) ).

% no_zero_divisors
thf(fact_346_no__zero__divisors,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( A != zero_z678313208903408792ring_a )
     => ( ( B != zero_z678313208903408792ring_a )
       => ( ( times_6867330870908917660ring_a @ A @ B )
         != zero_z678313208903408792ring_a ) ) ) ).

% no_zero_divisors
thf(fact_347_no__zero__divisors,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( A != zero_z1830546546923837194ring_a )
     => ( ( B != zero_z1830546546923837194ring_a )
       => ( ( times_3242606764180207630ring_a @ A @ B )
         != zero_z1830546546923837194ring_a ) ) ) ).

% no_zero_divisors
thf(fact_348_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_349_mult__left__cancel,axiom,
    ! [C: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( C != zero_z1364739659462972184ring_a )
     => ( ( ( times_7678616233722469404ring_a @ C @ A )
          = ( times_7678616233722469404ring_a @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_350_mult__left__cancel,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( ( times_5121417576591743744ring_a @ C @ A )
          = ( times_5121417576591743744ring_a @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_351_mult__left__cancel,axiom,
    ! [C: formal_Power_fps_nat,A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( C != zero_z8531573698755551073ps_nat )
     => ( ( ( times_7269705568686124893ps_nat @ C @ A )
          = ( times_7269705568686124893ps_nat @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_352_mult__left__cancel,axiom,
    ! [C: formal8450108040061743841ring_a,A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( C != zero_z678313208903408792ring_a )
     => ( ( ( times_6867330870908917660ring_a @ C @ A )
          = ( times_6867330870908917660ring_a @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_353_mult__left__cancel,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( C != zero_z1830546546923837194ring_a )
     => ( ( ( times_3242606764180207630ring_a @ C @ A )
          = ( times_3242606764180207630ring_a @ C @ B ) )
        = ( A = B ) ) ) ).

% mult_left_cancel
thf(fact_354_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_355_mult__right__cancel,axiom,
    ! [C: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( C != zero_z1364739659462972184ring_a )
     => ( ( ( times_7678616233722469404ring_a @ A @ C )
          = ( times_7678616233722469404ring_a @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_356_mult__right__cancel,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( ( times_5121417576591743744ring_a @ A @ C )
          = ( times_5121417576591743744ring_a @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_357_mult__right__cancel,axiom,
    ! [C: formal_Power_fps_nat,A: formal_Power_fps_nat,B: formal_Power_fps_nat] :
      ( ( C != zero_z8531573698755551073ps_nat )
     => ( ( ( times_7269705568686124893ps_nat @ A @ C )
          = ( times_7269705568686124893ps_nat @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_358_mult__right__cancel,axiom,
    ! [C: formal8450108040061743841ring_a,A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( C != zero_z678313208903408792ring_a )
     => ( ( ( times_6867330870908917660ring_a @ A @ C )
          = ( times_6867330870908917660ring_a @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_359_mult__right__cancel,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( C != zero_z1830546546923837194ring_a )
     => ( ( ( times_3242606764180207630ring_a @ A @ C )
          = ( times_3242606764180207630ring_a @ B @ C ) )
        = ( A = B ) ) ) ).

% mult_right_cancel
thf(fact_360_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_361_ring__class_Oring__distribs_I2_J,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ ( plus_p7801688469192607896ring_a @ A @ B ) @ C )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ C ) @ ( times_7678616233722469404ring_a @ B @ C ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_362_ring__class_Oring__distribs_I2_J,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_363_ring__class_Oring__distribs_I2_J,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ ( plus_p3824337536216486424ring_a @ A @ B ) @ C )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ C ) @ ( times_6867330870908917660ring_a @ B @ C ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_364_ring__class_Oring__distribs_I2_J,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ C ) @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ).

% ring_class.ring_distribs(2)
thf(fact_365_ring__class_Oring__distribs_I1_J,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ A @ ( plus_p7801688469192607896ring_a @ B @ C ) )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ B ) @ ( times_7678616233722469404ring_a @ A @ C ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_366_ring__class_Oring__distribs_I1_J,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ A @ ( plus_p6165643967897163644ring_a @ B @ C ) )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ ( times_5121417576591743744ring_a @ A @ C ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_367_ring__class_Oring__distribs_I1_J,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ A @ ( plus_p3824337536216486424ring_a @ B @ C ) )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ B ) @ ( times_6867330870908917660ring_a @ A @ C ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_368_ring__class_Oring__distribs_I1_J,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ A @ ( plus_p7290290253215468682ring_a @ B @ C ) )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ ( times_3242606764180207630ring_a @ A @ C ) ) ) ).

% ring_class.ring_distribs(1)
thf(fact_369_comm__semiring__class_Odistrib,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( times_times_poly_nat @ ( plus_plus_poly_nat @ A @ B ) @ C )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ A @ C ) @ ( times_times_poly_nat @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_370_comm__semiring__class_Odistrib,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ ( plus_p7801688469192607896ring_a @ A @ B ) @ C )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ C ) @ ( times_7678616233722469404ring_a @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_371_comm__semiring__class_Odistrib,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_372_comm__semiring__class_Odistrib,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ ( plus_p6043471806551771617ps_nat @ A @ B ) @ C )
      = ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ A @ C ) @ ( times_7269705568686124893ps_nat @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_373_comm__semiring__class_Odistrib,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ ( plus_p3824337536216486424ring_a @ A @ B ) @ C )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ C ) @ ( times_6867330870908917660ring_a @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_374_comm__semiring__class_Odistrib,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ C ) @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_375_comm__semiring__class_Odistrib,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) ) ) ).

% comm_semiring_class.distrib
thf(fact_376_distrib__left,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( times_times_poly_nat @ A @ ( plus_plus_poly_nat @ B @ C ) )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ A @ B ) @ ( times_times_poly_nat @ A @ C ) ) ) ).

% distrib_left
thf(fact_377_distrib__left,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ A @ ( plus_p7801688469192607896ring_a @ B @ C ) )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ B ) @ ( times_7678616233722469404ring_a @ A @ C ) ) ) ).

% distrib_left
thf(fact_378_distrib__left,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ A @ ( plus_p6165643967897163644ring_a @ B @ C ) )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ ( times_5121417576591743744ring_a @ A @ C ) ) ) ).

% distrib_left
thf(fact_379_distrib__left,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ A @ ( plus_p6043471806551771617ps_nat @ B @ C ) )
      = ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ A @ B ) @ ( times_7269705568686124893ps_nat @ A @ C ) ) ) ).

% distrib_left
thf(fact_380_distrib__left,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ A @ ( plus_p3824337536216486424ring_a @ B @ C ) )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ B ) @ ( times_6867330870908917660ring_a @ A @ C ) ) ) ).

% distrib_left
thf(fact_381_distrib__left,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ A @ ( plus_p7290290253215468682ring_a @ B @ C ) )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ ( times_3242606764180207630ring_a @ A @ C ) ) ) ).

% distrib_left
thf(fact_382_distrib__left,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ A @ ( plus_plus_nat @ B @ C ) )
      = ( plus_plus_nat @ ( times_times_nat @ A @ B ) @ ( times_times_nat @ A @ C ) ) ) ).

% distrib_left
thf(fact_383_distrib__right,axiom,
    ! [A: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( times_times_poly_nat @ ( plus_plus_poly_nat @ A @ B ) @ C )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ A @ C ) @ ( times_times_poly_nat @ B @ C ) ) ) ).

% distrib_right
thf(fact_384_distrib__right,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ ( plus_p7801688469192607896ring_a @ A @ B ) @ C )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ C ) @ ( times_7678616233722469404ring_a @ B @ C ) ) ) ).

% distrib_right
thf(fact_385_distrib__right,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ).

% distrib_right
thf(fact_386_distrib__right,axiom,
    ! [A: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ ( plus_p6043471806551771617ps_nat @ A @ B ) @ C )
      = ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ A @ C ) @ ( times_7269705568686124893ps_nat @ B @ C ) ) ) ).

% distrib_right
thf(fact_387_distrib__right,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ ( plus_p3824337536216486424ring_a @ A @ B ) @ C )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ C ) @ ( times_6867330870908917660ring_a @ B @ C ) ) ) ).

% distrib_right
thf(fact_388_distrib__right,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ C ) @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ).

% distrib_right
thf(fact_389_distrib__right,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) ) ) ).

% distrib_right
thf(fact_390_combine__common__factor,axiom,
    ! [A: poly_nat,E: poly_nat,B: poly_nat,C: poly_nat] :
      ( ( plus_plus_poly_nat @ ( times_times_poly_nat @ A @ E ) @ ( plus_plus_poly_nat @ ( times_times_poly_nat @ B @ E ) @ C ) )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ ( plus_plus_poly_nat @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_391_combine__common__factor,axiom,
    ! [A: poly_p2573953413498894561ring_a,E: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ E ) @ ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ B @ E ) @ C ) )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ ( plus_p7801688469192607896ring_a @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_392_combine__common__factor,axiom,
    ! [A: finite_mod_ring_a,E: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ E ) @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ B @ E ) @ C ) )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_393_combine__common__factor,axiom,
    ! [A: formal_Power_fps_nat,E: formal_Power_fps_nat,B: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ A @ E ) @ ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ B @ E ) @ C ) )
      = ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ ( plus_p6043471806551771617ps_nat @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_394_combine__common__factor,axiom,
    ! [A: formal8450108040061743841ring_a,E: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ E ) @ ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ B @ E ) @ C ) )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ ( plus_p3824337536216486424ring_a @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_395_combine__common__factor,axiom,
    ! [A: poly_F3299452240248304339ring_a,E: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ E ) @ ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ B @ E ) @ C ) )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_396_combine__common__factor,axiom,
    ! [A: nat,E: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ A @ E ) @ ( plus_plus_nat @ ( times_times_nat @ B @ E ) @ C ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( plus_plus_nat @ A @ B ) @ E ) @ C ) ) ).

% combine_common_factor
thf(fact_397_mult__hom_Ohom__zero,axiom,
    ! [C: poly_nat] :
      ( ( times_times_poly_nat @ C @ zero_zero_poly_nat )
      = zero_zero_poly_nat ) ).

% mult_hom.hom_zero
thf(fact_398_mult__hom_Ohom__zero,axiom,
    ! [C: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ C @ zero_z1364739659462972184ring_a )
      = zero_z1364739659462972184ring_a ) ).

% mult_hom.hom_zero
thf(fact_399_mult__hom_Ohom__zero,axiom,
    ! [C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ C @ zero_z7902377541816115708ring_a )
      = zero_z7902377541816115708ring_a ) ).

% mult_hom.hom_zero
thf(fact_400_mult__hom_Ohom__zero,axiom,
    ! [C: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ C @ zero_z8531573698755551073ps_nat )
      = zero_z8531573698755551073ps_nat ) ).

% mult_hom.hom_zero
thf(fact_401_mult__hom_Ohom__zero,axiom,
    ! [C: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ C @ zero_z678313208903408792ring_a )
      = zero_z678313208903408792ring_a ) ).

% mult_hom.hom_zero
thf(fact_402_mult__hom_Ohom__zero,axiom,
    ! [C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ C @ zero_z1830546546923837194ring_a )
      = zero_z1830546546923837194ring_a ) ).

% mult_hom.hom_zero
thf(fact_403_mult__hom_Ohom__zero,axiom,
    ! [C: nat] :
      ( ( times_times_nat @ C @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_hom.hom_zero
thf(fact_404_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: poly_nat,Y: poly_nat,C: poly_nat] :
      ( ( ( plus_plus_poly_nat @ X @ Y )
        = zero_zero_poly_nat )
     => ( ( plus_plus_poly_nat @ ( times_times_poly_nat @ C @ X ) @ ( times_times_poly_nat @ C @ Y ) )
        = zero_zero_poly_nat ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_405_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( ( plus_p7801688469192607896ring_a @ X @ Y )
        = zero_z1364739659462972184ring_a )
     => ( ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ C @ X ) @ ( times_7678616233722469404ring_a @ C @ Y ) )
        = zero_z1364739659462972184ring_a ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_406_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: finite_mod_ring_a,Y: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ X @ Y )
        = zero_z7902377541816115708ring_a )
     => ( ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ C @ X ) @ ( times_5121417576591743744ring_a @ C @ Y ) )
        = zero_z7902377541816115708ring_a ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_407_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: formal_Power_fps_nat,Y: formal_Power_fps_nat,C: formal_Power_fps_nat] :
      ( ( ( plus_p6043471806551771617ps_nat @ X @ Y )
        = zero_z8531573698755551073ps_nat )
     => ( ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ C @ X ) @ ( times_7269705568686124893ps_nat @ C @ Y ) )
        = zero_z8531573698755551073ps_nat ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_408_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: formal8450108040061743841ring_a,Y: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( ( plus_p3824337536216486424ring_a @ X @ Y )
        = zero_z678313208903408792ring_a )
     => ( ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ C @ X ) @ ( times_6867330870908917660ring_a @ C @ Y ) )
        = zero_z678313208903408792ring_a ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_409_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ X @ Y )
        = zero_z1830546546923837194ring_a )
     => ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ C @ X ) @ ( times_3242606764180207630ring_a @ C @ Y ) )
        = zero_z1830546546923837194ring_a ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_410_mult__hom_Ohom__add__eq__zero,axiom,
    ! [X: nat,Y: nat,C: nat] :
      ( ( ( plus_plus_nat @ X @ Y )
        = zero_zero_nat )
     => ( ( plus_plus_nat @ ( times_times_nat @ C @ X ) @ ( times_times_nat @ C @ Y ) )
        = zero_zero_nat ) ) ).

% mult_hom.hom_add_eq_zero
thf(fact_411_add__scale__eq__noteq,axiom,
    ! [R: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a,D: poly_p2573953413498894561ring_a] :
      ( ( R != zero_z1364739659462972184ring_a )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_p7801688469192607896ring_a @ A @ ( times_7678616233722469404ring_a @ R @ C ) )
         != ( plus_p7801688469192607896ring_a @ B @ ( times_7678616233722469404ring_a @ R @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_412_add__scale__eq__noteq,axiom,
    ! [R: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a,D: finite_mod_ring_a] :
      ( ( R != zero_z7902377541816115708ring_a )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_p6165643967897163644ring_a @ A @ ( times_5121417576591743744ring_a @ R @ C ) )
         != ( plus_p6165643967897163644ring_a @ B @ ( times_5121417576591743744ring_a @ R @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_413_add__scale__eq__noteq,axiom,
    ! [R: formal8450108040061743841ring_a,A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a,D: formal8450108040061743841ring_a] :
      ( ( R != zero_z678313208903408792ring_a )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_p3824337536216486424ring_a @ A @ ( times_6867330870908917660ring_a @ R @ C ) )
         != ( plus_p3824337536216486424ring_a @ B @ ( times_6867330870908917660ring_a @ R @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_414_add__scale__eq__noteq,axiom,
    ! [R: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( R != zero_z1830546546923837194ring_a )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_p7290290253215468682ring_a @ A @ ( times_3242606764180207630ring_a @ R @ C ) )
         != ( plus_p7290290253215468682ring_a @ B @ ( times_3242606764180207630ring_a @ R @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_415_add__scale__eq__noteq,axiom,
    ! [R: nat,A: nat,B: nat,C: nat,D: nat] :
      ( ( R != zero_zero_nat )
     => ( ( ( A = B )
          & ( C != D ) )
       => ( ( plus_plus_nat @ A @ ( times_times_nat @ R @ C ) )
         != ( plus_plus_nat @ B @ ( times_times_nat @ R @ D ) ) ) ) ) ).

% add_scale_eq_noteq
thf(fact_416_mult__poly__add__left,axiom,
    ! [P3: poly_nat,Q2: poly_nat,R: poly_nat] :
      ( ( times_times_poly_nat @ ( plus_plus_poly_nat @ P3 @ Q2 ) @ R )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ P3 @ R ) @ ( times_times_poly_nat @ Q2 @ R ) ) ) ).

% mult_poly_add_left
thf(fact_417_mult__poly__add__left,axiom,
    ! [P3: poly_p2573953413498894561ring_a,Q2: poly_p2573953413498894561ring_a,R: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ ( plus_p7801688469192607896ring_a @ P3 @ Q2 ) @ R )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ P3 @ R ) @ ( times_7678616233722469404ring_a @ Q2 @ R ) ) ) ).

% mult_poly_add_left
thf(fact_418_mult__poly__add__left,axiom,
    ! [P3: poly_F3299452240248304339ring_a,Q2: poly_F3299452240248304339ring_a,R: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( plus_p7290290253215468682ring_a @ P3 @ Q2 ) @ R )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ P3 @ R ) @ ( times_3242606764180207630ring_a @ Q2 @ R ) ) ) ).

% mult_poly_add_left
thf(fact_419_mult__poly__0__left,axiom,
    ! [Q2: poly_nat] :
      ( ( times_times_poly_nat @ zero_zero_poly_nat @ Q2 )
      = zero_zero_poly_nat ) ).

% mult_poly_0_left
thf(fact_420_mult__poly__0__left,axiom,
    ! [Q2: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ zero_z1364739659462972184ring_a @ Q2 )
      = zero_z1364739659462972184ring_a ) ).

% mult_poly_0_left
thf(fact_421_mult__poly__0__left,axiom,
    ! [Q2: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ zero_z1830546546923837194ring_a @ Q2 )
      = zero_z1830546546923837194ring_a ) ).

% mult_poly_0_left
thf(fact_422_mult__poly__0__right,axiom,
    ! [P3: poly_nat] :
      ( ( times_times_poly_nat @ P3 @ zero_zero_poly_nat )
      = zero_zero_poly_nat ) ).

% mult_poly_0_right
thf(fact_423_mult__poly__0__right,axiom,
    ! [P3: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ P3 @ zero_z1364739659462972184ring_a )
      = zero_z1364739659462972184ring_a ) ).

% mult_poly_0_right
thf(fact_424_mult__poly__0__right,axiom,
    ! [P3: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ P3 @ zero_z1830546546923837194ring_a )
      = zero_z1830546546923837194ring_a ) ).

% mult_poly_0_right
thf(fact_425_eucl__induct,axiom,
    ! [P2: finite_mod_ring_a > finite_mod_ring_a > $o,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ! [B5: finite_mod_ring_a] : ( P2 @ B5 @ zero_z7902377541816115708ring_a )
     => ( ! [A5: finite_mod_ring_a,B5: finite_mod_ring_a] :
            ( ( B5 != zero_z7902377541816115708ring_a )
           => ( ( P2 @ B5 @ ( modulo8308552932176287283ring_a @ A5 @ B5 ) )
             => ( P2 @ A5 @ B5 ) ) )
       => ( P2 @ A @ B ) ) ) ).

% eucl_induct
thf(fact_426_eucl__induct,axiom,
    ! [P2: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ! [B5: poly_F3299452240248304339ring_a] : ( P2 @ B5 @ zero_z1830546546923837194ring_a )
     => ( ! [A5: poly_F3299452240248304339ring_a,B5: poly_F3299452240248304339ring_a] :
            ( ( B5 != zero_z1830546546923837194ring_a )
           => ( ( P2 @ B5 @ ( modulo2591651872109920577ring_a @ A5 @ B5 ) )
             => ( P2 @ A5 @ B5 ) ) )
       => ( P2 @ A @ B ) ) ) ).

% eucl_induct
thf(fact_427_eucl__induct,axiom,
    ! [P2: nat > nat > $o,A: nat,B: nat] :
      ( ! [B5: nat] : ( P2 @ B5 @ zero_zero_nat )
     => ( ! [A5: nat,B5: nat] :
            ( ( B5 != zero_zero_nat )
           => ( ( P2 @ B5 @ ( modulo_modulo_nat @ A5 @ B5 ) )
             => ( P2 @ A5 @ B5 ) ) )
       => ( P2 @ A @ B ) ) ) ).

% eucl_induct
thf(fact_428_mult__hom_Ohom__add,axiom,
    ! [C: poly_nat,X: poly_nat,Y: poly_nat] :
      ( ( times_times_poly_nat @ C @ ( plus_plus_poly_nat @ X @ Y ) )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ C @ X ) @ ( times_times_poly_nat @ C @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_429_mult__hom_Ohom__add,axiom,
    ! [C: poly_p2573953413498894561ring_a,X: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ C @ ( plus_p7801688469192607896ring_a @ X @ Y ) )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ C @ X ) @ ( times_7678616233722469404ring_a @ C @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_430_mult__hom_Ohom__add,axiom,
    ! [C: finite_mod_ring_a,X: finite_mod_ring_a,Y: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ C @ ( plus_p6165643967897163644ring_a @ X @ Y ) )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ C @ X ) @ ( times_5121417576591743744ring_a @ C @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_431_mult__hom_Ohom__add,axiom,
    ! [C: formal_Power_fps_nat,X: formal_Power_fps_nat,Y: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ C @ ( plus_p6043471806551771617ps_nat @ X @ Y ) )
      = ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ C @ X ) @ ( times_7269705568686124893ps_nat @ C @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_432_mult__hom_Ohom__add,axiom,
    ! [C: formal8450108040061743841ring_a,X: formal8450108040061743841ring_a,Y: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ C @ ( plus_p3824337536216486424ring_a @ X @ Y ) )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ C @ X ) @ ( times_6867330870908917660ring_a @ C @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_433_mult__hom_Ohom__add,axiom,
    ! [C: poly_F3299452240248304339ring_a,X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ C @ ( plus_p7290290253215468682ring_a @ X @ Y ) )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ C @ X ) @ ( times_3242606764180207630ring_a @ C @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_434_mult__hom_Ohom__add,axiom,
    ! [C: nat,X: nat,Y: nat] :
      ( ( times_times_nat @ C @ ( plus_plus_nat @ X @ Y ) )
      = ( plus_plus_nat @ ( times_times_nat @ C @ X ) @ ( times_times_nat @ C @ Y ) ) ) ).

% mult_hom.hom_add
thf(fact_435_crossproduct__eq,axiom,
    ! [W: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a,X: poly_p2573953413498894561ring_a,Z: poly_p2573953413498894561ring_a] :
      ( ( ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ W @ Y ) @ ( times_7678616233722469404ring_a @ X @ Z ) )
        = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ W @ Z ) @ ( times_7678616233722469404ring_a @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_436_crossproduct__eq,axiom,
    ! [W: finite_mod_ring_a,Y: finite_mod_ring_a,X: finite_mod_ring_a,Z: finite_mod_ring_a] :
      ( ( ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ W @ Y ) @ ( times_5121417576591743744ring_a @ X @ Z ) )
        = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ W @ Z ) @ ( times_5121417576591743744ring_a @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_437_crossproduct__eq,axiom,
    ! [W: formal8450108040061743841ring_a,Y: formal8450108040061743841ring_a,X: formal8450108040061743841ring_a,Z: formal8450108040061743841ring_a] :
      ( ( ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ W @ Y ) @ ( times_6867330870908917660ring_a @ X @ Z ) )
        = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ W @ Z ) @ ( times_6867330870908917660ring_a @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_438_crossproduct__eq,axiom,
    ! [W: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,X: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ W @ Y ) @ ( times_3242606764180207630ring_a @ X @ Z ) )
        = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ W @ Z ) @ ( times_3242606764180207630ring_a @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_439_crossproduct__eq,axiom,
    ! [W: nat,Y: nat,X: nat,Z: nat] :
      ( ( ( plus_plus_nat @ ( times_times_nat @ W @ Y ) @ ( times_times_nat @ X @ Z ) )
        = ( plus_plus_nat @ ( times_times_nat @ W @ Z ) @ ( times_times_nat @ X @ Y ) ) )
      = ( ( W = X )
        | ( Y = Z ) ) ) ).

% crossproduct_eq
thf(fact_440_poly__mod__add__left,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ ( plus_p7290290253215468682ring_a @ X @ Y ) @ Z )
      = ( plus_p7290290253215468682ring_a @ ( modulo2591651872109920577ring_a @ X @ Z ) @ ( modulo2591651872109920577ring_a @ Y @ Z ) ) ) ).

% poly_mod_add_left
thf(fact_441_add__0__iff,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B
        = ( plus_p7290290253215468682ring_a @ B @ A ) )
      = ( A = zero_z1830546546923837194ring_a ) ) ).

% add_0_iff
thf(fact_442_add__0__iff,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B
        = ( plus_p6165643967897163644ring_a @ B @ A ) )
      = ( A = zero_z7902377541816115708ring_a ) ) ).

% add_0_iff
thf(fact_443_add__0__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( B
        = ( plus_plus_nat @ B @ A ) )
      = ( A = zero_zero_nat ) ) ).

% add_0_iff
thf(fact_444_crossproduct__noteq,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a,D: poly_p2573953413498894561ring_a] :
      ( ( ( A != B )
        & ( C != D ) )
      = ( ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ C ) @ ( times_7678616233722469404ring_a @ B @ D ) )
       != ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ A @ D ) @ ( times_7678616233722469404ring_a @ B @ C ) ) ) ) ).

% crossproduct_noteq
thf(fact_445_crossproduct__noteq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a,D: finite_mod_ring_a] :
      ( ( ( A != B )
        & ( C != D ) )
      = ( ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ B @ D ) )
       != ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ D ) @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ) ).

% crossproduct_noteq
thf(fact_446_crossproduct__noteq,axiom,
    ! [A: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a,D: formal8450108040061743841ring_a] :
      ( ( ( A != B )
        & ( C != D ) )
      = ( ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ C ) @ ( times_6867330870908917660ring_a @ B @ D ) )
       != ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ A @ D ) @ ( times_6867330870908917660ring_a @ B @ C ) ) ) ) ).

% crossproduct_noteq
thf(fact_447_crossproduct__noteq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( ( A != B )
        & ( C != D ) )
      = ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ C ) @ ( times_3242606764180207630ring_a @ B @ D ) )
       != ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ D ) @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ) ).

% crossproduct_noteq
thf(fact_448_crossproduct__noteq,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ( A != B )
        & ( C != D ) )
      = ( ( plus_plus_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) )
       != ( plus_plus_nat @ ( times_times_nat @ A @ D ) @ ( times_times_nat @ B @ C ) ) ) ) ).

% crossproduct_noteq
thf(fact_449_verit__sum__simplify,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ A @ zero_z1830546546923837194ring_a )
      = A ) ).

% verit_sum_simplify
thf(fact_450_verit__sum__simplify,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ A @ zero_z7902377541816115708ring_a )
      = A ) ).

% verit_sum_simplify
thf(fact_451_verit__sum__simplify,axiom,
    ! [A: poly_nat] :
      ( ( plus_plus_poly_nat @ A @ zero_zero_poly_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_452_verit__sum__simplify,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( plus_p6043471806551771617ps_nat @ A @ zero_z8531573698755551073ps_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_453_verit__sum__simplify,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

% verit_sum_simplify
thf(fact_454_mult__delta__right,axiom,
    ! [B: $o,X: poly_nat,Y: poly_nat] :
      ( ( B
       => ( ( times_times_poly_nat @ X @ ( if_poly_nat @ B @ Y @ zero_zero_poly_nat ) )
          = ( times_times_poly_nat @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_times_poly_nat @ X @ ( if_poly_nat @ B @ Y @ zero_zero_poly_nat ) )
          = zero_zero_poly_nat ) ) ) ).

% mult_delta_right
thf(fact_455_mult__delta__right,axiom,
    ! [B: $o,X: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a] :
      ( ( B
       => ( ( times_7678616233722469404ring_a @ X @ ( if_pol1219332235598675879ring_a @ B @ Y @ zero_z1364739659462972184ring_a ) )
          = ( times_7678616233722469404ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_7678616233722469404ring_a @ X @ ( if_pol1219332235598675879ring_a @ B @ Y @ zero_z1364739659462972184ring_a ) )
          = zero_z1364739659462972184ring_a ) ) ) ).

% mult_delta_right
thf(fact_456_mult__delta__right,axiom,
    ! [B: $o,X: finite_mod_ring_a,Y: finite_mod_ring_a] :
      ( ( B
       => ( ( times_5121417576591743744ring_a @ X @ ( if_Finite_mod_ring_a @ B @ Y @ zero_z7902377541816115708ring_a ) )
          = ( times_5121417576591743744ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_5121417576591743744ring_a @ X @ ( if_Finite_mod_ring_a @ B @ Y @ zero_z7902377541816115708ring_a ) )
          = zero_z7902377541816115708ring_a ) ) ) ).

% mult_delta_right
thf(fact_457_mult__delta__right,axiom,
    ! [B: $o,X: formal_Power_fps_nat,Y: formal_Power_fps_nat] :
      ( ( B
       => ( ( times_7269705568686124893ps_nat @ X @ ( if_For6818226542697513106ps_nat @ B @ Y @ zero_z8531573698755551073ps_nat ) )
          = ( times_7269705568686124893ps_nat @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_7269705568686124893ps_nat @ X @ ( if_For6818226542697513106ps_nat @ B @ Y @ zero_z8531573698755551073ps_nat ) )
          = zero_z8531573698755551073ps_nat ) ) ) ).

% mult_delta_right
thf(fact_458_mult__delta__right,axiom,
    ! [B: $o,X: formal8450108040061743841ring_a,Y: formal8450108040061743841ring_a] :
      ( ( B
       => ( ( times_6867330870908917660ring_a @ X @ ( if_For7386278572730688679ring_a @ B @ Y @ zero_z678313208903408792ring_a ) )
          = ( times_6867330870908917660ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_6867330870908917660ring_a @ X @ ( if_For7386278572730688679ring_a @ B @ Y @ zero_z678313208903408792ring_a ) )
          = zero_z678313208903408792ring_a ) ) ) ).

% mult_delta_right
thf(fact_459_mult__delta__right,axiom,
    ! [B: $o,X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( B
       => ( ( times_3242606764180207630ring_a @ X @ ( if_pol8205948207082003865ring_a @ B @ Y @ zero_z1830546546923837194ring_a ) )
          = ( times_3242606764180207630ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_3242606764180207630ring_a @ X @ ( if_pol8205948207082003865ring_a @ B @ Y @ zero_z1830546546923837194ring_a ) )
          = zero_z1830546546923837194ring_a ) ) ) ).

% mult_delta_right
thf(fact_460_mult__delta__right,axiom,
    ! [B: $o,X: nat,Y: nat] :
      ( ( B
       => ( ( times_times_nat @ X @ ( if_nat @ B @ Y @ zero_zero_nat ) )
          = ( times_times_nat @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_times_nat @ X @ ( if_nat @ B @ Y @ zero_zero_nat ) )
          = zero_zero_nat ) ) ) ).

% mult_delta_right
thf(fact_461_mult__delta__left,axiom,
    ! [B: $o,X: poly_nat,Y: poly_nat] :
      ( ( B
       => ( ( times_times_poly_nat @ ( if_poly_nat @ B @ X @ zero_zero_poly_nat ) @ Y )
          = ( times_times_poly_nat @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_times_poly_nat @ ( if_poly_nat @ B @ X @ zero_zero_poly_nat ) @ Y )
          = zero_zero_poly_nat ) ) ) ).

% mult_delta_left
thf(fact_462_mult__delta__left,axiom,
    ! [B: $o,X: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a] :
      ( ( B
       => ( ( times_7678616233722469404ring_a @ ( if_pol1219332235598675879ring_a @ B @ X @ zero_z1364739659462972184ring_a ) @ Y )
          = ( times_7678616233722469404ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_7678616233722469404ring_a @ ( if_pol1219332235598675879ring_a @ B @ X @ zero_z1364739659462972184ring_a ) @ Y )
          = zero_z1364739659462972184ring_a ) ) ) ).

% mult_delta_left
thf(fact_463_mult__delta__left,axiom,
    ! [B: $o,X: finite_mod_ring_a,Y: finite_mod_ring_a] :
      ( ( B
       => ( ( times_5121417576591743744ring_a @ ( if_Finite_mod_ring_a @ B @ X @ zero_z7902377541816115708ring_a ) @ Y )
          = ( times_5121417576591743744ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_5121417576591743744ring_a @ ( if_Finite_mod_ring_a @ B @ X @ zero_z7902377541816115708ring_a ) @ Y )
          = zero_z7902377541816115708ring_a ) ) ) ).

% mult_delta_left
thf(fact_464_mult__delta__left,axiom,
    ! [B: $o,X: formal_Power_fps_nat,Y: formal_Power_fps_nat] :
      ( ( B
       => ( ( times_7269705568686124893ps_nat @ ( if_For6818226542697513106ps_nat @ B @ X @ zero_z8531573698755551073ps_nat ) @ Y )
          = ( times_7269705568686124893ps_nat @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_7269705568686124893ps_nat @ ( if_For6818226542697513106ps_nat @ B @ X @ zero_z8531573698755551073ps_nat ) @ Y )
          = zero_z8531573698755551073ps_nat ) ) ) ).

% mult_delta_left
thf(fact_465_mult__delta__left,axiom,
    ! [B: $o,X: formal8450108040061743841ring_a,Y: formal8450108040061743841ring_a] :
      ( ( B
       => ( ( times_6867330870908917660ring_a @ ( if_For7386278572730688679ring_a @ B @ X @ zero_z678313208903408792ring_a ) @ Y )
          = ( times_6867330870908917660ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_6867330870908917660ring_a @ ( if_For7386278572730688679ring_a @ B @ X @ zero_z678313208903408792ring_a ) @ Y )
          = zero_z678313208903408792ring_a ) ) ) ).

% mult_delta_left
thf(fact_466_mult__delta__left,axiom,
    ! [B: $o,X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( B
       => ( ( times_3242606764180207630ring_a @ ( if_pol8205948207082003865ring_a @ B @ X @ zero_z1830546546923837194ring_a ) @ Y )
          = ( times_3242606764180207630ring_a @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_3242606764180207630ring_a @ ( if_pol8205948207082003865ring_a @ B @ X @ zero_z1830546546923837194ring_a ) @ Y )
          = zero_z1830546546923837194ring_a ) ) ) ).

% mult_delta_left
thf(fact_467_mult__delta__left,axiom,
    ! [B: $o,X: nat,Y: nat] :
      ( ( B
       => ( ( times_times_nat @ ( if_nat @ B @ X @ zero_zero_nat ) @ Y )
          = ( times_times_nat @ X @ Y ) ) )
      & ( ~ B
       => ( ( times_times_nat @ ( if_nat @ B @ X @ zero_zero_nat ) @ Y )
          = zero_zero_nat ) ) ) ).

% mult_delta_left
thf(fact_468_of__qr_Oabs__eq,axiom,
    ! [X: poly_F3299452240248304339ring_a] :
      ( ( kyber_of_qr_a @ ( kyber_abs_qr_a @ X ) )
      = ( modulo2591651872109920577ring_a @ X @ kyber_qr_poly_a ) ) ).

% of_qr.abs_eq
thf(fact_469_is__zero__null,axiom,
    ( is_zer8067033805558884434ring_a
    = ( ^ [P4: poly_F3299452240248304339ring_a] : ( P4 = zero_z1830546546923837194ring_a ) ) ) ).

% is_zero_null
thf(fact_470_is__zero__null,axiom,
    ( is_zero_nat
    = ( ^ [P4: poly_nat] : ( P4 = zero_zero_poly_nat ) ) ) ).

% is_zero_null
thf(fact_471_Kyber__spec_Ozero__qr_Otransfer,axiom,
    kyber_cr_qr_a @ zero_z1830546546923837194ring_a @ zero_zero_Kyber_qr_a ).

% Kyber_spec.zero_qr.transfer
thf(fact_472_poly__cutoff__0,axiom,
    ! [N: nat] :
      ( ( poly_c8149583573515411563ring_a @ N @ zero_z1830546546923837194ring_a )
      = zero_z1830546546923837194ring_a ) ).

% poly_cutoff_0
thf(fact_473_poly__cutoff__0,axiom,
    ! [N: nat] :
      ( ( poly_cutoff_nat @ N @ zero_zero_poly_nat )
      = zero_zero_poly_nat ) ).

% poly_cutoff_0
thf(fact_474_equivp__def,axiom,
    ( equiv_2442139355631460267ring_a
    = ( ^ [R2: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o] :
        ! [X2: poly_F3299452240248304339ring_a,Y3: poly_F3299452240248304339ring_a] :
          ( ( R2 @ X2 @ Y3 )
          = ( ( R2 @ X2 )
            = ( R2 @ Y3 ) ) ) ) ) ).

% equivp_def
thf(fact_475_equivp__symp,axiom,
    ! [R3: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o,X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( equiv_2442139355631460267ring_a @ R3 )
     => ( ( R3 @ X @ Y )
       => ( R3 @ Y @ X ) ) ) ).

% equivp_symp
thf(fact_476_identity__equivp,axiom,
    ( equiv_2442139355631460267ring_a
    @ ^ [Y4: poly_F3299452240248304339ring_a,Z2: poly_F3299452240248304339ring_a] : ( Y4 = Z2 ) ) ).

% identity_equivp
thf(fact_477_equivp__transp,axiom,
    ! [R3: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o,X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] :
      ( ( equiv_2442139355631460267ring_a @ R3 )
     => ( ( R3 @ X @ Y )
       => ( ( R3 @ Y @ Z )
         => ( R3 @ X @ Z ) ) ) ) ).

% equivp_transp
thf(fact_478_equivp__reflp,axiom,
    ! [R3: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a > $o,X: poly_F3299452240248304339ring_a] :
      ( ( equiv_2442139355631460267ring_a @ R3 )
     => ( R3 @ X @ X ) ) ).

% equivp_reflp
thf(fact_479_of__qr__to__qr,axiom,
    ! [X: poly_F3299452240248304339ring_a] :
      ( ( kyber_of_qr_a @ ( kyber_to_qr_a @ X ) )
      = ( modulo2591651872109920577ring_a @ X @ kyber_qr_poly_a ) ) ).

% of_qr_to_qr
thf(fact_480_of__qr_Orep__eq,axiom,
    ( kyber_of_qr_a
    = ( ^ [X2: kyber_qr_a] : ( modulo2591651872109920577ring_a @ ( kyber_rep_qr_a @ X2 ) @ kyber_qr_poly_a ) ) ) ).

% of_qr.rep_eq
thf(fact_481_one__mod__qr__poly,axiom,
    ( ( modulo2591651872109920577ring_a @ one_on3394844594818161742ring_a @ kyber_qr_poly_a )
    = one_on3394844594818161742ring_a ) ).

% one_mod_qr_poly
thf(fact_482_coeff__mult__semiring__closed,axiom,
    ! [R3: set_poly_nat,P3: poly_poly_nat,Q2: poly_poly_nat,I: nat] :
      ( ( member_poly_nat @ zero_zero_poly_nat @ R3 )
     => ( ! [X3: poly_nat,Y2: poly_nat] :
            ( ( member_poly_nat @ X3 @ R3 )
           => ( ( member_poly_nat @ Y2 @ R3 )
             => ( member_poly_nat @ ( plus_plus_poly_nat @ X3 @ Y2 ) @ R3 ) ) )
       => ( ! [X3: poly_nat,Y2: poly_nat] :
              ( ( member_poly_nat @ X3 @ R3 )
             => ( ( member_poly_nat @ Y2 @ R3 )
               => ( member_poly_nat @ ( times_times_poly_nat @ X3 @ Y2 ) @ R3 ) ) )
         => ( ! [I2: nat] : ( member_poly_nat @ ( coeff_poly_nat @ P3 @ I2 ) @ R3 )
           => ( ! [I2: nat] : ( member_poly_nat @ ( coeff_poly_nat @ Q2 @ I2 ) @ R3 )
             => ( member_poly_nat @ ( coeff_poly_nat @ ( times_7229843563219399397ly_nat @ P3 @ Q2 ) @ I ) @ R3 ) ) ) ) ) ) ).

% coeff_mult_semiring_closed
thf(fact_483_coeff__mult__semiring__closed,axiom,
    ! [R3: set_po635232602878568385ring_a,P3: poly_p4807514599573898735ring_a,Q2: poly_p4807514599573898735ring_a,I: nat] :
      ( ( member4122051725848212234ring_a @ zero_z1364739659462972184ring_a @ R3 )
     => ( ! [X3: poly_p2573953413498894561ring_a,Y2: poly_p2573953413498894561ring_a] :
            ( ( member4122051725848212234ring_a @ X3 @ R3 )
           => ( ( member4122051725848212234ring_a @ Y2 @ R3 )
             => ( member4122051725848212234ring_a @ ( plus_p7801688469192607896ring_a @ X3 @ Y2 ) @ R3 ) ) )
       => ( ! [X3: poly_p2573953413498894561ring_a,Y2: poly_p2573953413498894561ring_a] :
              ( ( member4122051725848212234ring_a @ X3 @ R3 )
             => ( ( member4122051725848212234ring_a @ Y2 @ R3 )
               => ( member4122051725848212234ring_a @ ( times_7678616233722469404ring_a @ X3 @ Y2 ) @ R3 ) ) )
         => ( ! [I2: nat] : ( member4122051725848212234ring_a @ ( coeff_3719764296802005123ring_a @ P3 @ I2 ) @ R3 )
           => ( ! [I2: nat] : ( member4122051725848212234ring_a @ ( coeff_3719764296802005123ring_a @ Q2 @ I2 ) @ R3 )
             => ( member4122051725848212234ring_a @ ( coeff_3719764296802005123ring_a @ ( times_6681707185059890986ring_a @ P3 @ Q2 ) @ I ) @ R3 ) ) ) ) ) ) ).

% coeff_mult_semiring_closed
thf(fact_484_coeff__mult__semiring__closed,axiom,
    ! [R3: set_Fo7423476515045695758ps_nat,P3: poly_F1712242100642103904ps_nat,Q2: poly_F1712242100642103904ps_nat,I: nat] :
      ( ( member8648137790864656367ps_nat @ zero_z8531573698755551073ps_nat @ R3 )
     => ( ! [X3: formal_Power_fps_nat,Y2: formal_Power_fps_nat] :
            ( ( member8648137790864656367ps_nat @ X3 @ R3 )
           => ( ( member8648137790864656367ps_nat @ Y2 @ R3 )
             => ( member8648137790864656367ps_nat @ ( plus_p6043471806551771617ps_nat @ X3 @ Y2 ) @ R3 ) ) )
       => ( ! [X3: formal_Power_fps_nat,Y2: formal_Power_fps_nat] :
              ( ( member8648137790864656367ps_nat @ X3 @ R3 )
             => ( ( member8648137790864656367ps_nat @ Y2 @ R3 )
               => ( member8648137790864656367ps_nat @ ( times_7269705568686124893ps_nat @ X3 @ Y2 ) @ R3 ) ) )
         => ( ! [I2: nat] : ( member8648137790864656367ps_nat @ ( coeff_4994007371902938806ps_nat @ P3 @ I2 ) @ R3 )
           => ( ! [I2: nat] : ( member8648137790864656367ps_nat @ ( coeff_4994007371902938806ps_nat @ Q2 @ I2 ) @ R3 )
             => ( member8648137790864656367ps_nat @ ( coeff_4994007371902938806ps_nat @ ( times_6404684983336190437ps_nat @ P3 @ Q2 ) @ I ) @ R3 ) ) ) ) ) ) ).

% coeff_mult_semiring_closed
thf(fact_485_coeff__mult__semiring__closed,axiom,
    ! [R3: set_Fo5872670968731555905ring_a,P3: poly_F478958623150486895ring_a,Q2: poly_F478958623150486895ring_a,I: nat] :
      ( ( member736625194951740810ring_a @ zero_z678313208903408792ring_a @ R3 )
     => ( ! [X3: formal8450108040061743841ring_a,Y2: formal8450108040061743841ring_a] :
            ( ( member736625194951740810ring_a @ X3 @ R3 )
           => ( ( member736625194951740810ring_a @ Y2 @ R3 )
             => ( member736625194951740810ring_a @ ( plus_p3824337536216486424ring_a @ X3 @ Y2 ) @ R3 ) ) )
       => ( ! [X3: formal8450108040061743841ring_a,Y2: formal8450108040061743841ring_a] :
              ( ( member736625194951740810ring_a @ X3 @ R3 )
             => ( ( member736625194951740810ring_a @ Y2 @ R3 )
               => ( member736625194951740810ring_a @ ( times_6867330870908917660ring_a @ X3 @ Y2 ) @ R3 ) ) )
         => ( ! [I2: nat] : ( member736625194951740810ring_a @ ( coeff_7022148341067092867ring_a @ P3 @ I2 ) @ R3 )
           => ( ! [I2: nat] : ( member736625194951740810ring_a @ ( coeff_7022148341067092867ring_a @ Q2 @ I2 ) @ R3 )
             => ( member736625194951740810ring_a @ ( coeff_7022148341067092867ring_a @ ( times_6260065397729409066ring_a @ P3 @ Q2 ) @ I ) @ R3 ) ) ) ) ) ) ).

% coeff_mult_semiring_closed
thf(fact_486_coeff__mult__semiring__closed,axiom,
    ! [R3: set_Fi2982333969990053029ring_a,P3: poly_F3299452240248304339ring_a,Q2: poly_F3299452240248304339ring_a,I: nat] :
      ( ( member3034048621153491438ring_a @ zero_z7902377541816115708ring_a @ R3 )
     => ( ! [X3: finite_mod_ring_a,Y2: finite_mod_ring_a] :
            ( ( member3034048621153491438ring_a @ X3 @ R3 )
           => ( ( member3034048621153491438ring_a @ Y2 @ R3 )
             => ( member3034048621153491438ring_a @ ( plus_p6165643967897163644ring_a @ X3 @ Y2 ) @ R3 ) ) )
       => ( ! [X3: finite_mod_ring_a,Y2: finite_mod_ring_a] :
              ( ( member3034048621153491438ring_a @ X3 @ R3 )
             => ( ( member3034048621153491438ring_a @ Y2 @ R3 )
               => ( member3034048621153491438ring_a @ ( times_5121417576591743744ring_a @ X3 @ Y2 ) @ R3 ) ) )
         => ( ! [I2: nat] : ( member3034048621153491438ring_a @ ( coeff_1607515655354303335ring_a @ P3 @ I2 ) @ R3 )
           => ( ! [I2: nat] : ( member3034048621153491438ring_a @ ( coeff_1607515655354303335ring_a @ Q2 @ I2 ) @ R3 )
             => ( member3034048621153491438ring_a @ ( coeff_1607515655354303335ring_a @ ( times_3242606764180207630ring_a @ P3 @ Q2 ) @ I ) @ R3 ) ) ) ) ) ) ).

% coeff_mult_semiring_closed
thf(fact_487_coeff__mult__semiring__closed,axiom,
    ! [R3: set_po5729067318325380787ring_a,P3: poly_p2573953413498894561ring_a,Q2: poly_p2573953413498894561ring_a,I: nat] :
      ( ( member3677679344809550588ring_a @ zero_z1830546546923837194ring_a @ R3 )
     => ( ! [X3: poly_F3299452240248304339ring_a,Y2: poly_F3299452240248304339ring_a] :
            ( ( member3677679344809550588ring_a @ X3 @ R3 )
           => ( ( member3677679344809550588ring_a @ Y2 @ R3 )
             => ( member3677679344809550588ring_a @ ( plus_p7290290253215468682ring_a @ X3 @ Y2 ) @ R3 ) ) )
       => ( ! [X3: poly_F3299452240248304339ring_a,Y2: poly_F3299452240248304339ring_a] :
              ( ( member3677679344809550588ring_a @ X3 @ R3 )
             => ( ( member3677679344809550588ring_a @ Y2 @ R3 )
               => ( member3677679344809550588ring_a @ ( times_3242606764180207630ring_a @ X3 @ Y2 ) @ R3 ) ) )
         => ( ! [I2: nat] : ( member3677679344809550588ring_a @ ( coeff_7919988552178873973ring_a @ P3 @ I2 ) @ R3 )
           => ( ! [I2: nat] : ( member3677679344809550588ring_a @ ( coeff_7919988552178873973ring_a @ Q2 @ I2 ) @ R3 )
             => ( member3677679344809550588ring_a @ ( coeff_7919988552178873973ring_a @ ( times_7678616233722469404ring_a @ P3 @ Q2 ) @ I ) @ R3 ) ) ) ) ) ) ).

% coeff_mult_semiring_closed
thf(fact_488_coeff__mult__semiring__closed,axiom,
    ! [R3: set_nat,P3: poly_nat,Q2: poly_nat,I: nat] :
      ( ( member_nat @ zero_zero_nat @ R3 )
     => ( ! [X3: nat,Y2: nat] :
            ( ( member_nat @ X3 @ R3 )
           => ( ( member_nat @ Y2 @ R3 )
             => ( member_nat @ ( plus_plus_nat @ X3 @ Y2 ) @ R3 ) ) )
       => ( ! [X3: nat,Y2: nat] :
              ( ( member_nat @ X3 @ R3 )
             => ( ( member_nat @ Y2 @ R3 )
               => ( member_nat @ ( times_times_nat @ X3 @ Y2 ) @ R3 ) ) )
         => ( ! [I2: nat] : ( member_nat @ ( coeff_nat @ P3 @ I2 ) @ R3 )
           => ( ! [I2: nat] : ( member_nat @ ( coeff_nat @ Q2 @ I2 ) @ R3 )
             => ( member_nat @ ( coeff_nat @ ( times_times_poly_nat @ P3 @ Q2 ) @ I ) @ R3 ) ) ) ) ) ) ).

% coeff_mult_semiring_closed
thf(fact_489_to__qr__of__qr,axiom,
    ! [X: kyber_qr_a] :
      ( ( kyber_to_qr_a @ ( kyber_of_qr_a @ X ) )
      = X ) ).

% to_qr_of_qr
thf(fact_490_div__mult__self1,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ A @ ( times_5121417576591743744ring_a @ C @ B ) ) @ B )
        = ( plus_p6165643967897163644ring_a @ C @ ( divide972148758386938611ring_a @ A @ B ) ) ) ) ).

% div_mult_self1
thf(fact_491_div__mult__self1,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ A @ ( times_3242606764180207630ring_a @ C @ B ) ) @ B )
        = ( plus_p7290290253215468682ring_a @ C @ ( divide6384432771786456577ring_a @ A @ B ) ) ) ) ).

% div_mult_self1
thf(fact_492_div__mult__self1,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ A @ ( times_times_nat @ C @ B ) ) @ B )
        = ( plus_plus_nat @ C @ ( divide_divide_nat @ A @ B ) ) ) ) ).

% div_mult_self1
thf(fact_493_div__mult__self2,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ A @ ( times_5121417576591743744ring_a @ B @ C ) ) @ B )
        = ( plus_p6165643967897163644ring_a @ C @ ( divide972148758386938611ring_a @ A @ B ) ) ) ) ).

% div_mult_self2
thf(fact_494_div__mult__self2,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ A @ ( times_3242606764180207630ring_a @ B @ C ) ) @ B )
        = ( plus_p7290290253215468682ring_a @ C @ ( divide6384432771786456577ring_a @ A @ B ) ) ) ) ).

% div_mult_self2
thf(fact_495_div__mult__self2,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ A @ ( times_times_nat @ B @ C ) ) @ B )
        = ( plus_plus_nat @ C @ ( divide_divide_nat @ A @ B ) ) ) ) ).

% div_mult_self2
thf(fact_496_div__mult__self3,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ C @ B ) @ A ) @ B )
        = ( plus_p6165643967897163644ring_a @ C @ ( divide972148758386938611ring_a @ A @ B ) ) ) ) ).

% div_mult_self3
thf(fact_497_div__mult__self3,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ C @ B ) @ A ) @ B )
        = ( plus_p7290290253215468682ring_a @ C @ ( divide6384432771786456577ring_a @ A @ B ) ) ) ) ).

% div_mult_self3
thf(fact_498_div__mult__self3,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ ( times_times_nat @ C @ B ) @ A ) @ B )
        = ( plus_plus_nat @ C @ ( divide_divide_nat @ A @ B ) ) ) ) ).

% div_mult_self3
thf(fact_499_mult__1,axiom,
    ! [A: poly_nat] :
      ( ( times_times_poly_nat @ one_one_poly_nat @ A )
      = A ) ).

% mult_1
thf(fact_500_mult__1,axiom,
    ! [A: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ one_on1339691373306511452ring_a @ A )
      = A ) ).

% mult_1
thf(fact_501_mult__1,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ one_on2109788427901206336ring_a @ A )
      = A ) ).

% mult_1
thf(fact_502_mult__1,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ one_on3350087005236239133ps_nat @ A )
      = A ) ).

% mult_1
thf(fact_503_mult__1,axiom,
    ! [A: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ one_on3584675865978100700ring_a @ A )
      = A ) ).

% mult_1
thf(fact_504_mult__1,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ one_on3394844594818161742ring_a @ A )
      = A ) ).

% mult_1
thf(fact_505_mult__1,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ one_one_nat @ A )
      = A ) ).

% mult_1
thf(fact_506_mult_Oright__neutral,axiom,
    ! [A: poly_nat] :
      ( ( times_times_poly_nat @ A @ one_one_poly_nat )
      = A ) ).

% mult.right_neutral
thf(fact_507_mult_Oright__neutral,axiom,
    ! [A: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ A @ one_on1339691373306511452ring_a )
      = A ) ).

% mult.right_neutral
thf(fact_508_mult_Oright__neutral,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ A @ one_on2109788427901206336ring_a )
      = A ) ).

% mult.right_neutral
thf(fact_509_mult_Oright__neutral,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ A @ one_on3350087005236239133ps_nat )
      = A ) ).

% mult.right_neutral
thf(fact_510_mult_Oright__neutral,axiom,
    ! [A: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ A @ one_on3584675865978100700ring_a )
      = A ) ).

% mult.right_neutral
thf(fact_511_mult_Oright__neutral,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ A @ one_on3394844594818161742ring_a )
      = A ) ).

% mult.right_neutral
thf(fact_512_mult_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ one_one_nat )
      = A ) ).

% mult.right_neutral
thf(fact_513_div__0,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ zero_z7902377541816115708ring_a @ A )
      = zero_z7902377541816115708ring_a ) ).

% div_0
thf(fact_514_div__0,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ zero_z1830546546923837194ring_a @ A )
      = zero_z1830546546923837194ring_a ) ).

% div_0
thf(fact_515_div__0,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% div_0
thf(fact_516_div__by__0,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ A @ zero_z7902377541816115708ring_a )
      = zero_z7902377541816115708ring_a ) ).

% div_by_0
thf(fact_517_div__by__0,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ A @ zero_z1830546546923837194ring_a )
      = zero_z1830546546923837194ring_a ) ).

% div_by_0
thf(fact_518_div__by__0,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ A @ zero_zero_nat )
      = zero_zero_nat ) ).

% div_by_0
thf(fact_519_bits__div__0,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% bits_div_0
thf(fact_520_bits__div__by__0,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ A @ zero_zero_nat )
      = zero_zero_nat ) ).

% bits_div_by_0
thf(fact_521_bits__div__by__1,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ A @ one_one_nat )
      = A ) ).

% bits_div_by_1
thf(fact_522_div__by__1,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ A @ one_on3394844594818161742ring_a )
      = A ) ).

% div_by_1
thf(fact_523_div__by__1,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ A @ one_one_nat )
      = A ) ).

% div_by_1
thf(fact_524_mult__cancel__right2,axiom,
    ! [A: poly_p2573953413498894561ring_a,C: poly_p2573953413498894561ring_a] :
      ( ( ( times_7678616233722469404ring_a @ A @ C )
        = C )
      = ( ( C = zero_z1364739659462972184ring_a )
        | ( A = one_on1339691373306511452ring_a ) ) ) ).

% mult_cancel_right2
thf(fact_525_mult__cancel__right2,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ A @ C )
        = C )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( A = one_on2109788427901206336ring_a ) ) ) ).

% mult_cancel_right2
thf(fact_526_mult__cancel__right2,axiom,
    ! [A: formal8450108040061743841ring_a,C: formal8450108040061743841ring_a] :
      ( ( ( times_6867330870908917660ring_a @ A @ C )
        = C )
      = ( ( C = zero_z678313208903408792ring_a )
        | ( A = one_on3584675865978100700ring_a ) ) ) ).

% mult_cancel_right2
thf(fact_527_mult__cancel__right2,axiom,
    ! [A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( times_3242606764180207630ring_a @ A @ C )
        = C )
      = ( ( C = zero_z1830546546923837194ring_a )
        | ( A = one_on3394844594818161742ring_a ) ) ) ).

% mult_cancel_right2
thf(fact_528_mult__cancel__right1,axiom,
    ! [C: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( C
        = ( times_7678616233722469404ring_a @ B @ C ) )
      = ( ( C = zero_z1364739659462972184ring_a )
        | ( B = one_on1339691373306511452ring_a ) ) ) ).

% mult_cancel_right1
thf(fact_529_mult__cancel__right1,axiom,
    ! [C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C
        = ( times_5121417576591743744ring_a @ B @ C ) )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( B = one_on2109788427901206336ring_a ) ) ) ).

% mult_cancel_right1
thf(fact_530_mult__cancel__right1,axiom,
    ! [C: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( C
        = ( times_6867330870908917660ring_a @ B @ C ) )
      = ( ( C = zero_z678313208903408792ring_a )
        | ( B = one_on3584675865978100700ring_a ) ) ) ).

% mult_cancel_right1
thf(fact_531_mult__cancel__right1,axiom,
    ! [C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( C
        = ( times_3242606764180207630ring_a @ B @ C ) )
      = ( ( C = zero_z1830546546923837194ring_a )
        | ( B = one_on3394844594818161742ring_a ) ) ) ).

% mult_cancel_right1
thf(fact_532_mult__cancel__left2,axiom,
    ! [C: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a] :
      ( ( ( times_7678616233722469404ring_a @ C @ A )
        = C )
      = ( ( C = zero_z1364739659462972184ring_a )
        | ( A = one_on1339691373306511452ring_a ) ) ) ).

% mult_cancel_left2
thf(fact_533_mult__cancel__left2,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ C @ A )
        = C )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( A = one_on2109788427901206336ring_a ) ) ) ).

% mult_cancel_left2
thf(fact_534_mult__cancel__left2,axiom,
    ! [C: formal8450108040061743841ring_a,A: formal8450108040061743841ring_a] :
      ( ( ( times_6867330870908917660ring_a @ C @ A )
        = C )
      = ( ( C = zero_z678313208903408792ring_a )
        | ( A = one_on3584675865978100700ring_a ) ) ) ).

% mult_cancel_left2
thf(fact_535_mult__cancel__left2,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( ( times_3242606764180207630ring_a @ C @ A )
        = C )
      = ( ( C = zero_z1830546546923837194ring_a )
        | ( A = one_on3394844594818161742ring_a ) ) ) ).

% mult_cancel_left2
thf(fact_536_mult__cancel__left1,axiom,
    ! [C: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( C
        = ( times_7678616233722469404ring_a @ C @ B ) )
      = ( ( C = zero_z1364739659462972184ring_a )
        | ( B = one_on1339691373306511452ring_a ) ) ) ).

% mult_cancel_left1
thf(fact_537_mult__cancel__left1,axiom,
    ! [C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C
        = ( times_5121417576591743744ring_a @ C @ B ) )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( B = one_on2109788427901206336ring_a ) ) ) ).

% mult_cancel_left1
thf(fact_538_mult__cancel__left1,axiom,
    ! [C: formal8450108040061743841ring_a,B: formal8450108040061743841ring_a] :
      ( ( C
        = ( times_6867330870908917660ring_a @ C @ B ) )
      = ( ( C = zero_z678313208903408792ring_a )
        | ( B = one_on3584675865978100700ring_a ) ) ) ).

% mult_cancel_left1
thf(fact_539_mult__cancel__left1,axiom,
    ! [C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( C
        = ( times_3242606764180207630ring_a @ C @ B ) )
      = ( ( C = zero_z1830546546923837194ring_a )
        | ( B = one_on3394844594818161742ring_a ) ) ) ).

% mult_cancel_left1
thf(fact_540_div__mult__mult1__if,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( C = zero_z7902377541816115708ring_a )
       => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ C @ B ) )
          = zero_z7902377541816115708ring_a ) )
      & ( ( C != zero_z7902377541816115708ring_a )
       => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ C @ B ) )
          = ( divide972148758386938611ring_a @ A @ B ) ) ) ) ).

% div_mult_mult1_if
thf(fact_541_div__mult__mult1__if,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( C = zero_z1830546546923837194ring_a )
       => ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ C @ A ) @ ( times_3242606764180207630ring_a @ C @ B ) )
          = zero_z1830546546923837194ring_a ) )
      & ( ( C != zero_z1830546546923837194ring_a )
       => ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ C @ A ) @ ( times_3242606764180207630ring_a @ C @ B ) )
          = ( divide6384432771786456577ring_a @ A @ B ) ) ) ) ).

% div_mult_mult1_if
thf(fact_542_div__mult__mult1__if,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ( C = zero_zero_nat )
       => ( ( divide_divide_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) )
          = zero_zero_nat ) )
      & ( ( C != zero_zero_nat )
       => ( ( divide_divide_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) )
          = ( divide_divide_nat @ A @ B ) ) ) ) ).

% div_mult_mult1_if
thf(fact_543_div__mult__mult2,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ B @ C ) )
        = ( divide972148758386938611ring_a @ A @ B ) ) ) ).

% div_mult_mult2
thf(fact_544_div__mult__mult2,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( C != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ A @ C ) @ ( times_3242606764180207630ring_a @ B @ C ) )
        = ( divide6384432771786456577ring_a @ A @ B ) ) ) ).

% div_mult_mult2
thf(fact_545_div__mult__mult2,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( C != zero_zero_nat )
     => ( ( divide_divide_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) )
        = ( divide_divide_nat @ A @ B ) ) ) ).

% div_mult_mult2
thf(fact_546_div__mult__mult1,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ C @ B ) )
        = ( divide972148758386938611ring_a @ A @ B ) ) ) ).

% div_mult_mult1
thf(fact_547_div__mult__mult1,axiom,
    ! [C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( C != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ C @ A ) @ ( times_3242606764180207630ring_a @ C @ B ) )
        = ( divide6384432771786456577ring_a @ A @ B ) ) ) ).

% div_mult_mult1
thf(fact_548_div__mult__mult1,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( C != zero_zero_nat )
     => ( ( divide_divide_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) )
        = ( divide_divide_nat @ A @ B ) ) ) ).

% div_mult_mult1
thf(fact_549_nonzero__mult__div__cancel__right,axiom,
    ! [B: poly_p2573953413498894561ring_a,A: poly_p2573953413498894561ring_a] :
      ( ( B != zero_z1364739659462972184ring_a )
     => ( ( divide7422858485133193231ring_a @ ( times_7678616233722469404ring_a @ A @ B ) @ B )
        = A ) ) ).

% nonzero_mult_div_cancel_right
thf(fact_550_nonzero__mult__div__cancel__right,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ B )
        = A ) ) ).

% nonzero_mult_div_cancel_right
thf(fact_551_nonzero__mult__div__cancel__right,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ B )
        = A ) ) ).

% nonzero_mult_div_cancel_right
thf(fact_552_nonzero__mult__div__cancel__right,axiom,
    ! [B: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( times_times_nat @ A @ B ) @ B )
        = A ) ) ).

% nonzero_mult_div_cancel_right
thf(fact_553_nonzero__mult__div__cancel__left,axiom,
    ! [A: poly_p2573953413498894561ring_a,B: poly_p2573953413498894561ring_a] :
      ( ( A != zero_z1364739659462972184ring_a )
     => ( ( divide7422858485133193231ring_a @ ( times_7678616233722469404ring_a @ A @ B ) @ A )
        = B ) ) ).

% nonzero_mult_div_cancel_left
thf(fact_554_nonzero__mult__div__cancel__left,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ A )
        = B ) ) ).

% nonzero_mult_div_cancel_left
thf(fact_555_nonzero__mult__div__cancel__left,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( A != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ A )
        = B ) ) ).

% nonzero_mult_div_cancel_left
thf(fact_556_nonzero__mult__div__cancel__left,axiom,
    ! [A: nat,B: nat] :
      ( ( A != zero_zero_nat )
     => ( ( divide_divide_nat @ ( times_times_nat @ A @ B ) @ A )
        = B ) ) ).

% nonzero_mult_div_cancel_left
thf(fact_557_div__self,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ A @ A )
        = one_on2109788427901206336ring_a ) ) ).

% div_self
thf(fact_558_div__self,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( A != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ A @ A )
        = one_on3394844594818161742ring_a ) ) ).

% div_self
thf(fact_559_div__self,axiom,
    ! [A: nat] :
      ( ( A != zero_zero_nat )
     => ( ( divide_divide_nat @ A @ A )
        = one_one_nat ) ) ).

% div_self
thf(fact_560_mod__by__1,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ A @ one_on2109788427901206336ring_a )
      = zero_z7902377541816115708ring_a ) ).

% mod_by_1
thf(fact_561_mod__by__1,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ A @ one_on3394844594818161742ring_a )
      = zero_z1830546546923837194ring_a ) ).

% mod_by_1
thf(fact_562_mod__by__1,axiom,
    ! [A: nat] :
      ( ( modulo_modulo_nat @ A @ one_one_nat )
      = zero_zero_nat ) ).

% mod_by_1
thf(fact_563_bits__mod__by__1,axiom,
    ! [A: nat] :
      ( ( modulo_modulo_nat @ A @ one_one_nat )
      = zero_zero_nat ) ).

% bits_mod_by_1
thf(fact_564_mod__div__trivial,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ ( modulo8308552932176287283ring_a @ A @ B ) @ B )
      = zero_z7902377541816115708ring_a ) ).

% mod_div_trivial
thf(fact_565_mod__div__trivial,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ ( modulo2591651872109920577ring_a @ A @ B ) @ B )
      = zero_z1830546546923837194ring_a ) ).

% mod_div_trivial
thf(fact_566_mod__div__trivial,axiom,
    ! [A: nat,B: nat] :
      ( ( divide_divide_nat @ ( modulo_modulo_nat @ A @ B ) @ B )
      = zero_zero_nat ) ).

% mod_div_trivial
thf(fact_567_bits__mod__div__trivial,axiom,
    ! [A: nat,B: nat] :
      ( ( divide_divide_nat @ ( modulo_modulo_nat @ A @ B ) @ B )
      = zero_zero_nat ) ).

% bits_mod_div_trivial
thf(fact_568_coeff__0,axiom,
    ! [N: nat] :
      ( ( coeff_7919988552178873973ring_a @ zero_z1364739659462972184ring_a @ N )
      = zero_z1830546546923837194ring_a ) ).

% coeff_0
thf(fact_569_coeff__0,axiom,
    ! [N: nat] :
      ( ( coeff_poly_nat @ zero_z3289306709065865449ly_nat @ N )
      = zero_zero_poly_nat ) ).

% coeff_0
thf(fact_570_coeff__0,axiom,
    ! [N: nat] :
      ( ( coeff_4994007371902938806ps_nat @ zero_z1042303698505161193ps_nat @ N )
      = zero_z8531573698755551073ps_nat ) ).

% coeff_0
thf(fact_571_coeff__0,axiom,
    ! [N: nat] :
      ( ( coeff_1607515655354303335ring_a @ zero_z1830546546923837194ring_a @ N )
      = zero_z7902377541816115708ring_a ) ).

% coeff_0
thf(fact_572_coeff__0,axiom,
    ! [N: nat] :
      ( ( coeff_nat @ zero_zero_poly_nat @ N )
      = zero_zero_nat ) ).

% coeff_0
thf(fact_573_coeff__add,axiom,
    ! [P3: poly_p2573953413498894561ring_a,Q2: poly_p2573953413498894561ring_a,N: nat] :
      ( ( coeff_7919988552178873973ring_a @ ( plus_p7801688469192607896ring_a @ P3 @ Q2 ) @ N )
      = ( plus_p7290290253215468682ring_a @ ( coeff_7919988552178873973ring_a @ P3 @ N ) @ ( coeff_7919988552178873973ring_a @ Q2 @ N ) ) ) ).

% coeff_add
thf(fact_574_coeff__add,axiom,
    ! [P3: poly_poly_nat,Q2: poly_poly_nat,N: nat] :
      ( ( coeff_poly_nat @ ( plus_p6665843690380149609ly_nat @ P3 @ Q2 ) @ N )
      = ( plus_plus_poly_nat @ ( coeff_poly_nat @ P3 @ N ) @ ( coeff_poly_nat @ Q2 @ N ) ) ) ).

% coeff_add
thf(fact_575_coeff__add,axiom,
    ! [P3: poly_F1712242100642103904ps_nat,Q2: poly_F1712242100642103904ps_nat,N: nat] :
      ( ( coeff_4994007371902938806ps_nat @ ( plus_p6413323981391283305ps_nat @ P3 @ Q2 ) @ N )
      = ( plus_p6043471806551771617ps_nat @ ( coeff_4994007371902938806ps_nat @ P3 @ N ) @ ( coeff_4994007371902938806ps_nat @ Q2 @ N ) ) ) ).

% coeff_add
thf(fact_576_coeff__add,axiom,
    ! [P3: poly_F3299452240248304339ring_a,Q2: poly_F3299452240248304339ring_a,N: nat] :
      ( ( coeff_1607515655354303335ring_a @ ( plus_p7290290253215468682ring_a @ P3 @ Q2 ) @ N )
      = ( plus_p6165643967897163644ring_a @ ( coeff_1607515655354303335ring_a @ P3 @ N ) @ ( coeff_1607515655354303335ring_a @ Q2 @ N ) ) ) ).

% coeff_add
thf(fact_577_coeff__add,axiom,
    ! [P3: poly_nat,Q2: poly_nat,N: nat] :
      ( ( coeff_nat @ ( plus_plus_poly_nat @ P3 @ Q2 ) @ N )
      = ( plus_plus_nat @ ( coeff_nat @ P3 @ N ) @ ( coeff_nat @ Q2 @ N ) ) ) ).

% coeff_add
thf(fact_578_poly__cutoff__1,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( poly_c8149583573515411563ring_a @ N @ one_on3394844594818161742ring_a )
          = zero_z1830546546923837194ring_a ) )
      & ( ( N != zero_zero_nat )
       => ( ( poly_c8149583573515411563ring_a @ N @ one_on3394844594818161742ring_a )
          = one_on3394844594818161742ring_a ) ) ) ).

% poly_cutoff_1
thf(fact_579_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_580_div__mult__self4,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ B @ C ) @ A ) @ B )
        = ( plus_p6165643967897163644ring_a @ C @ ( divide972148758386938611ring_a @ A @ B ) ) ) ) ).

% div_mult_self4
thf(fact_581_div__mult__self4,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ B @ C ) @ A ) @ B )
        = ( plus_p7290290253215468682ring_a @ C @ ( divide6384432771786456577ring_a @ A @ B ) ) ) ) ).

% div_mult_self4
thf(fact_582_div__mult__self4,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ ( times_times_nat @ B @ C ) @ A ) @ B )
        = ( plus_plus_nat @ C @ ( divide_divide_nat @ A @ B ) ) ) ) ).

% div_mult_self4
thf(fact_583_one__reorient,axiom,
    ! [X: poly_F3299452240248304339ring_a] :
      ( ( one_on3394844594818161742ring_a = X )
      = ( X = one_on3394844594818161742ring_a ) ) ).

% one_reorient
thf(fact_584_one__reorient,axiom,
    ! [X: formal_Power_fps_nat] :
      ( ( one_on3350087005236239133ps_nat = X )
      = ( X = one_on3350087005236239133ps_nat ) ) ).

% one_reorient
thf(fact_585_one__reorient,axiom,
    ! [X: formal8450108040061743841ring_a] :
      ( ( one_on3584675865978100700ring_a = X )
      = ( X = one_on3584675865978100700ring_a ) ) ).

% one_reorient
thf(fact_586_one__reorient,axiom,
    ! [X: nat] :
      ( ( one_one_nat = X )
      = ( X = one_one_nat ) ) ).

% one_reorient
thf(fact_587_eq__to__qr,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( X = Y )
     => ( ( kyber_to_qr_a @ X )
        = ( kyber_to_qr_a @ Y ) ) ) ).

% eq_to_qr
thf(fact_588_poly__eq__iff,axiom,
    ( ( ^ [Y4: poly_nat,Z2: poly_nat] : ( Y4 = Z2 ) )
    = ( ^ [P4: poly_nat,Q3: poly_nat] :
        ! [N2: nat] :
          ( ( coeff_nat @ P4 @ N2 )
          = ( coeff_nat @ Q3 @ N2 ) ) ) ) ).

% poly_eq_iff
thf(fact_589_poly__eq__iff,axiom,
    ( ( ^ [Y4: poly_p2573953413498894561ring_a,Z2: poly_p2573953413498894561ring_a] : ( Y4 = Z2 ) )
    = ( ^ [P4: poly_p2573953413498894561ring_a,Q3: poly_p2573953413498894561ring_a] :
        ! [N2: nat] :
          ( ( coeff_7919988552178873973ring_a @ P4 @ N2 )
          = ( coeff_7919988552178873973ring_a @ Q3 @ N2 ) ) ) ) ).

% poly_eq_iff
thf(fact_590_poly__eq__iff,axiom,
    ( ( ^ [Y4: poly_F3299452240248304339ring_a,Z2: poly_F3299452240248304339ring_a] : ( Y4 = Z2 ) )
    = ( ^ [P4: poly_F3299452240248304339ring_a,Q3: poly_F3299452240248304339ring_a] :
        ! [N2: nat] :
          ( ( coeff_1607515655354303335ring_a @ P4 @ N2 )
          = ( coeff_1607515655354303335ring_a @ Q3 @ N2 ) ) ) ) ).

% poly_eq_iff
thf(fact_591_poly__eqI,axiom,
    ! [P3: poly_nat,Q2: poly_nat] :
      ( ! [N3: nat] :
          ( ( coeff_nat @ P3 @ N3 )
          = ( coeff_nat @ Q2 @ N3 ) )
     => ( P3 = Q2 ) ) ).

% poly_eqI
thf(fact_592_poly__eqI,axiom,
    ! [P3: poly_p2573953413498894561ring_a,Q2: poly_p2573953413498894561ring_a] :
      ( ! [N3: nat] :
          ( ( coeff_7919988552178873973ring_a @ P3 @ N3 )
          = ( coeff_7919988552178873973ring_a @ Q2 @ N3 ) )
     => ( P3 = Q2 ) ) ).

% poly_eqI
thf(fact_593_poly__eqI,axiom,
    ! [P3: poly_F3299452240248304339ring_a,Q2: poly_F3299452240248304339ring_a] :
      ( ! [N3: nat] :
          ( ( coeff_1607515655354303335ring_a @ P3 @ N3 )
          = ( coeff_1607515655354303335ring_a @ Q2 @ N3 ) )
     => ( P3 = Q2 ) ) ).

% poly_eqI
thf(fact_594_coeff__inject,axiom,
    ! [X: poly_nat,Y: poly_nat] :
      ( ( ( coeff_nat @ X )
        = ( coeff_nat @ Y ) )
      = ( X = Y ) ) ).

% coeff_inject
thf(fact_595_coeff__inject,axiom,
    ! [X: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a] :
      ( ( ( coeff_7919988552178873973ring_a @ X )
        = ( coeff_7919988552178873973ring_a @ Y ) )
      = ( X = Y ) ) ).

% coeff_inject
thf(fact_596_coeff__inject,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ X )
        = ( coeff_1607515655354303335ring_a @ Y ) )
      = ( X = Y ) ) ).

% coeff_inject
thf(fact_597_div__add__self1,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ B @ A ) @ B )
        = ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ one_on2109788427901206336ring_a ) ) ) ).

% div_add_self1
thf(fact_598_div__add__self1,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ B @ A ) @ B )
        = ( plus_p7290290253215468682ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ one_on3394844594818161742ring_a ) ) ) ).

% div_add_self1
thf(fact_599_div__add__self1,axiom,
    ! [B: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ B @ A ) @ B )
        = ( plus_plus_nat @ ( divide_divide_nat @ A @ B ) @ one_one_nat ) ) ) ).

% div_add_self1
thf(fact_600_div__add__self2,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ B )
        = ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ one_on2109788427901206336ring_a ) ) ) ).

% div_add_self2
thf(fact_601_div__add__self2,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( B != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ B )
        = ( plus_p7290290253215468682ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ one_on3394844594818161742ring_a ) ) ) ).

% div_add_self2
thf(fact_602_div__add__self2,axiom,
    ! [B: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ A @ B ) @ B )
        = ( plus_plus_nat @ ( divide_divide_nat @ A @ B ) @ one_one_nat ) ) ) ).

% div_add_self2
thf(fact_603_divide__poly__0,axiom,
    ! [F: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ F @ zero_z1830546546923837194ring_a )
      = zero_z1830546546923837194ring_a ) ).

% divide_poly_0
thf(fact_604_zero__neq__one,axiom,
    zero_z678313208903408792ring_a != one_on3584675865978100700ring_a ).

% zero_neq_one
thf(fact_605_zero__neq__one,axiom,
    zero_z1830546546923837194ring_a != one_on3394844594818161742ring_a ).

% zero_neq_one
thf(fact_606_zero__neq__one,axiom,
    zero_z7902377541816115708ring_a != one_on2109788427901206336ring_a ).

% zero_neq_one
thf(fact_607_zero__neq__one,axiom,
    zero_zero_poly_nat != one_one_poly_nat ).

% zero_neq_one
thf(fact_608_zero__neq__one,axiom,
    zero_z8531573698755551073ps_nat != one_on3350087005236239133ps_nat ).

% zero_neq_one
thf(fact_609_zero__neq__one,axiom,
    zero_zero_nat != one_one_nat ).

% zero_neq_one
thf(fact_610_mult_Ocomm__neutral,axiom,
    ! [A: poly_nat] :
      ( ( times_times_poly_nat @ A @ one_one_poly_nat )
      = A ) ).

% mult.comm_neutral
thf(fact_611_mult_Ocomm__neutral,axiom,
    ! [A: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ A @ one_on1339691373306511452ring_a )
      = A ) ).

% mult.comm_neutral
thf(fact_612_mult_Ocomm__neutral,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ A @ one_on2109788427901206336ring_a )
      = A ) ).

% mult.comm_neutral
thf(fact_613_mult_Ocomm__neutral,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ A @ one_on3350087005236239133ps_nat )
      = A ) ).

% mult.comm_neutral
thf(fact_614_mult_Ocomm__neutral,axiom,
    ! [A: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ A @ one_on3584675865978100700ring_a )
      = A ) ).

% mult.comm_neutral
thf(fact_615_mult_Ocomm__neutral,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ A @ one_on3394844594818161742ring_a )
      = A ) ).

% mult.comm_neutral
thf(fact_616_mult_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ one_one_nat )
      = A ) ).

% mult.comm_neutral
thf(fact_617_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_618_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: poly_p2573953413498894561ring_a] :
      ( ( times_7678616233722469404ring_a @ one_on1339691373306511452ring_a @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_619_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ one_on2109788427901206336ring_a @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_620_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ one_on3350087005236239133ps_nat @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_621_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ one_on3584675865978100700ring_a @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_622_comm__monoid__mult__class_Omult__1,axiom,
    ! [A: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ one_on3394844594818161742ring_a @ A )
      = A ) ).

% comm_monoid_mult_class.mult_1
thf(fact_623_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_624_poly__div__mult__right,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ X @ ( times_3242606764180207630ring_a @ Y @ Z ) )
      = ( divide6384432771786456577ring_a @ ( divide6384432771786456577ring_a @ X @ Y ) @ Z ) ) ).

% poly_div_mult_right
thf(fact_625_poly__div__add__left,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ X @ Y ) @ Z )
      = ( plus_p7290290253215468682ring_a @ ( divide6384432771786456577ring_a @ X @ Z ) @ ( divide6384432771786456577ring_a @ Y @ Z ) ) ) ).

% poly_div_add_left
thf(fact_626_coprime__1__left,axiom,
    ! [A: poly_F3299452240248304339ring_a] : ( algebr2819680875720522014ring_a @ one_on3394844594818161742ring_a @ A ) ).

% coprime_1_left
thf(fact_627_coprime__1__left,axiom,
    ! [A: nat] : ( algebr934650988132801477me_nat @ one_one_nat @ A ) ).

% coprime_1_left
thf(fact_628_coprime__1__right,axiom,
    ! [A: poly_F3299452240248304339ring_a] : ( algebr2819680875720522014ring_a @ A @ one_on3394844594818161742ring_a ) ).

% coprime_1_right
thf(fact_629_coprime__1__right,axiom,
    ! [A: nat] : ( algebr934650988132801477me_nat @ A @ one_one_nat ) ).

% coprime_1_right
thf(fact_630_cong__1,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] : ( unique1634774806376436639ring_a @ B @ C @ one_on3394844594818161742ring_a ) ).

% cong_1
thf(fact_631_cong__1,axiom,
    ! [B: nat,C: nat] : ( unique653641344996303876ng_nat @ B @ C @ one_one_nat ) ).

% cong_1
thf(fact_632_Kyber__spec_Oone__qr_Orsp,axiom,
    kyber_qr_rel_a @ one_on3394844594818161742ring_a @ one_on3394844594818161742ring_a ).

% Kyber_spec.one_qr.rsp
thf(fact_633_zero__poly_Orep__eq,axiom,
    ( ( coeff_7919988552178873973ring_a @ zero_z1364739659462972184ring_a )
    = ( ^ [Uu: nat] : zero_z1830546546923837194ring_a ) ) ).

% zero_poly.rep_eq
thf(fact_634_zero__poly_Orep__eq,axiom,
    ( ( coeff_poly_nat @ zero_z3289306709065865449ly_nat )
    = ( ^ [Uu: nat] : zero_zero_poly_nat ) ) ).

% zero_poly.rep_eq
thf(fact_635_zero__poly_Orep__eq,axiom,
    ( ( coeff_4994007371902938806ps_nat @ zero_z1042303698505161193ps_nat )
    = ( ^ [Uu: nat] : zero_z8531573698755551073ps_nat ) ) ).

% zero_poly.rep_eq
thf(fact_636_zero__poly_Orep__eq,axiom,
    ( ( coeff_1607515655354303335ring_a @ zero_z1830546546923837194ring_a )
    = ( ^ [Uu: nat] : zero_z7902377541816115708ring_a ) ) ).

% zero_poly.rep_eq
thf(fact_637_zero__poly_Orep__eq,axiom,
    ( ( coeff_nat @ zero_zero_poly_nat )
    = ( ^ [Uu: nat] : zero_zero_nat ) ) ).

% zero_poly.rep_eq
thf(fact_638_mod__eq__self__iff__div__eq__0,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ A @ B )
        = A )
      = ( ( divide972148758386938611ring_a @ A @ B )
        = zero_z7902377541816115708ring_a ) ) ).

% mod_eq_self_iff_div_eq_0
thf(fact_639_mod__eq__self__iff__div__eq__0,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( ( modulo2591651872109920577ring_a @ A @ B )
        = A )
      = ( ( divide6384432771786456577ring_a @ A @ B )
        = zero_z1830546546923837194ring_a ) ) ).

% mod_eq_self_iff_div_eq_0
thf(fact_640_mod__eq__self__iff__div__eq__0,axiom,
    ! [A: nat,B: nat] :
      ( ( ( modulo_modulo_nat @ A @ B )
        = A )
      = ( ( divide_divide_nat @ A @ B )
        = zero_zero_nat ) ) ).

% mod_eq_self_iff_div_eq_0
thf(fact_641_plus__poly_Orep__eq,axiom,
    ! [X: poly_p2573953413498894561ring_a,Xa: poly_p2573953413498894561ring_a] :
      ( ( coeff_7919988552178873973ring_a @ ( plus_p7801688469192607896ring_a @ X @ Xa ) )
      = ( ^ [N2: nat] : ( plus_p7290290253215468682ring_a @ ( coeff_7919988552178873973ring_a @ X @ N2 ) @ ( coeff_7919988552178873973ring_a @ Xa @ N2 ) ) ) ) ).

% plus_poly.rep_eq
thf(fact_642_plus__poly_Orep__eq,axiom,
    ! [X: poly_poly_nat,Xa: poly_poly_nat] :
      ( ( coeff_poly_nat @ ( plus_p6665843690380149609ly_nat @ X @ Xa ) )
      = ( ^ [N2: nat] : ( plus_plus_poly_nat @ ( coeff_poly_nat @ X @ N2 ) @ ( coeff_poly_nat @ Xa @ N2 ) ) ) ) ).

% plus_poly.rep_eq
thf(fact_643_plus__poly_Orep__eq,axiom,
    ! [X: poly_F1712242100642103904ps_nat,Xa: poly_F1712242100642103904ps_nat] :
      ( ( coeff_4994007371902938806ps_nat @ ( plus_p6413323981391283305ps_nat @ X @ Xa ) )
      = ( ^ [N2: nat] : ( plus_p6043471806551771617ps_nat @ ( coeff_4994007371902938806ps_nat @ X @ N2 ) @ ( coeff_4994007371902938806ps_nat @ Xa @ N2 ) ) ) ) ).

% plus_poly.rep_eq
thf(fact_644_plus__poly_Orep__eq,axiom,
    ! [X: poly_F3299452240248304339ring_a,Xa: poly_F3299452240248304339ring_a] :
      ( ( coeff_1607515655354303335ring_a @ ( plus_p7290290253215468682ring_a @ X @ Xa ) )
      = ( ^ [N2: nat] : ( plus_p6165643967897163644ring_a @ ( coeff_1607515655354303335ring_a @ X @ N2 ) @ ( coeff_1607515655354303335ring_a @ Xa @ N2 ) ) ) ) ).

% plus_poly.rep_eq
thf(fact_645_plus__poly_Orep__eq,axiom,
    ! [X: poly_nat,Xa: poly_nat] :
      ( ( coeff_nat @ ( plus_plus_poly_nat @ X @ Xa ) )
      = ( ^ [N2: nat] : ( plus_plus_nat @ ( coeff_nat @ X @ N2 ) @ ( coeff_nat @ Xa @ N2 ) ) ) ) ).

% plus_poly.rep_eq
thf(fact_646_div__add1__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ A @ C ) @ ( divide972148758386938611ring_a @ B @ C ) ) @ ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ ( modulo8308552932176287283ring_a @ A @ C ) @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C ) ) ) ).

% div_add1_eq
thf(fact_647_div__add1__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ A @ B ) @ C )
      = ( plus_p7290290253215468682ring_a @ ( plus_p7290290253215468682ring_a @ ( divide6384432771786456577ring_a @ A @ C ) @ ( divide6384432771786456577ring_a @ B @ C ) ) @ ( divide6384432771786456577ring_a @ ( plus_p7290290253215468682ring_a @ ( modulo2591651872109920577ring_a @ A @ C ) @ ( modulo2591651872109920577ring_a @ B @ C ) ) @ C ) ) ) ).

% div_add1_eq
thf(fact_648_div__add1__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( divide_divide_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ ( plus_plus_nat @ ( divide_divide_nat @ A @ C ) @ ( divide_divide_nat @ B @ C ) ) @ ( divide_divide_nat @ ( plus_plus_nat @ ( modulo_modulo_nat @ A @ C ) @ ( modulo_modulo_nat @ B @ C ) ) @ C ) ) ) ).

% div_add1_eq
thf(fact_649_divide__poly,axiom,
    ! [G: poly_p2573953413498894561ring_a,F: poly_p2573953413498894561ring_a] :
      ( ( G != zero_z1364739659462972184ring_a )
     => ( ( divide7422858485133193231ring_a @ ( times_7678616233722469404ring_a @ F @ G ) @ G )
        = F ) ) ).

% divide_poly
thf(fact_650_divide__poly,axiom,
    ! [G: poly_F3299452240248304339ring_a,F: poly_F3299452240248304339ring_a] :
      ( ( G != zero_z1830546546923837194ring_a )
     => ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ F @ G ) @ G )
        = F ) ) ).

% divide_poly
thf(fact_651_coprime__add__one__left,axiom,
    ! [A: finite_mod_ring_a] : ( algebr1057500623109291024ring_a @ ( plus_p6165643967897163644ring_a @ A @ one_on2109788427901206336ring_a ) @ A ) ).

% coprime_add_one_left
thf(fact_652_coprime__add__one__left,axiom,
    ! [A: poly_F3299452240248304339ring_a] : ( algebr2819680875720522014ring_a @ ( plus_p7290290253215468682ring_a @ A @ one_on3394844594818161742ring_a ) @ A ) ).

% coprime_add_one_left
thf(fact_653_coprime__add__one__left,axiom,
    ! [A: nat] : ( algebr934650988132801477me_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ A ) ).

% coprime_add_one_left
thf(fact_654_coprime__add__one__right,axiom,
    ! [A: finite_mod_ring_a] : ( algebr1057500623109291024ring_a @ A @ ( plus_p6165643967897163644ring_a @ A @ one_on2109788427901206336ring_a ) ) ).

% coprime_add_one_right
thf(fact_655_coprime__add__one__right,axiom,
    ! [A: poly_F3299452240248304339ring_a] : ( algebr2819680875720522014ring_a @ A @ ( plus_p7290290253215468682ring_a @ A @ one_on3394844594818161742ring_a ) ) ).

% coprime_add_one_right
thf(fact_656_coprime__add__one__right,axiom,
    ! [A: nat] : ( algebr934650988132801477me_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% coprime_add_one_right
thf(fact_657_to__qr_Oabs__eq,axiom,
    kyber_to_qr_a = kyber_abs_qr_a ).

% to_qr.abs_eq
thf(fact_658_div__mult1__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ ( divide972148758386938611ring_a @ B @ C ) ) @ ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C ) ) ) ).

% div_mult1_eq
thf(fact_659_div__mult1__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ ( divide6384432771786456577ring_a @ B @ C ) ) @ ( divide6384432771786456577ring_a @ ( times_3242606764180207630ring_a @ A @ ( modulo2591651872109920577ring_a @ B @ C ) ) @ C ) ) ) ).

% div_mult1_eq
thf(fact_660_div__mult1__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( divide_divide_nat @ ( times_times_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ ( times_times_nat @ A @ ( divide_divide_nat @ B @ C ) ) @ ( divide_divide_nat @ ( times_times_nat @ A @ ( modulo_modulo_nat @ B @ C ) ) @ C ) ) ) ).

% div_mult1_eq
thf(fact_661_mult__div__mod__eq,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ B @ ( divide972148758386938611ring_a @ A @ B ) ) @ ( modulo8308552932176287283ring_a @ A @ B ) )
      = A ) ).

% mult_div_mod_eq
thf(fact_662_mult__div__mod__eq,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ B @ ( divide6384432771786456577ring_a @ A @ B ) ) @ ( modulo2591651872109920577ring_a @ A @ B ) )
      = A ) ).

% mult_div_mod_eq
thf(fact_663_mult__div__mod__eq,axiom,
    ! [B: nat,A: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ B @ ( divide_divide_nat @ A @ B ) ) @ ( modulo_modulo_nat @ A @ B ) )
      = A ) ).

% mult_div_mod_eq
thf(fact_664_mod__mult__div__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( modulo8308552932176287283ring_a @ A @ B ) @ ( times_5121417576591743744ring_a @ B @ ( divide972148758386938611ring_a @ A @ B ) ) )
      = A ) ).

% mod_mult_div_eq
thf(fact_665_mod__mult__div__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( modulo2591651872109920577ring_a @ A @ B ) @ ( times_3242606764180207630ring_a @ B @ ( divide6384432771786456577ring_a @ A @ B ) ) )
      = A ) ).

% mod_mult_div_eq
thf(fact_666_mod__mult__div__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( plus_plus_nat @ ( modulo_modulo_nat @ A @ B ) @ ( times_times_nat @ B @ ( divide_divide_nat @ A @ B ) ) )
      = A ) ).

% mod_mult_div_eq
thf(fact_667_mod__div__mult__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( modulo8308552932176287283ring_a @ A @ B ) @ ( times_5121417576591743744ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ B ) )
      = A ) ).

% mod_div_mult_eq
thf(fact_668_mod__div__mult__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( modulo2591651872109920577ring_a @ A @ B ) @ ( times_3242606764180207630ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ B ) )
      = A ) ).

% mod_div_mult_eq
thf(fact_669_mod__div__mult__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( plus_plus_nat @ ( modulo_modulo_nat @ A @ B ) @ ( times_times_nat @ ( divide_divide_nat @ A @ B ) @ B ) )
      = A ) ).

% mod_div_mult_eq
thf(fact_670_div__mult__mod__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ B ) @ ( modulo8308552932176287283ring_a @ A @ B ) )
      = A ) ).

% div_mult_mod_eq
thf(fact_671_div__mult__mod__eq,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ B ) @ ( modulo2591651872109920577ring_a @ A @ B ) )
      = A ) ).

% div_mult_mod_eq
thf(fact_672_div__mult__mod__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ ( divide_divide_nat @ A @ B ) @ B ) @ ( modulo_modulo_nat @ A @ B ) )
      = A ) ).

% div_mult_mod_eq
thf(fact_673_mod__div__decomp,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( A
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ B ) @ ( modulo8308552932176287283ring_a @ A @ B ) ) ) ).

% mod_div_decomp
thf(fact_674_mod__div__decomp,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( A
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ B ) @ ( modulo2591651872109920577ring_a @ A @ B ) ) ) ).

% mod_div_decomp
thf(fact_675_mod__div__decomp,axiom,
    ! [A: nat,B: nat] :
      ( A
      = ( plus_plus_nat @ ( times_times_nat @ ( divide_divide_nat @ A @ B ) @ B ) @ ( modulo_modulo_nat @ A @ B ) ) ) ).

% mod_div_decomp
thf(fact_676_cancel__div__mod__rules_I1_J,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ B ) @ ( modulo8308552932176287283ring_a @ A @ B ) ) @ C )
      = ( plus_p6165643967897163644ring_a @ A @ C ) ) ).

% cancel_div_mod_rules(1)
thf(fact_677_cancel__div__mod__rules_I1_J,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ B ) @ ( modulo2591651872109920577ring_a @ A @ B ) ) @ C )
      = ( plus_p7290290253215468682ring_a @ A @ C ) ) ).

% cancel_div_mod_rules(1)
thf(fact_678_cancel__div__mod__rules_I1_J,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ ( times_times_nat @ ( divide_divide_nat @ A @ B ) @ B ) @ ( modulo_modulo_nat @ A @ B ) ) @ C )
      = ( plus_plus_nat @ A @ C ) ) ).

% cancel_div_mod_rules(1)
thf(fact_679_cancel__div__mod__rules_I2_J,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( plus_p6165643967897163644ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ B @ ( divide972148758386938611ring_a @ A @ B ) ) @ ( modulo8308552932176287283ring_a @ A @ B ) ) @ C )
      = ( plus_p6165643967897163644ring_a @ A @ C ) ) ).

% cancel_div_mod_rules(2)
thf(fact_680_cancel__div__mod__rules_I2_J,axiom,
    ! [B: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( plus_p7290290253215468682ring_a @ ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ B @ ( divide6384432771786456577ring_a @ A @ B ) ) @ ( modulo2591651872109920577ring_a @ A @ B ) ) @ C )
      = ( plus_p7290290253215468682ring_a @ A @ C ) ) ).

% cancel_div_mod_rules(2)
thf(fact_681_cancel__div__mod__rules_I2_J,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ ( times_times_nat @ B @ ( divide_divide_nat @ A @ B ) ) @ ( modulo_modulo_nat @ A @ B ) ) @ C )
      = ( plus_plus_nat @ A @ C ) ) ).

% cancel_div_mod_rules(2)
thf(fact_682_invertible__coprime,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C )
        = one_on2109788427901206336ring_a )
     => ( algebr1057500623109291024ring_a @ A @ C ) ) ).

% invertible_coprime
thf(fact_683_invertible__coprime,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( ( modulo2591651872109920577ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ C )
        = one_on3394844594818161742ring_a )
     => ( algebr2819680875720522014ring_a @ A @ C ) ) ).

% invertible_coprime
thf(fact_684_poly__mod__mult__right,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] :
      ( ( modulo2591651872109920577ring_a @ X @ ( times_3242606764180207630ring_a @ Y @ Z ) )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ Y @ ( modulo2591651872109920577ring_a @ ( divide6384432771786456577ring_a @ X @ Y ) @ Z ) ) @ ( modulo2591651872109920577ring_a @ X @ Y ) ) ) ).

% poly_mod_mult_right
thf(fact_685_nonzero__divide__mult__cancel__right,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ B @ ( times_5121417576591743744ring_a @ A @ B ) )
        = ( divide972148758386938611ring_a @ one_on2109788427901206336ring_a @ A ) ) ) ).

% nonzero_divide_mult_cancel_right
thf(fact_686_nonzero__divide__mult__cancel__left,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ A @ ( times_5121417576591743744ring_a @ A @ B ) )
        = ( divide972148758386938611ring_a @ one_on2109788427901206336ring_a @ B ) ) ) ).

% nonzero_divide_mult_cancel_left
thf(fact_687_divide__self__if,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( ( A = zero_z7902377541816115708ring_a )
       => ( ( divide972148758386938611ring_a @ A @ A )
          = zero_z7902377541816115708ring_a ) )
      & ( ( A != zero_z7902377541816115708ring_a )
       => ( ( divide972148758386938611ring_a @ A @ A )
          = one_on2109788427901206336ring_a ) ) ) ).

% divide_self_if
thf(fact_688_divide__self,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ A @ A )
        = one_on2109788427901206336ring_a ) ) ).

% divide_self
thf(fact_689_one__eq__divide__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( one_on2109788427901206336ring_a
        = ( divide972148758386938611ring_a @ A @ B ) )
      = ( ( B != zero_z7902377541816115708ring_a )
        & ( A = B ) ) ) ).

% one_eq_divide_iff
thf(fact_690_division__ring__divide__zero,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ A @ zero_z7902377541816115708ring_a )
      = zero_z7902377541816115708ring_a ) ).

% division_ring_divide_zero
thf(fact_691_divide__cancel__right,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( divide972148758386938611ring_a @ A @ C )
        = ( divide972148758386938611ring_a @ B @ C ) )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( A = B ) ) ) ).

% divide_cancel_right
thf(fact_692_divide__cancel__left,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( divide972148758386938611ring_a @ C @ A )
        = ( divide972148758386938611ring_a @ C @ B ) )
      = ( ( C = zero_z7902377541816115708ring_a )
        | ( A = B ) ) ) ).

% divide_cancel_left
thf(fact_693_divide__eq__0__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( divide972148758386938611ring_a @ A @ B )
        = zero_z7902377541816115708ring_a )
      = ( ( A = zero_z7902377541816115708ring_a )
        | ( B = zero_z7902377541816115708ring_a ) ) ) ).

% divide_eq_0_iff
thf(fact_694_times__divide__eq__left,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ ( divide972148758386938611ring_a @ B @ C ) @ A )
      = ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ B @ A ) @ C ) ) ).

% times_divide_eq_left
thf(fact_695_divide__divide__eq__left,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ C )
      = ( divide972148758386938611ring_a @ A @ ( times_5121417576591743744ring_a @ B @ C ) ) ) ).

% divide_divide_eq_left
thf(fact_696_divide__divide__eq__right,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ A @ ( divide972148758386938611ring_a @ B @ C ) )
      = ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ B ) ) ).

% divide_divide_eq_right
thf(fact_697_times__divide__eq__right,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ A @ ( divide972148758386938611ring_a @ B @ C ) )
      = ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ B ) @ C ) ) ).

% times_divide_eq_right
thf(fact_698_mult__divide__mult__cancel__left__if,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( C = zero_z7902377541816115708ring_a )
       => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ C @ B ) )
          = zero_z7902377541816115708ring_a ) )
      & ( ( C != zero_z7902377541816115708ring_a )
       => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ C @ B ) )
          = ( divide972148758386938611ring_a @ A @ B ) ) ) ) ).

% mult_divide_mult_cancel_left_if
thf(fact_699_nonzero__mult__divide__mult__cancel__left,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ C @ B ) )
        = ( divide972148758386938611ring_a @ A @ B ) ) ) ).

% nonzero_mult_divide_mult_cancel_left
thf(fact_700_nonzero__mult__divide__mult__cancel__left2,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ C @ A ) @ ( times_5121417576591743744ring_a @ B @ C ) )
        = ( divide972148758386938611ring_a @ A @ B ) ) ) ).

% nonzero_mult_divide_mult_cancel_left2
thf(fact_701_nonzero__mult__divide__mult__cancel__right,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ B @ C ) )
        = ( divide972148758386938611ring_a @ A @ B ) ) ) ).

% nonzero_mult_divide_mult_cancel_right
thf(fact_702_nonzero__mult__divide__mult__cancel__right2,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ A @ C ) @ ( times_5121417576591743744ring_a @ C @ B ) )
        = ( divide972148758386938611ring_a @ A @ B ) ) ) ).

% nonzero_mult_divide_mult_cancel_right2
thf(fact_703_divide__eq__1__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( divide972148758386938611ring_a @ A @ B )
        = one_on2109788427901206336ring_a )
      = ( ( B != zero_z7902377541816115708ring_a )
        & ( A = B ) ) ) ).

% divide_eq_1_iff
thf(fact_704_fps__one__mult_I1_J,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ one_on3350087005236239133ps_nat @ F )
      = F ) ).

% fps_one_mult(1)
thf(fact_705_fps__one__mult_I1_J,axiom,
    ! [F: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ one_on3584675865978100700ring_a @ F )
      = F ) ).

% fps_one_mult(1)
thf(fact_706_fps__one__mult_I2_J,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( times_7269705568686124893ps_nat @ F @ one_on3350087005236239133ps_nat )
      = F ) ).

% fps_one_mult(2)
thf(fact_707_fps__one__mult_I2_J,axiom,
    ! [F: formal8450108040061743841ring_a] :
      ( ( times_6867330870908917660ring_a @ F @ one_on3584675865978100700ring_a )
      = F ) ).

% fps_one_mult(2)
thf(fact_708_cong__0__1__nat,axiom,
    ! [N: nat] :
      ( ( unique653641344996303876ng_nat @ zero_zero_nat @ one_one_nat @ N )
      = ( N = one_one_nat ) ) ).

% cong_0_1_nat
thf(fact_709_cong__to__1_H__nat,axiom,
    ! [A: nat,N: nat] :
      ( ( unique653641344996303876ng_nat @ A @ one_one_nat @ N )
      = ( ( ( A = zero_zero_nat )
          & ( N = one_one_nat ) )
        | ? [M2: nat] :
            ( A
            = ( plus_plus_nat @ one_one_nat @ ( times_times_nat @ M2 @ N ) ) ) ) ) ).

% cong_to_1'_nat
thf(fact_710_cong__add__lcancel__0__nat,axiom,
    ! [A: nat,X: nat,N: nat] :
      ( ( unique653641344996303876ng_nat @ ( plus_plus_nat @ A @ X ) @ A @ N )
      = ( unique653641344996303876ng_nat @ X @ zero_zero_nat @ N ) ) ).

% cong_add_lcancel_0_nat
thf(fact_711_cong__add__rcancel__0__nat,axiom,
    ! [X: nat,A: nat,N: nat] :
      ( ( unique653641344996303876ng_nat @ ( plus_plus_nat @ X @ A ) @ A @ N )
      = ( unique653641344996303876ng_nat @ X @ zero_zero_nat @ N ) ) ).

% cong_add_rcancel_0_nat
thf(fact_712_Euclid__induct,axiom,
    ! [P2: nat > nat > $o,A: nat,B: nat] :
      ( ! [A5: nat,B5: nat] :
          ( ( P2 @ A5 @ B5 )
          = ( P2 @ B5 @ A5 ) )
     => ( ! [A5: nat] : ( P2 @ A5 @ zero_zero_nat )
       => ( ! [A5: nat,B5: nat] :
              ( ( P2 @ A5 @ B5 )
             => ( P2 @ A5 @ ( plus_plus_nat @ A5 @ B5 ) ) )
         => ( P2 @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_713_Kyber__spec_Oone__qr__def,axiom,
    ( one_one_Kyber_qr_a
    = ( kyber_abs_qr_a @ one_on3394844594818161742ring_a ) ) ).

% Kyber_spec.one_qr_def
thf(fact_714_Kyber__spec_Oone__qr_Otransfer,axiom,
    kyber_cr_qr_a @ one_on3394844594818161742ring_a @ one_one_Kyber_qr_a ).

% Kyber_spec.one_qr.transfer
thf(fact_715_divide__divide__eq__left_H,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ ( divide972148758386938611ring_a @ A @ B ) @ C )
      = ( divide972148758386938611ring_a @ A @ ( times_5121417576591743744ring_a @ C @ B ) ) ) ).

% divide_divide_eq_left'
thf(fact_716_divide__divide__times__eq,axiom,
    ! [X: finite_mod_ring_a,Y: finite_mod_ring_a,Z: finite_mod_ring_a,W: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ ( divide972148758386938611ring_a @ X @ Y ) @ ( divide972148758386938611ring_a @ Z @ W ) )
      = ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ X @ W ) @ ( times_5121417576591743744ring_a @ Y @ Z ) ) ) ).

% divide_divide_times_eq
thf(fact_717_times__divide__times__eq,axiom,
    ! [X: finite_mod_ring_a,Y: finite_mod_ring_a,Z: finite_mod_ring_a,W: finite_mod_ring_a] :
      ( ( times_5121417576591743744ring_a @ ( divide972148758386938611ring_a @ X @ Y ) @ ( divide972148758386938611ring_a @ Z @ W ) )
      = ( divide972148758386938611ring_a @ ( times_5121417576591743744ring_a @ X @ Z ) @ ( times_5121417576591743744ring_a @ Y @ W ) ) ) ).

% times_divide_times_eq
thf(fact_718_add__divide__distrib,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ A @ B ) @ C )
      = ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ A @ C ) @ ( divide972148758386938611ring_a @ B @ C ) ) ) ).

% add_divide_distrib
thf(fact_719_frac__eq__eq,axiom,
    ! [Y: finite_mod_ring_a,Z: finite_mod_ring_a,X: finite_mod_ring_a,W: finite_mod_ring_a] :
      ( ( Y != zero_z7902377541816115708ring_a )
     => ( ( Z != zero_z7902377541816115708ring_a )
       => ( ( ( divide972148758386938611ring_a @ X @ Y )
            = ( divide972148758386938611ring_a @ W @ Z ) )
          = ( ( times_5121417576591743744ring_a @ X @ Z )
            = ( times_5121417576591743744ring_a @ W @ Y ) ) ) ) ) ).

% frac_eq_eq
thf(fact_720_divide__eq__eq,axiom,
    ! [B: finite_mod_ring_a,C: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( ( divide972148758386938611ring_a @ B @ C )
        = A )
      = ( ( ( C != zero_z7902377541816115708ring_a )
         => ( B
            = ( times_5121417576591743744ring_a @ A @ C ) ) )
        & ( ( C = zero_z7902377541816115708ring_a )
         => ( A = zero_z7902377541816115708ring_a ) ) ) ) ).

% divide_eq_eq
thf(fact_721_eq__divide__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( A
        = ( divide972148758386938611ring_a @ B @ C ) )
      = ( ( ( C != zero_z7902377541816115708ring_a )
         => ( ( times_5121417576591743744ring_a @ A @ C )
            = B ) )
        & ( ( C = zero_z7902377541816115708ring_a )
         => ( A = zero_z7902377541816115708ring_a ) ) ) ) ).

% eq_divide_eq
thf(fact_722_divide__eq__imp,axiom,
    ! [C: finite_mod_ring_a,B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( B
          = ( times_5121417576591743744ring_a @ A @ C ) )
       => ( ( divide972148758386938611ring_a @ B @ C )
          = A ) ) ) ).

% divide_eq_imp
thf(fact_723_eq__divide__imp,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( ( times_5121417576591743744ring_a @ A @ C )
          = B )
       => ( A
          = ( divide972148758386938611ring_a @ B @ C ) ) ) ) ).

% eq_divide_imp
thf(fact_724_nonzero__divide__eq__eq,axiom,
    ! [C: finite_mod_ring_a,B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( ( divide972148758386938611ring_a @ B @ C )
          = A )
        = ( B
          = ( times_5121417576591743744ring_a @ A @ C ) ) ) ) ).

% nonzero_divide_eq_eq
thf(fact_725_nonzero__eq__divide__eq,axiom,
    ! [C: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( C != zero_z7902377541816115708ring_a )
     => ( ( A
          = ( divide972148758386938611ring_a @ B @ C ) )
        = ( ( times_5121417576591743744ring_a @ A @ C )
          = B ) ) ) ).

% nonzero_eq_divide_eq
thf(fact_726_right__inverse__eq,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( B != zero_z7902377541816115708ring_a )
     => ( ( ( divide972148758386938611ring_a @ A @ B )
          = one_on2109788427901206336ring_a )
        = ( A = B ) ) ) ).

% right_inverse_eq
thf(fact_727_add__divide__eq__if__simps_I2_J,axiom,
    ! [Z: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( Z = zero_z7902377541816115708ring_a )
       => ( ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ A @ Z ) @ B )
          = B ) )
      & ( ( Z != zero_z7902377541816115708ring_a )
       => ( ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ A @ Z ) @ B )
          = ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ A @ ( times_5121417576591743744ring_a @ B @ Z ) ) @ Z ) ) ) ) ).

% add_divide_eq_if_simps(2)
thf(fact_728_add__divide__eq__if__simps_I1_J,axiom,
    ! [Z: finite_mod_ring_a,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( Z = zero_z7902377541816115708ring_a )
       => ( ( plus_p6165643967897163644ring_a @ A @ ( divide972148758386938611ring_a @ B @ Z ) )
          = A ) )
      & ( ( Z != zero_z7902377541816115708ring_a )
       => ( ( plus_p6165643967897163644ring_a @ A @ ( divide972148758386938611ring_a @ B @ Z ) )
          = ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ A @ Z ) @ B ) @ Z ) ) ) ) ).

% add_divide_eq_if_simps(1)
thf(fact_729_add__frac__eq,axiom,
    ! [Y: finite_mod_ring_a,Z: finite_mod_ring_a,X: finite_mod_ring_a,W: finite_mod_ring_a] :
      ( ( Y != zero_z7902377541816115708ring_a )
     => ( ( Z != zero_z7902377541816115708ring_a )
       => ( ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ X @ Y ) @ ( divide972148758386938611ring_a @ W @ Z ) )
          = ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ X @ Z ) @ ( times_5121417576591743744ring_a @ W @ Y ) ) @ ( times_5121417576591743744ring_a @ Y @ Z ) ) ) ) ) ).

% add_frac_eq
thf(fact_730_add__frac__num,axiom,
    ! [Y: finite_mod_ring_a,X: finite_mod_ring_a,Z: finite_mod_ring_a] :
      ( ( Y != zero_z7902377541816115708ring_a )
     => ( ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ X @ Y ) @ Z )
        = ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ X @ ( times_5121417576591743744ring_a @ Z @ Y ) ) @ Y ) ) ) ).

% add_frac_num
thf(fact_731_add__num__frac,axiom,
    ! [Y: finite_mod_ring_a,Z: finite_mod_ring_a,X: finite_mod_ring_a] :
      ( ( Y != zero_z7902377541816115708ring_a )
     => ( ( plus_p6165643967897163644ring_a @ Z @ ( divide972148758386938611ring_a @ X @ Y ) )
        = ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ X @ ( times_5121417576591743744ring_a @ Z @ Y ) ) @ Y ) ) ) ).

% add_num_frac
thf(fact_732_add__divide__eq__iff,axiom,
    ! [Z: finite_mod_ring_a,X: finite_mod_ring_a,Y: finite_mod_ring_a] :
      ( ( Z != zero_z7902377541816115708ring_a )
     => ( ( plus_p6165643967897163644ring_a @ X @ ( divide972148758386938611ring_a @ Y @ Z ) )
        = ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ X @ Z ) @ Y ) @ Z ) ) ) ).

% add_divide_eq_iff
thf(fact_733_divide__add__eq__iff,axiom,
    ! [Z: finite_mod_ring_a,X: finite_mod_ring_a,Y: finite_mod_ring_a] :
      ( ( Z != zero_z7902377541816115708ring_a )
     => ( ( plus_p6165643967897163644ring_a @ ( divide972148758386938611ring_a @ X @ Z ) @ Y )
        = ( divide972148758386938611ring_a @ ( plus_p6165643967897163644ring_a @ X @ ( times_5121417576591743744ring_a @ Y @ Z ) ) @ Z ) ) ) ).

% divide_add_eq_iff
thf(fact_734_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_735_mult__0__right,axiom,
    ! [M: nat] :
      ( ( times_times_nat @ M @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_0_right
thf(fact_736_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_737_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_738_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_739_add__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        & ( N = zero_zero_nat ) ) ) ).

% add_is_0
thf(fact_740_coeff__0__reflect__poly__0__iff,axiom,
    ! [P3: poly_p2573953413498894561ring_a] :
      ( ( ( coeff_7919988552178873973ring_a @ ( reflec6105554567727746569ring_a @ P3 ) @ zero_zero_nat )
        = zero_z1830546546923837194ring_a )
      = ( P3 = zero_z1364739659462972184ring_a ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_741_coeff__0__reflect__poly__0__iff,axiom,
    ! [P3: poly_poly_nat] :
      ( ( ( coeff_poly_nat @ ( reflec6151991051106109730ly_nat @ P3 ) @ zero_zero_nat )
        = zero_zero_poly_nat )
      = ( P3 = zero_z3289306709065865449ly_nat ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_742_coeff__0__reflect__poly__0__iff,axiom,
    ! [P3: poly_F1712242100642103904ps_nat] :
      ( ( ( coeff_4994007371902938806ps_nat @ ( reflec5061018189423815714ps_nat @ P3 ) @ zero_zero_nat )
        = zero_z8531573698755551073ps_nat )
      = ( P3 = zero_z1042303698505161193ps_nat ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_743_coeff__0__reflect__poly__0__iff,axiom,
    ! [P3: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ ( reflec4498816349307343611ring_a @ P3 ) @ zero_zero_nat )
        = zero_z7902377541816115708ring_a )
      = ( P3 = zero_z1830546546923837194ring_a ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_744_coeff__0__reflect__poly__0__iff,axiom,
    ! [P3: poly_nat] :
      ( ( ( coeff_nat @ ( reflect_poly_nat @ P3 ) @ zero_zero_nat )
        = zero_zero_nat )
      = ( P3 = zero_zero_poly_nat ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_745_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_746_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_747_reflect__poly__0,axiom,
    ( ( reflect_poly_nat @ zero_zero_poly_nat )
    = zero_zero_poly_nat ) ).

% reflect_poly_0
thf(fact_748_reflect__poly__0,axiom,
    ( ( reflec4498816349307343611ring_a @ zero_z1830546546923837194ring_a )
    = zero_z1830546546923837194ring_a ) ).

% reflect_poly_0
thf(fact_749_reflect__poly__1,axiom,
    ( ( reflect_poly_nat @ one_one_poly_nat )
    = one_one_poly_nat ) ).

% reflect_poly_1
thf(fact_750_reflect__poly__1,axiom,
    ( ( reflec4498816349307343611ring_a @ one_on3394844594818161742ring_a )
    = one_on3394844594818161742ring_a ) ).

% reflect_poly_1
thf(fact_751_reflect__poly__reflect__poly,axiom,
    ! [P3: poly_p2573953413498894561ring_a] :
      ( ( ( coeff_7919988552178873973ring_a @ P3 @ zero_zero_nat )
       != zero_z1830546546923837194ring_a )
     => ( ( reflec6105554567727746569ring_a @ ( reflec6105554567727746569ring_a @ P3 ) )
        = P3 ) ) ).

% reflect_poly_reflect_poly
thf(fact_752_reflect__poly__reflect__poly,axiom,
    ! [P3: poly_poly_nat] :
      ( ( ( coeff_poly_nat @ P3 @ zero_zero_nat )
       != zero_zero_poly_nat )
     => ( ( reflec6151991051106109730ly_nat @ ( reflec6151991051106109730ly_nat @ P3 ) )
        = P3 ) ) ).

% reflect_poly_reflect_poly
thf(fact_753_reflect__poly__reflect__poly,axiom,
    ! [P3: poly_F1712242100642103904ps_nat] :
      ( ( ( coeff_4994007371902938806ps_nat @ P3 @ zero_zero_nat )
       != zero_z8531573698755551073ps_nat )
     => ( ( reflec5061018189423815714ps_nat @ ( reflec5061018189423815714ps_nat @ P3 ) )
        = P3 ) ) ).

% reflect_poly_reflect_poly
thf(fact_754_reflect__poly__reflect__poly,axiom,
    ! [P3: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ P3 @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ( ( reflec4498816349307343611ring_a @ ( reflec4498816349307343611ring_a @ P3 ) )
        = P3 ) ) ).

% reflect_poly_reflect_poly
thf(fact_755_reflect__poly__reflect__poly,axiom,
    ! [P3: poly_nat] :
      ( ( ( coeff_nat @ P3 @ zero_zero_nat )
       != zero_zero_nat )
     => ( ( reflect_poly_nat @ ( reflect_poly_nat @ P3 ) )
        = P3 ) ) ).

% reflect_poly_reflect_poly
thf(fact_756_mod__mult2__eq,axiom,
    ! [M: nat,N: nat,Q2: nat] :
      ( ( modulo_modulo_nat @ M @ ( times_times_nat @ N @ Q2 ) )
      = ( plus_plus_nat @ ( times_times_nat @ N @ ( modulo_modulo_nat @ ( divide_divide_nat @ M @ N ) @ Q2 ) ) @ ( modulo_modulo_nat @ M @ N ) ) ) ).

% mod_mult2_eq
thf(fact_757_div__mod__decomp,axiom,
    ! [A3: nat,N: nat] :
      ( A3
      = ( plus_plus_nat @ ( times_times_nat @ ( divide_divide_nat @ A3 @ N ) @ N ) @ ( modulo_modulo_nat @ A3 @ N ) ) ) ).

% div_mod_decomp
thf(fact_758_div__mult2__eq,axiom,
    ! [M: nat,N: nat,Q2: nat] :
      ( ( divide_divide_nat @ M @ ( times_times_nat @ N @ Q2 ) )
      = ( divide_divide_nat @ ( divide_divide_nat @ M @ N ) @ Q2 ) ) ).

% div_mult2_eq
thf(fact_759_nat__mult__1,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ one_one_nat @ N )
      = N ) ).

% nat_mult_1
thf(fact_760_nat__mult__1__right,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ N @ one_one_nat )
      = N ) ).

% nat_mult_1_right
thf(fact_761_cong__mult__lcancel__nat,axiom,
    ! [K2: nat,M: nat,A: nat,B: nat] :
      ( ( algebr934650988132801477me_nat @ K2 @ M )
     => ( ( unique653641344996303876ng_nat @ ( times_times_nat @ K2 @ A ) @ ( times_times_nat @ K2 @ B ) @ M )
        = ( unique653641344996303876ng_nat @ A @ B @ M ) ) ) ).

% cong_mult_lcancel_nat
thf(fact_762_cong__mult__rcancel__nat,axiom,
    ! [K2: nat,M: nat,A: nat,B: nat] :
      ( ( algebr934650988132801477me_nat @ K2 @ M )
     => ( ( unique653641344996303876ng_nat @ ( times_times_nat @ A @ K2 ) @ ( times_times_nat @ B @ K2 ) @ M )
        = ( unique653641344996303876ng_nat @ A @ B @ M ) ) ) ).

% cong_mult_rcancel_nat
thf(fact_763_coprime__cong__mult__nat,axiom,
    ! [A: nat,B: nat,M: nat,N: nat] :
      ( ( unique653641344996303876ng_nat @ A @ B @ M )
     => ( ( unique653641344996303876ng_nat @ A @ B @ N )
       => ( ( algebr934650988132801477me_nat @ M @ N )
         => ( unique653641344996303876ng_nat @ A @ B @ ( times_times_nat @ M @ N ) ) ) ) ) ).

% coprime_cong_mult_nat
thf(fact_764_cong__modulus__mult__nat,axiom,
    ! [X: nat,Y: nat,M: nat,N: nat] :
      ( ( unique653641344996303876ng_nat @ X @ Y @ ( times_times_nat @ M @ N ) )
     => ( unique653641344996303876ng_nat @ X @ Y @ M ) ) ).

% cong_modulus_mult_nat
thf(fact_765_coprime__crossproduct__nat,axiom,
    ! [A: nat,D: nat,B: nat,C: nat] :
      ( ( algebr934650988132801477me_nat @ A @ D )
     => ( ( algebr934650988132801477me_nat @ B @ C )
       => ( ( ( times_times_nat @ A @ C )
            = ( times_times_nat @ B @ D ) )
          = ( ( A = B )
            & ( C = D ) ) ) ) ) ).

% coprime_crossproduct_nat
thf(fact_766_add__mult__distrib2,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( times_times_nat @ K2 @ ( plus_plus_nat @ M @ N ) )
      = ( plus_plus_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) ) ) ).

% add_mult_distrib2
thf(fact_767_cong__iff__lin__nat,axiom,
    ( unique653641344996303876ng_nat
    = ( ^ [A2: nat,B2: nat,M2: nat] :
        ? [K1: nat,K22: nat] :
          ( ( plus_plus_nat @ B2 @ ( times_times_nat @ K1 @ M2 ) )
          = ( plus_plus_nat @ A2 @ ( times_times_nat @ K22 @ M2 ) ) ) ) ) ).

% cong_iff_lin_nat
thf(fact_768_add__mult__distrib,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( times_times_nat @ ( plus_plus_nat @ M @ N ) @ K2 )
      = ( plus_plus_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) ) ) ).

% add_mult_distrib
thf(fact_769_nat__mod__eq__iff,axiom,
    ! [X: nat,N: nat,Y: nat] :
      ( ( ( modulo_modulo_nat @ X @ N )
        = ( modulo_modulo_nat @ Y @ N ) )
      = ( ? [Q1: nat,Q22: nat] :
            ( ( plus_plus_nat @ X @ ( times_times_nat @ N @ Q1 ) )
            = ( plus_plus_nat @ Y @ ( times_times_nat @ N @ Q22 ) ) ) ) ) ).

% nat_mod_eq_iff
thf(fact_770_cong__add__lcancel__nat,axiom,
    ! [A: nat,X: nat,Y: nat,N: nat] :
      ( ( unique653641344996303876ng_nat @ ( plus_plus_nat @ A @ X ) @ ( plus_plus_nat @ A @ Y ) @ N )
      = ( unique653641344996303876ng_nat @ X @ Y @ N ) ) ).

% cong_add_lcancel_nat
thf(fact_771_cong__add__rcancel__nat,axiom,
    ! [X: nat,A: nat,Y: nat,N: nat] :
      ( ( unique653641344996303876ng_nat @ ( plus_plus_nat @ X @ A ) @ ( plus_plus_nat @ Y @ A ) @ N )
      = ( unique653641344996303876ng_nat @ X @ Y @ N ) ) ).

% cong_add_rcancel_nat
thf(fact_772_reflect__poly__mult,axiom,
    ! [P3: poly_nat,Q2: poly_nat] :
      ( ( reflect_poly_nat @ ( times_times_poly_nat @ P3 @ Q2 ) )
      = ( times_times_poly_nat @ ( reflect_poly_nat @ P3 ) @ ( reflect_poly_nat @ Q2 ) ) ) ).

% reflect_poly_mult
thf(fact_773_reflect__poly__mult,axiom,
    ! [P3: poly_p2573953413498894561ring_a,Q2: poly_p2573953413498894561ring_a] :
      ( ( reflec6105554567727746569ring_a @ ( times_7678616233722469404ring_a @ P3 @ Q2 ) )
      = ( times_7678616233722469404ring_a @ ( reflec6105554567727746569ring_a @ P3 ) @ ( reflec6105554567727746569ring_a @ Q2 ) ) ) ).

% reflect_poly_mult
thf(fact_774_reflect__poly__mult,axiom,
    ! [P3: poly_F3299452240248304339ring_a,Q2: poly_F3299452240248304339ring_a] :
      ( ( reflec4498816349307343611ring_a @ ( times_3242606764180207630ring_a @ P3 @ Q2 ) )
      = ( times_3242606764180207630ring_a @ ( reflec4498816349307343611ring_a @ P3 ) @ ( reflec4498816349307343611ring_a @ Q2 ) ) ) ).

% reflect_poly_mult
thf(fact_775_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_776_add__eq__self__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = M )
     => ( N = zero_zero_nat ) ) ).

% add_eq_self_zero
thf(fact_777_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_778_mult__0,axiom,
    ! [N: nat] :
      ( ( times_times_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% mult_0
thf(fact_779_coprime__bezout__strong,axiom,
    ! [A: nat,B: nat] :
      ( ( algebr934650988132801477me_nat @ A @ B )
     => ( ( B != one_one_nat )
       => ? [X3: nat,Y2: nat] :
            ( ( times_times_nat @ A @ X3 )
            = ( plus_plus_nat @ ( times_times_nat @ B @ Y2 ) @ one_one_nat ) ) ) ) ).

% coprime_bezout_strong
thf(fact_780_chinese__remainder,axiom,
    ! [A: nat,B: nat,U: nat,V: nat] :
      ( ( algebr934650988132801477me_nat @ A @ B )
     => ( ( A != zero_zero_nat )
       => ( ( B != zero_zero_nat )
         => ? [X3: nat,Q12: nat,Q23: nat] :
              ( ( X3
                = ( plus_plus_nat @ U @ ( times_times_nat @ Q12 @ A ) ) )
              & ( X3
                = ( plus_plus_nat @ V @ ( times_times_nat @ Q23 @ B ) ) ) ) ) ) ) ).

% chinese_remainder
thf(fact_781_left__add__mult__distrib,axiom,
    ! [I: nat,U: nat,J: nat,K2: nat] :
      ( ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ K2 ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( plus_plus_nat @ I @ J ) @ U ) @ K2 ) ) ).

% left_add_mult_distrib
thf(fact_782_nat__mult__div__cancel__disj,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ( K2 = zero_zero_nat )
       => ( ( divide_divide_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
          = zero_zero_nat ) )
      & ( ( K2 != zero_zero_nat )
       => ( ( divide_divide_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
          = ( divide_divide_nat @ M @ N ) ) ) ) ).

% nat_mult_div_cancel_disj
thf(fact_783_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
thf(fact_784_euclidean__size__field__def,axiom,
    ( field_345814935103669131ring_a
    = ( ^ [X2: finite_mod_ring_a] : ( if_nat @ ( X2 = zero_z7902377541816115708ring_a ) @ zero_zero_nat @ one_one_nat ) ) ) ).

% euclidean_size_field_def
thf(fact_785_normalize__field__def,axiom,
    ( field_3121160262079256089ring_a
    = ( ^ [X2: finite_mod_ring_a] : ( if_Finite_mod_ring_a @ ( X2 = zero_z7902377541816115708ring_a ) @ zero_z7902377541816115708ring_a @ one_on2109788427901206336ring_a ) ) ) ).

% normalize_field_def
thf(fact_786_mod__field__def,axiom,
    ( field_9136420874929831918ring_a
    = ( ^ [X2: finite_mod_ring_a,Y3: finite_mod_ring_a] : ( if_Finite_mod_ring_a @ ( Y3 = zero_z7902377541816115708ring_a ) @ X2 @ zero_z7902377541816115708ring_a ) ) ) ).

% mod_field_def
thf(fact_787_poly__shift__1,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( poly_s3529999020188229582ring_a @ N @ one_on3394844594818161742ring_a )
          = one_on3394844594818161742ring_a ) )
      & ( ( N != zero_zero_nat )
       => ( ( poly_s3529999020188229582ring_a @ N @ one_on3394844594818161742ring_a )
          = zero_z1830546546923837194ring_a ) ) ) ).

% poly_shift_1
thf(fact_788_poly__shift__1,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( poly_shift_nat @ N @ one_one_poly_nat )
          = one_one_poly_nat ) )
      & ( ( N != zero_zero_nat )
       => ( ( poly_shift_nat @ N @ one_one_poly_nat )
          = zero_zero_poly_nat ) ) ) ).

% poly_shift_1
thf(fact_789_fps__mod__unit,axiom,
    ! [G: formal2349581728840281299ring_a,F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ G @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ( ( modulo4455057136698366529ring_a @ F @ G )
        = zero_z5638632417171775626ring_a ) ) ).

% fps_mod_unit
thf(fact_790_divide__poly__list,axiom,
    divide6384432771786456577ring_a = divide8468732384480566209ring_a ).

% divide_poly_list
thf(fact_791_div__field__poly__impl,axiom,
    divide6384432771786456577ring_a = div_fi3389761805290061135ring_a ).

% div_field_poly_impl
thf(fact_792_poly__shift__0,axiom,
    ! [N: nat] :
      ( ( poly_s3529999020188229582ring_a @ N @ zero_z1830546546923837194ring_a )
      = zero_z1830546546923837194ring_a ) ).

% poly_shift_0
thf(fact_793_poly__shift__0,axiom,
    ! [N: nat] :
      ( ( poly_shift_nat @ N @ zero_zero_poly_nat )
      = zero_zero_poly_nat ) ).

% poly_shift_0
thf(fact_794_fps__zero__nth,axiom,
    ! [N: nat] :
      ( ( formal5645259561818150291ring_a @ zero_z5638632417171775626ring_a @ N )
      = zero_z7902377541816115708ring_a ) ).

% fps_zero_nth
thf(fact_795_fps__zero__nth,axiom,
    ! [N: nat] :
      ( ( formal3266207275896326282ly_nat @ zero_z7618583475929100137ly_nat @ N )
      = zero_zero_poly_nat ) ).

% fps_zero_nth
thf(fact_796_fps__zero__nth,axiom,
    ! [N: nat] :
      ( ( formal314479119723151242ps_nat @ zero_z499980418567581801ps_nat @ N )
      = zero_z8531573698755551073ps_nat ) ).

% fps_zero_nth
thf(fact_797_fps__zero__nth,axiom,
    ! [N: nat] :
      ( ( formal1348538149566464161ring_a @ zero_z678313208903408792ring_a @ N )
      = zero_z1830546546923837194ring_a ) ).

% fps_zero_nth
thf(fact_798_fps__zero__nth,axiom,
    ! [N: nat] :
      ( ( formal3720337525774269570th_nat @ zero_z8531573698755551073ps_nat @ N )
      = zero_zero_nat ) ).

% fps_zero_nth
thf(fact_799_fps__add__nth,axiom,
    ! [F: formal2349581728840281299ring_a,G: formal2349581728840281299ring_a,N: nat] :
      ( ( formal5645259561818150291ring_a @ ( plus_p2766911293903558154ring_a @ F @ G ) @ N )
      = ( plus_p6165643967897163644ring_a @ ( formal5645259561818150291ring_a @ F @ N ) @ ( formal5645259561818150291ring_a @ G @ N ) ) ) ).

% fps_add_nth
thf(fact_800_fps__add__nth,axiom,
    ! [F: formal8288521878066042848ly_nat,G: formal8288521878066042848ly_nat,N: nat] :
      ( ( formal3266207275896326282ly_nat @ ( plus_p3766231721960446441ly_nat @ F @ G ) @ N )
      = ( plus_plus_poly_nat @ ( formal3266207275896326282ly_nat @ F @ N ) @ ( formal3266207275896326282ly_nat @ G @ N ) ) ) ).

% fps_add_nth
thf(fact_801_fps__add__nth,axiom,
    ! [F: formal1278092128589203552ps_nat,G: formal1278092128589203552ps_nat,N: nat] :
      ( ( formal314479119723151242ps_nat @ ( plus_p3593048529598864105ps_nat @ F @ G ) @ N )
      = ( plus_p6043471806551771617ps_nat @ ( formal314479119723151242ps_nat @ F @ N ) @ ( formal314479119723151242ps_nat @ G @ N ) ) ) ).

% fps_add_nth
thf(fact_802_fps__add__nth,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a,N: nat] :
      ( ( formal1348538149566464161ring_a @ ( plus_p3824337536216486424ring_a @ F @ G ) @ N )
      = ( plus_p7290290253215468682ring_a @ ( formal1348538149566464161ring_a @ F @ N ) @ ( formal1348538149566464161ring_a @ G @ N ) ) ) ).

% fps_add_nth
thf(fact_803_fps__add__nth,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat,N: nat] :
      ( ( formal3720337525774269570th_nat @ ( plus_p6043471806551771617ps_nat @ F @ G ) @ N )
      = ( plus_plus_nat @ ( formal3720337525774269570th_nat @ F @ N ) @ ( formal3720337525774269570th_nat @ G @ N ) ) ) ).

% fps_add_nth
thf(fact_804_fps__mult__nth__0,axiom,
    ! [F: formal8288521878066042848ly_nat,G: formal8288521878066042848ly_nat] :
      ( ( formal3266207275896326282ly_nat @ ( times_3757592723905353573ly_nat @ F @ G ) @ zero_zero_nat )
      = ( times_times_poly_nat @ ( formal3266207275896326282ly_nat @ F @ zero_zero_nat ) @ ( formal3266207275896326282ly_nat @ G @ zero_zero_nat ) ) ) ).

% fps_mult_nth_0
thf(fact_805_fps__mult__nth__0,axiom,
    ! [F: formal892414876638199791ring_a,G: formal892414876638199791ring_a] :
      ( ( formal7525811227350201007ring_a @ ( times_6673521651217121962ring_a @ F @ G ) @ zero_zero_nat )
      = ( times_7678616233722469404ring_a @ ( formal7525811227350201007ring_a @ F @ zero_zero_nat ) @ ( formal7525811227350201007ring_a @ G @ zero_zero_nat ) ) ) ).

% fps_mult_nth_0
thf(fact_806_fps__mult__nth__0,axiom,
    ! [F: formal2349581728840281299ring_a,G: formal2349581728840281299ring_a] :
      ( ( formal5645259561818150291ring_a @ ( times_2238589750900994958ring_a @ F @ G ) @ zero_zero_nat )
      = ( times_5121417576591743744ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) @ ( formal5645259561818150291ring_a @ G @ zero_zero_nat ) ) ) ).

% fps_mult_nth_0
thf(fact_807_fps__mult__nth__0,axiom,
    ! [F: formal1278092128589203552ps_nat,G: formal1278092128589203552ps_nat] :
      ( ( formal314479119723151242ps_nat @ ( times_310685333931091557ps_nat @ F @ G ) @ zero_zero_nat )
      = ( times_7269705568686124893ps_nat @ ( formal314479119723151242ps_nat @ F @ zero_zero_nat ) @ ( formal314479119723151242ps_nat @ G @ zero_zero_nat ) ) ) ).

% fps_mult_nth_0
thf(fact_808_fps__mult__nth__0,axiom,
    ! [F: formal6909625638053982063ring_a,G: formal6909625638053982063ring_a] :
      ( ( formal3256772333290666927ring_a @ ( times_5730971402207048618ring_a @ F @ G ) @ zero_zero_nat )
      = ( times_6867330870908917660ring_a @ ( formal3256772333290666927ring_a @ F @ zero_zero_nat ) @ ( formal3256772333290666927ring_a @ G @ zero_zero_nat ) ) ) ).

% fps_mult_nth_0
thf(fact_809_fps__mult__nth__0,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ F @ G ) @ zero_zero_nat )
      = ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ zero_zero_nat ) @ ( formal1348538149566464161ring_a @ G @ zero_zero_nat ) ) ) ).

% fps_mult_nth_0
thf(fact_810_fps__mult__nth__0,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ zero_zero_nat )
      = ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ zero_zero_nat ) @ ( formal3720337525774269570th_nat @ G @ zero_zero_nat ) ) ) ).

% fps_mult_nth_0
thf(fact_811_fps__one__nth,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( formal3256772333290666927ring_a @ one_on1709007884187965418ring_a @ N )
          = one_on3584675865978100700ring_a ) )
      & ( ( N != zero_zero_nat )
       => ( ( formal3256772333290666927ring_a @ one_on1709007884187965418ring_a @ N )
          = zero_z678313208903408792ring_a ) ) ) ).

% fps_one_nth
thf(fact_812_fps__one__nth,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( formal5645259561818150291ring_a @ one_on4821279438748710862ring_a @ N )
          = one_on2109788427901206336ring_a ) )
      & ( ( N != zero_zero_nat )
       => ( ( formal5645259561818150291ring_a @ one_on4821279438748710862ring_a @ N )
          = zero_z7902377541816115708ring_a ) ) ) ).

% fps_one_nth
thf(fact_813_fps__one__nth,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( formal3266207275896326282ly_nat @ one_on1771451529969861413ly_nat @ N )
          = one_one_poly_nat ) )
      & ( ( N != zero_zero_nat )
       => ( ( formal3266207275896326282ly_nat @ one_on1771451529969861413ly_nat @ N )
          = zero_zero_poly_nat ) ) ) ).

% fps_one_nth
thf(fact_814_fps__one__nth,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( formal314479119723151242ps_nat @ one_on4270512634974056997ps_nat @ N )
          = one_on3350087005236239133ps_nat ) )
      & ( ( N != zero_zero_nat )
       => ( ( formal314479119723151242ps_nat @ one_on4270512634974056997ps_nat @ N )
          = zero_z8531573698755551073ps_nat ) ) ) ).

% fps_one_nth
thf(fact_815_fps__one__nth,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( formal1348538149566464161ring_a @ one_on3584675865978100700ring_a @ N )
          = one_on3394844594818161742ring_a ) )
      & ( ( N != zero_zero_nat )
       => ( ( formal1348538149566464161ring_a @ one_on3584675865978100700ring_a @ N )
          = zero_z1830546546923837194ring_a ) ) ) ).

% fps_one_nth
thf(fact_816_fps__one__nth,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( formal3720337525774269570th_nat @ one_on3350087005236239133ps_nat @ N )
          = one_one_nat ) )
      & ( ( N != zero_zero_nat )
       => ( ( formal3720337525774269570th_nat @ one_on3350087005236239133ps_nat @ N )
          = zero_zero_nat ) ) ) ).

% fps_one_nth
thf(fact_817_fps__divide__nth__0,axiom,
    ! [G: formal2349581728840281299ring_a,F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ G @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ( ( formal5645259561818150291ring_a @ ( divide7626425505994258177ring_a @ F @ G ) @ zero_zero_nat )
        = ( divide972148758386938611ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) @ ( formal5645259561818150291ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_divide_nth_0
thf(fact_818_fps__nonzeroI,axiom,
    ! [F: formal2349581728840281299ring_a,N: nat] :
      ( ( ( formal5645259561818150291ring_a @ F @ N )
       != zero_z7902377541816115708ring_a )
     => ( F != zero_z5638632417171775626ring_a ) ) ).

% fps_nonzeroI
thf(fact_819_fps__nonzeroI,axiom,
    ! [F: formal8288521878066042848ly_nat,N: nat] :
      ( ( ( formal3266207275896326282ly_nat @ F @ N )
       != zero_zero_poly_nat )
     => ( F != zero_z7618583475929100137ly_nat ) ) ).

% fps_nonzeroI
thf(fact_820_fps__nonzeroI,axiom,
    ! [F: formal1278092128589203552ps_nat,N: nat] :
      ( ( ( formal314479119723151242ps_nat @ F @ N )
       != zero_z8531573698755551073ps_nat )
     => ( F != zero_z499980418567581801ps_nat ) ) ).

% fps_nonzeroI
thf(fact_821_fps__nonzeroI,axiom,
    ! [F: formal8450108040061743841ring_a,N: nat] :
      ( ( ( formal1348538149566464161ring_a @ F @ N )
       != zero_z1830546546923837194ring_a )
     => ( F != zero_z678313208903408792ring_a ) ) ).

% fps_nonzeroI
thf(fact_822_fps__nonzeroI,axiom,
    ! [F: formal_Power_fps_nat,N: nat] :
      ( ( ( formal3720337525774269570th_nat @ F @ N )
       != zero_zero_nat )
     => ( F != zero_z8531573698755551073ps_nat ) ) ).

% fps_nonzeroI
thf(fact_823_fps__nonzero__nth,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( F != zero_z5638632417171775626ring_a )
      = ( ? [N2: nat] :
            ( ( formal5645259561818150291ring_a @ F @ N2 )
           != zero_z7902377541816115708ring_a ) ) ) ).

% fps_nonzero_nth
thf(fact_824_fps__nonzero__nth,axiom,
    ! [F: formal8288521878066042848ly_nat] :
      ( ( F != zero_z7618583475929100137ly_nat )
      = ( ? [N2: nat] :
            ( ( formal3266207275896326282ly_nat @ F @ N2 )
           != zero_zero_poly_nat ) ) ) ).

% fps_nonzero_nth
thf(fact_825_fps__nonzero__nth,axiom,
    ! [F: formal1278092128589203552ps_nat] :
      ( ( F != zero_z499980418567581801ps_nat )
      = ( ? [N2: nat] :
            ( ( formal314479119723151242ps_nat @ F @ N2 )
           != zero_z8531573698755551073ps_nat ) ) ) ).

% fps_nonzero_nth
thf(fact_826_fps__nonzero__nth,axiom,
    ! [F: formal8450108040061743841ring_a] :
      ( ( F != zero_z678313208903408792ring_a )
      = ( ? [N2: nat] :
            ( ( formal1348538149566464161ring_a @ F @ N2 )
           != zero_z1830546546923837194ring_a ) ) ) ).

% fps_nonzero_nth
thf(fact_827_fps__nonzero__nth,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( F != zero_z8531573698755551073ps_nat )
      = ( ? [N2: nat] :
            ( ( formal3720337525774269570th_nat @ F @ N2 )
           != zero_zero_nat ) ) ) ).

% fps_nonzero_nth
thf(fact_828_coeff__poly__shift,axiom,
    ! [N: nat,P3: poly_nat,I: nat] :
      ( ( coeff_nat @ ( poly_shift_nat @ N @ P3 ) @ I )
      = ( coeff_nat @ P3 @ ( plus_plus_nat @ I @ N ) ) ) ).

% coeff_poly_shift
thf(fact_829_coeff__poly__shift,axiom,
    ! [N: nat,P3: poly_p2573953413498894561ring_a,I: nat] :
      ( ( coeff_7919988552178873973ring_a @ ( poly_s6741649426647656668ring_a @ N @ P3 ) @ I )
      = ( coeff_7919988552178873973ring_a @ P3 @ ( plus_plus_nat @ I @ N ) ) ) ).

% coeff_poly_shift
thf(fact_830_coeff__poly__shift,axiom,
    ! [N: nat,P3: poly_F3299452240248304339ring_a,I: nat] :
      ( ( coeff_1607515655354303335ring_a @ ( poly_s3529999020188229582ring_a @ N @ P3 ) @ I )
      = ( coeff_1607515655354303335ring_a @ P3 @ ( plus_plus_nat @ I @ N ) ) ) ).

% coeff_poly_shift
thf(fact_831_fps__unit__dvd__left,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ F @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ? [G2: formal2349581728840281299ring_a] :
          ( one_on4821279438748710862ring_a
          = ( times_2238589750900994958ring_a @ F @ G2 ) ) ) ).

% fps_unit_dvd_left
thf(fact_832_fps__unit__dvd__right,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ F @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ? [G2: formal2349581728840281299ring_a] :
          ( one_on4821279438748710862ring_a
          = ( times_2238589750900994958ring_a @ G2 @ F ) ) ) ).

% fps_unit_dvd_right
thf(fact_833_fps__mult__nth__1,axiom,
    ! [F: formal8288521878066042848ly_nat,G: formal8288521878066042848ly_nat] :
      ( ( formal3266207275896326282ly_nat @ ( times_3757592723905353573ly_nat @ F @ G ) @ one_one_nat )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ ( formal3266207275896326282ly_nat @ F @ zero_zero_nat ) @ ( formal3266207275896326282ly_nat @ G @ one_one_nat ) ) @ ( times_times_poly_nat @ ( formal3266207275896326282ly_nat @ F @ one_one_nat ) @ ( formal3266207275896326282ly_nat @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1
thf(fact_834_fps__mult__nth__1,axiom,
    ! [F: formal892414876638199791ring_a,G: formal892414876638199791ring_a] :
      ( ( formal7525811227350201007ring_a @ ( times_6673521651217121962ring_a @ F @ G ) @ one_one_nat )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ ( formal7525811227350201007ring_a @ F @ zero_zero_nat ) @ ( formal7525811227350201007ring_a @ G @ one_one_nat ) ) @ ( times_7678616233722469404ring_a @ ( formal7525811227350201007ring_a @ F @ one_one_nat ) @ ( formal7525811227350201007ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1
thf(fact_835_fps__mult__nth__1,axiom,
    ! [F: formal2349581728840281299ring_a,G: formal2349581728840281299ring_a] :
      ( ( formal5645259561818150291ring_a @ ( times_2238589750900994958ring_a @ F @ G ) @ one_one_nat )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) @ ( formal5645259561818150291ring_a @ G @ one_one_nat ) ) @ ( times_5121417576591743744ring_a @ ( formal5645259561818150291ring_a @ F @ one_one_nat ) @ ( formal5645259561818150291ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1
thf(fact_836_fps__mult__nth__1,axiom,
    ! [F: formal1278092128589203552ps_nat,G: formal1278092128589203552ps_nat] :
      ( ( formal314479119723151242ps_nat @ ( times_310685333931091557ps_nat @ F @ G ) @ one_one_nat )
      = ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ ( formal314479119723151242ps_nat @ F @ zero_zero_nat ) @ ( formal314479119723151242ps_nat @ G @ one_one_nat ) ) @ ( times_7269705568686124893ps_nat @ ( formal314479119723151242ps_nat @ F @ one_one_nat ) @ ( formal314479119723151242ps_nat @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1
thf(fact_837_fps__mult__nth__1,axiom,
    ! [F: formal6909625638053982063ring_a,G: formal6909625638053982063ring_a] :
      ( ( formal3256772333290666927ring_a @ ( times_5730971402207048618ring_a @ F @ G ) @ one_one_nat )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ ( formal3256772333290666927ring_a @ F @ zero_zero_nat ) @ ( formal3256772333290666927ring_a @ G @ one_one_nat ) ) @ ( times_6867330870908917660ring_a @ ( formal3256772333290666927ring_a @ F @ one_one_nat ) @ ( formal3256772333290666927ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1
thf(fact_838_fps__mult__nth__1,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ F @ G ) @ one_one_nat )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ zero_zero_nat ) @ ( formal1348538149566464161ring_a @ G @ one_one_nat ) ) @ ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ one_one_nat ) @ ( formal1348538149566464161ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1
thf(fact_839_fps__mult__nth__1,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ one_one_nat )
      = ( plus_plus_nat @ ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ zero_zero_nat ) @ ( formal3720337525774269570th_nat @ G @ one_one_nat ) ) @ ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ one_one_nat ) @ ( formal3720337525774269570th_nat @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1
thf(fact_840_fps__is__right__unit__iff__zeroth__is__right__unit,axiom,
    ! [F: formal892414876638199791ring_a] :
      ( ( ? [G3: formal892414876638199791ring_a] :
            ( one_on5137491864489035498ring_a
            = ( times_6673521651217121962ring_a @ G3 @ F ) ) )
      = ( ? [K: poly_p2573953413498894561ring_a] :
            ( one_on1339691373306511452ring_a
            = ( times_7678616233722469404ring_a @ K @ ( formal7525811227350201007ring_a @ F @ zero_zero_nat ) ) ) ) ) ).

% fps_is_right_unit_iff_zeroth_is_right_unit
thf(fact_841_fps__is__right__unit__iff__zeroth__is__right__unit,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ? [G3: formal2349581728840281299ring_a] :
            ( one_on4821279438748710862ring_a
            = ( times_2238589750900994958ring_a @ G3 @ F ) ) )
      = ( ? [K: finite_mod_ring_a] :
            ( one_on2109788427901206336ring_a
            = ( times_5121417576591743744ring_a @ K @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) ) ) ) ) ).

% fps_is_right_unit_iff_zeroth_is_right_unit
thf(fact_842_fps__is__right__unit__iff__zeroth__is__right__unit,axiom,
    ! [F: formal6909625638053982063ring_a] :
      ( ( ? [G3: formal6909625638053982063ring_a] :
            ( one_on1709007884187965418ring_a
            = ( times_5730971402207048618ring_a @ G3 @ F ) ) )
      = ( ? [K: formal8450108040061743841ring_a] :
            ( one_on3584675865978100700ring_a
            = ( times_6867330870908917660ring_a @ K @ ( formal3256772333290666927ring_a @ F @ zero_zero_nat ) ) ) ) ) ).

% fps_is_right_unit_iff_zeroth_is_right_unit
thf(fact_843_fps__is__right__unit__iff__zeroth__is__right__unit,axiom,
    ! [F: formal8450108040061743841ring_a] :
      ( ( ? [G3: formal8450108040061743841ring_a] :
            ( one_on3584675865978100700ring_a
            = ( times_6867330870908917660ring_a @ G3 @ F ) ) )
      = ( ? [K: poly_F3299452240248304339ring_a] :
            ( one_on3394844594818161742ring_a
            = ( times_3242606764180207630ring_a @ K @ ( formal1348538149566464161ring_a @ F @ zero_zero_nat ) ) ) ) ) ).

% fps_is_right_unit_iff_zeroth_is_right_unit
thf(fact_844_fps__is__left__unit__iff__zeroth__is__left__unit,axiom,
    ! [F: formal892414876638199791ring_a] :
      ( ( ? [G3: formal892414876638199791ring_a] :
            ( one_on5137491864489035498ring_a
            = ( times_6673521651217121962ring_a @ F @ G3 ) ) )
      = ( ? [K: poly_p2573953413498894561ring_a] :
            ( one_on1339691373306511452ring_a
            = ( times_7678616233722469404ring_a @ ( formal7525811227350201007ring_a @ F @ zero_zero_nat ) @ K ) ) ) ) ).

% fps_is_left_unit_iff_zeroth_is_left_unit
thf(fact_845_fps__is__left__unit__iff__zeroth__is__left__unit,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ? [G3: formal2349581728840281299ring_a] :
            ( one_on4821279438748710862ring_a
            = ( times_2238589750900994958ring_a @ F @ G3 ) ) )
      = ( ? [K: finite_mod_ring_a] :
            ( one_on2109788427901206336ring_a
            = ( times_5121417576591743744ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) @ K ) ) ) ) ).

% fps_is_left_unit_iff_zeroth_is_left_unit
thf(fact_846_fps__is__left__unit__iff__zeroth__is__left__unit,axiom,
    ! [F: formal6909625638053982063ring_a] :
      ( ( ? [G3: formal6909625638053982063ring_a] :
            ( one_on1709007884187965418ring_a
            = ( times_5730971402207048618ring_a @ F @ G3 ) ) )
      = ( ? [K: formal8450108040061743841ring_a] :
            ( one_on3584675865978100700ring_a
            = ( times_6867330870908917660ring_a @ ( formal3256772333290666927ring_a @ F @ zero_zero_nat ) @ K ) ) ) ) ).

% fps_is_left_unit_iff_zeroth_is_left_unit
thf(fact_847_fps__is__left__unit__iff__zeroth__is__left__unit,axiom,
    ! [F: formal8450108040061743841ring_a] :
      ( ( ? [G3: formal8450108040061743841ring_a] :
            ( one_on3584675865978100700ring_a
            = ( times_6867330870908917660ring_a @ F @ G3 ) ) )
      = ( ? [K: poly_F3299452240248304339ring_a] :
            ( one_on3394844594818161742ring_a
            = ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ zero_zero_nat ) @ K ) ) ) ) ).

% fps_is_left_unit_iff_zeroth_is_left_unit
thf(fact_848_fps__inv__idempotent,axiom,
    ! [A: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ A @ zero_zero_nat )
        = zero_z7902377541816115708ring_a )
     => ( ( ( formal5645259561818150291ring_a @ A @ one_one_nat )
         != zero_z7902377541816115708ring_a )
       => ( ( formal6641317509014654427ring_a @ ( formal6641317509014654427ring_a @ A ) )
          = A ) ) ) ).

% fps_inv_idempotent
thf(fact_849_fps__mult__nth__1_H,axiom,
    ! [F: formal8288521878066042848ly_nat,G: formal8288521878066042848ly_nat] :
      ( ( formal3266207275896326282ly_nat @ ( times_3757592723905353573ly_nat @ F @ G ) @ ( suc @ zero_zero_nat ) )
      = ( plus_plus_poly_nat @ ( times_times_poly_nat @ ( formal3266207275896326282ly_nat @ F @ zero_zero_nat ) @ ( formal3266207275896326282ly_nat @ G @ ( suc @ zero_zero_nat ) ) ) @ ( times_times_poly_nat @ ( formal3266207275896326282ly_nat @ F @ ( suc @ zero_zero_nat ) ) @ ( formal3266207275896326282ly_nat @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1'
thf(fact_850_fps__mult__nth__1_H,axiom,
    ! [F: formal892414876638199791ring_a,G: formal892414876638199791ring_a] :
      ( ( formal7525811227350201007ring_a @ ( times_6673521651217121962ring_a @ F @ G ) @ ( suc @ zero_zero_nat ) )
      = ( plus_p7801688469192607896ring_a @ ( times_7678616233722469404ring_a @ ( formal7525811227350201007ring_a @ F @ zero_zero_nat ) @ ( formal7525811227350201007ring_a @ G @ ( suc @ zero_zero_nat ) ) ) @ ( times_7678616233722469404ring_a @ ( formal7525811227350201007ring_a @ F @ ( suc @ zero_zero_nat ) ) @ ( formal7525811227350201007ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1'
thf(fact_851_fps__mult__nth__1_H,axiom,
    ! [F: formal2349581728840281299ring_a,G: formal2349581728840281299ring_a] :
      ( ( formal5645259561818150291ring_a @ ( times_2238589750900994958ring_a @ F @ G ) @ ( suc @ zero_zero_nat ) )
      = ( plus_p6165643967897163644ring_a @ ( times_5121417576591743744ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) @ ( formal5645259561818150291ring_a @ G @ ( suc @ zero_zero_nat ) ) ) @ ( times_5121417576591743744ring_a @ ( formal5645259561818150291ring_a @ F @ ( suc @ zero_zero_nat ) ) @ ( formal5645259561818150291ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1'
thf(fact_852_fps__mult__nth__1_H,axiom,
    ! [F: formal1278092128589203552ps_nat,G: formal1278092128589203552ps_nat] :
      ( ( formal314479119723151242ps_nat @ ( times_310685333931091557ps_nat @ F @ G ) @ ( suc @ zero_zero_nat ) )
      = ( plus_p6043471806551771617ps_nat @ ( times_7269705568686124893ps_nat @ ( formal314479119723151242ps_nat @ F @ zero_zero_nat ) @ ( formal314479119723151242ps_nat @ G @ ( suc @ zero_zero_nat ) ) ) @ ( times_7269705568686124893ps_nat @ ( formal314479119723151242ps_nat @ F @ ( suc @ zero_zero_nat ) ) @ ( formal314479119723151242ps_nat @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1'
thf(fact_853_fps__mult__nth__1_H,axiom,
    ! [F: formal6909625638053982063ring_a,G: formal6909625638053982063ring_a] :
      ( ( formal3256772333290666927ring_a @ ( times_5730971402207048618ring_a @ F @ G ) @ ( suc @ zero_zero_nat ) )
      = ( plus_p3824337536216486424ring_a @ ( times_6867330870908917660ring_a @ ( formal3256772333290666927ring_a @ F @ zero_zero_nat ) @ ( formal3256772333290666927ring_a @ G @ ( suc @ zero_zero_nat ) ) ) @ ( times_6867330870908917660ring_a @ ( formal3256772333290666927ring_a @ F @ ( suc @ zero_zero_nat ) ) @ ( formal3256772333290666927ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1'
thf(fact_854_fps__mult__nth__1_H,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ F @ G ) @ ( suc @ zero_zero_nat ) )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ zero_zero_nat ) @ ( formal1348538149566464161ring_a @ G @ ( suc @ zero_zero_nat ) ) ) @ ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ ( suc @ zero_zero_nat ) ) @ ( formal1348538149566464161ring_a @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1'
thf(fact_855_fps__mult__nth__1_H,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ ( suc @ zero_zero_nat ) )
      = ( plus_plus_nat @ ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ zero_zero_nat ) @ ( formal3720337525774269570th_nat @ G @ ( suc @ zero_zero_nat ) ) ) @ ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ ( suc @ zero_zero_nat ) ) @ ( formal3720337525774269570th_nat @ G @ zero_zero_nat ) ) ) ) ).

% fps_mult_nth_1'
thf(fact_856_inverse__mult__eq__1,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ F @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ( ( times_2238589750900994958ring_a @ ( invers7098815682652382335ring_a @ F ) @ F )
        = one_on4821279438748710862ring_a ) ) ).

% inverse_mult_eq_1
thf(fact_857_inverse__zero,axiom,
    ( ( invers3071014334073179505ring_a @ zero_z7902377541816115708ring_a )
    = zero_z7902377541816115708ring_a ) ).

% inverse_zero
thf(fact_858_inverse__nonzero__iff__nonzero,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( ( invers3071014334073179505ring_a @ A )
        = zero_z7902377541816115708ring_a )
      = ( A = zero_z7902377541816115708ring_a ) ) ).

% inverse_nonzero_iff_nonzero
thf(fact_859_inverse__mult__distrib,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( invers3071014334073179505ring_a @ ( times_5121417576591743744ring_a @ A @ B ) )
      = ( times_5121417576591743744ring_a @ ( invers3071014334073179505ring_a @ A ) @ ( invers3071014334073179505ring_a @ B ) ) ) ).

% inverse_mult_distrib
thf(fact_860_add__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ M @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc_right
thf(fact_861_one__eq__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( times_times_nat @ M @ N ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% one_eq_mult_iff
thf(fact_862_mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% mult_eq_1_iff
thf(fact_863_mult__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( times_times_nat @ M @ ( suc @ N ) )
      = ( plus_plus_nat @ M @ ( times_times_nat @ M @ N ) ) ) ).

% mult_Suc_right
thf(fact_864_div__by__Suc__0,axiom,
    ! [M: nat] :
      ( ( divide_divide_nat @ M @ ( suc @ zero_zero_nat ) )
      = M ) ).

% div_by_Suc_0
thf(fact_865_mod__by__Suc__0,axiom,
    ! [M: nat] :
      ( ( modulo_modulo_nat @ M @ ( suc @ zero_zero_nat ) )
      = zero_zero_nat ) ).

% mod_by_Suc_0
thf(fact_866_left__inverse,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( times_5121417576591743744ring_a @ ( invers3071014334073179505ring_a @ A ) @ A )
        = one_on2109788427901206336ring_a ) ) ).

% left_inverse
thf(fact_867_right__inverse,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( times_5121417576591743744ring_a @ A @ ( invers3071014334073179505ring_a @ A ) )
        = one_on2109788427901206336ring_a ) ) ).

% right_inverse
thf(fact_868_fps__inverse__0__iff,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ ( invers7098815682652382335ring_a @ F ) @ zero_zero_nat )
        = zero_z7902377541816115708ring_a )
      = ( ( formal5645259561818150291ring_a @ F @ zero_zero_nat )
        = zero_z7902377541816115708ring_a ) ) ).

% fps_inverse_0_iff
thf(fact_869_fps__inverse__idempotent,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ F @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ( ( invers7098815682652382335ring_a @ ( invers7098815682652382335ring_a @ F ) )
        = F ) ) ).

% fps_inverse_idempotent
thf(fact_870_Suc__mod__mult__self4,axiom,
    ! [N: nat,K2: nat,M: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( plus_plus_nat @ ( times_times_nat @ N @ K2 ) @ M ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ M ) @ N ) ) ).

% Suc_mod_mult_self4
thf(fact_871_Suc__mod__mult__self3,axiom,
    ! [K2: nat,N: nat,M: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( plus_plus_nat @ ( times_times_nat @ K2 @ N ) @ M ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ M ) @ N ) ) ).

% Suc_mod_mult_self3
thf(fact_872_Suc__mod__mult__self2,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( plus_plus_nat @ M @ ( times_times_nat @ N @ K2 ) ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ M ) @ N ) ) ).

% Suc_mod_mult_self2
thf(fact_873_Suc__mod__mult__self1,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( plus_plus_nat @ M @ ( times_times_nat @ K2 @ N ) ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ M ) @ N ) ) ).

% Suc_mod_mult_self1
thf(fact_874_fps__inverse__eq__0__iff,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( invers7098815682652382335ring_a @ F )
        = zero_z5638632417171775626ring_a )
      = ( ( formal5645259561818150291ring_a @ F @ zero_zero_nat )
        = zero_z7902377541816115708ring_a ) ) ).

% fps_inverse_eq_0_iff
thf(fact_875_fps__inverse__zero_H,axiom,
    ( ( ( invers3071014334073179505ring_a @ zero_z7902377541816115708ring_a )
      = zero_z7902377541816115708ring_a )
   => ( ( invers7098815682652382335ring_a @ zero_z5638632417171775626ring_a )
      = zero_z5638632417171775626ring_a ) ) ).

% fps_inverse_zero'
thf(fact_876_field__class_Ofield__inverse__zero,axiom,
    ( ( invers3071014334073179505ring_a @ zero_z7902377541816115708ring_a )
    = zero_z7902377541816115708ring_a ) ).

% field_class.field_inverse_zero
thf(fact_877_inverse__zero__imp__zero,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( ( invers3071014334073179505ring_a @ A )
        = zero_z7902377541816115708ring_a )
     => ( A = zero_z7902377541816115708ring_a ) ) ).

% inverse_zero_imp_zero
thf(fact_878_nonzero__inverse__eq__imp__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( invers3071014334073179505ring_a @ A )
        = ( invers3071014334073179505ring_a @ B ) )
     => ( ( A != zero_z7902377541816115708ring_a )
       => ( ( B != zero_z7902377541816115708ring_a )
         => ( A = B ) ) ) ) ).

% nonzero_inverse_eq_imp_eq
thf(fact_879_nonzero__inverse__inverse__eq,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( invers3071014334073179505ring_a @ ( invers3071014334073179505ring_a @ A ) )
        = A ) ) ).

% nonzero_inverse_inverse_eq
thf(fact_880_nonzero__imp__inverse__nonzero,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( invers3071014334073179505ring_a @ A )
       != zero_z7902377541816115708ring_a ) ) ).

% nonzero_imp_inverse_nonzero
thf(fact_881_mult__commute__imp__mult__inverse__commute,axiom,
    ! [Y: finite_mod_ring_a,X: finite_mod_ring_a] :
      ( ( ( times_5121417576591743744ring_a @ Y @ X )
        = ( times_5121417576591743744ring_a @ X @ Y ) )
     => ( ( times_5121417576591743744ring_a @ ( invers3071014334073179505ring_a @ Y ) @ X )
        = ( times_5121417576591743744ring_a @ X @ ( invers3071014334073179505ring_a @ Y ) ) ) ) ).

% mult_commute_imp_mult_inverse_commute
thf(fact_882_nat_Odistinct_I1_J,axiom,
    ! [X22: nat] :
      ( zero_zero_nat
     != ( suc @ X22 ) ) ).

% nat.distinct(1)
thf(fact_883_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat: nat] :
      ( ( suc @ Nat )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_884_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat: nat] :
      ( zero_zero_nat
     != ( suc @ Nat ) ) ).

% old.nat.distinct(1)
thf(fact_885_nat_OdiscI,axiom,
    ! [Nat2: nat,X22: nat] :
      ( ( Nat2
        = ( suc @ X22 ) )
     => ( Nat2 != zero_zero_nat ) ) ).

% nat.discI
thf(fact_886_old_Onat_Oexhaust,axiom,
    ! [Y: nat] :
      ( ( Y != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_887_nat__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( P2 @ N3 )
           => ( P2 @ ( suc @ N3 ) ) )
       => ( P2 @ N ) ) ) ).

% nat_induct
thf(fact_888_diff__induct,axiom,
    ! [P2: nat > nat > $o,M: nat,N: nat] :
      ( ! [X3: nat] : ( P2 @ X3 @ zero_zero_nat )
     => ( ! [Y2: nat] : ( P2 @ zero_zero_nat @ ( suc @ Y2 ) )
       => ( ! [X3: nat,Y2: nat] :
              ( ( P2 @ X3 @ Y2 )
             => ( P2 @ ( suc @ X3 ) @ ( suc @ Y2 ) ) )
         => ( P2 @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_889_zero__induct,axiom,
    ! [P2: nat > $o,K2: nat] :
      ( ( P2 @ K2 )
     => ( ! [N3: nat] :
            ( ( P2 @ ( suc @ N3 ) )
           => ( P2 @ N3 ) )
       => ( P2 @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_890_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_891_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_892_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_893_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M3: nat] :
          ( N
          = ( suc @ M3 ) ) ) ).

% not0_implies_Suc
thf(fact_894_nat__arith_Osuc1,axiom,
    ! [A3: nat,K2: nat,A: nat] :
      ( ( A3
        = ( plus_plus_nat @ K2 @ A ) )
     => ( ( suc @ A3 )
        = ( plus_plus_nat @ K2 @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_895_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_896_add__Suc__shift,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ M @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_897_Suc__mult__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ ( suc @ K2 ) @ M )
        = ( times_times_nat @ ( suc @ K2 ) @ N ) )
      = ( M = N ) ) ).

% Suc_mult_cancel1
thf(fact_898_mod__Suc__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( suc @ ( modulo_modulo_nat @ M @ N ) ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ ( suc @ M ) ) @ N ) ) ).

% mod_Suc_Suc_eq
thf(fact_899_mod__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( modulo_modulo_nat @ M @ N ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ M ) @ N ) ) ).

% mod_Suc_eq
thf(fact_900_coprime__Suc__right__nat,axiom,
    ! [N: nat] : ( algebr934650988132801477me_nat @ N @ ( suc @ N ) ) ).

% coprime_Suc_right_nat
thf(fact_901_coprime__Suc__left__nat,axiom,
    ! [N: nat] : ( algebr934650988132801477me_nat @ ( suc @ N ) @ N ) ).

% coprime_Suc_left_nat
thf(fact_902_fps__inverse__0__iff_H,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( formal5645259561818150291ring_a @ ( invers7098815682652382335ring_a @ F ) @ zero_zero_nat )
        = zero_z7902377541816115708ring_a )
      = ( ( invers3071014334073179505ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) )
        = zero_z7902377541816115708ring_a ) ) ).

% fps_inverse_0_iff'
thf(fact_903_fps__inverse__eq__0__iff_H,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( invers7098815682652382335ring_a @ F )
        = zero_z5638632417171775626ring_a )
      = ( ( invers3071014334073179505ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) )
        = zero_z7902377541816115708ring_a ) ) ).

% fps_inverse_eq_0_iff'
thf(fact_904_fps__inverse__eq__0_H,axiom,
    ! [F: formal2349581728840281299ring_a] :
      ( ( ( invers3071014334073179505ring_a @ ( formal5645259561818150291ring_a @ F @ zero_zero_nat ) )
        = zero_z7902377541816115708ring_a )
     => ( ( invers7098815682652382335ring_a @ F )
        = zero_z5638632417171775626ring_a ) ) ).

% fps_inverse_eq_0'
thf(fact_905_nonzero__inverse__mult__distrib,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A != zero_z7902377541816115708ring_a )
     => ( ( B != zero_z7902377541816115708ring_a )
       => ( ( invers3071014334073179505ring_a @ ( times_5121417576591743744ring_a @ A @ B ) )
          = ( times_5121417576591743744ring_a @ ( invers3071014334073179505ring_a @ B ) @ ( invers3071014334073179505ring_a @ A ) ) ) ) ) ).

% nonzero_inverse_mult_distrib
thf(fact_906_add__is__1,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% add_is_1
thf(fact_907_one__is__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( plus_plus_nat @ M @ N ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% one_is_add
thf(fact_908_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

% One_nat_def
thf(fact_909_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N2: nat] : ( plus_plus_nat @ N2 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_910_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_911_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_912_mult__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( times_times_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ N @ ( times_times_nat @ M @ N ) ) ) ).

% mult_Suc
thf(fact_913_mod__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ( suc @ ( modulo_modulo_nat @ M @ N ) )
          = N )
       => ( ( modulo_modulo_nat @ ( suc @ M ) @ N )
          = zero_zero_nat ) )
      & ( ( ( suc @ ( modulo_modulo_nat @ M @ N ) )
         != N )
       => ( ( modulo_modulo_nat @ ( suc @ M ) @ N )
          = ( suc @ ( modulo_modulo_nat @ M @ N ) ) ) ) ) ).

% mod_Suc
thf(fact_914_cong__Suc__0,axiom,
    ! [M: nat,N: nat] : ( unique653641344996303876ng_nat @ M @ N @ ( suc @ zero_zero_nat ) ) ).

% cong_Suc_0
thf(fact_915_cong__0__1__nat_H,axiom,
    ! [N: nat] :
      ( ( unique653641344996303876ng_nat @ zero_zero_nat @ ( suc @ zero_zero_nat ) @ N )
      = ( N
        = ( suc @ zero_zero_nat ) ) ) ).

% cong_0_1_nat'
thf(fact_916_coprime__Suc__0__right,axiom,
    ! [N: nat] : ( algebr934650988132801477me_nat @ N @ ( suc @ zero_zero_nat ) ) ).

% coprime_Suc_0_right
thf(fact_917_coprime__Suc__0__left,axiom,
    ! [N: nat] : ( algebr934650988132801477me_nat @ ( suc @ zero_zero_nat ) @ N ) ).

% coprime_Suc_0_left
thf(fact_918_div__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ( modulo_modulo_nat @ ( suc @ M ) @ N )
          = zero_zero_nat )
       => ( ( divide_divide_nat @ ( suc @ M ) @ N )
          = ( suc @ ( divide_divide_nat @ M @ N ) ) ) )
      & ( ( ( modulo_modulo_nat @ ( suc @ M ) @ N )
         != zero_zero_nat )
       => ( ( divide_divide_nat @ ( suc @ M ) @ N )
          = ( divide_divide_nat @ M @ N ) ) ) ) ).

% div_Suc
thf(fact_919_cong__solve__coprime__nat,axiom,
    ! [A: nat,N: nat] :
      ( ( algebr934650988132801477me_nat @ A @ N )
     => ? [X3: nat] : ( unique653641344996303876ng_nat @ ( times_times_nat @ A @ X3 ) @ ( suc @ zero_zero_nat ) @ N ) ) ).

% cong_solve_coprime_nat
thf(fact_920_coprime__iff__invertible__nat,axiom,
    ( algebr934650988132801477me_nat
    = ( ^ [A2: nat,M2: nat] :
        ? [X2: nat] : ( unique653641344996303876ng_nat @ ( times_times_nat @ A2 @ X2 ) @ ( suc @ zero_zero_nat ) @ M2 ) ) ) ).

% coprime_iff_invertible_nat
thf(fact_921_exists__least__lemma,axiom,
    ! [P2: nat > $o] :
      ( ~ ( P2 @ zero_zero_nat )
     => ( ? [X_1: nat] : ( P2 @ X_1 )
       => ? [N3: nat] :
            ( ~ ( P2 @ N3 )
            & ( P2 @ ( suc @ N3 ) ) ) ) ) ).

% exists_least_lemma
thf(fact_922_fps__XD__0th,axiom,
    ! [A: formal_Power_fps_nat] :
      ( ( formal3720337525774269570th_nat @ ( formal814923487339530757XD_nat @ A ) @ zero_zero_nat )
      = zero_zero_nat ) ).

% fps_XD_0th
thf(fact_923_Suc__times__mod__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M )
     => ( ( modulo_modulo_nat @ ( suc @ ( times_times_nat @ M @ N ) ) @ M )
        = one_one_nat ) ) ).

% Suc_times_mod_eq
thf(fact_924_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_925_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_926_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_927_bot__nat__0_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ A ) ) ).

% bot_nat_0.not_eq_extremum
thf(fact_928_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_929_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_930_nat__add__left__cancel__less,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_931_mod__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( modulo_modulo_nat @ M @ N )
        = M ) ) ).

% mod_less
thf(fact_932_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_933_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_934_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_935_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_936_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_937_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_938_add__gr__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        | ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% add_gr_0
thf(fact_939_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_940_nat__mult__less__cancel__disj,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
        & ( ord_less_nat @ M @ N ) ) ) ).

% nat_mult_less_cancel_disj
thf(fact_941_nat__0__less__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% nat_0_less_mult_iff
thf(fact_942_mult__less__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
        & ( ord_less_nat @ M @ N ) ) ) ).

% mult_less_cancel2
thf(fact_943_div__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( divide_divide_nat @ M @ N )
        = zero_zero_nat ) ) ).

% div_less
thf(fact_944_fps__const__mult,axiom,
    ! [C: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( times_6867330870908917660ring_a @ ( formal3326279369756374135ring_a @ C ) @ ( formal3326279369756374135ring_a @ D ) )
      = ( formal3326279369756374135ring_a @ ( times_3242606764180207630ring_a @ C @ D ) ) ) ).

% fps_const_mult
thf(fact_945_fps__const__mult,axiom,
    ! [C: nat,D: nat] :
      ( ( times_7269705568686124893ps_nat @ ( formal5286749789737391404st_nat @ C ) @ ( formal5286749789737391404st_nat @ D ) )
      = ( formal5286749789737391404st_nat @ ( times_times_nat @ C @ D ) ) ) ).

% fps_const_mult
thf(fact_946_fps__const__0__eq__0,axiom,
    ( ( formal5286749789737391404st_nat @ zero_zero_nat )
    = zero_z8531573698755551073ps_nat ) ).

% fps_const_0_eq_0
thf(fact_947_fps__const__add,axiom,
    ! [C: nat,D: nat] :
      ( ( plus_p6043471806551771617ps_nat @ ( formal5286749789737391404st_nat @ C ) @ ( formal5286749789737391404st_nat @ D ) )
      = ( formal5286749789737391404st_nat @ ( plus_plus_nat @ C @ D ) ) ) ).

% fps_const_add
thf(fact_948_subdegree__eq__0,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( ( formal3720337525774269570th_nat @ F @ zero_zero_nat )
       != zero_zero_nat )
     => ( ( formal1631592546598054428ee_nat @ F )
        = zero_zero_nat ) ) ).

% subdegree_eq_0
thf(fact_949_fps__nth__fps__const,axiom,
    ! [N: nat,C: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( formal3720337525774269570th_nat @ ( formal5286749789737391404st_nat @ C ) @ N )
          = C ) )
      & ( ( N != zero_zero_nat )
       => ( ( formal3720337525774269570th_nat @ ( formal5286749789737391404st_nat @ C ) @ N )
          = zero_zero_nat ) ) ) ).

% fps_nth_fps_const
thf(fact_950_div__mult__self__is__m,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( divide_divide_nat @ ( times_times_nat @ M @ N ) @ N )
        = M ) ) ).

% div_mult_self_is_m
thf(fact_951_div__mult__self1__is__m,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( divide_divide_nat @ ( times_times_nat @ N @ M ) @ N )
        = M ) ) ).

% div_mult_self1_is_m
thf(fact_952_nth__subdegree__zero__iff,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( ( formal3720337525774269570th_nat @ F @ ( formal1631592546598054428ee_nat @ F ) )
        = zero_zero_nat )
      = ( F = zero_z8531573698755551073ps_nat ) ) ).

% nth_subdegree_zero_iff
thf(fact_953_nth__subdegree__nonzero,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( F != zero_z8531573698755551073ps_nat )
     => ( ( formal3720337525774269570th_nat @ F @ ( formal1631592546598054428ee_nat @ F ) )
       != zero_zero_nat ) ) ).

% nth_subdegree_nonzero
thf(fact_954_fps__mult__left__const__nth,axiom,
    ! [C: poly_F3299452240248304339ring_a,F: formal8450108040061743841ring_a,N: nat] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ ( formal3326279369756374135ring_a @ C ) @ F ) @ N )
      = ( times_3242606764180207630ring_a @ C @ ( formal1348538149566464161ring_a @ F @ N ) ) ) ).

% fps_mult_left_const_nth
thf(fact_955_fps__mult__left__const__nth,axiom,
    ! [C: nat,F: formal_Power_fps_nat,N: nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ ( formal5286749789737391404st_nat @ C ) @ F ) @ N )
      = ( times_times_nat @ C @ ( formal3720337525774269570th_nat @ F @ N ) ) ) ).

% fps_mult_left_const_nth
thf(fact_956_fps__mult__right__const__nth,axiom,
    ! [F: formal8450108040061743841ring_a,C: poly_F3299452240248304339ring_a,N: nat] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ F @ ( formal3326279369756374135ring_a @ C ) ) @ N )
      = ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ N ) @ C ) ) ).

% fps_mult_right_const_nth
thf(fact_957_fps__mult__right__const__nth,axiom,
    ! [F: formal_Power_fps_nat,C: nat,N: nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ ( formal5286749789737391404st_nat @ C ) ) @ N )
      = ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ N ) @ C ) ) ).

% fps_mult_right_const_nth
thf(fact_958_nth__subdegree__mult__right,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ F @ G ) @ ( formal805226507785309063ring_a @ G ) )
      = ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ zero_zero_nat ) @ ( formal1348538149566464161ring_a @ G @ ( formal805226507785309063ring_a @ G ) ) ) ) ).

% nth_subdegree_mult_right
thf(fact_959_nth__subdegree__mult__right,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ ( formal1631592546598054428ee_nat @ G ) )
      = ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ zero_zero_nat ) @ ( formal3720337525774269570th_nat @ G @ ( formal1631592546598054428ee_nat @ G ) ) ) ) ).

% nth_subdegree_mult_right
thf(fact_960_nth__subdegree__mult__left,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ F @ G ) @ ( formal805226507785309063ring_a @ F ) )
      = ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ ( formal805226507785309063ring_a @ F ) ) @ ( formal1348538149566464161ring_a @ G @ zero_zero_nat ) ) ) ).

% nth_subdegree_mult_left
thf(fact_961_nth__subdegree__mult__left,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ ( formal1631592546598054428ee_nat @ F ) )
      = ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ ( formal1631592546598054428ee_nat @ F ) ) @ ( formal3720337525774269570th_nat @ G @ zero_zero_nat ) ) ) ).

% nth_subdegree_mult_left
thf(fact_962_nth__subdegree__mult,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ( formal1348538149566464161ring_a @ ( times_6867330870908917660ring_a @ F @ G ) @ ( plus_plus_nat @ ( formal805226507785309063ring_a @ F ) @ ( formal805226507785309063ring_a @ G ) ) )
      = ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ ( formal805226507785309063ring_a @ F ) ) @ ( formal1348538149566464161ring_a @ G @ ( formal805226507785309063ring_a @ G ) ) ) ) ).

% nth_subdegree_mult
thf(fact_963_nth__subdegree__mult,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ ( plus_plus_nat @ ( formal1631592546598054428ee_nat @ F ) @ ( formal1631592546598054428ee_nat @ G ) ) )
      = ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ ( formal1631592546598054428ee_nat @ F ) ) @ ( formal3720337525774269570th_nat @ G @ ( formal1631592546598054428ee_nat @ G ) ) ) ) ).

% nth_subdegree_mult
thf(fact_964_nth__less__subdegree__zero,axiom,
    ! [N: nat,F: formal_Power_fps_nat] :
      ( ( ord_less_nat @ N @ ( formal1631592546598054428ee_nat @ F ) )
     => ( ( formal3720337525774269570th_nat @ F @ N )
        = zero_zero_nat ) ) ).

% nth_less_subdegree_zero
thf(fact_965_subdegreeI,axiom,
    ! [F: formal_Power_fps_nat,D: nat] :
      ( ( ( formal3720337525774269570th_nat @ F @ D )
       != zero_zero_nat )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ D )
           => ( ( formal3720337525774269570th_nat @ F @ I2 )
              = zero_zero_nat ) )
       => ( ( formal1631592546598054428ee_nat @ F )
          = D ) ) ) ).

% subdegreeI
thf(fact_966_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_967_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_968_not__less__zero,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less_zero
thf(fact_969_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_970_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_971_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_972_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_973_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_974_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_975_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K2 = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_976_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_977_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_978_infinite__descent0,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P2 @ N3 )
             => ? [M4: nat] :
                  ( ( ord_less_nat @ M4 @ N3 )
                  & ~ ( P2 @ M4 ) ) ) )
       => ( P2 @ N ) ) ) ).

% infinite_descent0
thf(fact_979_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_980_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_981_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_982_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_983_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_984_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_985_less__add__eq__less,axiom,
    ! [K2: nat,L: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ K2 @ L )
     => ( ( ( plus_plus_nat @ M @ L )
          = ( plus_plus_nat @ K2 @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% less_add_eq_less
thf(fact_986_trans__less__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_less_add2
thf(fact_987_trans__less__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_less_add1
thf(fact_988_add__less__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% add_less_mono1
thf(fact_989_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_990_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_991_add__less__mono,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ K2 @ L )
       => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_less_mono
thf(fact_992_add__lessD1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ K2 )
     => ( ord_less_nat @ I @ K2 ) ) ).

% add_lessD1
thf(fact_993_cong__less__modulus__unique__nat,axiom,
    ! [X: nat,Y: nat,M: nat] :
      ( ( unique653641344996303876ng_nat @ X @ Y @ M )
     => ( ( ord_less_nat @ X @ M )
       => ( ( ord_less_nat @ Y @ M )
         => ( X = Y ) ) ) ) ).

% cong_less_modulus_unique_nat
thf(fact_994_fps__mult__nth__outside__subdegrees_I1_J,axiom,
    ! [N: nat,F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( ord_less_nat @ N @ ( formal1631592546598054428ee_nat @ F ) )
     => ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ N )
        = zero_zero_nat ) ) ).

% fps_mult_nth_outside_subdegrees(1)
thf(fact_995_fps__mult__nth__outside__subdegrees_I2_J,axiom,
    ! [N: nat,G: formal_Power_fps_nat,F: formal_Power_fps_nat] :
      ( ( ord_less_nat @ N @ ( formal1631592546598054428ee_nat @ G ) )
     => ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ N )
        = zero_zero_nat ) ) ).

% fps_mult_nth_outside_subdegrees(2)
thf(fact_996_fps__mult__nth__eq0,axiom,
    ! [N: nat,F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( ord_less_nat @ N @ ( plus_plus_nat @ ( formal1631592546598054428ee_nat @ F ) @ ( formal1631592546598054428ee_nat @ G ) ) )
     => ( ( formal3720337525774269570th_nat @ ( times_7269705568686124893ps_nat @ F @ G ) @ N )
        = zero_zero_nat ) ) ).

% fps_mult_nth_eq0
thf(fact_997_fps__const__nonzero__eq__nonzero,axiom,
    ! [C: nat] :
      ( ( C != zero_zero_nat )
     => ( ( formal5286749789737391404st_nat @ C )
       != zero_z8531573698755551073ps_nat ) ) ).

% fps_const_nonzero_eq_nonzero
thf(fact_998_linordered__semiring__strict__class_Omult__neg__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ ( times_times_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% linordered_semiring_strict_class.mult_neg_pos
thf(fact_999_linordered__semiring__strict__class_Omult__pos__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( times_times_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% linordered_semiring_strict_class.mult_pos_neg
thf(fact_1000_linordered__semiring__strict__class_Omult__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 @ ( times_times_nat @ A @ B ) ) ) ) ).

% linordered_semiring_strict_class.mult_pos_pos
thf(fact_1001_linordered__semiring__strict__class_Omult__pos__neg2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( times_times_nat @ B @ A ) @ zero_zero_nat ) ) ) ).

% linordered_semiring_strict_class.mult_pos_neg2
thf(fact_1002_zero__less__mult__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ A @ B ) )
     => ( ( ord_less_nat @ zero_zero_nat @ A )
       => ( ord_less_nat @ zero_zero_nat @ B ) ) ) ).

% zero_less_mult_pos
thf(fact_1003_zero__less__mult__pos2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ B @ A ) )
     => ( ( ord_less_nat @ zero_zero_nat @ A )
       => ( ord_less_nat @ zero_zero_nat @ B ) ) ) ).

% zero_less_mult_pos2
thf(fact_1004_linordered__semiring__strict__class_Omult__strict__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_left_mono
thf(fact_1005_linordered__semiring__strict__class_Omult__strict__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_right_mono
thf(fact_1006_linordered__comm__semiring__strict__class_Ocomm__mult__strict__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) ) ) ) ).

% linordered_comm_semiring_strict_class.comm_mult_strict_left_mono
thf(fact_1007_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_1008_zero__less__one__class_Ozero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one_class.zero_less_one
thf(fact_1009_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_1010_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_1011_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C3: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C3 ) )
           => ( C3 = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_1012_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_1013_less__1__mult,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ M )
     => ( ( ord_less_nat @ one_one_nat @ N )
       => ( ord_less_nat @ one_one_nat @ ( times_times_nat @ M @ N ) ) ) ) ).

% less_1_mult
thf(fact_1014_add__mono1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ ( plus_plus_nat @ B @ one_one_nat ) ) ) ).

% add_mono1
thf(fact_1015_less__add__one,axiom,
    ! [A: nat] : ( ord_less_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% less_add_one
thf(fact_1016_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J2: nat] :
            ( ( M
              = ( suc @ J2 ) )
            & ( ord_less_nat @ J2 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_1017_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M3: nat] :
          ( N
          = ( suc @ M3 ) ) ) ).

% gr0_implies_Suc
thf(fact_1018_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M2: nat] :
            ( N
            = ( suc @ M2 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_1019_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K3 )
          & ( ( plus_plus_nat @ I @ K3 )
            = J ) ) ) ).

% less_imp_add_positive
thf(fact_1020_less__imp__Suc__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ? [K3: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M @ K3 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_1021_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M2: nat,N2: nat] :
        ? [K: nat] :
          ( N2
          = ( suc @ ( plus_plus_nat @ M2 @ K ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_1022_less__add__Suc2,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M @ I ) ) ) ).

% less_add_Suc2
thf(fact_1023_less__add__Suc1,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M ) ) ) ).

% less_add_Suc1
thf(fact_1024_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q4: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q4 ) ) ) ) ).

% less_natE
thf(fact_1025_nat__mult__less__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K2 )
     => ( ( ord_less_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
        = ( ord_less_nat @ M @ N ) ) ) ).

% nat_mult_less_cancel1
thf(fact_1026_nat__mult__eq__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K2 )
     => ( ( ( times_times_nat @ K2 @ M )
          = ( times_times_nat @ K2 @ N ) )
        = ( M = N ) ) ) ).

% nat_mult_eq_cancel1
thf(fact_1027_mult__less__mono2,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_nat @ ( times_times_nat @ K2 @ I ) @ ( times_times_nat @ K2 @ J ) ) ) ) ).

% mult_less_mono2
thf(fact_1028_mult__less__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_nat @ ( times_times_nat @ I @ K2 ) @ ( times_times_nat @ J @ K2 ) ) ) ) ).

% mult_less_mono1
thf(fact_1029_Suc__mult__less__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ ( suc @ K2 ) @ M ) @ ( times_times_nat @ ( suc @ K2 ) @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_mult_less_cancel1
thf(fact_1030_Euclidean__Division_Odiv__eq__0__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( divide_divide_nat @ M @ N )
        = zero_zero_nat )
      = ( ( ord_less_nat @ M @ N )
        | ( N = zero_zero_nat ) ) ) ).

% Euclidean_Division.div_eq_0_iff
thf(fact_1031_gcd__nat__induct,axiom,
    ! [P2: nat > nat > $o,M: nat,N: nat] :
      ( ! [M3: nat] : ( P2 @ M3 @ zero_zero_nat )
     => ( ! [M3: nat,N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ( P2 @ N3 @ ( modulo_modulo_nat @ M3 @ N3 ) )
             => ( P2 @ M3 @ N3 ) ) )
       => ( P2 @ M @ N ) ) ) ).

% gcd_nat_induct
thf(fact_1032_mod__less__divisor,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( modulo_modulo_nat @ M @ N ) @ N ) ) ).

% mod_less_divisor
thf(fact_1033_mod__induct,axiom,
    ! [P2: nat > $o,N: nat,P3: nat,M: nat] :
      ( ( P2 @ N )
     => ( ( ord_less_nat @ N @ P3 )
       => ( ( ord_less_nat @ M @ P3 )
         => ( ! [N3: nat] :
                ( ( ord_less_nat @ N3 @ P3 )
               => ( ( P2 @ N3 )
                 => ( P2 @ ( modulo_modulo_nat @ ( suc @ N3 ) @ P3 ) ) ) )
           => ( P2 @ M ) ) ) ) ) ).

% mod_induct
thf(fact_1034_less__mult__imp__div__less,axiom,
    ! [M: nat,I: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( times_times_nat @ I @ N ) )
     => ( ord_less_nat @ ( divide_divide_nat @ M @ N ) @ I ) ) ).

% less_mult_imp_div_less
thf(fact_1035_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

% zero_less_two
thf(fact_1036_nat__induct__non__zero,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P2 @ one_one_nat )
       => ( ! [N3: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N3 )
             => ( ( P2 @ N3 )
               => ( P2 @ ( suc @ N3 ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_1037_n__less__n__mult__m,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M )
       => ( ord_less_nat @ N @ ( times_times_nat @ N @ M ) ) ) ) ).

% n_less_n_mult_m
thf(fact_1038_n__less__m__mult__n,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M )
       => ( ord_less_nat @ N @ ( times_times_nat @ M @ N ) ) ) ) ).

% n_less_m_mult_n
thf(fact_1039_one__less__mult,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ N )
     => ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ M )
       => ( ord_less_nat @ ( suc @ zero_zero_nat ) @ ( times_times_nat @ M @ N ) ) ) ) ).

% one_less_mult
thf(fact_1040_fps__nonzero__nth__minimal,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( F != zero_z8531573698755551073ps_nat )
      = ( ? [N2: nat] :
            ( ( ( formal3720337525774269570th_nat @ F @ N2 )
             != zero_zero_nat )
            & ! [M2: nat] :
                ( ( ord_less_nat @ M2 @ N2 )
               => ( ( formal3720337525774269570th_nat @ F @ M2 )
                  = zero_zero_nat ) ) ) ) ) ).

% fps_nonzero_nth_minimal
thf(fact_1041_div__eq__dividend__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ( ( ( divide_divide_nat @ M @ N )
          = M )
        = ( N = one_one_nat ) ) ) ).

% div_eq_dividend_iff
thf(fact_1042_div__less__dividend,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ one_one_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( divide_divide_nat @ M @ N ) @ M ) ) ) ).

% div_less_dividend
thf(fact_1043_nat__mult__div__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K2 )
     => ( ( divide_divide_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
        = ( divide_divide_nat @ M @ N ) ) ) ).

% nat_mult_div_cancel1
thf(fact_1044_div__less__iff__less__mult,axiom,
    ! [Q2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ Q2 )
     => ( ( ord_less_nat @ ( divide_divide_nat @ M @ Q2 ) @ N )
        = ( ord_less_nat @ M @ ( times_times_nat @ N @ Q2 ) ) ) ) ).

% div_less_iff_less_mult
thf(fact_1045_div__less__mono,axiom,
    ! [A3: nat,B3: nat,N: nat] :
      ( ( ord_less_nat @ A3 @ B3 )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( ( modulo_modulo_nat @ A3 @ N )
            = zero_zero_nat )
         => ( ( ( modulo_modulo_nat @ B3 @ N )
              = zero_zero_nat )
           => ( ord_less_nat @ ( divide_divide_nat @ A3 @ N ) @ ( divide_divide_nat @ B3 @ N ) ) ) ) ) ) ).

% div_less_mono
thf(fact_1046_coeff__poly__cutoff,axiom,
    ! [K2: nat,N: nat,P3: poly_nat] :
      ( ( ( ord_less_nat @ K2 @ N )
       => ( ( coeff_nat @ ( poly_cutoff_nat @ N @ P3 ) @ K2 )
          = ( coeff_nat @ P3 @ K2 ) ) )
      & ( ~ ( ord_less_nat @ K2 @ N )
       => ( ( coeff_nat @ ( poly_cutoff_nat @ N @ P3 ) @ K2 )
          = zero_zero_nat ) ) ) ).

% coeff_poly_cutoff
thf(fact_1047_subdegree__eq__0__iff,axiom,
    ! [F: formal_Power_fps_nat] :
      ( ( ( formal1631592546598054428ee_nat @ F )
        = zero_zero_nat )
      = ( ( F = zero_z8531573698755551073ps_nat )
        | ( ( formal3720337525774269570th_nat @ F @ zero_zero_nat )
         != zero_zero_nat ) ) ) ).

% subdegree_eq_0_iff
thf(fact_1048_split__div,axiom,
    ! [P2: nat > $o,M: nat,N: nat] :
      ( ( P2 @ ( divide_divide_nat @ M @ N ) )
      = ( ( ( N = zero_zero_nat )
         => ( P2 @ zero_zero_nat ) )
        & ( ( N != zero_zero_nat )
         => ! [I3: nat,J2: nat] :
              ( ( ( ord_less_nat @ J2 @ N )
                & ( M
                  = ( plus_plus_nat @ ( times_times_nat @ N @ I3 ) @ J2 ) ) )
             => ( P2 @ I3 ) ) ) ) ) ).

% split_div
thf(fact_1049_dividend__less__div__times,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ M @ ( plus_plus_nat @ N @ ( times_times_nat @ ( divide_divide_nat @ M @ N ) @ N ) ) ) ) ).

% dividend_less_div_times
thf(fact_1050_dividend__less__times__div,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ M @ ( plus_plus_nat @ N @ ( times_times_nat @ N @ ( divide_divide_nat @ M @ N ) ) ) ) ) ).

% dividend_less_times_div
thf(fact_1051_split__mod,axiom,
    ! [Q5: nat > $o,M: nat,N: nat] :
      ( ( Q5 @ ( modulo_modulo_nat @ M @ N ) )
      = ( ( ( N = zero_zero_nat )
         => ( Q5 @ M ) )
        & ( ( N != zero_zero_nat )
         => ! [I3: nat,J2: nat] :
              ( ( ( ord_less_nat @ J2 @ N )
                & ( M
                  = ( plus_plus_nat @ ( times_times_nat @ N @ I3 ) @ J2 ) ) )
             => ( Q5 @ J2 ) ) ) ) ) ).

% split_mod
thf(fact_1052_binary__chinese__remainder__unique__nat,axiom,
    ! [M1: nat,M22: nat,U1: nat,U2: nat] :
      ( ( algebr934650988132801477me_nat @ M1 @ M22 )
     => ( ( M1 != zero_zero_nat )
       => ( ( M22 != zero_zero_nat )
         => ? [X3: nat] :
              ( ( ord_less_nat @ X3 @ ( times_times_nat @ M1 @ M22 ) )
              & ( unique653641344996303876ng_nat @ X3 @ U1 @ M1 )
              & ( unique653641344996303876ng_nat @ X3 @ U2 @ M22 )
              & ! [Y5: nat] :
                  ( ( ( ord_less_nat @ Y5 @ ( times_times_nat @ M1 @ M22 ) )
                    & ( unique653641344996303876ng_nat @ Y5 @ U1 @ M1 )
                    & ( unique653641344996303876ng_nat @ Y5 @ U2 @ M22 ) )
                 => ( Y5 = X3 ) ) ) ) ) ) ).

% binary_chinese_remainder_unique_nat
thf(fact_1053_subdegree__mult_H,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ( ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ ( formal805226507785309063ring_a @ F ) ) @ ( formal1348538149566464161ring_a @ G @ ( formal805226507785309063ring_a @ G ) ) )
       != zero_z1830546546923837194ring_a )
     => ( ( formal805226507785309063ring_a @ ( times_6867330870908917660ring_a @ F @ G ) )
        = ( plus_plus_nat @ ( formal805226507785309063ring_a @ F ) @ ( formal805226507785309063ring_a @ G ) ) ) ) ).

% subdegree_mult'
thf(fact_1054_subdegree__mult_H,axiom,
    ! [F: formal_Power_fps_nat,G: formal_Power_fps_nat] :
      ( ( ( times_times_nat @ ( formal3720337525774269570th_nat @ F @ ( formal1631592546598054428ee_nat @ F ) ) @ ( formal3720337525774269570th_nat @ G @ ( formal1631592546598054428ee_nat @ G ) ) )
       != zero_zero_nat )
     => ( ( formal1631592546598054428ee_nat @ ( times_7269705568686124893ps_nat @ F @ G ) )
        = ( plus_plus_nat @ ( formal1631592546598054428ee_nat @ F ) @ ( formal1631592546598054428ee_nat @ G ) ) ) ) ).

% subdegree_mult'
thf(fact_1055_ex__Suc__conv,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
            & ( P2 @ I3 ) ) )
      = ( ( P2 @ zero_zero_nat )
        | ? [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
            & ( P2 @ ( suc @ I3 ) ) ) ) ) ).

% ex_Suc_conv
thf(fact_1056_all__Suc__conv,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ N ) )
           => ( P2 @ I3 ) ) )
      = ( ( P2 @ zero_zero_nat )
        & ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ N )
           => ( P2 @ ( suc @ I3 ) ) ) ) ) ).

% all_Suc_conv
thf(fact_1057_all__less__two,axiom,
    ! [P2: nat > $o] :
      ( ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( suc @ ( suc @ zero_zero_nat ) ) )
           => ( P2 @ I3 ) ) )
      = ( ( P2 @ zero_zero_nat )
        & ( P2 @ ( suc @ zero_zero_nat ) ) ) ) ).

% all_less_two
thf(fact_1058_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_1059_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_1060_coprime__iff__invertible_H__nat,axiom,
    ! [M: nat,A: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ( ( algebr934650988132801477me_nat @ A @ M )
        = ( ? [X2: nat] :
              ( ( ord_less_eq_nat @ zero_zero_nat @ X2 )
              & ( ord_less_nat @ X2 @ M )
              & ( unique653641344996303876ng_nat @ ( times_times_nat @ A @ X2 ) @ ( suc @ zero_zero_nat ) @ M ) ) ) ) ) ).

% coprime_iff_invertible'_nat
thf(fact_1061_fps__cutoff__nth,axiom,
    ! [I: nat,N: nat,F: formal_Power_fps_nat] :
      ( ( ( ord_less_nat @ I @ N )
       => ( ( formal3720337525774269570th_nat @ ( formal4818209184033568742ff_nat @ N @ F ) @ I )
          = ( formal3720337525774269570th_nat @ F @ I ) ) )
      & ( ~ ( ord_less_nat @ I @ N )
       => ( ( formal3720337525774269570th_nat @ ( formal4818209184033568742ff_nat @ N @ F ) @ I )
          = zero_zero_nat ) ) ) ).

% fps_cutoff_nth
thf(fact_1062_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_zero_eq
thf(fact_1063_add__le__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_1064_add__le__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_1065_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_1066_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_1067_nat__add__left__cancel__le,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_1068_le__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel2
thf(fact_1069_le__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel1
thf(fact_1070_add__le__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel2
thf(fact_1071_add__le__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel1
thf(fact_1072_fps__XDp0,axiom,
    ( ( formal9197787955091086413Dp_nat @ zero_zero_nat )
    = formal814923487339530757XD_nat ) ).

% fps_XDp0
thf(fact_1073_nat__mult__le__cancel__disj,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% nat_mult_le_cancel_disj
thf(fact_1074_mult__le__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% mult_le_cancel2
thf(fact_1075_one__le__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ ( times_times_nat @ M @ N ) )
      = ( ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ M )
        & ( ord_less_eq_nat @ ( suc @ zero_zero_nat ) @ N ) ) ) ).

% one_le_mult_iff
thf(fact_1076_add__le__imp__le__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_1077_add__le__imp__le__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_1078_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] :
        ? [C2: nat] :
          ( B2
          = ( plus_plus_nat @ A2 @ C2 ) ) ) ) ).

% le_iff_add
thf(fact_1079_add__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_right_mono
thf(fact_1080_less__eqE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ~ ! [C3: nat] :
            ( B
           != ( plus_plus_nat @ A @ C3 ) ) ) ).

% less_eqE
thf(fact_1081_add__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_left_mono
thf(fact_1082_add__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_mono
thf(fact_1083_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_eq_nat @ K2 @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_1084_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_eq_nat @ K2 @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_1085_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( K2 = L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_1086_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M2: nat,N2: nat] :
        ? [K: nat] :
          ( N2
          = ( plus_plus_nat @ M2 @ K ) ) ) ) ).

% nat_le_iff_add
thf(fact_1087_trans__le__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_le_add2
thf(fact_1088_trans__le__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_le_add1
thf(fact_1089_add__le__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% add_le_mono1
thf(fact_1090_add__le__mono,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K2 @ L )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ) ).

% add_le_mono
thf(fact_1091_le__Suc__ex,axiom,
    ! [K2: nat,L: nat] :
      ( ( ord_less_eq_nat @ K2 @ L )
     => ? [N3: nat] :
          ( L
          = ( plus_plus_nat @ K2 @ N3 ) ) ) ).

% le_Suc_ex
thf(fact_1092_add__leD2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K2 ) @ N )
     => ( ord_less_eq_nat @ K2 @ N ) ) ).

% add_leD2
thf(fact_1093_add__leD1,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K2 ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% add_leD1
thf(fact_1094_le__add2,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M @ N ) ) ).

% le_add2
thf(fact_1095_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

% le_add1
thf(fact_1096_add__leE,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K2 ) @ N )
     => ~ ( ( ord_less_eq_nat @ M @ N )
         => ~ ( ord_less_eq_nat @ K2 @ N ) ) ) ).

% add_leE
thf(fact_1097_mult__le__mono2,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( times_times_nat @ K2 @ I ) @ ( times_times_nat @ K2 @ J ) ) ) ).

% mult_le_mono2
thf(fact_1098_mult__le__mono1,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( times_times_nat @ I @ K2 ) @ ( times_times_nat @ J @ K2 ) ) ) ).

% mult_le_mono1
thf(fact_1099_mult__le__mono,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K2 @ L )
       => ( ord_less_eq_nat @ ( times_times_nat @ I @ K2 ) @ ( times_times_nat @ J @ L ) ) ) ) ).

% mult_le_mono
thf(fact_1100_le__square,axiom,
    ! [M: nat] : ( ord_less_eq_nat @ M @ ( times_times_nat @ M @ M ) ) ).

% le_square
thf(fact_1101_le__cube,axiom,
    ! [M: nat] : ( ord_less_eq_nat @ M @ ( times_times_nat @ M @ ( times_times_nat @ M @ M ) ) ) ).

% le_cube
thf(fact_1102_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_1103_bot__nat__0_Oextremum__unique,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
      = ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_unique
thf(fact_1104_bot__nat__0_Oextremum__uniqueI,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_uniqueI
thf(fact_1105_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_1106_zero__le,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X ) ).

% zero_le
thf(fact_1107_mod__less__eq__dividend,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( modulo_modulo_nat @ M @ N ) @ M ) ).

% mod_less_eq_dividend
thf(fact_1108_div__le__mono,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( divide_divide_nat @ M @ K2 ) @ ( divide_divide_nat @ N @ K2 ) ) ) ).

% div_le_mono
thf(fact_1109_div__le__dividend,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( divide_divide_nat @ M @ N ) @ M ) ).

% div_le_dividend
thf(fact_1110_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

% le_numeral_extra(3)
thf(fact_1111_ordered__comm__semiring__class_Ocomm__mult__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
       => ( ord_less_eq_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) ) ) ) ).

% ordered_comm_semiring_class.comm_mult_left_mono
thf(fact_1112_mult__nonneg__nonpos2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( times_times_nat @ B @ A ) @ zero_zero_nat ) ) ) ).

% mult_nonneg_nonpos2
thf(fact_1113_mult__nonpos__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ ( times_times_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% mult_nonpos_nonneg
thf(fact_1114_mult__nonneg__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( times_times_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% mult_nonneg_nonpos
thf(fact_1115_mult__nonneg__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( times_times_nat @ A @ B ) ) ) ) ).

% mult_nonneg_nonneg
thf(fact_1116_split__mult__neg__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ( ord_less_eq_nat @ zero_zero_nat @ A )
          & ( ord_less_eq_nat @ B @ zero_zero_nat ) )
        | ( ( ord_less_eq_nat @ A @ zero_zero_nat )
          & ( ord_less_eq_nat @ zero_zero_nat @ B ) ) )
     => ( ord_less_eq_nat @ ( times_times_nat @ A @ B ) @ zero_zero_nat ) ) ).

% split_mult_neg_le
thf(fact_1117_mult__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
       => ( ord_less_eq_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) ) ) ) ).

% mult_right_mono
thf(fact_1118_mult__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
       => ( ord_less_eq_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) ) ) ) ).

% mult_left_mono
thf(fact_1119_mult__mono_H,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_eq_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% mult_mono'
thf(fact_1120_mult__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_eq_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% mult_mono
thf(fact_1121_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one_class.zero_le_one
thf(fact_1122_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_1123_not__one__le__zero,axiom,
    ~ ( ord_less_eq_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_le_zero
thf(fact_1124_add__nonpos__eq__0__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X @ Y )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_1125_add__nonneg__eq__0__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ( ( plus_plus_nat @ X @ Y )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_1126_add__nonpos__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_nonpos
thf(fact_1127_add__nonneg__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_1128_add__increasing2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_1129_add__decreasing2,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_1130_add__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_1131_add__decreasing,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_1132_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_1133_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K2: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K2 @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_1134_add__le__less__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_le_less_mono
thf(fact_1135_add__less__le__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_less_le_mono
thf(fact_1136_ex__least__nat__le,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K3 )
               => ~ ( P2 @ I4 ) )
            & ( P2 @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_1137_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K2: nat] :
      ( ! [M3: nat,N3: nat] :
          ( ( ord_less_nat @ M3 @ N3 )
         => ( ord_less_nat @ ( F @ M3 ) @ ( F @ N3 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K2 ) @ ( F @ ( plus_plus_nat @ M @ K2 ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_1138_Suc__mult__le__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ ( suc @ K2 ) @ M ) @ ( times_times_nat @ ( suc @ K2 ) @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_mult_le_cancel1
thf(fact_1139_Suc__div__le__mono,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( divide_divide_nat @ M @ N ) @ ( divide_divide_nat @ ( suc @ M ) @ N ) ) ).

% Suc_div_le_mono
thf(fact_1140_mod__Suc__le__divisor,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( modulo_modulo_nat @ M @ ( suc @ N ) ) @ N ) ).

% mod_Suc_le_divisor
thf(fact_1141_times__div__less__eq__dividend,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ ( times_times_nat @ N @ ( divide_divide_nat @ M @ N ) ) @ M ) ).

% times_div_less_eq_dividend
thf(fact_1142_div__times__less__eq__dividend,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( times_times_nat @ ( divide_divide_nat @ M @ N ) @ N ) @ M ) ).

% div_times_less_eq_dividend
thf(fact_1143_linordered__semiring__strict__class_Omult__less__le__imp__less,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
         => ( ( ord_less_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_less_le_imp_less
thf(fact_1144_linordered__semiring__strict__class_Omult__le__less__imp__less,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ( ord_less_nat @ zero_zero_nat @ A )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_le_less_imp_less
thf(fact_1145_mult__right__le__imp__le,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_eq_nat @ A @ B ) ) ) ).

% mult_right_le_imp_le
thf(fact_1146_mult__left__le__imp__le,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) )
     => ( ( ord_less_nat @ zero_zero_nat @ C )
       => ( ord_less_eq_nat @ A @ B ) ) ) ).

% mult_left_le_imp_le
thf(fact_1147_linordered__semiring__strict__class_Omult__strict__mono_H,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_mono'
thf(fact_1148_mult__right__less__imp__less,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ C ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ A @ B ) ) ) ).

% mult_right_less_imp_less
thf(fact_1149_linordered__semiring__strict__class_Omult__strict__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ( ord_less_nat @ zero_zero_nat @ B )
         => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
           => ( ord_less_nat @ ( times_times_nat @ A @ C ) @ ( times_times_nat @ B @ D ) ) ) ) ) ) ).

% linordered_semiring_strict_class.mult_strict_mono
thf(fact_1150_mult__left__less__imp__less,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ C @ A ) @ ( times_times_nat @ C @ B ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ C )
       => ( ord_less_nat @ A @ B ) ) ) ).

% mult_left_less_imp_less
thf(fact_1151_mult__left__le,axiom,
    ! [C: nat,A: nat] :
      ( ( ord_less_eq_nat @ C @ one_one_nat )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ord_less_eq_nat @ ( times_times_nat @ A @ C ) @ A ) ) ) ).

% mult_left_le
thf(fact_1152_mult__le__one,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ one_one_nat )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ( ord_less_eq_nat @ B @ one_one_nat )
         => ( ord_less_eq_nat @ ( times_times_nat @ A @ B ) @ one_one_nat ) ) ) ) ).

% mult_le_one
thf(fact_1153_add__strict__increasing2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing2
thf(fact_1154_add__strict__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing
thf(fact_1155_add__pos__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_nonneg
thf(fact_1156_add__nonpos__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_neg
thf(fact_1157_add__nonneg__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_pos
thf(fact_1158_add__neg__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_nonpos
thf(fact_1159_ex__least__nat__less,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_eq_nat @ I4 @ K3 )
               => ~ ( P2 @ I4 ) )
            & ( P2 @ ( suc @ K3 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_1160_nat__mult__le__cancel1,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ K2 )
     => ( ( ord_less_eq_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) )
        = ( ord_less_eq_nat @ M @ N ) ) ) ).

% nat_mult_le_cancel1
thf(fact_1161_subdegree__leI,axiom,
    ! [F: formal_Power_fps_nat,N: nat] :
      ( ( ( formal3720337525774269570th_nat @ F @ N )
       != zero_zero_nat )
     => ( ord_less_eq_nat @ ( formal1631592546598054428ee_nat @ F ) @ N ) ) ).

% subdegree_leI
thf(fact_1162_div__le__mono2,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ( ( ord_less_eq_nat @ M @ N )
       => ( ord_less_eq_nat @ ( divide_divide_nat @ K2 @ N ) @ ( divide_divide_nat @ K2 @ M ) ) ) ) ).

% div_le_mono2
thf(fact_1163_div__greater__zero__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( divide_divide_nat @ M @ N ) )
      = ( ( ord_less_eq_nat @ N @ M )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% div_greater_zero_iff
thf(fact_1164_mod__le__divisor,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_eq_nat @ ( modulo_modulo_nat @ M @ N ) @ N ) ) ).

% mod_le_divisor
thf(fact_1165_cong__less__unique__nat,axiom,
    ! [M: nat,A: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ? [X3: nat] :
          ( ( ord_less_eq_nat @ zero_zero_nat @ X3 )
          & ( ord_less_nat @ X3 @ M )
          & ( unique653641344996303876ng_nat @ A @ X3 @ M )
          & ! [Y5: nat] :
              ( ( ( ord_less_eq_nat @ zero_zero_nat @ Y5 )
                & ( ord_less_nat @ Y5 @ M )
                & ( unique653641344996303876ng_nat @ A @ Y5 @ M ) )
             => ( Y5 = X3 ) ) ) ) ).

% cong_less_unique_nat
thf(fact_1166_cong__less__imp__eq__nat,axiom,
    ! [A: nat,M: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ A @ M )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
         => ( ( ord_less_nat @ B @ M )
           => ( ( unique653641344996303876ng_nat @ A @ B @ M )
             => ( A = B ) ) ) ) ) ) ).

% cong_less_imp_eq_nat
thf(fact_1167_mod__eq__nat1E,axiom,
    ! [M: nat,Q2: nat,N: nat] :
      ( ( ( modulo_modulo_nat @ M @ Q2 )
        = ( modulo_modulo_nat @ N @ Q2 ) )
     => ( ( ord_less_eq_nat @ N @ M )
       => ~ ! [S: nat] :
              ( M
             != ( plus_plus_nat @ N @ ( times_times_nat @ Q2 @ S ) ) ) ) ) ).

% mod_eq_nat1E
thf(fact_1168_mod__eq__nat2E,axiom,
    ! [M: nat,Q2: nat,N: nat] :
      ( ( ( modulo_modulo_nat @ M @ Q2 )
        = ( modulo_modulo_nat @ N @ Q2 ) )
     => ( ( ord_less_eq_nat @ M @ N )
       => ~ ! [S: nat] :
              ( N
             != ( plus_plus_nat @ M @ ( times_times_nat @ Q2 @ S ) ) ) ) ) ).

% mod_eq_nat2E
thf(fact_1169_cong__le__nat,axiom,
    ! [Y: nat,X: nat,N: nat] :
      ( ( ord_less_eq_nat @ Y @ X )
     => ( ( unique653641344996303876ng_nat @ X @ Y @ N )
        = ( ? [Q3: nat] :
              ( X
              = ( plus_plus_nat @ ( times_times_nat @ Q3 @ N ) @ Y ) ) ) ) ) ).

% cong_le_nat
thf(fact_1170_less__eq__div__iff__mult__less__eq,axiom,
    ! [Q2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ Q2 )
     => ( ( ord_less_eq_nat @ M @ ( divide_divide_nat @ N @ Q2 ) )
        = ( ord_less_eq_nat @ ( times_times_nat @ M @ Q2 ) @ N ) ) ) ).

% less_eq_div_iff_mult_less_eq
thf(fact_1171_div__nat__eqI,axiom,
    ! [N: nat,Q2: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( times_times_nat @ N @ Q2 ) @ M )
     => ( ( ord_less_nat @ M @ ( times_times_nat @ N @ ( suc @ Q2 ) ) )
       => ( ( divide_divide_nat @ M @ N )
          = Q2 ) ) ) ).

% div_nat_eqI
thf(fact_1172_split__div_H,axiom,
    ! [P2: nat > $o,M: nat,N: nat] :
      ( ( P2 @ ( divide_divide_nat @ M @ N ) )
      = ( ( ( N = zero_zero_nat )
          & ( P2 @ zero_zero_nat ) )
        | ? [Q3: nat] :
            ( ( ord_less_eq_nat @ ( times_times_nat @ N @ Q3 ) @ M )
            & ( ord_less_nat @ M @ ( times_times_nat @ N @ ( suc @ Q3 ) ) )
            & ( P2 @ Q3 ) ) ) ) ).

% split_div'
thf(fact_1173_subdegree__le__imp__dvd__right__ring1,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ? [X4: poly_F3299452240248304339ring_a] :
          ( ( times_3242606764180207630ring_a @ X4 @ ( formal1348538149566464161ring_a @ F @ ( formal805226507785309063ring_a @ F ) ) )
          = one_on3394844594818161742ring_a )
     => ( ( ord_less_eq_nat @ ( formal805226507785309063ring_a @ F ) @ ( formal805226507785309063ring_a @ G ) )
       => ? [K3: formal8450108040061743841ring_a] :
            ( G
            = ( times_6867330870908917660ring_a @ K3 @ F ) ) ) ) ).

% subdegree_le_imp_dvd_right_ring1
thf(fact_1174_subdegree__le__imp__dvd__left__ring1,axiom,
    ! [F: formal8450108040061743841ring_a,G: formal8450108040061743841ring_a] :
      ( ? [Y5: poly_F3299452240248304339ring_a] :
          ( ( times_3242606764180207630ring_a @ ( formal1348538149566464161ring_a @ F @ ( formal805226507785309063ring_a @ F ) ) @ Y5 )
          = one_on3394844594818161742ring_a )
     => ( ( ord_less_eq_nat @ ( formal805226507785309063ring_a @ F ) @ ( formal805226507785309063ring_a @ G ) )
       => ? [K3: formal8450108040061743841ring_a] :
            ( G
            = ( times_6867330870908917660ring_a @ F @ K3 ) ) ) ) ).

% subdegree_le_imp_dvd_left_ring1
thf(fact_1175_subdegree__geI,axiom,
    ! [F: formal_Power_fps_nat,N: nat] :
      ( ( F != zero_z8531573698755551073ps_nat )
     => ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ N )
           => ( ( formal3720337525774269570th_nat @ F @ I2 )
              = zero_zero_nat ) )
       => ( ord_less_eq_nat @ N @ ( formal1631592546598054428ee_nat @ F ) ) ) ) ).

% subdegree_geI
thf(fact_1176_subdegree__greaterI,axiom,
    ! [F: formal_Power_fps_nat,N: nat] :
      ( ( F != zero_z8531573698755551073ps_nat )
     => ( ! [I2: nat] :
            ( ( ord_less_eq_nat @ I2 @ N )
           => ( ( formal3720337525774269570th_nat @ F @ I2 )
              = zero_zero_nat ) )
       => ( ord_less_nat @ N @ ( formal1631592546598054428ee_nat @ F ) ) ) ) ).

% subdegree_greaterI
thf(fact_1177_verit__le__mono__div,axiom,
    ! [A3: nat,B3: nat,N: nat] :
      ( ( ord_less_nat @ A3 @ B3 )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ord_less_eq_nat
          @ ( plus_plus_nat @ ( divide_divide_nat @ A3 @ N )
            @ ( if_nat
              @ ( ( modulo_modulo_nat @ B3 @ N )
                = zero_zero_nat )
              @ one_one_nat
              @ zero_zero_nat ) )
          @ ( divide_divide_nat @ B3 @ N ) ) ) ) ).

% verit_le_mono_div
thf(fact_1178_div__mult__mono,axiom,
    ! [A: nat,D: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ A @ D )
       => ( ord_less_eq_nat @ ( divide_divide_nat @ ( times_times_nat @ A @ B ) @ D ) @ B ) ) ) ).

% div_mult_mono
thf(fact_1179_zero__diff,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_1180_diff__zero,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ zero_zero_nat )
      = A ) ).

% diff_zero
thf(fact_1181_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ A )
      = zero_zero_nat ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_1182_add__diff__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_1183_add__diff__cancel__left_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_1184_add__diff__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_1185_add__diff__cancel__right_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_1186_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_1187_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_1188_coeff__diff,axiom,
    ! [P3: poly_nat,Q2: poly_nat,N: nat] :
      ( ( coeff_nat @ ( minus_minus_poly_nat @ P3 @ Q2 ) @ N )
      = ( minus_minus_nat @ ( coeff_nat @ P3 @ N ) @ ( coeff_nat @ Q2 @ N ) ) ) ).

% coeff_diff
thf(fact_1189_diff__diff__left,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K2 )
      = ( minus_minus_nat @ I @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% diff_diff_left
thf(fact_1190_diff__add__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = zero_zero_nat ) ).

% diff_add_zero
thf(fact_1191_le__add__diff__inverse,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_1192_le__add__diff__inverse2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_1193_zero__less__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( minus_minus_nat @ N @ M ) )
      = ( ord_less_nat @ M @ N ) ) ).

% zero_less_diff
thf(fact_1194_diff__is__0__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% diff_is_0_eq
thf(fact_1195_diff__is__0__eq_H,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat ) ) ).

% diff_is_0_eq'
thf(fact_1196_Nat_Oadd__diff__assoc,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K2 ) ) ) ).

% Nat.add_diff_assoc
thf(fact_1197_Nat_Oadd__diff__assoc2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K2 ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K2 ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_1198_Nat_Odiff__diff__right,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K2 ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_1199_Suc__pred,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ ( suc @ zero_zero_nat ) ) )
        = N ) ) ).

% Suc_pred
thf(fact_1200_diff__Suc__diff__eq1,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ I @ ( suc @ ( minus_minus_nat @ J @ K2 ) ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K2 ) @ ( suc @ J ) ) ) ) ).

% diff_Suc_diff_eq1
thf(fact_1201_diff__Suc__diff__eq2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ ( suc @ ( minus_minus_nat @ J @ K2 ) ) @ I )
        = ( minus_minus_nat @ ( suc @ J ) @ ( plus_plus_nat @ K2 @ I ) ) ) ) ).

% diff_Suc_diff_eq2
thf(fact_1202_Suc__diff__1,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ one_one_nat ) )
        = N ) ) ).

% Suc_diff_1
thf(fact_1203_add__le__add__imp__diff__le,axiom,
    ! [I: nat,K2: nat,N: nat,J: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
     => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K2 ) )
       => ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
         => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K2 ) )
           => ( ord_less_eq_nat @ ( minus_minus_nat @ N @ K2 ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_1204_add__le__imp__le__diff,axiom,
    ! [I: nat,K2: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ N )
     => ( ord_less_eq_nat @ I @ ( minus_minus_nat @ N @ K2 ) ) ) ).

% add_le_imp_le_diff
thf(fact_1205_ordered__cancel__comm__monoid__diff__class_Odiff__add,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ A )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add
thf(fact_1206_le__add__diff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ C @ ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% le_add_diff
thf(fact_1207_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_diff_conv2
thf(fact_1208_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc
thf(fact_1209_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A )
        = ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc
thf(fact_1210_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C )
        = ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc2
thf(fact_1211_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A )
        = ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc2
thf(fact_1212_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_diff_right
thf(fact_1213_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ A @ ( minus_minus_nat @ B @ A ) )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_inverse
thf(fact_1214_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ( ( minus_minus_nat @ B @ A )
            = C )
          = ( B
            = ( plus_plus_nat @ C @ A ) ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_imp_diff_is_add
thf(fact_1215_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ~ ( ord_less_nat @ A @ B )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_1216_eq__add__iff1,axiom,
    ! [A: poly_F3299452240248304339ring_a,E: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ E ) @ C )
        = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ B @ E ) @ D ) )
      = ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( minus_5354101470050066234ring_a @ A @ B ) @ E ) @ C )
        = D ) ) ).

% eq_add_iff1
thf(fact_1217_eq__add__iff2,axiom,
    ! [A: poly_F3299452240248304339ring_a,E: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a] :
      ( ( ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ A @ E ) @ C )
        = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ B @ E ) @ D ) )
      = ( C
        = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ ( minus_5354101470050066234ring_a @ B @ A ) @ E ) @ D ) ) ) ).

% eq_add_iff2
thf(fact_1218_square__diff__square__factored,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( minus_5354101470050066234ring_a @ ( times_3242606764180207630ring_a @ X @ X ) @ ( times_3242606764180207630ring_a @ Y @ Y ) )
      = ( times_3242606764180207630ring_a @ ( plus_p7290290253215468682ring_a @ X @ Y ) @ ( minus_5354101470050066234ring_a @ X @ Y ) ) ) ).

% square_diff_square_factored
thf(fact_1219_diff__less,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ M ) ) ) ).

% diff_less
thf(fact_1220_cong__diff__iff__cong__0,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ ( minus_5354101470050066234ring_a @ B @ C ) @ zero_z1830546546923837194ring_a @ A )
      = ( unique1634774806376436639ring_a @ B @ C @ A ) ) ).

% cong_diff_iff_cong_0
thf(fact_1221_diff__add__0,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ N @ ( plus_plus_nat @ N @ M ) )
      = zero_zero_nat ) ).

% diff_add_0
thf(fact_1222_add__diff__inverse__nat,axiom,
    ! [M: nat,N: nat] :
      ( ~ ( ord_less_nat @ M @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M @ N ) )
        = M ) ) ).

% add_diff_inverse_nat
thf(fact_1223_less__diff__conv,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I @ K2 ) @ J ) ) ).

% less_diff_conv
thf(fact_1224_le__diff__conv,axiom,
    ! [J: nat,K2: nat,I: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J @ K2 ) @ I )
      = ( ord_less_eq_nat @ J @ ( plus_plus_nat @ I @ K2 ) ) ) ).

% le_diff_conv
thf(fact_1225_Nat_Ole__diff__conv2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( ord_less_eq_nat @ I @ ( minus_minus_nat @ J @ K2 ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K2 ) @ J ) ) ) ).

% Nat.le_diff_conv2
thf(fact_1226_Nat_Odiff__add__assoc,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K2 )
        = ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K2 ) ) ) ) ).

% Nat.diff_add_assoc
thf(fact_1227_Nat_Odiff__add__assoc2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K2 )
        = ( plus_plus_nat @ ( minus_minus_nat @ J @ K2 ) @ I ) ) ) ).

% Nat.diff_add_assoc2
thf(fact_1228_Nat_Ole__imp__diff__is__add,axiom,
    ! [I: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( minus_minus_nat @ J @ I )
          = K2 )
        = ( J
          = ( plus_plus_nat @ K2 @ I ) ) ) ) ).

% Nat.le_imp_diff_is_add
thf(fact_1229_mod__if,axiom,
    ( modulo_modulo_nat
    = ( ^ [M2: nat,N2: nat] : ( if_nat @ ( ord_less_nat @ M2 @ N2 ) @ M2 @ ( modulo_modulo_nat @ ( minus_minus_nat @ M2 @ N2 ) @ N2 ) ) ) ) ).

% mod_if
thf(fact_1230_le__mod__geq,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( modulo_modulo_nat @ M @ N )
        = ( modulo_modulo_nat @ ( minus_minus_nat @ M @ N ) @ N ) ) ) ).

% le_mod_geq
thf(fact_1231_cong__diff__nat,axiom,
    ! [A: nat,B: nat,M: nat,C: nat,D: nat] :
      ( ( unique653641344996303876ng_nat @ A @ B @ M )
     => ( ( unique653641344996303876ng_nat @ C @ D @ M )
       => ( ( ord_less_eq_nat @ C @ A )
         => ( ( ord_less_eq_nat @ D @ B )
           => ( unique653641344996303876ng_nat @ ( minus_minus_nat @ A @ C ) @ ( minus_minus_nat @ B @ D ) @ M ) ) ) ) ) ).

% cong_diff_nat
thf(fact_1232_right__diff__distrib_H,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ A @ ( minus_5354101470050066234ring_a @ B @ C ) )
      = ( minus_5354101470050066234ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ ( times_3242606764180207630ring_a @ A @ C ) ) ) ).

% right_diff_distrib'
thf(fact_1233_right__diff__distrib_H,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( times_times_nat @ A @ ( minus_minus_nat @ B @ C ) )
      = ( minus_minus_nat @ ( times_times_nat @ A @ B ) @ ( times_times_nat @ A @ C ) ) ) ).

% right_diff_distrib'
thf(fact_1234_left__diff__distrib_H,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( minus_5354101470050066234ring_a @ B @ C ) @ A )
      = ( minus_5354101470050066234ring_a @ ( times_3242606764180207630ring_a @ B @ A ) @ ( times_3242606764180207630ring_a @ C @ A ) ) ) ).

% left_diff_distrib'
thf(fact_1235_left__diff__distrib_H,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ B @ C ) @ A )
      = ( minus_minus_nat @ ( times_times_nat @ B @ A ) @ ( times_times_nat @ C @ A ) ) ) ).

% left_diff_distrib'
thf(fact_1236_right__diff__distrib,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ A @ ( minus_5354101470050066234ring_a @ B @ C ) )
      = ( minus_5354101470050066234ring_a @ ( times_3242606764180207630ring_a @ A @ B ) @ ( times_3242606764180207630ring_a @ A @ C ) ) ) ).

% right_diff_distrib
thf(fact_1237_left__diff__distrib,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a] :
      ( ( times_3242606764180207630ring_a @ ( minus_5354101470050066234ring_a @ A @ B ) @ C )
      = ( minus_5354101470050066234ring_a @ ( times_3242606764180207630ring_a @ A @ C ) @ ( times_3242606764180207630ring_a @ B @ C ) ) ) ).

% left_diff_distrib
thf(fact_1238_diff__diff__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C )
      = ( minus_minus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% diff_diff_eq
thf(fact_1239_add__implies__diff,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ( plus_plus_nat @ C @ B )
        = A )
     => ( C
        = ( minus_minus_nat @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_1240_diff__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

% diff_add_inverse2
thf(fact_1241_diff__add__inverse,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ N )
      = M ) ).

% diff_add_inverse
thf(fact_1242_diff__cancel2,axiom,
    ! [M: nat,K2: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ K2 ) @ ( plus_plus_nat @ N @ K2 ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_cancel2
thf(fact_1243_Nat_Odiff__cancel,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% Nat.diff_cancel
thf(fact_1244_diff__mult__distrib2,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( times_times_nat @ K2 @ ( minus_minus_nat @ M @ N ) )
      = ( minus_minus_nat @ ( times_times_nat @ K2 @ M ) @ ( times_times_nat @ K2 @ N ) ) ) ).

% diff_mult_distrib2
thf(fact_1245_diff__mult__distrib,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( times_times_nat @ ( minus_minus_nat @ M @ N ) @ K2 )
      = ( minus_minus_nat @ ( times_times_nat @ M @ K2 ) @ ( times_times_nat @ N @ K2 ) ) ) ).

% diff_mult_distrib
thf(fact_1246_mult__diff__mult,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( minus_5354101470050066234ring_a @ ( times_3242606764180207630ring_a @ X @ Y ) @ ( times_3242606764180207630ring_a @ A @ B ) )
      = ( plus_p7290290253215468682ring_a @ ( times_3242606764180207630ring_a @ X @ ( minus_5354101470050066234ring_a @ Y @ B ) ) @ ( times_3242606764180207630ring_a @ ( minus_5354101470050066234ring_a @ X @ A ) @ B ) ) ) ).

% mult_diff_mult
thf(fact_1247_cancel__ab__semigroup__add__class_Odiff__right__commute,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ C ) @ B )
      = ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C ) ) ).

% cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_1248_minus__poly_Orep__eq,axiom,
    ! [X: poly_nat,Xa: poly_nat] :
      ( ( coeff_nat @ ( minus_minus_poly_nat @ X @ Xa ) )
      = ( ^ [N2: nat] : ( minus_minus_nat @ ( coeff_nat @ X @ N2 ) @ ( coeff_nat @ Xa @ N2 ) ) ) ) ).

% minus_poly.rep_eq
thf(fact_1249_cong__diff,axiom,
    ! [B: poly_F3299452240248304339ring_a,C: poly_F3299452240248304339ring_a,A: poly_F3299452240248304339ring_a,D: poly_F3299452240248304339ring_a,E: poly_F3299452240248304339ring_a] :
      ( ( unique1634774806376436639ring_a @ B @ C @ A )
     => ( ( unique1634774806376436639ring_a @ D @ E @ A )
       => ( unique1634774806376436639ring_a @ ( minus_5354101470050066234ring_a @ B @ D ) @ ( minus_5354101470050066234ring_a @ C @ E ) @ A ) ) ) ).

% cong_diff
thf(fact_1250_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_1251_diffs0__imp__equal,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
     => ( ( ( minus_minus_nat @ N @ M )
          = zero_zero_nat )
       => ( M = N ) ) ) ).

% diffs0_imp_equal
thf(fact_1252_square__diff__one__factored,axiom,
    ! [X: poly_F3299452240248304339ring_a] :
      ( ( minus_5354101470050066234ring_a @ ( times_3242606764180207630ring_a @ X @ X ) @ one_on3394844594818161742ring_a )
      = ( times_3242606764180207630ring_a @ ( plus_p7290290253215468682ring_a @ X @ one_on3394844594818161742ring_a ) @ ( minus_5354101470050066234ring_a @ X @ one_on3394844594818161742ring_a ) ) ) ).

% square_diff_one_factored
thf(fact_1253_minus__mult__div__eq__mod,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( minus_5354101470050066234ring_a @ A @ ( times_3242606764180207630ring_a @ B @ ( divide6384432771786456577ring_a @ A @ B ) ) )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% minus_mult_div_eq_mod
thf(fact_1254_minus__mult__div__eq__mod,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( times_times_nat @ B @ ( divide_divide_nat @ A @ B ) ) )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% minus_mult_div_eq_mod
thf(fact_1255_minus__mod__eq__mult__div,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( minus_5354101470050066234ring_a @ A @ ( modulo2591651872109920577ring_a @ A @ B ) )
      = ( times_3242606764180207630ring_a @ B @ ( divide6384432771786456577ring_a @ A @ B ) ) ) ).

% minus_mod_eq_mult_div
thf(fact_1256_minus__mod__eq__mult__div,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( modulo_modulo_nat @ A @ B ) )
      = ( times_times_nat @ B @ ( divide_divide_nat @ A @ B ) ) ) ).

% minus_mod_eq_mult_div
thf(fact_1257_minus__mod__eq__div__mult,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( minus_5354101470050066234ring_a @ A @ ( modulo2591651872109920577ring_a @ A @ B ) )
      = ( times_3242606764180207630ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ B ) ) ).

% minus_mod_eq_div_mult
thf(fact_1258_minus__mod__eq__div__mult,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( modulo_modulo_nat @ A @ B ) )
      = ( times_times_nat @ ( divide_divide_nat @ A @ B ) @ B ) ) ).

% minus_mod_eq_div_mult
thf(fact_1259_minus__div__mult__eq__mod,axiom,
    ! [A: poly_F3299452240248304339ring_a,B: poly_F3299452240248304339ring_a] :
      ( ( minus_5354101470050066234ring_a @ A @ ( times_3242606764180207630ring_a @ ( divide6384432771786456577ring_a @ A @ B ) @ B ) )
      = ( modulo2591651872109920577ring_a @ A @ B ) ) ).

% minus_div_mult_eq_mod
thf(fact_1260_minus__div__mult__eq__mod,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( times_times_nat @ ( divide_divide_nat @ A @ B ) @ B ) )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% minus_div_mult_eq_mod
thf(fact_1261_diff__Suc__less,axiom,
    ! [N: nat,I: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( minus_minus_nat @ N @ ( suc @ I ) ) @ N ) ) ).

% diff_Suc_less
thf(fact_1262_nat__diff__split__asm,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ~ ( ( ( ord_less_nat @ A @ B )
              & ~ ( P2 @ zero_zero_nat ) )
            | ? [D3: nat] :
                ( ( A
                  = ( plus_plus_nat @ B @ D3 ) )
                & ~ ( P2 @ D3 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_1263_nat__diff__split,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ( ( ord_less_nat @ A @ B )
         => ( P2 @ zero_zero_nat ) )
        & ! [D3: nat] :
            ( ( A
              = ( plus_plus_nat @ B @ D3 ) )
           => ( P2 @ D3 ) ) ) ) ).

% nat_diff_split
thf(fact_1264_less__diff__conv2,axiom,
    ! [K2: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J @ K2 ) @ I )
        = ( ord_less_nat @ J @ ( plus_plus_nat @ I @ K2 ) ) ) ) ).

% less_diff_conv2
thf(fact_1265_nat__eq__add__iff1,axiom,
    ! [J: nat,I: nat,U: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ J @ I )
     => ( ( ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ M )
          = ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ N ) )
        = ( ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ I @ J ) @ U ) @ M )
          = N ) ) ) ).

% nat_eq_add_iff1
thf(fact_1266_nat__eq__add__iff2,axiom,
    ! [I: nat,J: nat,U: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ M )
          = ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ N ) )
        = ( M
          = ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ J @ I ) @ U ) @ N ) ) ) ) ).

% nat_eq_add_iff2
thf(fact_1267_nat__le__add__iff1,axiom,
    ! [J: nat,I: nat,U: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ J @ I )
     => ( ( ord_less_eq_nat @ ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ M ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ N ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ I @ J ) @ U ) @ M ) @ N ) ) ) ).

% nat_le_add_iff1
thf(fact_1268_nat__le__add__iff2,axiom,
    ! [I: nat,J: nat,U: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ M ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ N ) )
        = ( ord_less_eq_nat @ M @ ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ J @ I ) @ U ) @ N ) ) ) ) ).

% nat_le_add_iff2
thf(fact_1269_nat__diff__add__eq1,axiom,
    ! [J: nat,I: nat,U: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ J @ I )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ M ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ N ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ I @ J ) @ U ) @ M ) @ N ) ) ) ).

% nat_diff_add_eq1
thf(fact_1270_nat__diff__add__eq2,axiom,
    ! [I: nat,J: nat,U: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ ( times_times_nat @ I @ U ) @ M ) @ ( plus_plus_nat @ ( times_times_nat @ J @ U ) @ N ) )
        = ( minus_minus_nat @ M @ ( plus_plus_nat @ ( times_times_nat @ ( minus_minus_nat @ J @ I ) @ U ) @ N ) ) ) ) ).

% nat_diff_add_eq2
thf(fact_1271_cong__diff__iff__cong__0__nat,axiom,
    ! [B: nat,A: nat,M: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( unique653641344996303876ng_nat @ ( minus_minus_nat @ A @ B ) @ zero_zero_nat @ M )
        = ( unique653641344996303876ng_nat @ A @ B @ M ) ) ) ).

% cong_diff_iff_cong_0_nat
thf(fact_1272_modulo__nat__def,axiom,
    ( modulo_modulo_nat
    = ( ^ [M2: nat,N2: nat] : ( minus_minus_nat @ M2 @ ( times_times_nat @ ( divide_divide_nat @ M2 @ N2 ) @ N2 ) ) ) ) ).

% modulo_nat_def

% Helper facts (15)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Polynomial__Opoly_It__Nat__Onat_J_T,axiom,
    ! [X: poly_nat,Y: poly_nat] :
      ( ( if_poly_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Polynomial__Opoly_It__Nat__Onat_J_T,axiom,
    ! [X: poly_nat,Y: poly_nat] :
      ( ( if_poly_nat @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Finite____Field__Omod____ring_Itf__a_J_T,axiom,
    ! [X: finite_mod_ring_a,Y: finite_mod_ring_a] :
      ( ( if_Finite_mod_ring_a @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Finite____Field__Omod____ring_Itf__a_J_T,axiom,
    ! [X: finite_mod_ring_a,Y: finite_mod_ring_a] :
      ( ( if_Finite_mod_ring_a @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J_T,axiom,
    ! [X: formal_Power_fps_nat,Y: formal_Power_fps_nat] :
      ( ( if_For6818226542697513106ps_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Formal____Power____Series__Ofps_It__Nat__Onat_J_T,axiom,
    ! [X: formal_Power_fps_nat,Y: formal_Power_fps_nat] :
      ( ( if_For6818226542697513106ps_nat @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_T,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( if_pol8205948207082003865ring_a @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_T,axiom,
    ! [X: poly_F3299452240248304339ring_a,Y: poly_F3299452240248304339ring_a] :
      ( ( if_pol8205948207082003865ring_a @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_T,axiom,
    ! [X: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a] :
      ( ( if_pol1219332235598675879ring_a @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_T,axiom,
    ! [X: poly_p2573953413498894561ring_a,Y: poly_p2573953413498894561ring_a] :
      ( ( if_pol1219332235598675879ring_a @ $true @ X @ Y )
      = X ) ).

thf(help_If_3_1_If_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_T,axiom,
    ! [P2: $o] :
      ( ( P2 = $true )
      | ( P2 = $false ) ) ).

thf(help_If_2_1_If_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_T,axiom,
    ! [X: formal8450108040061743841ring_a,Y: formal8450108040061743841ring_a] :
      ( ( if_For7386278572730688679ring_a @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Formal____Power____Series__Ofps_It__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_J_T,axiom,
    ! [X: formal8450108040061743841ring_a,Y: formal8450108040061743841ring_a] :
      ( ( if_For7386278572730688679ring_a @ $true @ X @ Y )
      = X ) ).

% Conjectures (3)
thf(conj_0,hypothesis,
    unique1634774806376436639ring_a @ poly1 @ poly2 @ kyber_qr_poly_a ).

thf(conj_1,hypothesis,
    unique1634774806376436639ring_a @ poly3 @ poly4 @ kyber_qr_poly_a ).

thf(conj_2,conjecture,
    unique1634774806376436639ring_a @ ( times_3242606764180207630ring_a @ poly1 @ poly3 ) @ ( times_3242606764180207630ring_a @ poly2 @ poly4 ) @ kyber_qr_poly_a ).

%------------------------------------------------------------------------------