TPTP Problem File: SLH0747^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/0018_Compress/prob_00813_029901__25737226_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1505 ( 693 unt; 228 typ;   0 def)
%            Number of atoms       : 3028 (1405 equ;   0 cnn)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 9563 ( 325   ~;  64   |; 120   &;7831   @)
%                                         (   0 <=>;1223  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   18 (   5 avg)
%            Number of types       :   24 (  23 usr)
%            Number of type conns  : 1065 (1065   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  208 ( 205 usr;  33 con; 0-6 aty)
%            Number of variables   : 3258 ( 321   ^;2846   !;  91   ?;3258   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 12:37:05.167
%------------------------------------------------------------------------------
% Could-be-implicit typings (23)
thf(ty_n_t__List__Olist_It__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_J,type,
    list_l2267190326604534609ring_a: $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__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    list_F4626807571770296779ring_a: $tType ).

thf(ty_n_t__itself_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    itself4235916107012738301ring_a: $tType ).

thf(ty_n_t__Polynomial__Opoly_It__Kyber____spec__Oqr_Itf__a_J_J,type,
    poly_Kyber_qr_a: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Int__Oint_J_J,type,
    list_list_int: $tType ).

thf(ty_n_t__List__Olist_It__Kyber____spec__Oqr_Itf__a_J_J,type,
    list_Kyber_qr_a: $tType ).

thf(ty_n_t__itself_It__Kyber____spec__Oqr_Itf__a_J_J,type,
    itself_Kyber_qr_a: $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__Polynomial__Opoly_It__Int__Oint_J,type,
    poly_int: $tType ).

thf(ty_n_t__List__Olist_It__Nat__Onat_J,type,
    list_nat: $tType ).

thf(ty_n_t__List__Olist_It__Int__Oint_J,type,
    list_int: $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__Set__Oset_It__Int__Oint_J,type,
    set_int: $tType ).

thf(ty_n_t__itself_It__Nat__Onat_J,type,
    itself_nat: $tType ).

thf(ty_n_t__itself_It__Int__Oint_J,type,
    itself_int: $tType ).

thf(ty_n_t__itself_Itf__k_J,type,
    itself_k: $tType ).

thf(ty_n_t__itself_Itf__a_J,type,
    itself_a: $tType ).

thf(ty_n_t__String__Ochar,type,
    char: $tType ).

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

thf(ty_n_t__Int__Oint,type,
    int: $tType ).

% Explicit typings (205)
thf(sy_c_Abs__Qr_Okyber__spec_Oabs__infty__poly_001tf__a,type,
    abs_ky5074908690697402296poly_a: int > kyber_qr_a > int ).

thf(sy_c_Abs__Qr_Okyber__spec_Oabs__infty__q_001tf__a,type,
    abs_ky7385543178848499077ty_q_a: int > finite_mod_ring_a > int ).

thf(sy_c_Compress_Okyber__spec_Ocompress,type,
    kyber_compress: int > nat > int > int ).

thf(sy_c_Compress_Okyber__spec_Ocompress__poly_001tf__a,type,
    kyber_2515840456745678993poly_a: int > nat > kyber_qr_a > kyber_qr_a ).

thf(sy_c_Compress_Okyber__spec_Odecompress,type,
    kyber_decompress: int > nat > int > int ).

thf(sy_c_Compress_Okyber__spec_Odecompress__poly_001tf__a,type,
    kyber_3587082902811259984poly_a: int > nat > kyber_qr_a > kyber_qr_a ).

thf(sy_c_Determinant_Odelete__index,type,
    delete_index: nat > nat > nat ).

thf(sy_c_Determinant_Opermutation__delete,type,
    permutation_delete: ( nat > nat ) > nat > nat > nat ).

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_Finite__Field_Oof__int__mod__ring_001tf__a,type,
    finite8272632373135393572ring_a: int > finite_mod_ring_a ).

thf(sy_c_Finite__Field_Oto__int__mod__ring_001tf__a,type,
    finite1095367895020317408ring_a: finite_mod_ring_a > int ).

thf(sy_c_Fun_Ocomp_001t__Finite____Field__Omod____ring_Itf__a_J_001_Eo_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    comp_F5639960239771856719ring_a: ( finite_mod_ring_a > $o ) > ( finite_mod_ring_a > finite_mod_ring_a ) > finite_mod_ring_a > $o ).

thf(sy_c_Fun_Ocomp_001t__Finite____Field__Omod____ring_Itf__a_J_001_Eo_001t__Int__Oint,type,
    comp_F5410824958960047650_o_int: ( finite_mod_ring_a > $o ) > ( int > finite_mod_ring_a ) > int > $o ).

thf(sy_c_Fun_Ocomp_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Int__Oint,type,
    comp_F1114060161934960335_a_int: ( finite_mod_ring_a > finite_mod_ring_a ) > ( int > finite_mod_ring_a ) > int > finite_mod_ring_a ).

thf(sy_c_Fun_Ocomp_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Int__Oint_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    comp_F2690252154722880373ring_a: ( finite_mod_ring_a > int ) > ( finite_mod_ring_a > finite_mod_ring_a ) > finite_mod_ring_a > int ).

thf(sy_c_Fun_Ocomp_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Int__Oint_001t__Int__Oint,type,
    comp_F5719199965815211644nt_int: ( finite_mod_ring_a > int ) > ( int > finite_mod_ring_a ) > int > int ).

thf(sy_c_Fun_Ocomp_001t__Int__Oint_001_Eo_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    comp_i8102204440562587708ring_a: ( int > $o ) > ( finite_mod_ring_a > int ) > finite_mod_ring_a > $o ).

thf(sy_c_Fun_Ocomp_001t__Int__Oint_001_Eo_001t__Int__Oint,type,
    comp_int_o_int: ( int > $o ) > ( int > int ) > int > $o ).

thf(sy_c_Fun_Ocomp_001t__Int__Oint_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    comp_i3450435572476621391ring_a: ( int > finite_mod_ring_a ) > ( finite_mod_ring_a > int ) > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Fun_Ocomp_001t__Int__Oint_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Int__Oint,type,
    comp_i8863287333377692450_a_int: ( int > finite_mod_ring_a ) > ( int > int ) > int > finite_mod_ring_a ).

thf(sy_c_Fun_Ocomp_001t__Int__Oint_001t__Int__Oint_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    comp_i1216107289310836680ring_a: ( int > int ) > ( finite_mod_ring_a > int ) > finite_mod_ring_a > int ).

thf(sy_c_Fun_Ocomp_001t__Int__Oint_001t__Int__Oint_001t__Int__Oint,type,
    comp_int_int_int: ( int > int ) > ( int > int ) > int > int ).

thf(sy_c_Fun_Ocomp_001t__Kyber____spec__Oqr_Itf__a_J_001_Eo_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_K3470429480328744303ring_a: ( kyber_qr_a > $o ) > ( list_F4626807571770296779ring_a > kyber_qr_a ) > list_F4626807571770296779ring_a > $o ).

thf(sy_c_Fun_Ocomp_001t__Kyber____spec__Oqr_Itf__a_J_001_Eo_001t__List__Olist_It__Int__Oint_J,type,
    comp_K377126981404384920st_int: ( kyber_qr_a > $o ) > ( list_int > kyber_qr_a ) > list_int > $o ).

thf(sy_c_Fun_Ocomp_001t__Kyber____spec__Oqr_Itf__a_J_001t__Kyber____spec__Oqr_Itf__a_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_K3071194607127107923st_int: ( kyber_qr_a > kyber_qr_a ) > ( list_int > kyber_qr_a ) > list_int > kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__Kyber____spec__Oqr_Itf__a_J_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_K8292566159932642614st_int: ( kyber_qr_a > list_int ) > ( list_int > kyber_qr_a ) > list_int > list_int ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001_Eo_001t__List__Olist_It__Int__Oint_J,type,
    comp_l6366376236843813420st_int: ( list_F4626807571770296779ring_a > $o ) > ( list_int > list_F4626807571770296779ring_a ) > list_int > $o ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__Kyber____spec__Oqr_Itf__a_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_l7916700749204952255st_int: ( list_F4626807571770296779ring_a > kyber_qr_a ) > ( list_int > list_F4626807571770296779ring_a ) > list_int > kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__Kyber____spec__Oqr_Itf__a_J_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_l6256189231004422032ring_a: ( list_F4626807571770296779ring_a > kyber_qr_a ) > ( poly_F3299452240248304339ring_a > list_F4626807571770296779ring_a ) > poly_F3299452240248304339ring_a > kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_l5989582908633265375st_int: ( list_F4626807571770296779ring_a > list_F4626807571770296779ring_a ) > ( list_int > list_F4626807571770296779ring_a ) > list_int > list_F4626807571770296779ring_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_l6009651805545292773ring_a: ( list_F4626807571770296779ring_a > list_int ) > ( list_F4626807571770296779ring_a > list_F4626807571770296779ring_a ) > list_F4626807571770296779ring_a > list_int ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_l3914700265155711138st_int: ( list_F4626807571770296779ring_a > list_int ) > ( list_int > list_F4626807571770296779ring_a ) > list_int > list_int ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001_Eo_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_l2306936060341038674ring_a: ( list_int > $o ) > ( list_F4626807571770296779ring_a > list_int ) > list_F4626807571770296779ring_a > $o ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001_Eo_001t__List__Olist_It__Int__Oint_J,type,
    comp_l1968830180450172917st_int: ( list_int > $o ) > ( list_int > list_int ) > list_int > $o ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001t__Kyber____spec__Oqr_Itf__a_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_l8264631749186849233ring_a: ( list_int > kyber_qr_a ) > ( list_F4626807571770296779ring_a > list_int ) > list_F4626807571770296779ring_a > kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001t__Kyber____spec__Oqr_Itf__a_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_l6516415865823034294st_int: ( list_int > kyber_qr_a ) > ( list_int > list_int ) > list_int > kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_l3090837364590801759ring_a: ( list_int > list_F4626807571770296779ring_a ) > ( list_F4626807571770296779ring_a > list_int ) > list_F4626807571770296779ring_a > list_F4626807571770296779ring_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_l3322915955396062376st_int: ( list_int > list_F4626807571770296779ring_a ) > ( list_int > list_int ) > list_int > list_F4626807571770296779ring_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_l3342984852308089774ring_a: ( list_int > list_int ) > ( list_F4626807571770296779ring_a > list_int ) > list_F4626807571770296779ring_a > list_int ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J,type,
    comp_l2514415381773793177st_int: ( list_int > list_int ) > ( list_int > list_int ) > list_int > list_int ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Kyber____spec__Oqr_Itf__a_J_J_001t__List__Olist_It__Kyber____spec__Oqr_Itf__a_J_J_001t__List__Olist_It__List__Olist_It__Int__Oint_J_J,type,
    comp_l2380729058592350339st_int: ( list_Kyber_qr_a > list_Kyber_qr_a ) > ( list_list_int > list_Kyber_qr_a ) > list_list_int > list_Kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Kyber____spec__Oqr_Itf__a_J_J_001t__List__Olist_It__List__Olist_It__Int__Oint_J_J_001t__List__Olist_It__List__Olist_It__Int__Oint_J_J,type,
    comp_l1877900829176286566st_int: ( list_Kyber_qr_a > list_list_int ) > ( list_list_int > list_Kyber_qr_a ) > list_list_int > list_list_int ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_J_001t__List__Olist_It__Kyber____spec__Oqr_Itf__a_J_J_001t__List__Olist_It__List__Olist_It__Int__Oint_J_J,type,
    comp_l8475487656696768613st_int: ( list_l2267190326604534609ring_a > list_Kyber_qr_a ) > ( list_list_int > list_l2267190326604534609ring_a ) > list_list_int > list_Kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__List__Olist_It__Int__Oint_J_J_001t__List__Olist_It__Kyber____spec__Oqr_Itf__a_J_J_001t__List__Olist_It__List__Olist_It__Int__Oint_J_J,type,
    comp_l5302315730264385126st_int: ( list_list_int > list_Kyber_qr_a ) > ( list_list_int > list_list_int ) > list_list_int > list_Kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    comp_l7223822213492037765st_nat: ( list_nat > list_nat ) > ( list_nat > list_nat ) > list_nat > list_nat ).

thf(sy_c_Fun_Ocomp_001t__Nat__Onat_001_Eo_001t__Nat__Onat,type,
    comp_nat_o_nat: ( nat > $o ) > ( nat > nat ) > nat > $o ).

thf(sy_c_Fun_Ocomp_001t__Nat__Onat_001t__Nat__Onat_001t__Nat__Onat,type,
    comp_nat_nat_nat: ( nat > nat ) > ( nat > nat ) > nat > nat ).

thf(sy_c_Fun_Ocomp_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__Kyber____spec__Oqr_Itf__a_J_001t__Kyber____spec__Oqr_Itf__a_J,type,
    comp_p6078266056724260068r_qr_a: ( poly_F3299452240248304339ring_a > kyber_qr_a ) > ( kyber_qr_a > poly_F3299452240248304339ring_a ) > kyber_qr_a > kyber_qr_a ).

thf(sy_c_Fun_Ocomp_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__Kyber____spec__Oqr_Itf__a_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    comp_p7265325897387886208ring_a: ( poly_F3299452240248304339ring_a > kyber_qr_a ) > ( list_F4626807571770296779ring_a > poly_F3299452240248304339ring_a ) > list_F4626807571770296779ring_a > kyber_qr_a ).

thf(sy_c_GCD_Osemiring__1__class_Osemiring__char_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    semiri1808893178764602431ring_a: itself4235916107012738301ring_a > nat ).

thf(sy_c_GCD_Osemiring__1__class_Osemiring__char_001t__Int__Oint,type,
    semiri2466009265307143474ar_int: itself_int > nat ).

thf(sy_c_GCD_Osemiring__1__class_Osemiring__char_001t__Kyber____spec__Oqr_Itf__a_J,type,
    semiri1317373643878705631r_qr_a: itself_Kyber_qr_a > nat ).

thf(sy_c_GCD_Osemiring__1__class_Osemiring__char_001t__Nat__Onat,type,
    semiri2468499735816193750ar_nat: itself_nat > nat ).

thf(sy_c_Groups_Oabs__class_Oabs_001t__Int__Oint,type,
    abs_abs_int: int > int ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    minus_3609261664126569004ring_a: finite_mod_ring_a > finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Int__Oint,type,
    minus_minus_int: int > int > int ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Kyber____spec__Oqr_Itf__a_J,type,
    minus_3375643675566563378r_qr_a: kyber_qr_a > kyber_qr_a > kyber_qr_a ).

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__Int__Oint_J,type,
    minus_minus_poly_int: poly_int > poly_int > poly_int ).

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__Int__Oint,type,
    one_one_int: int ).

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__Int__Oint_J,type,
    one_one_poly_int: poly_int ).

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_Oplus__class_Oplus_001t__Nat__Onat,type,
    plus_plus_nat: nat > nat > nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Int__Oint,type,
    times_times_int: int > int > int ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    uminus3100561713750211260ring_a: finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Int__Oint,type,
    uminus_uminus_int: int > int ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Kyber____spec__Oqr_Itf__a_J,type,
    uminus3675112017196868514r_qr_a: kyber_qr_a > kyber_qr_a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    uminus6490753114102738890ring_a: poly_F3299452240248304339ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Polynomial__Opoly_It__Int__Oint_J,type,
    uminus6443632714710767741ly_int: poly_int > poly_int ).

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_It__Int__Oint_J,type,
    uminus1532241313380277803et_int: set_int > set_int ).

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__Int__Oint,type,
    zero_zero_int: int ).

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__Int__Oint_J,type,
    zero_zero_poly_int: poly_int ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Kyber____spec__Oqr_Itf__a_J_J,type,
    zero_z2078993987043428202r_qr_a: poly_Kyber_qr_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Nat__Onat_J,type,
    zero_zero_poly_nat: 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__Int__Oint,type,
    if_int: $o > int > int > int ).

thf(sy_c_If_001t__Kyber____spec__Oqr_Itf__a_J,type,
    if_Kyber_qr_a: $o > kyber_qr_a > kyber_qr_a > kyber_qr_a ).

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

thf(sy_c_Int_Onat,type,
    nat2: int > nat ).

thf(sy_c_Kyber__spec_Okyber__spec_001tf__a_001tf__a,type,
    kyber_kyber_spec_a_a: itself_a > itself_a > int > int > nat > nat > $o ).

thf(sy_c_Kyber__spec_Okyber__spec_001tf__a_001tf__k,type,
    kyber_kyber_spec_a_k: itself_a > itself_k > int > int > nat > nat > $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__spec__class_Odeg__qr_001tf__a,type,
    kyber_5808863167042391122g_qr_a: itself_a > nat ).

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

thf(sy_c_List_OdropWhile_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    dropWh6444057433914600428ring_a: ( finite_mod_ring_a > $o ) > list_F4626807571770296779ring_a > list_F4626807571770296779ring_a ).

thf(sy_c_List_OdropWhile_001t__Int__Oint,type,
    dropWhile_int: ( int > $o ) > list_int > list_int ).

thf(sy_c_List_OdropWhile_001t__Kyber____spec__Oqr_Itf__a_J,type,
    dropWhile_Kyber_qr_a: ( kyber_qr_a > $o ) > list_Kyber_qr_a > list_Kyber_qr_a ).

thf(sy_c_List_OdropWhile_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    dropWh636626269213606514ring_a: ( list_F4626807571770296779ring_a > $o ) > list_l2267190326604534609ring_a > list_l2267190326604534609ring_a ).

thf(sy_c_List_OdropWhile_001t__List__Olist_It__Int__Oint_J,type,
    dropWhile_list_int: ( list_int > $o ) > list_list_int > list_list_int ).

thf(sy_c_List_OdropWhile_001t__Nat__Onat,type,
    dropWhile_nat: ( nat > $o ) > list_nat > list_nat ).

thf(sy_c_List_Olist_ONil_001t__Int__Oint,type,
    nil_int: list_int ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_Omap_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    map_Fi7082711781076630404ring_a: ( finite_mod_ring_a > finite_mod_ring_a ) > list_F4626807571770296779ring_a > list_F4626807571770296779ring_a ).

thf(sy_c_List_Olist_Omap_001t__Finite____Field__Omod____ring_Itf__a_J_001t__Int__Oint,type,
    map_Fi4186111235102398893_a_int: ( finite_mod_ring_a > int ) > list_F4626807571770296779ring_a > list_int ).

thf(sy_c_List_Olist_Omap_001t__Int__Oint_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    map_in5762303227890318931ring_a: ( int > finite_mod_ring_a ) > list_int > list_F4626807571770296779ring_a ).

thf(sy_c_List_Olist_Omap_001t__Int__Oint_001t__Int__Oint,type,
    map_int_int: ( int > int ) > list_int > list_int ).

thf(sy_c_List_Olist_Omap_001t__Kyber____spec__Oqr_Itf__a_J_001t__Kyber____spec__Oqr_Itf__a_J,type,
    map_Ky7822609798780777336r_qr_a: ( kyber_qr_a > kyber_qr_a ) > list_Kyber_qr_a > list_Kyber_qr_a ).

thf(sy_c_List_Olist_Omap_001t__Kyber____spec__Oqr_Itf__a_J_001t__List__Olist_It__Int__Oint_J,type,
    map_Ky8898172773360978139st_int: ( kyber_qr_a > list_int ) > list_Kyber_qr_a > list_list_int ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__Kyber____spec__Oqr_Itf__a_J,type,
    map_li7477398094560982624r_qr_a: ( list_F4626807571770296779ring_a > kyber_qr_a ) > list_l2267190326604534609ring_a > list_Kyber_qr_a ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J_001t__List__Olist_It__Int__Oint_J,type,
    map_li8552961069141183427st_int: ( list_F4626807571770296779ring_a > list_int ) > list_l2267190326604534609ring_a > list_list_int ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Int__Oint_J_001t__Kyber____spec__Oqr_Itf__a_J,type,
    map_li3820609314731536219r_qr_a: ( list_int > kyber_qr_a ) > list_list_int > list_Kyber_qr_a ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    map_li8573029966053210825ring_a: ( list_int > list_F4626807571770296779ring_a ) > list_list_int > list_l2267190326604534609ring_a ).

thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J,type,
    map_li4896172289311737022st_int: ( list_int > list_int ) > list_list_int > list_list_int ).

thf(sy_c_List_Olist_Omap_001t__Nat__Onat_001t__Nat__Onat,type,
    map_nat_nat: ( nat > nat ) > list_nat > list_nat ).

thf(sy_c_List_Olist_Oset_001t__Int__Oint,type,
    set_int2: list_int > set_int ).

thf(sy_c_List_Olist_Oset_001t__Nat__Onat,type,
    set_nat2: list_nat > set_nat ).

thf(sy_c_List_Oupt,type,
    upt: nat > nat > list_nat ).

thf(sy_c_Missing__List_Oadjust__idx__rev,type,
    missin3815256168798769645dx_rev: nat > nat > nat ).

thf(sy_c_Mod__Plus__Minus_Omod__plus__minus,type,
    mod_Pl7661688178770475124_minus: int > int > int ).

thf(sy_c_More__List_Ostrip__while_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    more_s7501023657932161932ring_a: ( finite_mod_ring_a > $o ) > list_F4626807571770296779ring_a > list_F4626807571770296779ring_a ).

thf(sy_c_More__List_Ostrip__while_001t__Int__Oint,type,
    more_strip_while_int: ( int > $o ) > list_int > list_int ).

thf(sy_c_More__List_Ostrip__while_001t__Kyber____spec__Oqr_Itf__a_J,type,
    more_s8249276089521708754r_qr_a: ( kyber_qr_a > $o ) > list_Kyber_qr_a > list_Kyber_qr_a ).

thf(sy_c_More__List_Ostrip__while_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    more_s7898681361229122066ring_a: ( list_F4626807571770296779ring_a > $o ) > list_l2267190326604534609ring_a > list_l2267190326604534609ring_a ).

thf(sy_c_More__List_Ostrip__while_001t__List__Olist_It__Int__Oint_J,type,
    more_s101467027247133749st_int: ( list_int > $o ) > list_list_int > list_list_int ).

thf(sy_c_More__List_Ostrip__while_001t__Nat__Onat,type,
    more_strip_while_nat: ( nat > $o ) > list_nat > list_nat ).

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

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    semiri9180929696517417892ring_a: nat > finite_mod_ring_a ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Int__Oint,type,
    semiri1314217659103216013at_int: nat > int ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Kyber____spec__Oqr_Itf__a_J,type,
    semiri7313030098341262522r_qr_a: nat > kyber_qr_a ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Nat__Onat,type,
    semiri1316708129612266289at_nat: nat > nat ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Polynomial__Opoly_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    semiri8000969770135892146ring_a: nat > poly_F3299452240248304339ring_a ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Polynomial__Opoly_It__Int__Oint_J,type,
    semiri6323754628967941525ly_int: nat > poly_int ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Finite____Field__Omod____ring_Itf__a_J_J,type,
    size_s7115545719440041015ring_a: list_F4626807571770296779ring_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Int__Oint_J,type,
    size_size_list_int: list_int > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Nat__Onat_J,type,
    size_size_list_nat: list_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__String__Ochar,type,
    size_size_char: char > nat ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__dec_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    neg_nu1316170312413174064ring_a: finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__dec_001t__Int__Oint,type,
    neg_nu3811975205180677377ec_int: int > int ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__dec_001t__Kyber____spec__Oqr_Itf__a_J,type,
    neg_nu9117982281909159470r_qr_a: kyber_qr_a > kyber_qr_a ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__inc_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    neg_nu5901776551076858996ring_a: finite_mod_ring_a > finite_mod_ring_a ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__inc_001t__Int__Oint,type,
    neg_nu5851722552734809277nc_int: int > int ).

thf(sy_c_Num_Oneg__numeral__class_Odbl__inc_001t__Kyber____spec__Oqr_Itf__a_J,type,
    neg_nu6088909844630312938r_qr_a: kyber_qr_a > kyber_qr_a ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Int__Oint,type,
    ord_less_int: int > int > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Int__Oint_J,type,
    ord_less_set_int: set_int > set_int > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Int__Oint,type,
    ord_less_eq_int: int > int > $o ).

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Int__Oint_J,type,
    ord_less_eq_set_int: set_int > set_int > $o ).

thf(sy_c_Polynomial_OPoly_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    poly_F5739129160929385880ring_a: list_F4626807571770296779ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_OPoly_001t__Int__Oint,type,
    poly_int2: list_int > poly_int ).

thf(sy_c_Polynomial_OPoly_001t__Kyber____spec__Oqr_Itf__a_J,type,
    poly_Kyber_qr_a2: list_Kyber_qr_a > poly_Kyber_qr_a ).

thf(sy_c_Polynomial_OPoly_001t__Nat__Onat,type,
    poly_nat2: list_nat > poly_nat ).

thf(sy_c_Polynomial_Ocoeffs_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    coeffs4679052062445675434ring_a: poly_F3299452240248304339ring_a > list_F4626807571770296779ring_a ).

thf(sy_c_Polynomial_Ocoeffs_001t__Int__Oint,type,
    coeffs_int: poly_int > list_int ).

thf(sy_c_Polynomial_Ocoeffs_001t__Kyber____spec__Oqr_Itf__a_J,type,
    coeffs_Kyber_qr_a: poly_Kyber_qr_a > list_Kyber_qr_a ).

thf(sy_c_Polynomial_Ocoeffs_001t__Nat__Onat,type,
    coeffs_nat: poly_nat > list_nat ).

thf(sy_c_Polynomial_Odegree_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    degree4881254707062955960ring_a: poly_F3299452240248304339ring_a > nat ).

thf(sy_c_Polynomial_Odegree_001t__Int__Oint,type,
    degree_int: poly_int > nat ).

thf(sy_c_Polynomial_Odegree_001t__Kyber____spec__Oqr_Itf__a_J,type,
    degree_Kyber_qr_a: poly_Kyber_qr_a > nat ).

thf(sy_c_Polynomial_Odegree_001t__Nat__Onat,type,
    degree_nat: poly_nat > nat ).

thf(sy_c_Polynomial_Opoly_OAbs__poly_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    abs_po1984167875446606498ring_a: ( nat > finite_mod_ring_a ) > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Opoly_OAbs__poly_001t__Int__Oint,type,
    abs_poly_int: ( nat > int ) > poly_int ).

thf(sy_c_Polynomial_Opoly_OAbs__poly_001t__Kyber____spec__Oqr_Itf__a_J,type,
    abs_poly_Kyber_qr_a: ( nat > kyber_qr_a ) > poly_Kyber_qr_a ).

thf(sy_c_Polynomial_Opoly_OAbs__poly_001t__Nat__Onat,type,
    abs_poly_nat: ( nat > nat ) > poly_nat ).

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__Int__Oint,type,
    coeff_int: poly_int > nat > int ).

thf(sy_c_Polynomial_Opoly_Ocoeff_001t__Kyber____spec__Oqr_Itf__a_J,type,
    coeff_Kyber_qr_a: poly_Kyber_qr_a > nat > kyber_qr_a ).

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

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__Int__Oint,type,
    poly_cutoff_int: nat > poly_int > poly_int ).

thf(sy_c_Polynomial_Opoly__cutoff_001t__Kyber____spec__Oqr_Itf__a_J,type,
    poly_c7679690374876937395r_qr_a: nat > poly_Kyber_qr_a > poly_Kyber_qr_a ).

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

thf(sy_c_Polynomial_Opoly__of__list_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    poly_o1637379883610316291ring_a: list_F4626807571770296779ring_a > poly_F3299452240248304339ring_a ).

thf(sy_c_Polynomial_Opoly__of__list_001t__Int__Oint,type,
    poly_of_list_int: list_int > poly_int ).

thf(sy_c_Polynomial_Opoly__of__list_001t__Kyber____spec__Oqr_Itf__a_J,type,
    poly_o4898052445889518875r_qr_a: list_Kyber_qr_a > poly_Kyber_qr_a ).

thf(sy_c_Polynomial_Opoly__of__list_001t__Nat__Onat,type,
    poly_of_list_nat: list_nat > poly_nat ).

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__Int__Oint,type,
    reflect_poly_int: poly_int > poly_int ).

thf(sy_c_Polynomial_Oreflect__poly_001t__Kyber____spec__Oqr_Itf__a_J,type,
    reflec3432891733415378467r_qr_a: poly_Kyber_qr_a > poly_Kyber_qr_a ).

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

thf(sy_c_Pure_Otype_001t__Finite____Field__Omod____ring_Itf__a_J,type,
    type_F4046628789905392870ring_a: itself4235916107012738301ring_a ).

thf(sy_c_Pure_Otype_001t__Int__Oint,type,
    type_int: itself_int ).

thf(sy_c_Pure_Otype_001t__Kyber____spec__Oqr_Itf__a_J,type,
    type_Kyber_qr_a: itself_Kyber_qr_a ).

thf(sy_c_Pure_Otype_001t__Nat__Onat,type,
    type_nat: itself_nat ).

thf(sy_c_Pure_Otype_001tf__a,type,
    type_a: itself_a ).

thf(sy_c_Pure_Otype_001tf__k,type,
    type_k: itself_k ).

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__Int__Oint,type,
    modulo_modulo_int: int > int > int ).

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

thf(sy_c_Set_OCollect_001t__Int__Oint,type,
    collect_int: ( int > $o ) > set_int ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Int__Oint,type,
    set_or4662586982721622107an_int: int > int > set_int ).

thf(sy_c_Set__Interval_Oord__class_OatLeastLessThan_001t__Nat__Onat,type,
    set_or4665077453230672383an_nat: nat > nat > set_nat ).

thf(sy_c_String_Ochar_Osize__char,type,
    size_char: char > nat ).

thf(sy_c_member_001t__Int__Oint,type,
    member_int: int > set_int > $o ).

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

thf(sy_v_compress__x____,type,
    compress_x: list_int ).

thf(sy_v_d,type,
    d: nat ).

thf(sy_v_k,type,
    k: nat ).

thf(sy_v_n,type,
    n: int ).

thf(sy_v_n_H,type,
    n2: nat ).

thf(sy_v_q,type,
    q: int ).

thf(sy_v_x,type,
    x: kyber_qr_a ).

thf(sy_v_xa____,type,
    xa: nat ).

% Relevant facts (1267)
thf(fact_0_strip__while__change,axiom,
    ! [P: int > $o,S: int > $o,Xs: list_int] :
      ( ! [X: int] :
          ( ( P @ X )
         => ( S @ X ) )
     => ( ! [X: int] :
            ( ~ ( P @ X )
           => ~ ( S @ X ) )
       => ( ( more_strip_while_int @ P @ Xs )
          = ( more_strip_while_int @ S @ Xs ) ) ) ) ).

% strip_while_change
thf(fact_1_strip__while__change,axiom,
    ! [P: finite_mod_ring_a > $o,S: finite_mod_ring_a > $o,Xs: list_F4626807571770296779ring_a] :
      ( ! [X: finite_mod_ring_a] :
          ( ( P @ X )
         => ( S @ X ) )
     => ( ! [X: finite_mod_ring_a] :
            ( ~ ( P @ X )
           => ~ ( S @ X ) )
       => ( ( more_s7501023657932161932ring_a @ P @ Xs )
          = ( more_s7501023657932161932ring_a @ S @ Xs ) ) ) ) ).

% strip_while_change
thf(fact_2_q__nonzero,axiom,
    q != zero_zero_int ).

% q_nonzero
thf(fact_3_decompress__zero,axiom,
    ! [D: nat] :
      ( ( kyber_decompress @ q @ D @ zero_zero_int )
      = zero_zero_int ) ).

% decompress_zero
thf(fact_4_kyber__spec_Odecompress_Ocong,axiom,
    kyber_decompress = kyber_decompress ).

% kyber_spec.decompress.cong
thf(fact_5__092_060open_062abs__infty__q_A_Ipoly_Ocoeff_A_Iof__qr_Ax_J_Axa_A_N_Apoly_Ocoeff_A_Iof__qr_A_Ito__qr_A_IPoly_A_Imap_A_Iof__int__mod__ring_A_092_060circ_062_Adecompress_Ad_J_A_Istrip__while_A_I_092_060lambda_062x_O_Ax_A_061_A0_J_Acompress__x_J_J_J_J_J_Axa_J_A_061_Aabs__infty__q_A_Ipoly_Ocoeff_A_Iof__qr_Ax_J_Axa_A_N_Apoly_Ocoeff_A_IPoly_A_Imap_A_Iof__int__mod__ring_A_092_060circ_062_Adecompress_Ad_J_A_Istrip__while_A_I_092_060lambda_062x_O_Ax_A_061_A0_J_Acompress__x_J_J_J_Axa_J_092_060close_062,axiom,
    ( ( abs_ky7385543178848499077ty_q_a @ q
      @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa )
        @ ( coeff_1607515655354303335ring_a
          @ ( kyber_of_qr_a
            @ ( kyber_to_qr_a
              @ ( poly_F5739129160929385880ring_a
                @ ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ finite8272632373135393572ring_a @ ( kyber_decompress @ q @ d ) )
                  @ ( more_strip_while_int
                    @ ^ [X2: int] : ( X2 = zero_zero_int )
                    @ compress_x ) ) ) ) )
          @ xa ) ) )
    = ( abs_ky7385543178848499077ty_q_a @ q
      @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa )
        @ ( coeff_1607515655354303335ring_a
          @ ( poly_F5739129160929385880ring_a
            @ ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ finite8272632373135393572ring_a @ ( kyber_decompress @ q @ d ) )
              @ ( more_strip_while_int
                @ ^ [X2: int] : ( X2 = zero_zero_int )
                @ compress_x ) ) )
          @ xa ) ) ) ) ).

% \<open>abs_infty_q (poly.coeff (of_qr x) xa - poly.coeff (of_qr (to_qr (Poly (map (of_int_mod_ring \<circ> decompress d) (strip_while (\<lambda>x. x = 0) compress_x))))) xa) = abs_infty_q (poly.coeff (of_qr x) xa - poly.coeff (Poly (map (of_int_mod_ring \<circ> decompress d) (strip_while (\<lambda>x. x = 0) compress_x))) xa)\<close>
thf(fact_6_compress__zero,axiom,
    ! [D: nat] :
      ( ( kyber_compress @ q @ D @ zero_zero_int )
      = zero_zero_int ) ).

% compress_zero
thf(fact_7_List_Omap_Ocomp,axiom,
    ! [F: int > int,G: int > int] :
      ( ( comp_l2514415381773793177st_int @ ( map_int_int @ F ) @ ( map_int_int @ G ) )
      = ( map_int_int @ ( comp_int_int_int @ F @ G ) ) ) ).

% List.map.comp
thf(fact_8_List_Omap_Ocomp,axiom,
    ! [F: nat > nat,G: nat > nat] :
      ( ( comp_l7223822213492037765st_nat @ ( map_nat_nat @ F ) @ ( map_nat_nat @ G ) )
      = ( map_nat_nat @ ( comp_nat_nat_nat @ F @ G ) ) ) ).

% List.map.comp
thf(fact_9_List_Omap_Ocomp,axiom,
    ! [F: int > finite_mod_ring_a,G: int > int] :
      ( ( comp_l3322915955396062376st_int @ ( map_in5762303227890318931ring_a @ F ) @ ( map_int_int @ G ) )
      = ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ F @ G ) ) ) ).

% List.map.comp
thf(fact_10_List_Omap_Ocomp,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int] :
      ( ( comp_l3342984852308089774ring_a @ ( map_int_int @ F ) @ ( map_Fi4186111235102398893_a_int @ G ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_i1216107289310836680ring_a @ F @ G ) ) ) ).

% List.map.comp
thf(fact_11_List_Omap_Ocomp,axiom,
    ! [F: finite_mod_ring_a > int,G: int > finite_mod_ring_a] :
      ( ( comp_l3914700265155711138st_int @ ( map_Fi4186111235102398893_a_int @ F ) @ ( map_in5762303227890318931ring_a @ G ) )
      = ( map_int_int @ ( comp_F5719199965815211644nt_int @ F @ G ) ) ) ).

% List.map.comp
thf(fact_12_List_Omap_Ocomp,axiom,
    ! [F: finite_mod_ring_a > finite_mod_ring_a,G: int > finite_mod_ring_a] :
      ( ( comp_l5989582908633265375st_int @ ( map_Fi7082711781076630404ring_a @ F ) @ ( map_in5762303227890318931ring_a @ G ) )
      = ( map_in5762303227890318931ring_a @ ( comp_F1114060161934960335_a_int @ F @ G ) ) ) ).

% List.map.comp
thf(fact_13_List_Omap_Ocomp,axiom,
    ! [F: int > finite_mod_ring_a,G: finite_mod_ring_a > int] :
      ( ( comp_l3090837364590801759ring_a @ ( map_in5762303227890318931ring_a @ F ) @ ( map_Fi4186111235102398893_a_int @ G ) )
      = ( map_Fi7082711781076630404ring_a @ ( comp_i3450435572476621391ring_a @ F @ G ) ) ) ).

% List.map.comp
thf(fact_14_List_Omap_Ocomp,axiom,
    ! [F: finite_mod_ring_a > int,G: finite_mod_ring_a > finite_mod_ring_a] :
      ( ( comp_l6009651805545292773ring_a @ ( map_Fi4186111235102398893_a_int @ F ) @ ( map_Fi7082711781076630404ring_a @ G ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_F2690252154722880373ring_a @ F @ G ) ) ) ).

% List.map.comp
thf(fact_15_List_Omap_Ocomp,axiom,
    ! [F: list_int > kyber_qr_a,G: list_int > list_int] :
      ( ( comp_l5302315730264385126st_int @ ( map_li3820609314731536219r_qr_a @ F ) @ ( map_li4896172289311737022st_int @ G ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l6516415865823034294st_int @ F @ G ) ) ) ).

% List.map.comp
thf(fact_16_List_Omap_Ocomp,axiom,
    ! [F: list_F4626807571770296779ring_a > kyber_qr_a,G: list_int > list_F4626807571770296779ring_a] :
      ( ( comp_l8475487656696768613st_int @ ( map_li7477398094560982624r_qr_a @ F ) @ ( map_li8573029966053210825ring_a @ G ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l7916700749204952255st_int @ F @ G ) ) ) ).

% List.map.comp
thf(fact_17_list_Omap__comp,axiom,
    ! [G: int > int,F: int > int,V: list_int] :
      ( ( map_int_int @ G @ ( map_int_int @ F @ V ) )
      = ( map_int_int @ ( comp_int_int_int @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_18_list_Omap__comp,axiom,
    ! [G: nat > nat,F: nat > nat,V: list_nat] :
      ( ( map_nat_nat @ G @ ( map_nat_nat @ F @ V ) )
      = ( map_nat_nat @ ( comp_nat_nat_nat @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_19_list_Omap__comp,axiom,
    ! [G: int > finite_mod_ring_a,F: int > int,V: list_int] :
      ( ( map_in5762303227890318931ring_a @ G @ ( map_int_int @ F @ V ) )
      = ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_20_list_Omap__comp,axiom,
    ! [G: int > int,F: finite_mod_ring_a > int,V: list_F4626807571770296779ring_a] :
      ( ( map_int_int @ G @ ( map_Fi4186111235102398893_a_int @ F @ V ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_i1216107289310836680ring_a @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_21_list_Omap__comp,axiom,
    ! [G: finite_mod_ring_a > int,F: int > finite_mod_ring_a,V: list_int] :
      ( ( map_Fi4186111235102398893_a_int @ G @ ( map_in5762303227890318931ring_a @ F @ V ) )
      = ( map_int_int @ ( comp_F5719199965815211644nt_int @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_22_list_Omap__comp,axiom,
    ! [G: finite_mod_ring_a > finite_mod_ring_a,F: int > finite_mod_ring_a,V: list_int] :
      ( ( map_Fi7082711781076630404ring_a @ G @ ( map_in5762303227890318931ring_a @ F @ V ) )
      = ( map_in5762303227890318931ring_a @ ( comp_F1114060161934960335_a_int @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_23_list_Omap__comp,axiom,
    ! [G: int > finite_mod_ring_a,F: finite_mod_ring_a > int,V: list_F4626807571770296779ring_a] :
      ( ( map_in5762303227890318931ring_a @ G @ ( map_Fi4186111235102398893_a_int @ F @ V ) )
      = ( map_Fi7082711781076630404ring_a @ ( comp_i3450435572476621391ring_a @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_24_list_Omap__comp,axiom,
    ! [G: finite_mod_ring_a > int,F: finite_mod_ring_a > finite_mod_ring_a,V: list_F4626807571770296779ring_a] :
      ( ( map_Fi4186111235102398893_a_int @ G @ ( map_Fi7082711781076630404ring_a @ F @ V ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_F2690252154722880373ring_a @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_25_list_Omap__comp,axiom,
    ! [G: list_int > kyber_qr_a,F: list_int > list_int,V: list_list_int] :
      ( ( map_li3820609314731536219r_qr_a @ G @ ( map_li4896172289311737022st_int @ F @ V ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l6516415865823034294st_int @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_26_list_Omap__comp,axiom,
    ! [G: list_F4626807571770296779ring_a > kyber_qr_a,F: list_int > list_F4626807571770296779ring_a,V: list_list_int] :
      ( ( map_li7477398094560982624r_qr_a @ G @ ( map_li8573029966053210825ring_a @ F @ V ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l7916700749204952255st_int @ G @ F ) @ V ) ) ).

% list.map_comp
thf(fact_27_List_Omap_Ocompositionality,axiom,
    ! [F: int > int,G: int > int,List: list_int] :
      ( ( map_int_int @ F @ ( map_int_int @ G @ List ) )
      = ( map_int_int @ ( comp_int_int_int @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_28_List_Omap_Ocompositionality,axiom,
    ! [F: nat > nat,G: nat > nat,List: list_nat] :
      ( ( map_nat_nat @ F @ ( map_nat_nat @ G @ List ) )
      = ( map_nat_nat @ ( comp_nat_nat_nat @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_29_List_Omap_Ocompositionality,axiom,
    ! [F: int > finite_mod_ring_a,G: int > int,List: list_int] :
      ( ( map_in5762303227890318931ring_a @ F @ ( map_int_int @ G @ List ) )
      = ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_30_List_Omap_Ocompositionality,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int,List: list_F4626807571770296779ring_a] :
      ( ( map_int_int @ F @ ( map_Fi4186111235102398893_a_int @ G @ List ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_i1216107289310836680ring_a @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_31_List_Omap_Ocompositionality,axiom,
    ! [F: finite_mod_ring_a > int,G: int > finite_mod_ring_a,List: list_int] :
      ( ( map_Fi4186111235102398893_a_int @ F @ ( map_in5762303227890318931ring_a @ G @ List ) )
      = ( map_int_int @ ( comp_F5719199965815211644nt_int @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_32_List_Omap_Ocompositionality,axiom,
    ! [F: finite_mod_ring_a > finite_mod_ring_a,G: int > finite_mod_ring_a,List: list_int] :
      ( ( map_Fi7082711781076630404ring_a @ F @ ( map_in5762303227890318931ring_a @ G @ List ) )
      = ( map_in5762303227890318931ring_a @ ( comp_F1114060161934960335_a_int @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_33_List_Omap_Ocompositionality,axiom,
    ! [F: int > finite_mod_ring_a,G: finite_mod_ring_a > int,List: list_F4626807571770296779ring_a] :
      ( ( map_in5762303227890318931ring_a @ F @ ( map_Fi4186111235102398893_a_int @ G @ List ) )
      = ( map_Fi7082711781076630404ring_a @ ( comp_i3450435572476621391ring_a @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_34_List_Omap_Ocompositionality,axiom,
    ! [F: finite_mod_ring_a > int,G: finite_mod_ring_a > finite_mod_ring_a,List: list_F4626807571770296779ring_a] :
      ( ( map_Fi4186111235102398893_a_int @ F @ ( map_Fi7082711781076630404ring_a @ G @ List ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_F2690252154722880373ring_a @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_35_List_Omap_Ocompositionality,axiom,
    ! [F: list_int > kyber_qr_a,G: list_int > list_int,List: list_list_int] :
      ( ( map_li3820609314731536219r_qr_a @ F @ ( map_li4896172289311737022st_int @ G @ List ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l6516415865823034294st_int @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_36_List_Omap_Ocompositionality,axiom,
    ! [F: list_F4626807571770296779ring_a > kyber_qr_a,G: list_int > list_F4626807571770296779ring_a,List: list_list_int] :
      ( ( map_li7477398094560982624r_qr_a @ F @ ( map_li8573029966053210825ring_a @ G @ List ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l7916700749204952255st_int @ F @ G ) @ List ) ) ).

% List.map.compositionality
thf(fact_37_map__map,axiom,
    ! [F: int > int,G: int > int,Xs: list_int] :
      ( ( map_int_int @ F @ ( map_int_int @ G @ Xs ) )
      = ( map_int_int @ ( comp_int_int_int @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_38_map__map,axiom,
    ! [F: nat > nat,G: nat > nat,Xs: list_nat] :
      ( ( map_nat_nat @ F @ ( map_nat_nat @ G @ Xs ) )
      = ( map_nat_nat @ ( comp_nat_nat_nat @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_39_map__map,axiom,
    ! [F: int > finite_mod_ring_a,G: int > int,Xs: list_int] :
      ( ( map_in5762303227890318931ring_a @ F @ ( map_int_int @ G @ Xs ) )
      = ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_40_map__map,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int,Xs: list_F4626807571770296779ring_a] :
      ( ( map_int_int @ F @ ( map_Fi4186111235102398893_a_int @ G @ Xs ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_i1216107289310836680ring_a @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_41_map__map,axiom,
    ! [F: finite_mod_ring_a > int,G: int > finite_mod_ring_a,Xs: list_int] :
      ( ( map_Fi4186111235102398893_a_int @ F @ ( map_in5762303227890318931ring_a @ G @ Xs ) )
      = ( map_int_int @ ( comp_F5719199965815211644nt_int @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_42_map__map,axiom,
    ! [F: finite_mod_ring_a > finite_mod_ring_a,G: int > finite_mod_ring_a,Xs: list_int] :
      ( ( map_Fi7082711781076630404ring_a @ F @ ( map_in5762303227890318931ring_a @ G @ Xs ) )
      = ( map_in5762303227890318931ring_a @ ( comp_F1114060161934960335_a_int @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_43_map__map,axiom,
    ! [F: int > finite_mod_ring_a,G: finite_mod_ring_a > int,Xs: list_F4626807571770296779ring_a] :
      ( ( map_in5762303227890318931ring_a @ F @ ( map_Fi4186111235102398893_a_int @ G @ Xs ) )
      = ( map_Fi7082711781076630404ring_a @ ( comp_i3450435572476621391ring_a @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_44_map__map,axiom,
    ! [F: finite_mod_ring_a > int,G: finite_mod_ring_a > finite_mod_ring_a,Xs: list_F4626807571770296779ring_a] :
      ( ( map_Fi4186111235102398893_a_int @ F @ ( map_Fi7082711781076630404ring_a @ G @ Xs ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_F2690252154722880373ring_a @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_45_map__map,axiom,
    ! [F: list_int > kyber_qr_a,G: list_int > list_int,Xs: list_list_int] :
      ( ( map_li3820609314731536219r_qr_a @ F @ ( map_li4896172289311737022st_int @ G @ Xs ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l6516415865823034294st_int @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_46_map__map,axiom,
    ! [F: list_F4626807571770296779ring_a > kyber_qr_a,G: list_int > list_F4626807571770296779ring_a,Xs: list_list_int] :
      ( ( map_li7477398094560982624r_qr_a @ F @ ( map_li8573029966053210825ring_a @ G @ Xs ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_l7916700749204952255st_int @ F @ G ) @ Xs ) ) ).

% map_map
thf(fact_47_map__comp__map,axiom,
    ! [F: int > int,G: int > int] :
      ( ( comp_l2514415381773793177st_int @ ( map_int_int @ F ) @ ( map_int_int @ G ) )
      = ( map_int_int @ ( comp_int_int_int @ F @ G ) ) ) ).

% map_comp_map
thf(fact_48_map__comp__map,axiom,
    ! [F: nat > nat,G: nat > nat] :
      ( ( comp_l7223822213492037765st_nat @ ( map_nat_nat @ F ) @ ( map_nat_nat @ G ) )
      = ( map_nat_nat @ ( comp_nat_nat_nat @ F @ G ) ) ) ).

% map_comp_map
thf(fact_49_map__comp__map,axiom,
    ! [F: int > finite_mod_ring_a,G: int > int] :
      ( ( comp_l3322915955396062376st_int @ ( map_in5762303227890318931ring_a @ F ) @ ( map_int_int @ G ) )
      = ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ F @ G ) ) ) ).

% map_comp_map
thf(fact_50_map__comp__map,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int] :
      ( ( comp_l3342984852308089774ring_a @ ( map_int_int @ F ) @ ( map_Fi4186111235102398893_a_int @ G ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_i1216107289310836680ring_a @ F @ G ) ) ) ).

% map_comp_map
thf(fact_51_map__comp__map,axiom,
    ! [F: finite_mod_ring_a > int,G: int > finite_mod_ring_a] :
      ( ( comp_l3914700265155711138st_int @ ( map_Fi4186111235102398893_a_int @ F ) @ ( map_in5762303227890318931ring_a @ G ) )
      = ( map_int_int @ ( comp_F5719199965815211644nt_int @ F @ G ) ) ) ).

% map_comp_map
thf(fact_52_map__comp__map,axiom,
    ! [F: finite_mod_ring_a > finite_mod_ring_a,G: int > finite_mod_ring_a] :
      ( ( comp_l5989582908633265375st_int @ ( map_Fi7082711781076630404ring_a @ F ) @ ( map_in5762303227890318931ring_a @ G ) )
      = ( map_in5762303227890318931ring_a @ ( comp_F1114060161934960335_a_int @ F @ G ) ) ) ).

% map_comp_map
thf(fact_53_map__comp__map,axiom,
    ! [F: int > finite_mod_ring_a,G: finite_mod_ring_a > int] :
      ( ( comp_l3090837364590801759ring_a @ ( map_in5762303227890318931ring_a @ F ) @ ( map_Fi4186111235102398893_a_int @ G ) )
      = ( map_Fi7082711781076630404ring_a @ ( comp_i3450435572476621391ring_a @ F @ G ) ) ) ).

% map_comp_map
thf(fact_54_map__comp__map,axiom,
    ! [F: finite_mod_ring_a > int,G: finite_mod_ring_a > finite_mod_ring_a] :
      ( ( comp_l6009651805545292773ring_a @ ( map_Fi4186111235102398893_a_int @ F ) @ ( map_Fi7082711781076630404ring_a @ G ) )
      = ( map_Fi4186111235102398893_a_int @ ( comp_F2690252154722880373ring_a @ F @ G ) ) ) ).

% map_comp_map
thf(fact_55_map__comp__map,axiom,
    ! [F: kyber_qr_a > kyber_qr_a,G: list_int > kyber_qr_a] :
      ( ( comp_l2380729058592350339st_int @ ( map_Ky7822609798780777336r_qr_a @ F ) @ ( map_li3820609314731536219r_qr_a @ G ) )
      = ( map_li3820609314731536219r_qr_a @ ( comp_K3071194607127107923st_int @ F @ G ) ) ) ).

% map_comp_map
thf(fact_56_map__comp__map,axiom,
    ! [F: kyber_qr_a > list_int,G: list_int > kyber_qr_a] :
      ( ( comp_l1877900829176286566st_int @ ( map_Ky8898172773360978139st_int @ F ) @ ( map_li3820609314731536219r_qr_a @ G ) )
      = ( map_li4896172289311737022st_int @ ( comp_K8292566159932642614st_int @ F @ G ) ) ) ).

% map_comp_map
thf(fact_57_coeff__diff,axiom,
    ! [P2: poly_F3299452240248304339ring_a,Q: poly_F3299452240248304339ring_a,N: nat] :
      ( ( coeff_1607515655354303335ring_a @ ( minus_5354101470050066234ring_a @ P2 @ Q ) @ N )
      = ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ P2 @ N ) @ ( coeff_1607515655354303335ring_a @ Q @ N ) ) ) ).

% coeff_diff
thf(fact_58_coeff__diff,axiom,
    ! [P2: poly_nat,Q: poly_nat,N: nat] :
      ( ( coeff_nat @ ( minus_minus_poly_nat @ P2 @ Q ) @ N )
      = ( minus_minus_nat @ ( coeff_nat @ P2 @ N ) @ ( coeff_nat @ Q @ N ) ) ) ).

% coeff_diff
thf(fact_59_coeff__diff,axiom,
    ! [P2: poly_int,Q: poly_int,N: nat] :
      ( ( coeff_int @ ( minus_minus_poly_int @ P2 @ Q ) @ N )
      = ( minus_minus_int @ ( coeff_int @ P2 @ N ) @ ( coeff_int @ Q @ N ) ) ) ).

% coeff_diff
thf(fact_60_coeff__0,axiom,
    ! [N: nat] :
      ( ( coeff_int @ zero_zero_poly_int @ N )
      = zero_zero_int ) ).

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

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

% coeff_0
thf(fact_63_coeff__0,axiom,
    ! [N: nat] :
      ( ( coeff_Kyber_qr_a @ zero_z2078993987043428202r_qr_a @ N )
      = zero_zero_Kyber_qr_a ) ).

% coeff_0
thf(fact_64_diff__self,axiom,
    ! [A: kyber_qr_a] :
      ( ( minus_3375643675566563378r_qr_a @ A @ A )
      = zero_zero_Kyber_qr_a ) ).

% diff_self
thf(fact_65_diff__self,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ A @ A )
      = zero_z7902377541816115708ring_a ) ).

% diff_self
thf(fact_66_diff__self,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ A )
      = zero_zero_int ) ).

% diff_self
thf(fact_67_diff__0__right,axiom,
    ! [A: kyber_qr_a] :
      ( ( minus_3375643675566563378r_qr_a @ A @ zero_zero_Kyber_qr_a )
      = A ) ).

% diff_0_right
thf(fact_68_diff__0__right,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ A @ zero_z7902377541816115708ring_a )
      = A ) ).

% diff_0_right
thf(fact_69_diff__0__right,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ zero_zero_int )
      = A ) ).

% diff_0_right
thf(fact_70_zero__diff,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ A )
      = zero_zero_nat ) ).

% zero_diff
thf(fact_71_abs__infty__q__definite,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( ( abs_ky7385543178848499077ty_q_a @ q @ X3 )
        = zero_zero_int )
      = ( X3 = zero_z7902377541816115708ring_a ) ) ).

% abs_infty_q_definite
thf(fact_72_map__ident,axiom,
    ( ( map_int_int
      @ ^ [X2: int] : X2 )
    = ( ^ [Xs2: list_int] : Xs2 ) ) ).

% map_ident
thf(fact_73_map__ident,axiom,
    ( ( map_nat_nat
      @ ^ [X2: nat] : X2 )
    = ( ^ [Xs2: list_nat] : Xs2 ) ) ).

% map_ident
thf(fact_74_map__ident,axiom,
    ( ( map_li4896172289311737022st_int
      @ ^ [X2: list_int] : X2 )
    = ( ^ [Xs2: list_list_int] : Xs2 ) ) ).

% map_ident
thf(fact_75_assms_I2_J,axiom,
    ord_less_nat @ zero_zero_nat @ d ).

% assms(2)
thf(fact_76_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: kyber_qr_a] :
      ( ( minus_3375643675566563378r_qr_a @ A @ A )
      = zero_zero_Kyber_qr_a ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_77_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ A @ A )
      = zero_z7902377541816115708ring_a ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_78_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_79_cancel__comm__monoid__add__class_Odiff__cancel,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ A )
      = zero_zero_int ) ).

% cancel_comm_monoid_add_class.diff_cancel
thf(fact_80_diff__zero,axiom,
    ! [A: kyber_qr_a] :
      ( ( minus_3375643675566563378r_qr_a @ A @ zero_zero_Kyber_qr_a )
      = A ) ).

% diff_zero
thf(fact_81_diff__zero,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ A @ zero_z7902377541816115708ring_a )
      = A ) ).

% diff_zero
thf(fact_82_diff__zero,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ zero_zero_nat )
      = A ) ).

% diff_zero
thf(fact_83_diff__zero,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ zero_zero_int )
      = A ) ).

% diff_zero
thf(fact_84_kyber__spec_Ocompress_Ocong,axiom,
    kyber_compress = kyber_compress ).

% kyber_spec.compress.cong
thf(fact_85_zero__reorient,axiom,
    ! [X3: int] :
      ( ( zero_zero_int = X3 )
      = ( X3 = zero_zero_int ) ) ).

% zero_reorient
thf(fact_86_zero__reorient,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( zero_z7902377541816115708ring_a = X3 )
      = ( X3 = zero_z7902377541816115708ring_a ) ) ).

% zero_reorient
thf(fact_87_zero__reorient,axiom,
    ! [X3: nat] :
      ( ( zero_zero_nat = X3 )
      = ( X3 = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_88_zero__reorient,axiom,
    ! [X3: kyber_qr_a] :
      ( ( zero_zero_Kyber_qr_a = X3 )
      = ( X3 = zero_zero_Kyber_qr_a ) ) ).

% zero_reorient
thf(fact_89_cancel__ab__semigroup__add__class_Odiff__right__commute,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ ( minus_3609261664126569004ring_a @ A @ C ) @ B )
      = ( minus_3609261664126569004ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) @ C ) ) ).

% cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_90_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_91_cancel__ab__semigroup__add__class_Odiff__right__commute,axiom,
    ! [A: int,C: int,B: int] :
      ( ( minus_minus_int @ ( minus_minus_int @ A @ C ) @ B )
      = ( minus_minus_int @ ( minus_minus_int @ A @ B ) @ C ) ) ).

% cancel_ab_semigroup_add_class.diff_right_commute
thf(fact_92_diff__eq__diff__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a,D: finite_mod_ring_a] :
      ( ( ( minus_3609261664126569004ring_a @ A @ B )
        = ( minus_3609261664126569004ring_a @ C @ D ) )
     => ( ( A = B )
        = ( C = D ) ) ) ).

% diff_eq_diff_eq
thf(fact_93_diff__eq__diff__eq,axiom,
    ! [A: int,B: int,C: int,D: int] :
      ( ( ( minus_minus_int @ A @ B )
        = ( minus_minus_int @ C @ D ) )
     => ( ( A = B )
        = ( C = D ) ) ) ).

% diff_eq_diff_eq
thf(fact_94_poly__eq__iff,axiom,
    ( ( ^ [Y: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] : ( Y = Z ) )
    = ( ^ [P3: poly_F3299452240248304339ring_a,Q2: poly_F3299452240248304339ring_a] :
        ! [N2: nat] :
          ( ( coeff_1607515655354303335ring_a @ P3 @ N2 )
          = ( coeff_1607515655354303335ring_a @ Q2 @ N2 ) ) ) ) ).

% poly_eq_iff
thf(fact_95_poly__eqI,axiom,
    ! [P2: poly_F3299452240248304339ring_a,Q: poly_F3299452240248304339ring_a] :
      ( ! [N3: nat] :
          ( ( coeff_1607515655354303335ring_a @ P2 @ N3 )
          = ( coeff_1607515655354303335ring_a @ Q @ N3 ) )
     => ( P2 = Q ) ) ).

% poly_eqI
thf(fact_96_coeff__inject,axiom,
    ! [X3: poly_F3299452240248304339ring_a,Y2: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ X3 )
        = ( coeff_1607515655354303335ring_a @ Y2 ) )
      = ( X3 = Y2 ) ) ).

% coeff_inject
thf(fact_97_list_Omap__ident,axiom,
    ! [T: list_int] :
      ( ( map_int_int
        @ ^ [X2: int] : X2
        @ T )
      = T ) ).

% list.map_ident
thf(fact_98_list_Omap__ident,axiom,
    ! [T: list_nat] :
      ( ( map_nat_nat
        @ ^ [X2: nat] : X2
        @ T )
      = T ) ).

% list.map_ident
thf(fact_99_list_Omap__ident,axiom,
    ! [T: list_list_int] :
      ( ( map_li4896172289311737022st_int
        @ ^ [X2: list_int] : X2
        @ T )
      = T ) ).

% list.map_ident
thf(fact_100_eq__iff__diff__eq__0,axiom,
    ( ( ^ [Y: kyber_qr_a,Z: kyber_qr_a] : ( Y = Z ) )
    = ( ^ [A2: kyber_qr_a,B2: kyber_qr_a] :
          ( ( minus_3375643675566563378r_qr_a @ A2 @ B2 )
          = zero_zero_Kyber_qr_a ) ) ) ).

% eq_iff_diff_eq_0
thf(fact_101_eq__iff__diff__eq__0,axiom,
    ( ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z ) )
    = ( ^ [A2: finite_mod_ring_a,B2: finite_mod_ring_a] :
          ( ( minus_3609261664126569004ring_a @ A2 @ B2 )
          = zero_z7902377541816115708ring_a ) ) ) ).

% eq_iff_diff_eq_0
thf(fact_102_eq__iff__diff__eq__0,axiom,
    ( ( ^ [Y: int,Z: int] : ( Y = Z ) )
    = ( ^ [A2: int,B2: int] :
          ( ( minus_minus_int @ A2 @ B2 )
          = zero_zero_int ) ) ) ).

% eq_iff_diff_eq_0
thf(fact_103_zero__poly_Orep__eq,axiom,
    ( ( coeff_int @ zero_zero_poly_int )
    = ( ^ [Uu: nat] : zero_zero_int ) ) ).

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

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

% zero_poly.rep_eq
thf(fact_106_zero__poly_Orep__eq,axiom,
    ( ( coeff_Kyber_qr_a @ zero_z2078993987043428202r_qr_a )
    = ( ^ [Uu: nat] : zero_zero_Kyber_qr_a ) ) ).

% zero_poly.rep_eq
thf(fact_107_minus__poly_Orep__eq,axiom,
    ! [X3: poly_F3299452240248304339ring_a,Xa: poly_F3299452240248304339ring_a] :
      ( ( coeff_1607515655354303335ring_a @ ( minus_5354101470050066234ring_a @ X3 @ Xa ) )
      = ( ^ [N2: nat] : ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ X3 @ N2 ) @ ( coeff_1607515655354303335ring_a @ Xa @ N2 ) ) ) ) ).

% minus_poly.rep_eq
thf(fact_108_minus__poly_Orep__eq,axiom,
    ! [X3: poly_nat,Xa: poly_nat] :
      ( ( coeff_nat @ ( minus_minus_poly_nat @ X3 @ Xa ) )
      = ( ^ [N2: nat] : ( minus_minus_nat @ ( coeff_nat @ X3 @ N2 ) @ ( coeff_nat @ Xa @ N2 ) ) ) ) ).

% minus_poly.rep_eq
thf(fact_109_minus__poly_Orep__eq,axiom,
    ! [X3: poly_int,Xa: poly_int] :
      ( ( coeff_int @ ( minus_minus_poly_int @ X3 @ Xa ) )
      = ( ^ [N2: nat] : ( minus_minus_int @ ( coeff_int @ X3 @ N2 ) @ ( coeff_int @ Xa @ N2 ) ) ) ) ).

% minus_poly.rep_eq
thf(fact_110_abs__infty__poly__definite,axiom,
    ! [X3: kyber_qr_a] :
      ( ( ( abs_ky5074908690697402296poly_a @ q @ X3 )
        = zero_zero_int )
      = ( X3 = zero_zero_Kyber_qr_a ) ) ).

% abs_infty_poly_definite
thf(fact_111_of__int__mod__ring__hom_Ohom__zero,axiom,
    ( ( finite8272632373135393572ring_a @ zero_zero_int )
    = zero_z7902377541816115708ring_a ) ).

% of_int_mod_ring_hom.hom_zero
thf(fact_112_strip__while__mod__ring,axiom,
    ! [Xs: list_int] :
      ( ( more_s7501023657932161932ring_a
        @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
          @ zero_z7902377541816115708ring_a )
        @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) )
      = ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a
        @ ( more_strip_while_int
          @ ^ [X2: int] :
              ( ( modulo_modulo_int @ X2 @ q )
              = zero_zero_int )
          @ Xs ) ) ) ).

% strip_while_mod_ring
thf(fact_113_calculation,axiom,
    ( ( abs_ky7385543178848499077ty_q_a @ q @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa ) @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ ( kyber_to_qr_a @ ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ finite8272632373135393572ring_a @ ( kyber_decompress @ q @ d ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a @ ( coeffs4679052062445675434ring_a @ ( kyber_of_qr_a @ ( kyber_to_qr_a @ ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ compress_x ) ) ) ) ) ) ) ) ) ) @ xa ) ) )
    = ( abs_ky7385543178848499077ty_q_a @ q
      @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa )
        @ ( coeff_1607515655354303335ring_a
          @ ( poly_F5739129160929385880ring_a
            @ ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ finite8272632373135393572ring_a @ ( kyber_decompress @ q @ d ) )
              @ ( more_strip_while_int
                @ ^ [X2: int] : ( X2 = zero_zero_int )
                @ compress_x ) ) )
          @ xa ) ) ) ) ).

% calculation
thf(fact_114__092_060open_062abs__infty__q_A_Ipoly_Ocoeff_A_Iof__qr_Ax_J_Axa_A_N_Apoly_Ocoeff_A_Iof__qr_A_Ito__qr_A_IPoly_A_Imap_A_Iof__int__mod__ring_A_092_060circ_062_Adecompress_Ad_J_A_Imap_Ato__int__mod__ring_A_Icoeffs_A_Iof__qr_A_Ito__qr_A_IPoly_A_Imap_Aof__int__mod__ring_Acompress__x_J_J_J_J_J_J_J_J_J_J_Axa_J_A_061_Aabs__infty__q_A_Ipoly_Ocoeff_A_Iof__qr_Ax_J_Axa_A_N_Apoly_Ocoeff_A_Iof__qr_A_Ito__qr_A_IPoly_A_Imap_A_Iof__int__mod__ring_A_092_060circ_062_Adecompress_Ad_J_A_Istrip__while_A_I_092_060lambda_062x_O_Ax_A_061_A0_J_Acompress__x_J_J_J_J_J_Axa_J_092_060close_062,axiom,
    ( ( abs_ky7385543178848499077ty_q_a @ q @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa ) @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ ( kyber_to_qr_a @ ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ finite8272632373135393572ring_a @ ( kyber_decompress @ q @ d ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a @ ( coeffs4679052062445675434ring_a @ ( kyber_of_qr_a @ ( kyber_to_qr_a @ ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ compress_x ) ) ) ) ) ) ) ) ) ) @ xa ) ) )
    = ( abs_ky7385543178848499077ty_q_a @ q
      @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa )
        @ ( coeff_1607515655354303335ring_a
          @ ( kyber_of_qr_a
            @ ( kyber_to_qr_a
              @ ( poly_F5739129160929385880ring_a
                @ ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ finite8272632373135393572ring_a @ ( kyber_decompress @ q @ d ) )
                  @ ( more_strip_while_int
                    @ ^ [X2: int] : ( X2 = zero_zero_int )
                    @ compress_x ) ) ) ) )
          @ xa ) ) ) ) ).

% \<open>abs_infty_q (poly.coeff (of_qr x) xa - poly.coeff (of_qr (to_qr (Poly (map (of_int_mod_ring \<circ> decompress d) (map to_int_mod_ring (coeffs (of_qr (to_qr (Poly (map of_int_mod_ring compress_x)))))))))) xa) = abs_infty_q (poly.coeff (of_qr x) xa - poly.coeff (of_qr (to_qr (Poly (map (of_int_mod_ring \<circ> decompress d) (strip_while (\<lambda>x. x = 0) compress_x))))) xa)\<close>
thf(fact_115_abs__infty__q__pos,axiom,
    ! [X3: finite_mod_ring_a] : ( ord_less_eq_int @ zero_zero_int @ ( abs_ky7385543178848499077ty_q_a @ q @ X3 ) ) ).

% abs_infty_q_pos
thf(fact_116_to__qr__0,axiom,
    ( ( kyber_to_qr_a @ zero_z1830546546923837194ring_a )
    = zero_zero_Kyber_qr_a ) ).

% to_qr_0
thf(fact_117_to__qr__diff,axiom,
    ! [P2: poly_F3299452240248304339ring_a,Q: poly_F3299452240248304339ring_a] :
      ( ( kyber_to_qr_a @ ( minus_5354101470050066234ring_a @ P2 @ Q ) )
      = ( minus_3375643675566563378r_qr_a @ ( kyber_to_qr_a @ P2 ) @ ( kyber_to_qr_a @ Q ) ) ) ).

% to_qr_diff
thf(fact_118_of__int__mod__ring__eq__0,axiom,
    ! [X3: int] :
      ( ( ( finite8272632373135393572ring_a @ X3 )
        = zero_z7902377541816115708ring_a )
      = ( ( modulo_modulo_int @ X3 @ q )
        = zero_zero_int ) ) ).

% of_int_mod_ring_eq_0
thf(fact_119_of__qr__diff,axiom,
    ! [P2: kyber_qr_a,Q: kyber_qr_a] :
      ( ( kyber_of_qr_a @ ( minus_3375643675566563378r_qr_a @ P2 @ Q ) )
      = ( minus_5354101470050066234ring_a @ ( kyber_of_qr_a @ P2 ) @ ( kyber_of_qr_a @ Q ) ) ) ).

% of_qr_diff
thf(fact_120_of__qr__eq__0__iff,axiom,
    ! [P2: kyber_qr_a] :
      ( ( ( kyber_of_qr_a @ P2 )
        = zero_z1830546546923837194ring_a )
      = ( P2 = zero_zero_Kyber_qr_a ) ) ).

% of_qr_eq_0_iff
thf(fact_121_of__qr__0,axiom,
    ( ( kyber_of_qr_a @ zero_zero_Kyber_qr_a )
    = zero_z1830546546923837194ring_a ) ).

% of_qr_0
thf(fact_122_mem__Collect__eq,axiom,
    ! [A: int,P: int > $o] :
      ( ( member_int @ A @ ( collect_int @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_123_Collect__mem__eq,axiom,
    ! [A3: set_int] :
      ( ( collect_int
        @ ^ [X2: int] : ( member_int @ X2 @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_124_abs__infty__poly__pos,axiom,
    ! [X3: kyber_qr_a] : ( ord_less_eq_int @ zero_zero_int @ ( abs_ky5074908690697402296poly_a @ q @ X3 ) ) ).

% abs_infty_poly_pos
thf(fact_125_to__int__mod__ring__hom_Oeq__iff,axiom,
    ! [X3: finite_mod_ring_a,Y2: finite_mod_ring_a] :
      ( ( ( finite1095367895020317408ring_a @ X3 )
        = ( finite1095367895020317408ring_a @ Y2 ) )
      = ( X3 = Y2 ) ) ).

% to_int_mod_ring_hom.eq_iff
thf(fact_126_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_zero_eq
thf(fact_127_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_128_Poly__coeffs,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( poly_F5739129160929385880ring_a @ ( coeffs4679052062445675434ring_a @ P2 ) )
      = P2 ) ).

% Poly_coeffs
thf(fact_129_of__int__mod__ring__to__int__mod__ring,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( finite8272632373135393572ring_a @ ( finite1095367895020317408ring_a @ X3 ) )
      = X3 ) ).

% of_int_mod_ring_to_int_mod_ring
thf(fact_130_n_H__gr__0,axiom,
    ord_less_nat @ zero_zero_nat @ n2 ).

% n'_gr_0
thf(fact_131_diff__ge__0__iff__ge,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( minus_minus_int @ A @ B ) )
      = ( ord_less_eq_int @ B @ A ) ) ).

% diff_ge_0_iff_ge
thf(fact_132_diff__gt__0__iff__gt,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ zero_zero_int @ ( minus_minus_int @ A @ B ) )
      = ( ord_less_int @ B @ A ) ) ).

% diff_gt_0_iff_gt
thf(fact_133_strip__while__coeffs,axiom,
    ! [P2: poly_int] :
      ( ( more_strip_while_int
        @ ( ^ [Y: int,Z: int] : ( Y = Z )
          @ zero_zero_int )
        @ ( coeffs_int @ P2 ) )
      = ( coeffs_int @ P2 ) ) ).

% strip_while_coeffs
thf(fact_134_strip__while__coeffs,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( more_s7501023657932161932ring_a
        @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
          @ zero_z7902377541816115708ring_a )
        @ ( coeffs4679052062445675434ring_a @ P2 ) )
      = ( coeffs4679052062445675434ring_a @ P2 ) ) ).

% strip_while_coeffs
thf(fact_135_strip__while__coeffs,axiom,
    ! [P2: poly_nat] :
      ( ( more_strip_while_nat
        @ ( ^ [Y: nat,Z: nat] : ( Y = Z )
          @ zero_zero_nat )
        @ ( coeffs_nat @ P2 ) )
      = ( coeffs_nat @ P2 ) ) ).

% strip_while_coeffs
thf(fact_136_strip__while__coeffs,axiom,
    ! [P2: poly_Kyber_qr_a] :
      ( ( more_s8249276089521708754r_qr_a
        @ ( ^ [Y: kyber_qr_a,Z: kyber_qr_a] : ( Y = Z )
          @ zero_zero_Kyber_qr_a )
        @ ( coeffs_Kyber_qr_a @ P2 ) )
      = ( coeffs_Kyber_qr_a @ P2 ) ) ).

% strip_while_coeffs
thf(fact_137_to__int__mod__ring__hom_Ohom__0__iff,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( ( finite1095367895020317408ring_a @ X3 )
        = zero_zero_int )
      = ( X3 = zero_z7902377541816115708ring_a ) ) ).

% to_int_mod_ring_hom.hom_0_iff
thf(fact_138_to__int__mod__ring__hom_Ohom__zero,axiom,
    ( ( finite1095367895020317408ring_a @ zero_z7902377541816115708ring_a )
    = zero_zero_int ) ).

% to_int_mod_ring_hom.hom_zero
thf(fact_139_compress__x__def,axiom,
    ( compress_x
    = ( map_Fi4186111235102398893_a_int @ ( comp_i1216107289310836680ring_a @ ( kyber_compress @ q @ d ) @ finite1095367895020317408ring_a ) @ ( coeffs4679052062445675434ring_a @ ( kyber_of_qr_a @ x ) ) ) ) ).

% compress_x_def
thf(fact_140_coeffs__Poly,axiom,
    ! [As: list_int] :
      ( ( coeffs_int @ ( poly_int2 @ As ) )
      = ( more_strip_while_int
        @ ( ^ [Y: int,Z: int] : ( Y = Z )
          @ zero_zero_int )
        @ As ) ) ).

% coeffs_Poly
thf(fact_141_coeffs__Poly,axiom,
    ! [As: list_F4626807571770296779ring_a] :
      ( ( coeffs4679052062445675434ring_a @ ( poly_F5739129160929385880ring_a @ As ) )
      = ( more_s7501023657932161932ring_a
        @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
          @ zero_z7902377541816115708ring_a )
        @ As ) ) ).

% coeffs_Poly
thf(fact_142_coeffs__Poly,axiom,
    ! [As: list_nat] :
      ( ( coeffs_nat @ ( poly_nat2 @ As ) )
      = ( more_strip_while_nat
        @ ( ^ [Y: nat,Z: nat] : ( Y = Z )
          @ zero_zero_nat )
        @ As ) ) ).

% coeffs_Poly
thf(fact_143_coeffs__Poly,axiom,
    ! [As: list_Kyber_qr_a] :
      ( ( coeffs_Kyber_qr_a @ ( poly_Kyber_qr_a2 @ As ) )
      = ( more_s8249276089521708754r_qr_a
        @ ( ^ [Y: kyber_qr_a,Z: kyber_qr_a] : ( Y = Z )
          @ zero_zero_Kyber_qr_a )
        @ As ) ) ).

% coeffs_Poly
thf(fact_144_decompress__poly__def,axiom,
    ! [D: nat] :
      ( ( kyber_3587082902811259984poly_a @ q @ D )
      = ( comp_p6078266056724260068r_qr_a @ ( comp_l6256189231004422032ring_a @ ( comp_l8264631749186849233ring_a @ ( comp_l6516415865823034294st_int @ ( comp_l7916700749204952255st_int @ ( comp_p7265325897387886208ring_a @ kyber_to_qr_a @ poly_F5739129160929385880ring_a ) @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a ) ) @ ( map_int_int @ ( kyber_decompress @ q @ D ) ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a ) ) @ coeffs4679052062445675434ring_a ) @ kyber_of_qr_a ) ) ).

% decompress_poly_def
thf(fact_145_compress__poly__def,axiom,
    ! [D: nat] :
      ( ( kyber_2515840456745678993poly_a @ q @ D )
      = ( comp_p6078266056724260068r_qr_a @ ( comp_l6256189231004422032ring_a @ ( comp_l8264631749186849233ring_a @ ( comp_l6516415865823034294st_int @ ( comp_l7916700749204952255st_int @ ( comp_p7265325897387886208ring_a @ kyber_to_qr_a @ poly_F5739129160929385880ring_a ) @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a ) ) @ ( map_int_int @ ( kyber_compress @ q @ D ) ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a ) ) @ coeffs4679052062445675434ring_a ) @ kyber_of_qr_a ) ) ).

% compress_poly_def
thf(fact_146_coeffs__eq__iff,axiom,
    ( ( ^ [Y: poly_F3299452240248304339ring_a,Z: poly_F3299452240248304339ring_a] : ( Y = Z ) )
    = ( ^ [P3: poly_F3299452240248304339ring_a,Q2: poly_F3299452240248304339ring_a] :
          ( ( coeffs4679052062445675434ring_a @ P3 )
          = ( coeffs4679052062445675434ring_a @ Q2 ) ) ) ) ).

% coeffs_eq_iff
thf(fact_147_to__int__mod__ring__hom_Oinjectivity,axiom,
    ! [X3: finite_mod_ring_a,Y2: finite_mod_ring_a] :
      ( ( ( finite1095367895020317408ring_a @ X3 )
        = ( finite1095367895020317408ring_a @ Y2 ) )
     => ( X3 = Y2 ) ) ).

% to_int_mod_ring_hom.injectivity
thf(fact_148_to__int__mod__ring__hom_Ohom__0,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( ( finite1095367895020317408ring_a @ X3 )
        = zero_zero_int )
     => ( X3 = zero_z7902377541816115708ring_a ) ) ).

% to_int_mod_ring_hom.hom_0
thf(fact_149_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr_zeroI
thf(fact_150_not__less__zero,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less_zero
thf(fact_151_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not_zero
thf(fact_152_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_153_zero__le,axiom,
    ! [X3: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X3 ) ).

% zero_le
thf(fact_154_diff__strict__mono,axiom,
    ! [A: int,B: int,D: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ D @ C )
       => ( ord_less_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ D ) ) ) ) ).

% diff_strict_mono
thf(fact_155_diff__eq__diff__less,axiom,
    ! [A: int,B: int,C: int,D: int] :
      ( ( ( minus_minus_int @ A @ B )
        = ( minus_minus_int @ C @ D ) )
     => ( ( ord_less_int @ A @ B )
        = ( ord_less_int @ C @ D ) ) ) ).

% diff_eq_diff_less
thf(fact_156_diff__strict__left__mono,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_int @ B @ A )
     => ( ord_less_int @ ( minus_minus_int @ C @ A ) @ ( minus_minus_int @ C @ B ) ) ) ).

% diff_strict_left_mono
thf(fact_157_diff__strict__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ C ) ) ) ).

% diff_strict_right_mono
thf(fact_158_diff__mono,axiom,
    ! [A: int,B: int,D: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ D @ C )
       => ( ord_less_eq_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ D ) ) ) ) ).

% diff_mono
thf(fact_159_diff__left__mono,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ord_less_eq_int @ ( minus_minus_int @ C @ A ) @ ( minus_minus_int @ C @ B ) ) ) ).

% diff_left_mono
thf(fact_160_diff__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ord_less_eq_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ C ) ) ) ).

% diff_right_mono
thf(fact_161_diff__eq__diff__less__eq,axiom,
    ! [A: int,B: int,C: int,D: int] :
      ( ( ( minus_minus_int @ A @ B )
        = ( minus_minus_int @ C @ D ) )
     => ( ( ord_less_eq_int @ A @ B )
        = ( ord_less_eq_int @ C @ D ) ) ) ).

% diff_eq_diff_less_eq
thf(fact_162_less__iff__diff__less__0,axiom,
    ( ord_less_int
    = ( ^ [A2: int,B2: int] : ( ord_less_int @ ( minus_minus_int @ A2 @ B2 ) @ zero_zero_int ) ) ) ).

% less_iff_diff_less_0
thf(fact_163_le__iff__diff__le__0,axiom,
    ( ord_less_eq_int
    = ( ^ [A2: int,B2: int] : ( ord_less_eq_int @ ( minus_minus_int @ A2 @ B2 ) @ zero_zero_int ) ) ) ).

% le_iff_diff_le_0
thf(fact_164_eq__to__qr,axiom,
    ! [X3: poly_F3299452240248304339ring_a,Y2: poly_F3299452240248304339ring_a] :
      ( ( X3 = Y2 )
     => ( ( kyber_to_qr_a @ X3 )
        = ( kyber_to_qr_a @ Y2 ) ) ) ).

% eq_to_qr
thf(fact_165_to__qr__of__qr,axiom,
    ! [X3: kyber_qr_a] :
      ( ( kyber_to_qr_a @ ( kyber_of_qr_a @ X3 ) )
      = X3 ) ).

% to_qr_of_qr
thf(fact_166_minus__mod__self2,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) @ B )
      = ( modulo8308552932176287283ring_a @ A @ B ) ) ).

% minus_mod_self2
thf(fact_167_minus__mod__self2,axiom,
    ! [A: int,B: int] :
      ( ( modulo_modulo_int @ ( minus_minus_int @ A @ B ) @ B )
      = ( modulo_modulo_int @ A @ B ) ) ).

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

% mod_0
thf(fact_169_mod__0,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ zero_zero_int @ A )
      = zero_zero_int ) ).

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

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

% mod_by_0
thf(fact_172_mod__by__0,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ A @ zero_zero_int )
      = A ) ).

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

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

% mod_self
thf(fact_175_mod__self,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ A @ A )
      = zero_zero_int ) ).

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

% mod_self
thf(fact_177_bits__mod__0,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ zero_zero_int @ A )
      = zero_zero_int ) ).

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

% bits_mod_0
thf(fact_179_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_180_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_181_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_182_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_nat_zero_code
thf(fact_183_zmod__le__nonneg__dividend,axiom,
    ! [M: int,K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ M )
     => ( ord_less_eq_int @ ( modulo_modulo_int @ M @ K ) @ M ) ) ).

% zmod_le_nonneg_dividend
thf(fact_184_mod__mod__trivial,axiom,
    ! [A: int,B: int] :
      ( ( modulo_modulo_int @ ( modulo_modulo_int @ A @ B ) @ B )
      = ( modulo_modulo_int @ A @ B ) ) ).

% mod_mod_trivial
thf(fact_185_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_186_q__gt__zero,axiom,
    ord_less_int @ zero_zero_int @ q ).

% q_gt_zero
thf(fact_187_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_188_bot__nat__0_Oextremum,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ zero_zero_nat @ A ) ).

% bot_nat_0.extremum
thf(fact_189_mod__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( modulo_modulo_nat @ M @ N )
        = M ) ) ).

% mod_less
thf(fact_190_diff__diff__cancel,axiom,
    ! [I: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ N )
     => ( ( minus_minus_nat @ N @ ( minus_minus_nat @ N @ I ) )
        = I ) ) ).

% diff_diff_cancel
thf(fact_191_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_192_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_193_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_194_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_195_mod__pos__pos__trivial,axiom,
    ! [K: int,L: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ( ( ord_less_int @ K @ L )
       => ( ( modulo_modulo_int @ K @ L )
          = K ) ) ) ).

% mod_pos_pos_trivial
thf(fact_196_mod__neg__neg__trivial,axiom,
    ! [K: int,L: int] :
      ( ( ord_less_eq_int @ K @ zero_zero_int )
     => ( ( ord_less_int @ L @ K )
       => ( ( modulo_modulo_int @ K @ L )
          = K ) ) ) ).

% mod_neg_neg_trivial
thf(fact_197_eq__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ( minus_minus_nat @ M @ K )
            = ( minus_minus_nat @ N @ K ) )
          = ( M = N ) ) ) ) ).

% eq_diff_iff
thf(fact_198_le__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% le_diff_iff
thf(fact_199_diff__commute,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ ( minus_minus_nat @ I @ K ) @ J ) ) ).

% diff_commute
thf(fact_200_Nat_Odiff__diff__eq,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

% Nat.diff_diff_eq
thf(fact_201_diff__le__mono,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M @ L ) @ ( minus_minus_nat @ N @ L ) ) ) ).

% diff_le_mono
thf(fact_202_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_203_le__diff__iff_H,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ( ord_less_eq_nat @ ( minus_minus_nat @ C @ A ) @ ( minus_minus_nat @ C @ B ) )
          = ( ord_less_eq_nat @ B @ A ) ) ) ) ).

% le_diff_iff'
thf(fact_204_diff__le__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ).

% diff_le_mono2
thf(fact_205_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_206_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_207_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_208_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_209_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_210_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_211_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M2: nat,N2: nat] :
          ( ( ord_less_eq_nat @ M2 @ N2 )
          & ( M2 != N2 ) ) ) ) ).

% nat_less_le
thf(fact_212_less__imp__le__nat,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_imp_le_nat
thf(fact_213_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M2: nat,N2: nat] :
          ( ( ord_less_nat @ M2 @ N2 )
          | ( M2 = N2 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_214_less__or__eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ( ord_less_nat @ M @ N )
        | ( M = N ) )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% less_or_eq_imp_le
thf(fact_215_le__neq__implies__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( M != N )
       => ( ord_less_nat @ M @ N ) ) ) ).

% le_neq_implies_less
thf(fact_216_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I2: nat,J2: nat] :
          ( ( ord_less_nat @ I2 @ J2 )
         => ( ord_less_nat @ ( F @ I2 ) @ ( F @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_217_diff__less__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ A )
       => ( ord_less_nat @ ( minus_minus_nat @ A @ C ) @ ( minus_minus_nat @ B @ C ) ) ) ) ).

% diff_less_mono
thf(fact_218_less__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_219_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_220_kyber__spec_Odecompress__poly_Ocong,axiom,
    kyber_3587082902811259984poly_a = kyber_3587082902811259984poly_a ).

% kyber_spec.decompress_poly.cong
thf(fact_221_kyber__spec_Ocompress__poly_Ocong,axiom,
    kyber_2515840456745678993poly_a = kyber_2515840456745678993poly_a ).

% kyber_spec.compress_poly.cong
thf(fact_222_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_223_modulo__mod__ring__def,axiom,
    ( modulo8308552932176287283ring_a
    = ( ^ [X2: finite_mod_ring_a,Y3: finite_mod_ring_a] : ( if_Finite_mod_ring_a @ ( Y3 = zero_z7902377541816115708ring_a ) @ X2 @ zero_z7902377541816115708ring_a ) ) ) ).

% modulo_mod_ring_def
thf(fact_224_ex__least__nat__le,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
            & ! [I3: nat] :
                ( ( ord_less_nat @ I3 @ K2 )
               => ~ ( P @ I3 ) )
            & ( P @ K2 ) ) ) ) ).

% ex_least_nat_le
thf(fact_225_Euclidean__Division_Opos__mod__bound,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_int @ zero_zero_int @ L )
     => ( ord_less_int @ ( modulo_modulo_int @ K @ L ) @ L ) ) ).

% Euclidean_Division.pos_mod_bound
thf(fact_226_neg__mod__bound,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_int @ L @ zero_zero_int )
     => ( ord_less_int @ L @ ( modulo_modulo_int @ K @ L ) ) ) ).

% neg_mod_bound
thf(fact_227_zmod__trivial__iff,axiom,
    ! [I: int,K: int] :
      ( ( ( modulo_modulo_int @ I @ K )
        = I )
      = ( ( K = zero_zero_int )
        | ( ( ord_less_eq_int @ zero_zero_int @ I )
          & ( ord_less_int @ I @ K ) )
        | ( ( ord_less_eq_int @ I @ zero_zero_int )
          & ( ord_less_int @ K @ I ) ) ) ) ).

% zmod_trivial_iff
thf(fact_228_Euclidean__Division_Opos__mod__sign,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_int @ zero_zero_int @ L )
     => ( ord_less_eq_int @ zero_zero_int @ ( modulo_modulo_int @ K @ L ) ) ) ).

% Euclidean_Division.pos_mod_sign
thf(fact_229_neg__mod__sign,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_int @ L @ zero_zero_int )
     => ( ord_less_eq_int @ ( modulo_modulo_int @ K @ L ) @ zero_zero_int ) ) ).

% neg_mod_sign
thf(fact_230_mod__pos__geq,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_int @ zero_zero_int @ L )
     => ( ( ord_less_eq_int @ L @ K )
       => ( ( modulo_modulo_int @ K @ L )
          = ( modulo_modulo_int @ ( minus_minus_int @ K @ L ) @ L ) ) ) ) ).

% mod_pos_geq
thf(fact_231_linorder__neqE__linordered__idom,axiom,
    ! [X3: int,Y2: int] :
      ( ( X3 != Y2 )
     => ( ~ ( ord_less_int @ X3 @ Y2 )
       => ( ord_less_int @ Y2 @ X3 ) ) ) ).

% linorder_neqE_linordered_idom
thf(fact_232_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_233_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_234_nat__neq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( M != N )
      = ( ( ord_less_nat @ M @ N )
        | ( ord_less_nat @ N @ M ) ) ) ).

% nat_neq_iff
thf(fact_235_less__not__refl,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_not_refl
thf(fact_236_less__not__refl2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( M != N ) ) ).

% less_not_refl2
thf(fact_237_less__not__refl3,axiom,
    ! [S2: nat,T: nat] :
      ( ( ord_less_nat @ S2 @ T )
     => ( S2 != T ) ) ).

% less_not_refl3
thf(fact_238_less__irrefl__nat,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

% less_irrefl_nat
thf(fact_239_nat__less__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M3: nat] :
              ( ( ord_less_nat @ M3 @ N3 )
             => ( P @ M3 ) )
         => ( P @ N3 ) )
     => ( P @ N ) ) ).

% nat_less_induct
thf(fact_240_infinite__descent,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ~ ( P @ N3 )
         => ? [M3: nat] :
              ( ( ord_less_nat @ M3 @ N3 )
              & ~ ( P @ M3 ) ) )
     => ( P @ N ) ) ).

% infinite_descent
thf(fact_241_linorder__neqE__nat,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( X3 != Y2 )
     => ( ~ ( ord_less_nat @ X3 @ Y2 )
       => ( ord_less_nat @ Y2 @ X3 ) ) ) ).

% linorder_neqE_nat
thf(fact_242_less__imp__diff__less,axiom,
    ! [J: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ J @ K )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K ) ) ).

% less_imp_diff_less
thf(fact_243_diff__less__mono2,axiom,
    ! [M: nat,N: nat,L: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ord_less_nat @ M @ L )
       => ( ord_less_nat @ ( minus_minus_nat @ L @ N ) @ ( minus_minus_nat @ L @ M ) ) ) ) ).

% diff_less_mono2
thf(fact_244_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ~ ( P @ N3 )
             => ? [M3: nat] :
                  ( ( ord_less_nat @ M3 @ N3 )
                  & ~ ( P @ M3 ) ) ) )
       => ( P @ N ) ) ) ).

% infinite_descent0
thf(fact_245_gr__implies__not0,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

% gr_implies_not0
thf(fact_246_less__zeroE,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% less_zeroE
thf(fact_247_not__less0,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

% not_less0
thf(fact_248_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_249_not__gr0,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr0
thf(fact_250_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% gr0I
thf(fact_251_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_252_mod__diff__right__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ A @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C )
      = ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) @ C ) ) ).

% mod_diff_right_eq
thf(fact_253_mod__diff__right__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( modulo_modulo_int @ ( minus_minus_int @ A @ ( modulo_modulo_int @ B @ C ) ) @ C )
      = ( modulo_modulo_int @ ( minus_minus_int @ A @ B ) @ C ) ) ).

% mod_diff_right_eq
thf(fact_254_mod__diff__left__eq,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ ( modulo8308552932176287283ring_a @ A @ C ) @ B ) @ C )
      = ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) @ C ) ) ).

% mod_diff_left_eq
thf(fact_255_mod__diff__left__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( modulo_modulo_int @ ( minus_minus_int @ ( modulo_modulo_int @ A @ C ) @ B ) @ C )
      = ( modulo_modulo_int @ ( minus_minus_int @ A @ B ) @ C ) ) ).

% mod_diff_left_eq
thf(fact_256_mod__diff__cong,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,A4: finite_mod_ring_a,B: finite_mod_ring_a,B3: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ A @ C )
        = ( modulo8308552932176287283ring_a @ A4 @ C ) )
     => ( ( ( modulo8308552932176287283ring_a @ B @ C )
          = ( modulo8308552932176287283ring_a @ B3 @ C ) )
       => ( ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) @ C )
          = ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ A4 @ B3 ) @ C ) ) ) ) ).

% mod_diff_cong
thf(fact_257_mod__diff__cong,axiom,
    ! [A: int,C: int,A4: int,B: int,B3: int] :
      ( ( ( modulo_modulo_int @ A @ C )
        = ( modulo_modulo_int @ A4 @ C ) )
     => ( ( ( modulo_modulo_int @ B @ C )
          = ( modulo_modulo_int @ B3 @ C ) )
       => ( ( modulo_modulo_int @ ( minus_minus_int @ A @ B ) @ C )
          = ( modulo_modulo_int @ ( minus_minus_int @ A4 @ B3 ) @ C ) ) ) ) ).

% mod_diff_cong
thf(fact_258_mod__diff__eq,axiom,
    ! [A: finite_mod_ring_a,C: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ ( modulo8308552932176287283ring_a @ A @ C ) @ ( modulo8308552932176287283ring_a @ B @ C ) ) @ C )
      = ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) @ C ) ) ).

% mod_diff_eq
thf(fact_259_mod__diff__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( modulo_modulo_int @ ( minus_minus_int @ ( modulo_modulo_int @ A @ C ) @ ( modulo_modulo_int @ B @ C ) ) @ C )
      = ( modulo_modulo_int @ ( minus_minus_int @ A @ B ) @ C ) ) ).

% mod_diff_eq
thf(fact_260_kyber__spec_Ocompress__poly__def,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( kyber_2515840456745678993poly_a @ Q @ D )
        = ( comp_p6078266056724260068r_qr_a @ ( comp_l6256189231004422032ring_a @ ( comp_l8264631749186849233ring_a @ ( comp_l6516415865823034294st_int @ ( comp_l7916700749204952255st_int @ ( comp_p7265325897387886208ring_a @ kyber_to_qr_a @ poly_F5739129160929385880ring_a ) @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a ) ) @ ( map_int_int @ ( kyber_compress @ Q @ D ) ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a ) ) @ coeffs4679052062445675434ring_a ) @ kyber_of_qr_a ) ) ) ).

% kyber_spec.compress_poly_def
thf(fact_261_kyber__spec_Ocompress__poly__def,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( kyber_2515840456745678993poly_a @ Q @ D )
        = ( comp_p6078266056724260068r_qr_a @ ( comp_l6256189231004422032ring_a @ ( comp_l8264631749186849233ring_a @ ( comp_l6516415865823034294st_int @ ( comp_l7916700749204952255st_int @ ( comp_p7265325897387886208ring_a @ kyber_to_qr_a @ poly_F5739129160929385880ring_a ) @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a ) ) @ ( map_int_int @ ( kyber_compress @ Q @ D ) ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a ) ) @ coeffs4679052062445675434ring_a ) @ kyber_of_qr_a ) ) ) ).

% kyber_spec.compress_poly_def
thf(fact_262_kyber__spec_Odecompress__poly__def,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( kyber_3587082902811259984poly_a @ Q @ D )
        = ( comp_p6078266056724260068r_qr_a @ ( comp_l6256189231004422032ring_a @ ( comp_l8264631749186849233ring_a @ ( comp_l6516415865823034294st_int @ ( comp_l7916700749204952255st_int @ ( comp_p7265325897387886208ring_a @ kyber_to_qr_a @ poly_F5739129160929385880ring_a ) @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a ) ) @ ( map_int_int @ ( kyber_decompress @ Q @ D ) ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a ) ) @ coeffs4679052062445675434ring_a ) @ kyber_of_qr_a ) ) ) ).

% kyber_spec.decompress_poly_def
thf(fact_263_kyber__spec_Odecompress__poly__def,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( kyber_3587082902811259984poly_a @ Q @ D )
        = ( comp_p6078266056724260068r_qr_a @ ( comp_l6256189231004422032ring_a @ ( comp_l8264631749186849233ring_a @ ( comp_l6516415865823034294st_int @ ( comp_l7916700749204952255st_int @ ( comp_p7265325897387886208ring_a @ kyber_to_qr_a @ poly_F5739129160929385880ring_a ) @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a ) ) @ ( map_int_int @ ( kyber_decompress @ Q @ D ) ) ) @ ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a ) ) @ coeffs4679052062445675434ring_a ) @ kyber_of_qr_a ) ) ) ).

% kyber_spec.decompress_poly_def
thf(fact_264_comp__apply,axiom,
    ( comp_l7916700749204952255st_int
    = ( ^ [F2: list_F4626807571770296779ring_a > kyber_qr_a,G2: list_int > list_F4626807571770296779ring_a,X2: list_int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_265_comp__apply,axiom,
    ( comp_l8264631749186849233ring_a
    = ( ^ [F2: list_int > kyber_qr_a,G2: list_F4626807571770296779ring_a > list_int,X2: list_F4626807571770296779ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_266_comp__apply,axiom,
    ( comp_l6516415865823034294st_int
    = ( ^ [F2: list_int > kyber_qr_a,G2: list_int > list_int,X2: list_int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_267_comp__apply,axiom,
    ( comp_i8863287333377692450_a_int
    = ( ^ [F2: int > finite_mod_ring_a,G2: int > int,X2: int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_268_comp__apply,axiom,
    ( comp_i1216107289310836680ring_a
    = ( ^ [F2: int > int,G2: finite_mod_ring_a > int,X2: finite_mod_ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_269_comp__apply,axiom,
    ( comp_l3342984852308089774ring_a
    = ( ^ [F2: list_int > list_int,G2: list_F4626807571770296779ring_a > list_int,X2: list_F4626807571770296779ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_270_comp__apply,axiom,
    ( comp_l2514415381773793177st_int
    = ( ^ [F2: list_int > list_int,G2: list_int > list_int,X2: list_int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_271_comp__apply,axiom,
    ( comp_nat_nat_nat
    = ( ^ [F2: nat > nat,G2: nat > nat,X2: nat] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_272_comp__apply,axiom,
    ( comp_i3450435572476621391ring_a
    = ( ^ [F2: int > finite_mod_ring_a,G2: finite_mod_ring_a > int,X2: finite_mod_ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_273_comp__apply,axiom,
    ( comp_int_int_int
    = ( ^ [F2: int > int,G2: int > int,X2: int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_apply
thf(fact_274_order__refl,axiom,
    ! [X3: int] : ( ord_less_eq_int @ X3 @ X3 ) ).

% order_refl
thf(fact_275_order__refl,axiom,
    ! [X3: nat] : ( ord_less_eq_nat @ X3 @ X3 ) ).

% order_refl
thf(fact_276_order__refl,axiom,
    ! [X3: set_int] : ( ord_less_eq_set_int @ X3 @ X3 ) ).

% order_refl
thf(fact_277_dual__order_Orefl,axiom,
    ! [A: int] : ( ord_less_eq_int @ A @ A ) ).

% dual_order.refl
thf(fact_278_dual__order_Orefl,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% dual_order.refl
thf(fact_279_dual__order_Orefl,axiom,
    ! [A: set_int] : ( ord_less_eq_set_int @ A @ A ) ).

% dual_order.refl
thf(fact_280_abs__infty__q__minus,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( abs_ky7385543178848499077ty_q_a @ q @ ( uminus3100561713750211260ring_a @ X3 ) )
      = ( abs_ky7385543178848499077ty_q_a @ q @ X3 ) ) ).

% abs_infty_q_minus
thf(fact_281_strip__while__map,axiom,
    ! [P: nat > $o,F: nat > nat,Xs: list_nat] :
      ( ( more_strip_while_nat @ P @ ( map_nat_nat @ F @ Xs ) )
      = ( map_nat_nat @ F @ ( more_strip_while_nat @ ( comp_nat_o_nat @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_282_strip__while__map,axiom,
    ! [P: kyber_qr_a > $o,F: list_F4626807571770296779ring_a > kyber_qr_a,Xs: list_l2267190326604534609ring_a] :
      ( ( more_s8249276089521708754r_qr_a @ P @ ( map_li7477398094560982624r_qr_a @ F @ Xs ) )
      = ( map_li7477398094560982624r_qr_a @ F @ ( more_s7898681361229122066ring_a @ ( comp_K3470429480328744303ring_a @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_283_strip__while__map,axiom,
    ! [P: list_int > $o,F: list_F4626807571770296779ring_a > list_int,Xs: list_l2267190326604534609ring_a] :
      ( ( more_s101467027247133749st_int @ P @ ( map_li8552961069141183427st_int @ F @ Xs ) )
      = ( map_li8552961069141183427st_int @ F @ ( more_s7898681361229122066ring_a @ ( comp_l2306936060341038674ring_a @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_284_strip__while__map,axiom,
    ! [P: kyber_qr_a > $o,F: list_int > kyber_qr_a,Xs: list_list_int] :
      ( ( more_s8249276089521708754r_qr_a @ P @ ( map_li3820609314731536219r_qr_a @ F @ Xs ) )
      = ( map_li3820609314731536219r_qr_a @ F @ ( more_s101467027247133749st_int @ ( comp_K377126981404384920st_int @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_285_strip__while__map,axiom,
    ! [P: list_F4626807571770296779ring_a > $o,F: list_int > list_F4626807571770296779ring_a,Xs: list_list_int] :
      ( ( more_s7898681361229122066ring_a @ P @ ( map_li8573029966053210825ring_a @ F @ Xs ) )
      = ( map_li8573029966053210825ring_a @ F @ ( more_s101467027247133749st_int @ ( comp_l6366376236843813420st_int @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_286_strip__while__map,axiom,
    ! [P: list_int > $o,F: list_int > list_int,Xs: list_list_int] :
      ( ( more_s101467027247133749st_int @ P @ ( map_li4896172289311737022st_int @ F @ Xs ) )
      = ( map_li4896172289311737022st_int @ F @ ( more_s101467027247133749st_int @ ( comp_l1968830180450172917st_int @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_287_strip__while__map,axiom,
    ! [P: int > $o,F: int > int,Xs: list_int] :
      ( ( more_strip_while_int @ P @ ( map_int_int @ F @ Xs ) )
      = ( map_int_int @ F @ ( more_strip_while_int @ ( comp_int_o_int @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_288_strip__while__map,axiom,
    ! [P: int > $o,F: finite_mod_ring_a > int,Xs: list_F4626807571770296779ring_a] :
      ( ( more_strip_while_int @ P @ ( map_Fi4186111235102398893_a_int @ F @ Xs ) )
      = ( map_Fi4186111235102398893_a_int @ F @ ( more_s7501023657932161932ring_a @ ( comp_i8102204440562587708ring_a @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_289_strip__while__map,axiom,
    ! [P: finite_mod_ring_a > $o,F: int > finite_mod_ring_a,Xs: list_int] :
      ( ( more_s7501023657932161932ring_a @ P @ ( map_in5762303227890318931ring_a @ F @ Xs ) )
      = ( map_in5762303227890318931ring_a @ F @ ( more_strip_while_int @ ( comp_F5410824958960047650_o_int @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_290_strip__while__map,axiom,
    ! [P: finite_mod_ring_a > $o,F: finite_mod_ring_a > finite_mod_ring_a,Xs: list_F4626807571770296779ring_a] :
      ( ( more_s7501023657932161932ring_a @ P @ ( map_Fi7082711781076630404ring_a @ F @ Xs ) )
      = ( map_Fi7082711781076630404ring_a @ F @ ( more_s7501023657932161932ring_a @ ( comp_F5639960239771856719ring_a @ P @ F ) @ Xs ) ) ) ).

% strip_while_map
thf(fact_291_conj__le__cong,axiom,
    ! [X3: int,X4: int,P: $o,P4: $o] :
      ( ( X3 = X4 )
     => ( ( ( ord_less_eq_int @ zero_zero_int @ X4 )
         => ( P = P4 ) )
       => ( ( ( ord_less_eq_int @ zero_zero_int @ X3 )
            & P )
          = ( ( ord_less_eq_int @ zero_zero_int @ X4 )
            & P4 ) ) ) ) ).

% conj_le_cong
thf(fact_292_imp__le__cong,axiom,
    ! [X3: int,X4: int,P: $o,P4: $o] :
      ( ( X3 = X4 )
     => ( ( ( ord_less_eq_int @ zero_zero_int @ X4 )
         => ( P = P4 ) )
       => ( ( ( ord_less_eq_int @ zero_zero_int @ X3 )
           => P )
          = ( ( ord_less_eq_int @ zero_zero_int @ X4 )
           => P4 ) ) ) ) ).

% imp_le_cong
thf(fact_293_add_Oinverse__inverse,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( uminus3100561713750211260ring_a @ ( uminus3100561713750211260ring_a @ A ) )
      = A ) ).

% add.inverse_inverse
thf(fact_294_add_Oinverse__inverse,axiom,
    ! [A: int] :
      ( ( uminus_uminus_int @ ( uminus_uminus_int @ A ) )
      = A ) ).

% add.inverse_inverse
thf(fact_295_neg__equal__iff__equal,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( uminus3100561713750211260ring_a @ A )
        = ( uminus3100561713750211260ring_a @ B ) )
      = ( A = B ) ) ).

% neg_equal_iff_equal
thf(fact_296_neg__equal__iff__equal,axiom,
    ! [A: int,B: int] :
      ( ( ( uminus_uminus_int @ A )
        = ( uminus_uminus_int @ B ) )
      = ( A = B ) ) ).

% neg_equal_iff_equal
thf(fact_297_add_Oinverse__neutral,axiom,
    ( ( uminus3675112017196868514r_qr_a @ zero_zero_Kyber_qr_a )
    = zero_zero_Kyber_qr_a ) ).

% add.inverse_neutral
thf(fact_298_add_Oinverse__neutral,axiom,
    ( ( uminus3100561713750211260ring_a @ zero_z7902377541816115708ring_a )
    = zero_z7902377541816115708ring_a ) ).

% add.inverse_neutral
thf(fact_299_add_Oinverse__neutral,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% add.inverse_neutral
thf(fact_300_neg__0__equal__iff__equal,axiom,
    ! [A: kyber_qr_a] :
      ( ( zero_zero_Kyber_qr_a
        = ( uminus3675112017196868514r_qr_a @ A ) )
      = ( zero_zero_Kyber_qr_a = A ) ) ).

% neg_0_equal_iff_equal
thf(fact_301_neg__0__equal__iff__equal,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( zero_z7902377541816115708ring_a
        = ( uminus3100561713750211260ring_a @ A ) )
      = ( zero_z7902377541816115708ring_a = A ) ) ).

% neg_0_equal_iff_equal
thf(fact_302_neg__0__equal__iff__equal,axiom,
    ! [A: int] :
      ( ( zero_zero_int
        = ( uminus_uminus_int @ A ) )
      = ( zero_zero_int = A ) ) ).

% neg_0_equal_iff_equal
thf(fact_303_neg__equal__0__iff__equal,axiom,
    ! [A: kyber_qr_a] :
      ( ( ( uminus3675112017196868514r_qr_a @ A )
        = zero_zero_Kyber_qr_a )
      = ( A = zero_zero_Kyber_qr_a ) ) ).

% neg_equal_0_iff_equal
thf(fact_304_neg__equal__0__iff__equal,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( ( uminus3100561713750211260ring_a @ A )
        = zero_z7902377541816115708ring_a )
      = ( A = zero_z7902377541816115708ring_a ) ) ).

% neg_equal_0_iff_equal
thf(fact_305_neg__equal__0__iff__equal,axiom,
    ! [A: int] :
      ( ( ( uminus_uminus_int @ A )
        = zero_zero_int )
      = ( A = zero_zero_int ) ) ).

% neg_equal_0_iff_equal
thf(fact_306_equal__neg__zero,axiom,
    ! [A: int] :
      ( ( A
        = ( uminus_uminus_int @ A ) )
      = ( A = zero_zero_int ) ) ).

% equal_neg_zero
thf(fact_307_neg__equal__zero,axiom,
    ! [A: int] :
      ( ( ( uminus_uminus_int @ A )
        = A )
      = ( A = zero_zero_int ) ) ).

% neg_equal_zero
thf(fact_308_neg__le__iff__le,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) )
      = ( ord_less_eq_int @ A @ B ) ) ).

% neg_le_iff_le
thf(fact_309_neg__less__iff__less,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) )
      = ( ord_less_int @ A @ B ) ) ).

% neg_less_iff_less
thf(fact_310_minus__diff__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( uminus3100561713750211260ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) )
      = ( minus_3609261664126569004ring_a @ B @ A ) ) ).

% minus_diff_eq
thf(fact_311_minus__diff__eq,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( minus_minus_int @ A @ B ) )
      = ( minus_minus_int @ B @ A ) ) ).

% minus_diff_eq
thf(fact_312_mod__minus__minus,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( uminus3100561713750211260ring_a @ A ) @ ( uminus3100561713750211260ring_a @ B ) )
      = ( uminus3100561713750211260ring_a @ ( modulo8308552932176287283ring_a @ A @ B ) ) ) ).

% mod_minus_minus
thf(fact_313_mod__minus__minus,axiom,
    ! [A: int,B: int] :
      ( ( modulo_modulo_int @ ( uminus_uminus_int @ A ) @ ( uminus_uminus_int @ B ) )
      = ( uminus_uminus_int @ ( modulo_modulo_int @ A @ B ) ) ) ).

% mod_minus_minus
thf(fact_314_coeff__minus,axiom,
    ! [P2: poly_F3299452240248304339ring_a,N: nat] :
      ( ( coeff_1607515655354303335ring_a @ ( uminus6490753114102738890ring_a @ P2 ) @ N )
      = ( uminus3100561713750211260ring_a @ ( coeff_1607515655354303335ring_a @ P2 @ N ) ) ) ).

% coeff_minus
thf(fact_315_coeff__minus,axiom,
    ! [P2: poly_int,N: nat] :
      ( ( coeff_int @ ( uminus6443632714710767741ly_int @ P2 ) @ N )
      = ( uminus_uminus_int @ ( coeff_int @ P2 @ N ) ) ) ).

% coeff_minus
thf(fact_316_neg__less__eq__nonneg,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ A ) @ A )
      = ( ord_less_eq_int @ zero_zero_int @ A ) ) ).

% neg_less_eq_nonneg
thf(fact_317_less__eq__neg__nonpos,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ A @ ( uminus_uminus_int @ A ) )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% less_eq_neg_nonpos
thf(fact_318_neg__le__0__iff__le,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ A ) @ zero_zero_int )
      = ( ord_less_eq_int @ zero_zero_int @ A ) ) ).

% neg_le_0_iff_le
thf(fact_319_neg__0__le__iff__le,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( uminus_uminus_int @ A ) )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% neg_0_le_iff_le
thf(fact_320_neg__less__0__iff__less,axiom,
    ! [A: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A ) @ zero_zero_int )
      = ( ord_less_int @ zero_zero_int @ A ) ) ).

% neg_less_0_iff_less
thf(fact_321_neg__0__less__iff__less,axiom,
    ! [A: int] :
      ( ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ A ) )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% neg_0_less_iff_less
thf(fact_322_neg__less__pos,axiom,
    ! [A: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A ) @ A )
      = ( ord_less_int @ zero_zero_int @ A ) ) ).

% neg_less_pos
thf(fact_323_less__neg__neg,axiom,
    ! [A: int] :
      ( ( ord_less_int @ A @ ( uminus_uminus_int @ A ) )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% less_neg_neg
thf(fact_324_diff__0,axiom,
    ! [A: kyber_qr_a] :
      ( ( minus_3375643675566563378r_qr_a @ zero_zero_Kyber_qr_a @ A )
      = ( uminus3675112017196868514r_qr_a @ A ) ) ).

% diff_0
thf(fact_325_diff__0,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ zero_z7902377541816115708ring_a @ A )
      = ( uminus3100561713750211260ring_a @ A ) ) ).

% diff_0
thf(fact_326_diff__0,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ zero_zero_int @ A )
      = ( uminus_uminus_int @ A ) ) ).

% diff_0
thf(fact_327_minus__mod__self1,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( minus_3609261664126569004ring_a @ B @ A ) @ B )
      = ( modulo8308552932176287283ring_a @ ( uminus3100561713750211260ring_a @ A ) @ B ) ) ).

% minus_mod_self1
thf(fact_328_minus__mod__self1,axiom,
    ! [B: int,A: int] :
      ( ( modulo_modulo_int @ ( minus_minus_int @ B @ A ) @ B )
      = ( modulo_modulo_int @ ( uminus_uminus_int @ A ) @ B ) ) ).

% minus_mod_self1
thf(fact_329_kyber__spec_On__gt__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ord_less_int @ zero_zero_int @ N ) ) ).

% kyber_spec.n_gt_zero
thf(fact_330_kyber__spec_On__gt__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ord_less_int @ zero_zero_int @ N ) ) ).

% kyber_spec.n_gt_zero
thf(fact_331_kyber__spec_Oq__gt__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ord_less_int @ zero_zero_int @ Q ) ) ).

% kyber_spec.q_gt_zero
thf(fact_332_kyber__spec_Oq__gt__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ord_less_int @ zero_zero_int @ Q ) ) ).

% kyber_spec.q_gt_zero
thf(fact_333_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_334_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y4: nat] :
            ( ( P @ Y4 )
           => ( ord_less_eq_nat @ Y4 @ B ) )
       => ? [X: nat] :
            ( ( P @ X )
            & ! [Y5: nat] :
                ( ( P @ Y5 )
               => ( ord_less_eq_nat @ Y5 @ X ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_335_nat__le__linear,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
      | ( ord_less_eq_nat @ N @ M ) ) ).

% nat_le_linear
thf(fact_336_le__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( M = N ) ) ) ).

% le_antisym
thf(fact_337_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_338_le__trans,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ J @ K )
       => ( ord_less_eq_nat @ I @ K ) ) ) ).

% le_trans
thf(fact_339_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_340_kyber__spec_Oq__nonzero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( Q != zero_zero_int ) ) ).

% kyber_spec.q_nonzero
thf(fact_341_kyber__spec_Oq__nonzero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( Q != zero_zero_int ) ) ).

% kyber_spec.q_nonzero
thf(fact_342_kyber__spec_On__nonzero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( N != zero_zero_int ) ) ).

% kyber_spec.n_nonzero
thf(fact_343_kyber__spec_On__nonzero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( N != zero_zero_int ) ) ).

% kyber_spec.n_nonzero
thf(fact_344_uminus__poly_Orep__eq,axiom,
    ! [X3: poly_F3299452240248304339ring_a] :
      ( ( coeff_1607515655354303335ring_a @ ( uminus6490753114102738890ring_a @ X3 ) )
      = ( ^ [N2: nat] : ( uminus3100561713750211260ring_a @ ( coeff_1607515655354303335ring_a @ X3 @ N2 ) ) ) ) ).

% uminus_poly.rep_eq
thf(fact_345_uminus__poly_Orep__eq,axiom,
    ! [X3: poly_int] :
      ( ( coeff_int @ ( uminus6443632714710767741ly_int @ X3 ) )
      = ( ^ [N2: nat] : ( uminus_uminus_int @ ( coeff_int @ X3 @ N2 ) ) ) ) ).

% uminus_poly.rep_eq
thf(fact_346_equation__minus__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( A
        = ( uminus3100561713750211260ring_a @ B ) )
      = ( B
        = ( uminus3100561713750211260ring_a @ A ) ) ) ).

% equation_minus_iff
thf(fact_347_equation__minus__iff,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( uminus_uminus_int @ B ) )
      = ( B
        = ( uminus_uminus_int @ A ) ) ) ).

% equation_minus_iff
thf(fact_348_minus__equation__iff,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( ( uminus3100561713750211260ring_a @ A )
        = B )
      = ( ( uminus3100561713750211260ring_a @ B )
        = A ) ) ).

% minus_equation_iff
thf(fact_349_minus__equation__iff,axiom,
    ! [A: int,B: int] :
      ( ( ( uminus_uminus_int @ A )
        = B )
      = ( ( uminus_uminus_int @ B )
        = A ) ) ).

% minus_equation_iff
thf(fact_350_kyber__spec_Ostrip__while__change,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,P: int > $o,S: int > $o,Xs: list_int] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ! [X: int] :
            ( ( P @ X )
           => ( S @ X ) )
       => ( ! [X: int] :
              ( ~ ( P @ X )
             => ~ ( S @ X ) )
         => ( ( more_strip_while_int @ P @ Xs )
            = ( more_strip_while_int @ S @ Xs ) ) ) ) ) ).

% kyber_spec.strip_while_change
thf(fact_351_kyber__spec_Ostrip__while__change,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,P: int > $o,S: int > $o,Xs: list_int] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ! [X: int] :
            ( ( P @ X )
           => ( S @ X ) )
       => ( ! [X: int] :
              ( ~ ( P @ X )
             => ~ ( S @ X ) )
         => ( ( more_strip_while_int @ P @ Xs )
            = ( more_strip_while_int @ S @ Xs ) ) ) ) ) ).

% kyber_spec.strip_while_change
thf(fact_352_kyber__spec_Ostrip__while__change,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,P: finite_mod_ring_a > $o,S: finite_mod_ring_a > $o,Xs: list_F4626807571770296779ring_a] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ! [X: finite_mod_ring_a] :
            ( ( P @ X )
           => ( S @ X ) )
       => ( ! [X: finite_mod_ring_a] :
              ( ~ ( P @ X )
             => ~ ( S @ X ) )
         => ( ( more_s7501023657932161932ring_a @ P @ Xs )
            = ( more_s7501023657932161932ring_a @ S @ Xs ) ) ) ) ) ).

% kyber_spec.strip_while_change
thf(fact_353_kyber__spec_Ostrip__while__change,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,P: finite_mod_ring_a > $o,S: finite_mod_ring_a > $o,Xs: list_F4626807571770296779ring_a] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ! [X: finite_mod_ring_a] :
            ( ( P @ X )
           => ( S @ X ) )
       => ( ! [X: finite_mod_ring_a] :
              ( ~ ( P @ X )
             => ~ ( S @ X ) )
         => ( ( more_s7501023657932161932ring_a @ P @ Xs )
            = ( more_s7501023657932161932ring_a @ S @ Xs ) ) ) ) ) ).

% kyber_spec.strip_while_change
thf(fact_354_kyber__spec_On_H__gr__0,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ord_less_nat @ zero_zero_nat @ N4 ) ) ).

% kyber_spec.n'_gr_0
thf(fact_355_kyber__spec_On_H__gr__0,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ord_less_nat @ zero_zero_nat @ N4 ) ) ).

% kyber_spec.n'_gr_0
thf(fact_356_coeffs__uminus,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( coeffs4679052062445675434ring_a @ ( uminus6490753114102738890ring_a @ P2 ) )
      = ( map_Fi7082711781076630404ring_a @ uminus3100561713750211260ring_a @ ( coeffs4679052062445675434ring_a @ P2 ) ) ) ).

% coeffs_uminus
thf(fact_357_coeffs__uminus,axiom,
    ! [P2: poly_int] :
      ( ( coeffs_int @ ( uminus6443632714710767741ly_int @ P2 ) )
      = ( map_int_int @ uminus_uminus_int @ ( coeffs_int @ P2 ) ) ) ).

% coeffs_uminus
thf(fact_358_kyber__spec_Odecompress__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( kyber_decompress @ Q @ D @ zero_zero_int )
        = zero_zero_int ) ) ).

% kyber_spec.decompress_zero
thf(fact_359_kyber__spec_Odecompress__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( kyber_decompress @ Q @ D @ zero_zero_int )
        = zero_zero_int ) ) ).

% kyber_spec.decompress_zero
thf(fact_360_kyber__spec_Ocompress__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( kyber_compress @ Q @ D @ zero_zero_int )
        = zero_zero_int ) ) ).

% kyber_spec.compress_zero
thf(fact_361_kyber__spec_Ocompress__zero,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,D: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( kyber_compress @ Q @ D @ zero_zero_int )
        = zero_zero_int ) ) ).

% kyber_spec.compress_zero
thf(fact_362_le__minus__iff,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ ( uminus_uminus_int @ B ) )
      = ( ord_less_eq_int @ B @ ( uminus_uminus_int @ A ) ) ) ).

% le_minus_iff
thf(fact_363_minus__le__iff,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ A ) @ B )
      = ( ord_less_eq_int @ ( uminus_uminus_int @ B ) @ A ) ) ).

% minus_le_iff
thf(fact_364_le__imp__neg__le,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ord_less_eq_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% le_imp_neg_le
thf(fact_365_less__minus__iff,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ ( uminus_uminus_int @ B ) )
      = ( ord_less_int @ B @ ( uminus_uminus_int @ A ) ) ) ).

% less_minus_iff
thf(fact_366_minus__less__iff,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A ) @ B )
      = ( ord_less_int @ ( uminus_uminus_int @ B ) @ A ) ) ).

% minus_less_iff
thf(fact_367_minus__diff__commute,axiom,
    ! [B: finite_mod_ring_a,A: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ ( uminus3100561713750211260ring_a @ B ) @ A )
      = ( minus_3609261664126569004ring_a @ ( uminus3100561713750211260ring_a @ A ) @ B ) ) ).

% minus_diff_commute
thf(fact_368_minus__diff__commute,axiom,
    ! [B: int,A: int] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ B ) @ A )
      = ( minus_minus_int @ ( uminus_uminus_int @ A ) @ B ) ) ).

% minus_diff_commute
thf(fact_369_mod__minus__right,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ A @ ( uminus3100561713750211260ring_a @ B ) )
      = ( uminus3100561713750211260ring_a @ ( modulo8308552932176287283ring_a @ ( uminus3100561713750211260ring_a @ A ) @ B ) ) ) ).

% mod_minus_right
thf(fact_370_mod__minus__right,axiom,
    ! [A: int,B: int] :
      ( ( modulo_modulo_int @ A @ ( uminus_uminus_int @ B ) )
      = ( uminus_uminus_int @ ( modulo_modulo_int @ ( uminus_uminus_int @ A ) @ B ) ) ) ).

% mod_minus_right
thf(fact_371_mod__minus__cong,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,A4: finite_mod_ring_a] :
      ( ( ( modulo8308552932176287283ring_a @ A @ B )
        = ( modulo8308552932176287283ring_a @ A4 @ B ) )
     => ( ( modulo8308552932176287283ring_a @ ( uminus3100561713750211260ring_a @ A ) @ B )
        = ( modulo8308552932176287283ring_a @ ( uminus3100561713750211260ring_a @ A4 ) @ B ) ) ) ).

% mod_minus_cong
thf(fact_372_mod__minus__cong,axiom,
    ! [A: int,B: int,A4: int] :
      ( ( ( modulo_modulo_int @ A @ B )
        = ( modulo_modulo_int @ A4 @ B ) )
     => ( ( modulo_modulo_int @ ( uminus_uminus_int @ A ) @ B )
        = ( modulo_modulo_int @ ( uminus_uminus_int @ A4 ) @ B ) ) ) ).

% mod_minus_cong
thf(fact_373_mod__minus__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ ( uminus3100561713750211260ring_a @ ( modulo8308552932176287283ring_a @ A @ B ) ) @ B )
      = ( modulo8308552932176287283ring_a @ ( uminus3100561713750211260ring_a @ A ) @ B ) ) ).

% mod_minus_eq
thf(fact_374_mod__minus__eq,axiom,
    ! [A: int,B: int] :
      ( ( modulo_modulo_int @ ( uminus_uminus_int @ ( modulo_modulo_int @ A @ B ) ) @ B )
      = ( modulo_modulo_int @ ( uminus_uminus_int @ A ) @ B ) ) ).

% mod_minus_eq
thf(fact_375_kyber__spec_Oof__int__mod__ring__eq__0,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: int] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( ( finite8272632373135393572ring_a @ X3 )
          = zero_z7902377541816115708ring_a )
        = ( ( modulo_modulo_int @ X3 @ Q )
          = zero_zero_int ) ) ) ).

% kyber_spec.of_int_mod_ring_eq_0
thf(fact_376_kyber__spec_Oof__int__mod__ring__eq__0,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: int] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( ( finite8272632373135393572ring_a @ X3 )
          = zero_z7902377541816115708ring_a )
        = ( ( modulo_modulo_int @ X3 @ Q )
          = zero_zero_int ) ) ) ).

% kyber_spec.of_int_mod_ring_eq_0
thf(fact_377_order__antisym__conv,axiom,
    ! [Y2: int,X3: int] :
      ( ( ord_less_eq_int @ Y2 @ X3 )
     => ( ( ord_less_eq_int @ X3 @ Y2 )
        = ( X3 = Y2 ) ) ) ).

% order_antisym_conv
thf(fact_378_order__antisym__conv,axiom,
    ! [Y2: nat,X3: nat] :
      ( ( ord_less_eq_nat @ Y2 @ X3 )
     => ( ( ord_less_eq_nat @ X3 @ Y2 )
        = ( X3 = Y2 ) ) ) ).

% order_antisym_conv
thf(fact_379_order__antisym__conv,axiom,
    ! [Y2: set_int,X3: set_int] :
      ( ( ord_less_eq_set_int @ Y2 @ X3 )
     => ( ( ord_less_eq_set_int @ X3 @ Y2 )
        = ( X3 = Y2 ) ) ) ).

% order_antisym_conv
thf(fact_380_linorder__le__cases,axiom,
    ! [X3: int,Y2: int] :
      ( ~ ( ord_less_eq_int @ X3 @ Y2 )
     => ( ord_less_eq_int @ Y2 @ X3 ) ) ).

% linorder_le_cases
thf(fact_381_linorder__le__cases,axiom,
    ! [X3: nat,Y2: nat] :
      ( ~ ( ord_less_eq_nat @ X3 @ Y2 )
     => ( ord_less_eq_nat @ Y2 @ X3 ) ) ).

% linorder_le_cases
thf(fact_382_ord__le__eq__subst,axiom,
    ! [A: int,B: int,F: int > int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_383_ord__le__eq__subst,axiom,
    ! [A: int,B: int,F: int > nat,C: nat] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_384_ord__le__eq__subst,axiom,
    ! [A: int,B: int,F: int > set_int,C: set_int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_385_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > int,C: int] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_386_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_387_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > set_int,C: set_int] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_388_ord__le__eq__subst,axiom,
    ! [A: set_int,B: set_int,F: set_int > int,C: int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_389_ord__le__eq__subst,axiom,
    ! [A: set_int,B: set_int,F: set_int > nat,C: nat] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_390_ord__le__eq__subst,axiom,
    ! [A: set_int,B: set_int,F: set_int > set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_391_ord__eq__le__subst,axiom,
    ! [A: int,F: int > int,B: int,C: int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_392_ord__eq__le__subst,axiom,
    ! [A: nat,F: int > nat,B: int,C: int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_393_ord__eq__le__subst,axiom,
    ! [A: set_int,F: int > set_int,B: int,C: int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_394_ord__eq__le__subst,axiom,
    ! [A: int,F: nat > int,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_395_ord__eq__le__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_396_ord__eq__le__subst,axiom,
    ! [A: set_int,F: nat > set_int,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_397_ord__eq__le__subst,axiom,
    ! [A: int,F: set_int > int,B: set_int,C: set_int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_398_ord__eq__le__subst,axiom,
    ! [A: nat,F: set_int > nat,B: set_int,C: set_int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_399_ord__eq__le__subst,axiom,
    ! [A: set_int,F: set_int > set_int,B: set_int,C: set_int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_400_linorder__linear,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
      | ( ord_less_eq_int @ Y2 @ X3 ) ) ).

% linorder_linear
thf(fact_401_linorder__linear,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X3 @ Y2 )
      | ( ord_less_eq_nat @ Y2 @ X3 ) ) ).

% linorder_linear
thf(fact_402_order__eq__refl,axiom,
    ! [X3: int,Y2: int] :
      ( ( X3 = Y2 )
     => ( ord_less_eq_int @ X3 @ Y2 ) ) ).

% order_eq_refl
thf(fact_403_order__eq__refl,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( X3 = Y2 )
     => ( ord_less_eq_nat @ X3 @ Y2 ) ) ).

% order_eq_refl
thf(fact_404_order__eq__refl,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ( X3 = Y2 )
     => ( ord_less_eq_set_int @ X3 @ Y2 ) ) ).

% order_eq_refl
thf(fact_405_order__subst2,axiom,
    ! [A: int,B: int,F: int > int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_406_order__subst2,axiom,
    ! [A: int,B: int,F: int > nat,C: nat] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_407_order__subst2,axiom,
    ! [A: int,B: int,F: int > set_int,C: set_int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_set_int @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_408_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > int,C: int] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_int @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_409_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_410_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_int,C: set_int] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_set_int @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_411_order__subst2,axiom,
    ! [A: set_int,B: set_int,F: set_int > int,C: int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_eq_int @ ( F @ B ) @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_412_order__subst2,axiom,
    ! [A: set_int,B: set_int,F: set_int > nat,C: nat] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_413_order__subst2,axiom,
    ! [A: set_int,B: set_int,F: set_int > set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_eq_set_int @ ( F @ B ) @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_414_order__subst1,axiom,
    ! [A: int,F: int > int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_415_order__subst1,axiom,
    ! [A: int,F: nat > int,B: nat,C: nat] :
      ( ( ord_less_eq_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_416_order__subst1,axiom,
    ! [A: int,F: set_int > int,B: set_int,C: set_int] :
      ( ( ord_less_eq_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_int @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_417_order__subst1,axiom,
    ! [A: nat,F: int > nat,B: int,C: int] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_418_order__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_419_order__subst1,axiom,
    ! [A: nat,F: set_int > nat,B: set_int,C: set_int] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_420_order__subst1,axiom,
    ! [A: set_int,F: int > set_int,B: int,C: int] :
      ( ( ord_less_eq_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_421_order__subst1,axiom,
    ! [A: set_int,F: nat > set_int,B: nat,C: nat] :
      ( ( ord_less_eq_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_422_order__subst1,axiom,
    ! [A: set_int,F: set_int > set_int,B: set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_eq_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_423_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y: int,Z: int] : ( Y = Z ) )
    = ( ^ [A2: int,B2: int] :
          ( ( ord_less_eq_int @ A2 @ B2 )
          & ( ord_less_eq_int @ B2 @ A2 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_424_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_less_eq_nat @ A2 @ B2 )
          & ( ord_less_eq_nat @ B2 @ A2 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_425_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y: set_int,Z: set_int] : ( Y = Z ) )
    = ( ^ [A2: set_int,B2: set_int] :
          ( ( ord_less_eq_set_int @ A2 @ B2 )
          & ( ord_less_eq_set_int @ B2 @ A2 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_426_antisym,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_427_antisym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_428_antisym,axiom,
    ! [A: set_int,B: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_eq_set_int @ B @ A )
       => ( A = B ) ) ) ).

% antisym
thf(fact_429_dual__order_Otrans,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( ord_less_eq_int @ C @ B )
       => ( ord_less_eq_int @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_430_dual__order_Otrans,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_431_dual__order_Otrans,axiom,
    ! [B: set_int,A: set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ B @ A )
     => ( ( ord_less_eq_set_int @ C @ B )
       => ( ord_less_eq_set_int @ C @ A ) ) ) ).

% dual_order.trans
thf(fact_432_dual__order_Oantisym,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( ord_less_eq_int @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_433_dual__order_Oantisym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_434_dual__order_Oantisym,axiom,
    ! [B: set_int,A: set_int] :
      ( ( ord_less_eq_set_int @ B @ A )
     => ( ( ord_less_eq_set_int @ A @ B )
       => ( A = B ) ) ) ).

% dual_order.antisym
thf(fact_435_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y: int,Z: int] : ( Y = Z ) )
    = ( ^ [A2: int,B2: int] :
          ( ( ord_less_eq_int @ B2 @ A2 )
          & ( ord_less_eq_int @ A2 @ B2 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_436_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_less_eq_nat @ B2 @ A2 )
          & ( ord_less_eq_nat @ A2 @ B2 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_437_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y: set_int,Z: set_int] : ( Y = Z ) )
    = ( ^ [A2: set_int,B2: set_int] :
          ( ( ord_less_eq_set_int @ B2 @ A2 )
          & ( ord_less_eq_set_int @ A2 @ B2 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_438_linorder__wlog,axiom,
    ! [P: int > int > $o,A: int,B: int] :
      ( ! [A5: int,B4: int] :
          ( ( ord_less_eq_int @ A5 @ B4 )
         => ( P @ A5 @ B4 ) )
     => ( ! [A5: int,B4: int] :
            ( ( P @ B4 @ A5 )
           => ( P @ A5 @ B4 ) )
       => ( P @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_439_linorder__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A5: nat,B4: nat] :
          ( ( ord_less_eq_nat @ A5 @ B4 )
         => ( P @ A5 @ B4 ) )
     => ( ! [A5: nat,B4: nat] :
            ( ( P @ B4 @ A5 )
           => ( P @ A5 @ B4 ) )
       => ( P @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_440_order__trans,axiom,
    ! [X3: int,Y2: int,Z2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
     => ( ( ord_less_eq_int @ Y2 @ Z2 )
       => ( ord_less_eq_int @ X3 @ Z2 ) ) ) ).

% order_trans
thf(fact_441_order__trans,axiom,
    ! [X3: nat,Y2: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X3 @ Y2 )
     => ( ( ord_less_eq_nat @ Y2 @ Z2 )
       => ( ord_less_eq_nat @ X3 @ Z2 ) ) ) ).

% order_trans
thf(fact_442_order__trans,axiom,
    ! [X3: set_int,Y2: set_int,Z2: set_int] :
      ( ( ord_less_eq_set_int @ X3 @ Y2 )
     => ( ( ord_less_eq_set_int @ Y2 @ Z2 )
       => ( ord_less_eq_set_int @ X3 @ Z2 ) ) ) ).

% order_trans
thf(fact_443_order_Otrans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ord_less_eq_int @ A @ C ) ) ) ).

% order.trans
thf(fact_444_order_Otrans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% order.trans
thf(fact_445_order_Otrans,axiom,
    ! [A: set_int,B: set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ord_less_eq_set_int @ A @ C ) ) ) ).

% order.trans
thf(fact_446_order__antisym,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
     => ( ( ord_less_eq_int @ Y2 @ X3 )
       => ( X3 = Y2 ) ) ) ).

% order_antisym
thf(fact_447_order__antisym,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X3 @ Y2 )
     => ( ( ord_less_eq_nat @ Y2 @ X3 )
       => ( X3 = Y2 ) ) ) ).

% order_antisym
thf(fact_448_order__antisym,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ( ord_less_eq_set_int @ X3 @ Y2 )
     => ( ( ord_less_eq_set_int @ Y2 @ X3 )
       => ( X3 = Y2 ) ) ) ).

% order_antisym
thf(fact_449_ord__le__eq__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_int @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_450_ord__le__eq__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_451_ord__le__eq__trans,axiom,
    ! [A: set_int,B: set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( B = C )
       => ( ord_less_eq_set_int @ A @ C ) ) ) ).

% ord_le_eq_trans
thf(fact_452_ord__eq__le__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( A = B )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ord_less_eq_int @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_453_ord__eq__le__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( A = B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_454_ord__eq__le__trans,axiom,
    ! [A: set_int,B: set_int,C: set_int] :
      ( ( A = B )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ord_less_eq_set_int @ A @ C ) ) ) ).

% ord_eq_le_trans
thf(fact_455_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y: int,Z: int] : ( Y = Z ) )
    = ( ^ [X2: int,Y3: int] :
          ( ( ord_less_eq_int @ X2 @ Y3 )
          & ( ord_less_eq_int @ Y3 @ X2 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_456_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [X2: nat,Y3: nat] :
          ( ( ord_less_eq_nat @ X2 @ Y3 )
          & ( ord_less_eq_nat @ Y3 @ X2 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_457_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y: set_int,Z: set_int] : ( Y = Z ) )
    = ( ^ [X2: set_int,Y3: set_int] :
          ( ( ord_less_eq_set_int @ X2 @ Y3 )
          & ( ord_less_eq_set_int @ Y3 @ X2 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_458_le__cases3,axiom,
    ! [X3: int,Y2: int,Z2: int] :
      ( ( ( ord_less_eq_int @ X3 @ Y2 )
       => ~ ( ord_less_eq_int @ Y2 @ Z2 ) )
     => ( ( ( ord_less_eq_int @ Y2 @ X3 )
         => ~ ( ord_less_eq_int @ X3 @ Z2 ) )
       => ( ( ( ord_less_eq_int @ X3 @ Z2 )
           => ~ ( ord_less_eq_int @ Z2 @ Y2 ) )
         => ( ( ( ord_less_eq_int @ Z2 @ Y2 )
             => ~ ( ord_less_eq_int @ Y2 @ X3 ) )
           => ( ( ( ord_less_eq_int @ Y2 @ Z2 )
               => ~ ( ord_less_eq_int @ Z2 @ X3 ) )
             => ~ ( ( ord_less_eq_int @ Z2 @ X3 )
                 => ~ ( ord_less_eq_int @ X3 @ Y2 ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_459_le__cases3,axiom,
    ! [X3: nat,Y2: nat,Z2: nat] :
      ( ( ( ord_less_eq_nat @ X3 @ Y2 )
       => ~ ( ord_less_eq_nat @ Y2 @ Z2 ) )
     => ( ( ( ord_less_eq_nat @ Y2 @ X3 )
         => ~ ( ord_less_eq_nat @ X3 @ Z2 ) )
       => ( ( ( ord_less_eq_nat @ X3 @ Z2 )
           => ~ ( ord_less_eq_nat @ Z2 @ Y2 ) )
         => ( ( ( ord_less_eq_nat @ Z2 @ Y2 )
             => ~ ( ord_less_eq_nat @ Y2 @ X3 ) )
           => ( ( ( ord_less_eq_nat @ Y2 @ Z2 )
               => ~ ( ord_less_eq_nat @ Z2 @ X3 ) )
             => ~ ( ( ord_less_eq_nat @ Z2 @ X3 )
                 => ~ ( ord_less_eq_nat @ X3 @ Y2 ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_460_nle__le,axiom,
    ! [A: int,B: int] :
      ( ( ~ ( ord_less_eq_int @ A @ B ) )
      = ( ( ord_less_eq_int @ B @ A )
        & ( B != A ) ) ) ).

% nle_le
thf(fact_461_nle__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_eq_nat @ A @ B ) )
      = ( ( ord_less_eq_nat @ B @ A )
        & ( B != A ) ) ) ).

% nle_le
thf(fact_462_order__less__imp__not__less,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X3 ) ) ).

% order_less_imp_not_less
thf(fact_463_order__less__imp__not__less,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ~ ( ord_less_int @ Y2 @ X3 ) ) ).

% order_less_imp_not_less
thf(fact_464_order__less__imp__not__eq2,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ( Y2 != X3 ) ) ).

% order_less_imp_not_eq2
thf(fact_465_order__less__imp__not__eq2,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ( Y2 != X3 ) ) ).

% order_less_imp_not_eq2
thf(fact_466_order__less__imp__not__eq,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ( X3 != Y2 ) ) ).

% order_less_imp_not_eq
thf(fact_467_order__less__imp__not__eq,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ( X3 != Y2 ) ) ).

% order_less_imp_not_eq
thf(fact_468_linorder__less__linear,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
      | ( X3 = Y2 )
      | ( ord_less_nat @ Y2 @ X3 ) ) ).

% linorder_less_linear
thf(fact_469_linorder__less__linear,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
      | ( X3 = Y2 )
      | ( ord_less_int @ Y2 @ X3 ) ) ).

% linorder_less_linear
thf(fact_470_order__less__imp__triv,axiom,
    ! [X3: nat,Y2: nat,P: $o] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ X3 )
       => P ) ) ).

% order_less_imp_triv
thf(fact_471_order__less__imp__triv,axiom,
    ! [X3: int,Y2: int,P: $o] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ( ( ord_less_int @ Y2 @ X3 )
       => P ) ) ).

% order_less_imp_triv
thf(fact_472_order__less__not__sym,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X3 ) ) ).

% order_less_not_sym
thf(fact_473_order__less__not__sym,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ~ ( ord_less_int @ Y2 @ X3 ) ) ).

% order_less_not_sym
thf(fact_474_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_475_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > int,C: int] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_int @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_476_order__less__subst2,axiom,
    ! [A: int,B: int,F: int > nat,C: nat] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_477_order__less__subst2,axiom,
    ! [A: int,B: int,F: int > int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_478_order__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_479_order__less__subst1,axiom,
    ! [A: nat,F: int > nat,B: int,C: int] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_480_order__less__subst1,axiom,
    ! [A: int,F: nat > int,B: nat,C: nat] :
      ( ( ord_less_int @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_481_order__less__subst1,axiom,
    ! [A: int,F: int > int,B: int,C: int] :
      ( ( ord_less_int @ A @ ( F @ B ) )
     => ( ( ord_less_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_482_order__less__irrefl,axiom,
    ! [X3: nat] :
      ~ ( ord_less_nat @ X3 @ X3 ) ).

% order_less_irrefl
thf(fact_483_order__less__irrefl,axiom,
    ! [X3: int] :
      ~ ( ord_less_int @ X3 @ X3 ) ).

% order_less_irrefl
thf(fact_484_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_485_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > int,C: int] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_486_ord__less__eq__subst,axiom,
    ! [A: int,B: int,F: int > nat,C: nat] :
      ( ( ord_less_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_487_ord__less__eq__subst,axiom,
    ! [A: int,B: int,F: int > int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_488_ord__eq__less__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_489_ord__eq__less__subst,axiom,
    ! [A: int,F: nat > int,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_490_ord__eq__less__subst,axiom,
    ! [A: nat,F: int > nat,B: int,C: int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_491_ord__eq__less__subst,axiom,
    ! [A: int,F: int > int,B: int,C: int] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_492_order__less__trans,axiom,
    ! [X3: nat,Y2: nat,Z2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ Z2 )
       => ( ord_less_nat @ X3 @ Z2 ) ) ) ).

% order_less_trans
thf(fact_493_order__less__trans,axiom,
    ! [X3: int,Y2: int,Z2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ( ( ord_less_int @ Y2 @ Z2 )
       => ( ord_less_int @ X3 @ Z2 ) ) ) ).

% order_less_trans
thf(fact_494_order__less__asym_H,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order_less_asym'
thf(fact_495_order__less__asym_H,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ~ ( ord_less_int @ B @ A ) ) ).

% order_less_asym'
thf(fact_496_linorder__neq__iff,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( X3 != Y2 )
      = ( ( ord_less_nat @ X3 @ Y2 )
        | ( ord_less_nat @ Y2 @ X3 ) ) ) ).

% linorder_neq_iff
thf(fact_497_linorder__neq__iff,axiom,
    ! [X3: int,Y2: int] :
      ( ( X3 != Y2 )
      = ( ( ord_less_int @ X3 @ Y2 )
        | ( ord_less_int @ Y2 @ X3 ) ) ) ).

% linorder_neq_iff
thf(fact_498_order__less__asym,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X3 ) ) ).

% order_less_asym
thf(fact_499_order__less__asym,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ~ ( ord_less_int @ Y2 @ X3 ) ) ).

% order_less_asym
thf(fact_500_linorder__neqE,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( X3 != Y2 )
     => ( ~ ( ord_less_nat @ X3 @ Y2 )
       => ( ord_less_nat @ Y2 @ X3 ) ) ) ).

% linorder_neqE
thf(fact_501_linorder__neqE,axiom,
    ! [X3: int,Y2: int] :
      ( ( X3 != Y2 )
     => ( ~ ( ord_less_int @ X3 @ Y2 )
       => ( ord_less_int @ Y2 @ X3 ) ) ) ).

% linorder_neqE
thf(fact_502_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( A != B ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_503_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ A )
     => ( A != B ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_504_order_Ostrict__implies__not__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( A != B ) ) ).

% order.strict_implies_not_eq
thf(fact_505_order_Ostrict__implies__not__eq,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( A != B ) ) ).

% order.strict_implies_not_eq
thf(fact_506_dual__order_Ostrict__trans,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_507_dual__order_Ostrict__trans,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_int @ B @ A )
     => ( ( ord_less_int @ C @ B )
       => ( ord_less_int @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_508_not__less__iff__gr__or__eq,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ~ ( ord_less_nat @ X3 @ Y2 ) )
      = ( ( ord_less_nat @ Y2 @ X3 )
        | ( X3 = Y2 ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_509_not__less__iff__gr__or__eq,axiom,
    ! [X3: int,Y2: int] :
      ( ( ~ ( ord_less_int @ X3 @ Y2 ) )
      = ( ( ord_less_int @ Y2 @ X3 )
        | ( X3 = Y2 ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_510_order_Ostrict__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_511_order_Ostrict__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_512_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A5: nat,B4: nat] :
          ( ( ord_less_nat @ A5 @ B4 )
         => ( P @ A5 @ B4 ) )
     => ( ! [A5: nat] : ( P @ A5 @ A5 )
       => ( ! [A5: nat,B4: nat] :
              ( ( P @ B4 @ A5 )
             => ( P @ A5 @ B4 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_513_linorder__less__wlog,axiom,
    ! [P: int > int > $o,A: int,B: int] :
      ( ! [A5: int,B4: int] :
          ( ( ord_less_int @ A5 @ B4 )
         => ( P @ A5 @ B4 ) )
     => ( ! [A5: int] : ( P @ A5 @ A5 )
       => ( ! [A5: int,B4: int] :
              ( ( P @ B4 @ A5 )
             => ( P @ A5 @ B4 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_514_exists__least__iff,axiom,
    ( ( ^ [P5: nat > $o] :
        ? [X5: nat] : ( P5 @ X5 ) )
    = ( ^ [P6: nat > $o] :
        ? [N2: nat] :
          ( ( P6 @ N2 )
          & ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N2 )
             => ~ ( P6 @ M2 ) ) ) ) ) ).

% exists_least_iff
thf(fact_515_dual__order_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_516_dual__order_Oirrefl,axiom,
    ! [A: int] :
      ~ ( ord_less_int @ A @ A ) ).

% dual_order.irrefl
thf(fact_517_dual__order_Oasym,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ~ ( ord_less_nat @ A @ B ) ) ).

% dual_order.asym
thf(fact_518_dual__order_Oasym,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ A )
     => ~ ( ord_less_int @ A @ B ) ) ).

% dual_order.asym
thf(fact_519_linorder__cases,axiom,
    ! [X3: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X3 @ Y2 )
     => ( ( X3 != Y2 )
       => ( ord_less_nat @ Y2 @ X3 ) ) ) ).

% linorder_cases
thf(fact_520_linorder__cases,axiom,
    ! [X3: int,Y2: int] :
      ( ~ ( ord_less_int @ X3 @ Y2 )
     => ( ( X3 != Y2 )
       => ( ord_less_int @ Y2 @ X3 ) ) ) ).

% linorder_cases
thf(fact_521_antisym__conv3,axiom,
    ! [Y2: nat,X3: nat] :
      ( ~ ( ord_less_nat @ Y2 @ X3 )
     => ( ( ~ ( ord_less_nat @ X3 @ Y2 ) )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv3
thf(fact_522_antisym__conv3,axiom,
    ! [Y2: int,X3: int] :
      ( ~ ( ord_less_int @ Y2 @ X3 )
     => ( ( ~ ( ord_less_int @ X3 @ Y2 ) )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv3
thf(fact_523_less__induct,axiom,
    ! [P: nat > $o,A: nat] :
      ( ! [X: nat] :
          ( ! [Y5: nat] :
              ( ( ord_less_nat @ Y5 @ X )
             => ( P @ Y5 ) )
         => ( P @ X ) )
     => ( P @ A ) ) ).

% less_induct
thf(fact_524_ord__less__eq__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( B = C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_525_ord__less__eq__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( B = C )
       => ( ord_less_int @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_526_ord__eq__less__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( A = B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_527_ord__eq__less__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( A = B )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_528_order_Oasym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order.asym
thf(fact_529_order_Oasym,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ~ ( ord_less_int @ B @ A ) ) ).

% order.asym
thf(fact_530_less__imp__neq,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ( X3 != Y2 ) ) ).

% less_imp_neq
thf(fact_531_less__imp__neq,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ( X3 != Y2 ) ) ).

% less_imp_neq
thf(fact_532_gt__ex,axiom,
    ! [X3: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X3 @ X_1 ) ).

% gt_ex
thf(fact_533_gt__ex,axiom,
    ! [X3: int] :
    ? [X_1: int] : ( ord_less_int @ X3 @ X_1 ) ).

% gt_ex
thf(fact_534_lt__ex,axiom,
    ! [X3: int] :
    ? [Y4: int] : ( ord_less_int @ Y4 @ X3 ) ).

% lt_ex
thf(fact_535_pinf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q3: nat > $o,Q4: nat > $o] :
      ( ? [Z3: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ Z3 @ X )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ Z3 @ X )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ Z4 @ X6 )
           => ( ( ( P @ X6 )
                & ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                & ( Q4 @ X6 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_536_pinf_I1_J,axiom,
    ! [P: int > $o,P4: int > $o,Q3: int > $o,Q4: int > $o] :
      ( ? [Z3: int] :
        ! [X: int] :
          ( ( ord_less_int @ Z3 @ X )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: int] :
          ! [X: int] :
            ( ( ord_less_int @ Z3 @ X )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: int] :
          ! [X6: int] :
            ( ( ord_less_int @ Z4 @ X6 )
           => ( ( ( P @ X6 )
                & ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                & ( Q4 @ X6 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_537_pinf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q3: nat > $o,Q4: nat > $o] :
      ( ? [Z3: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ Z3 @ X )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ Z3 @ X )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ Z4 @ X6 )
           => ( ( ( P @ X6 )
                | ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                | ( Q4 @ X6 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_538_pinf_I2_J,axiom,
    ! [P: int > $o,P4: int > $o,Q3: int > $o,Q4: int > $o] :
      ( ? [Z3: int] :
        ! [X: int] :
          ( ( ord_less_int @ Z3 @ X )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: int] :
          ! [X: int] :
            ( ( ord_less_int @ Z3 @ X )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: int] :
          ! [X6: int] :
            ( ( ord_less_int @ Z4 @ X6 )
           => ( ( ( P @ X6 )
                | ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                | ( Q4 @ X6 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_539_pinf_I3_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z4 @ X6 )
     => ( X6 != T ) ) ).

% pinf(3)
thf(fact_540_pinf_I3_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ Z4 @ X6 )
     => ( X6 != T ) ) ).

% pinf(3)
thf(fact_541_pinf_I4_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z4 @ X6 )
     => ( X6 != T ) ) ).

% pinf(4)
thf(fact_542_pinf_I4_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ Z4 @ X6 )
     => ( X6 != T ) ) ).

% pinf(4)
thf(fact_543_pinf_I5_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z4 @ X6 )
     => ~ ( ord_less_nat @ X6 @ T ) ) ).

% pinf(5)
thf(fact_544_pinf_I5_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ Z4 @ X6 )
     => ~ ( ord_less_int @ X6 @ T ) ) ).

% pinf(5)
thf(fact_545_pinf_I7_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z4 @ X6 )
     => ( ord_less_nat @ T @ X6 ) ) ).

% pinf(7)
thf(fact_546_pinf_I7_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ Z4 @ X6 )
     => ( ord_less_int @ T @ X6 ) ) ).

% pinf(7)
thf(fact_547_minf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q3: nat > $o,Q4: nat > $o] :
      ( ? [Z3: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ X @ Z3 )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ X @ Z3 )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ X6 @ Z4 )
           => ( ( ( P @ X6 )
                & ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                & ( Q4 @ X6 ) ) ) ) ) ) ).

% minf(1)
thf(fact_548_minf_I1_J,axiom,
    ! [P: int > $o,P4: int > $o,Q3: int > $o,Q4: int > $o] :
      ( ? [Z3: int] :
        ! [X: int] :
          ( ( ord_less_int @ X @ Z3 )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: int] :
          ! [X: int] :
            ( ( ord_less_int @ X @ Z3 )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: int] :
          ! [X6: int] :
            ( ( ord_less_int @ X6 @ Z4 )
           => ( ( ( P @ X6 )
                & ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                & ( Q4 @ X6 ) ) ) ) ) ) ).

% minf(1)
thf(fact_549_minf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q3: nat > $o,Q4: nat > $o] :
      ( ? [Z3: nat] :
        ! [X: nat] :
          ( ( ord_less_nat @ X @ Z3 )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: nat] :
          ! [X: nat] :
            ( ( ord_less_nat @ X @ Z3 )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: nat] :
          ! [X6: nat] :
            ( ( ord_less_nat @ X6 @ Z4 )
           => ( ( ( P @ X6 )
                | ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                | ( Q4 @ X6 ) ) ) ) ) ) ).

% minf(2)
thf(fact_550_minf_I2_J,axiom,
    ! [P: int > $o,P4: int > $o,Q3: int > $o,Q4: int > $o] :
      ( ? [Z3: int] :
        ! [X: int] :
          ( ( ord_less_int @ X @ Z3 )
         => ( ( P @ X )
            = ( P4 @ X ) ) )
     => ( ? [Z3: int] :
          ! [X: int] :
            ( ( ord_less_int @ X @ Z3 )
           => ( ( Q3 @ X )
              = ( Q4 @ X ) ) )
       => ? [Z4: int] :
          ! [X6: int] :
            ( ( ord_less_int @ X6 @ Z4 )
           => ( ( ( P @ X6 )
                | ( Q3 @ X6 ) )
              = ( ( P4 @ X6 )
                | ( Q4 @ X6 ) ) ) ) ) ) ).

% minf(2)
thf(fact_551_minf_I3_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z4 )
     => ( X6 != T ) ) ).

% minf(3)
thf(fact_552_minf_I3_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ X6 @ Z4 )
     => ( X6 != T ) ) ).

% minf(3)
thf(fact_553_minf_I4_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z4 )
     => ( X6 != T ) ) ).

% minf(4)
thf(fact_554_minf_I4_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ X6 @ Z4 )
     => ( X6 != T ) ) ).

% minf(4)
thf(fact_555_minf_I5_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z4 )
     => ( ord_less_nat @ X6 @ T ) ) ).

% minf(5)
thf(fact_556_minf_I5_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ X6 @ Z4 )
     => ( ord_less_int @ X6 @ T ) ) ).

% minf(5)
thf(fact_557_minf_I7_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z4 )
     => ~ ( ord_less_nat @ T @ X6 ) ) ).

% minf(7)
thf(fact_558_minf_I7_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ X6 @ Z4 )
     => ~ ( ord_less_int @ T @ X6 ) ) ).

% minf(7)
thf(fact_559_diff__left__imp__eq,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a,C: finite_mod_ring_a] :
      ( ( ( minus_3609261664126569004ring_a @ A @ B )
        = ( minus_3609261664126569004ring_a @ A @ C ) )
     => ( B = C ) ) ).

% diff_left_imp_eq
thf(fact_560_diff__left__imp__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( minus_minus_int @ A @ B )
        = ( minus_minus_int @ A @ C ) )
     => ( B = C ) ) ).

% diff_left_imp_eq
thf(fact_561_comp__def,axiom,
    ( comp_l7916700749204952255st_int
    = ( ^ [F2: list_F4626807571770296779ring_a > kyber_qr_a,G2: list_int > list_F4626807571770296779ring_a,X2: list_int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_562_comp__def,axiom,
    ( comp_l8264631749186849233ring_a
    = ( ^ [F2: list_int > kyber_qr_a,G2: list_F4626807571770296779ring_a > list_int,X2: list_F4626807571770296779ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_563_comp__def,axiom,
    ( comp_l6516415865823034294st_int
    = ( ^ [F2: list_int > kyber_qr_a,G2: list_int > list_int,X2: list_int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_564_comp__def,axiom,
    ( comp_i8863287333377692450_a_int
    = ( ^ [F2: int > finite_mod_ring_a,G2: int > int,X2: int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_565_comp__def,axiom,
    ( comp_i1216107289310836680ring_a
    = ( ^ [F2: int > int,G2: finite_mod_ring_a > int,X2: finite_mod_ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_566_comp__def,axiom,
    ( comp_l3342984852308089774ring_a
    = ( ^ [F2: list_int > list_int,G2: list_F4626807571770296779ring_a > list_int,X2: list_F4626807571770296779ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_567_comp__def,axiom,
    ( comp_l2514415381773793177st_int
    = ( ^ [F2: list_int > list_int,G2: list_int > list_int,X2: list_int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_568_comp__def,axiom,
    ( comp_nat_nat_nat
    = ( ^ [F2: nat > nat,G2: nat > nat,X2: nat] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_569_comp__def,axiom,
    ( comp_i3450435572476621391ring_a
    = ( ^ [F2: int > finite_mod_ring_a,G2: finite_mod_ring_a > int,X2: finite_mod_ring_a] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_570_comp__def,axiom,
    ( comp_int_int_int
    = ( ^ [F2: int > int,G2: int > int,X2: int] : ( F2 @ ( G2 @ X2 ) ) ) ) ).

% comp_def
thf(fact_571_comp__assoc,axiom,
    ! [F: nat > nat,G: nat > nat,H: nat > nat] :
      ( ( comp_nat_nat_nat @ ( comp_nat_nat_nat @ F @ G ) @ H )
      = ( comp_nat_nat_nat @ F @ ( comp_nat_nat_nat @ G @ H ) ) ) ).

% comp_assoc
thf(fact_572_comp__assoc,axiom,
    ! [F: int > int,G: int > int,H: int > int] :
      ( ( comp_int_int_int @ ( comp_int_int_int @ F @ G ) @ H )
      = ( comp_int_int_int @ F @ ( comp_int_int_int @ G @ H ) ) ) ).

% comp_assoc
thf(fact_573_comp__assoc,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int,H: int > finite_mod_ring_a] :
      ( ( comp_F5719199965815211644nt_int @ ( comp_i1216107289310836680ring_a @ F @ G ) @ H )
      = ( comp_int_int_int @ F @ ( comp_F5719199965815211644nt_int @ G @ H ) ) ) ).

% comp_assoc
thf(fact_574_comp__assoc,axiom,
    ! [F: int > finite_mod_ring_a,G: int > int,H: int > int] :
      ( ( comp_i8863287333377692450_a_int @ ( comp_i8863287333377692450_a_int @ F @ G ) @ H )
      = ( comp_i8863287333377692450_a_int @ F @ ( comp_int_int_int @ G @ H ) ) ) ).

% comp_assoc
thf(fact_575_comp__assoc,axiom,
    ! [F: int > int,G: int > int,H: finite_mod_ring_a > int] :
      ( ( comp_i1216107289310836680ring_a @ ( comp_int_int_int @ F @ G ) @ H )
      = ( comp_i1216107289310836680ring_a @ F @ ( comp_i1216107289310836680ring_a @ G @ H ) ) ) ).

% comp_assoc
thf(fact_576_comp__assoc,axiom,
    ! [F: finite_mod_ring_a > int,G: int > finite_mod_ring_a,H: int > int] :
      ( ( comp_int_int_int @ ( comp_F5719199965815211644nt_int @ F @ G ) @ H )
      = ( comp_F5719199965815211644nt_int @ F @ ( comp_i8863287333377692450_a_int @ G @ H ) ) ) ).

% comp_assoc
thf(fact_577_comp__assoc,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int,H: finite_mod_ring_a > finite_mod_ring_a] :
      ( ( comp_F2690252154722880373ring_a @ ( comp_i1216107289310836680ring_a @ F @ G ) @ H )
      = ( comp_i1216107289310836680ring_a @ F @ ( comp_F2690252154722880373ring_a @ G @ H ) ) ) ).

% comp_assoc
thf(fact_578_comp__assoc,axiom,
    ! [F: int > finite_mod_ring_a,G: finite_mod_ring_a > int,H: int > finite_mod_ring_a] :
      ( ( comp_F1114060161934960335_a_int @ ( comp_i3450435572476621391ring_a @ F @ G ) @ H )
      = ( comp_i8863287333377692450_a_int @ F @ ( comp_F5719199965815211644nt_int @ G @ H ) ) ) ).

% comp_assoc
thf(fact_579_comp__assoc,axiom,
    ! [F: finite_mod_ring_a > finite_mod_ring_a,G: int > finite_mod_ring_a,H: int > int] :
      ( ( comp_i8863287333377692450_a_int @ ( comp_F1114060161934960335_a_int @ F @ G ) @ H )
      = ( comp_F1114060161934960335_a_int @ F @ ( comp_i8863287333377692450_a_int @ G @ H ) ) ) ).

% comp_assoc
thf(fact_580_comp__assoc,axiom,
    ! [F: finite_mod_ring_a > int,G: int > finite_mod_ring_a,H: finite_mod_ring_a > int] :
      ( ( comp_i1216107289310836680ring_a @ ( comp_F5719199965815211644nt_int @ F @ G ) @ H )
      = ( comp_F2690252154722880373ring_a @ F @ ( comp_i3450435572476621391ring_a @ G @ H ) ) ) ).

% comp_assoc
thf(fact_581_comp__eq__dest,axiom,
    ! [A: nat > nat,B: nat > nat,C: nat > nat,D: nat > nat,V: nat] :
      ( ( ( comp_nat_nat_nat @ A @ B )
        = ( comp_nat_nat_nat @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_582_comp__eq__dest,axiom,
    ! [A: int > int,B: int > int,C: int > int,D: int > int,V: int] :
      ( ( ( comp_int_int_int @ A @ B )
        = ( comp_int_int_int @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_583_comp__eq__dest,axiom,
    ! [A: int > finite_mod_ring_a,B: int > int,C: int > finite_mod_ring_a,D: int > int,V: int] :
      ( ( ( comp_i8863287333377692450_a_int @ A @ B )
        = ( comp_i8863287333377692450_a_int @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_584_comp__eq__dest,axiom,
    ! [A: int > int,B: finite_mod_ring_a > int,C: int > int,D: finite_mod_ring_a > int,V: finite_mod_ring_a] :
      ( ( ( comp_i1216107289310836680ring_a @ A @ B )
        = ( comp_i1216107289310836680ring_a @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_585_comp__eq__dest,axiom,
    ! [A: int > finite_mod_ring_a,B: finite_mod_ring_a > int,C: int > finite_mod_ring_a,D: finite_mod_ring_a > int,V: finite_mod_ring_a] :
      ( ( ( comp_i3450435572476621391ring_a @ A @ B )
        = ( comp_i3450435572476621391ring_a @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_586_comp__eq__dest,axiom,
    ! [A: list_int > kyber_qr_a,B: list_int > list_int,C: list_int > kyber_qr_a,D: list_int > list_int,V: list_int] :
      ( ( ( comp_l6516415865823034294st_int @ A @ B )
        = ( comp_l6516415865823034294st_int @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_587_comp__eq__dest,axiom,
    ! [A: list_int > list_int,B: list_int > list_int,C: list_int > list_int,D: list_int > list_int,V: list_int] :
      ( ( ( comp_l2514415381773793177st_int @ A @ B )
        = ( comp_l2514415381773793177st_int @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_588_comp__eq__dest,axiom,
    ! [A: list_F4626807571770296779ring_a > kyber_qr_a,B: list_int > list_F4626807571770296779ring_a,C: list_int > kyber_qr_a,D: list_int > list_int,V: list_int] :
      ( ( ( comp_l7916700749204952255st_int @ A @ B )
        = ( comp_l6516415865823034294st_int @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_589_comp__eq__dest,axiom,
    ! [A: list_int > kyber_qr_a,B: list_F4626807571770296779ring_a > list_int,C: list_int > kyber_qr_a,D: list_F4626807571770296779ring_a > list_int,V: list_F4626807571770296779ring_a] :
      ( ( ( comp_l8264631749186849233ring_a @ A @ B )
        = ( comp_l8264631749186849233ring_a @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_590_comp__eq__dest,axiom,
    ! [A: list_int > kyber_qr_a,B: list_int > list_int,C: list_F4626807571770296779ring_a > kyber_qr_a,D: list_int > list_F4626807571770296779ring_a,V: list_int] :
      ( ( ( comp_l6516415865823034294st_int @ A @ B )
        = ( comp_l7916700749204952255st_int @ C @ D ) )
     => ( ( A @ ( B @ V ) )
        = ( C @ ( D @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_591_comp__eq__elim,axiom,
    ! [A: nat > nat,B: nat > nat,C: nat > nat,D: nat > nat] :
      ( ( ( comp_nat_nat_nat @ A @ B )
        = ( comp_nat_nat_nat @ C @ D ) )
     => ! [V2: nat] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_592_comp__eq__elim,axiom,
    ! [A: int > int,B: int > int,C: int > int,D: int > int] :
      ( ( ( comp_int_int_int @ A @ B )
        = ( comp_int_int_int @ C @ D ) )
     => ! [V2: int] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_593_comp__eq__elim,axiom,
    ! [A: int > finite_mod_ring_a,B: int > int,C: int > finite_mod_ring_a,D: int > int] :
      ( ( ( comp_i8863287333377692450_a_int @ A @ B )
        = ( comp_i8863287333377692450_a_int @ C @ D ) )
     => ! [V2: int] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_594_comp__eq__elim,axiom,
    ! [A: int > int,B: finite_mod_ring_a > int,C: int > int,D: finite_mod_ring_a > int] :
      ( ( ( comp_i1216107289310836680ring_a @ A @ B )
        = ( comp_i1216107289310836680ring_a @ C @ D ) )
     => ! [V2: finite_mod_ring_a] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_595_comp__eq__elim,axiom,
    ! [A: int > finite_mod_ring_a,B: finite_mod_ring_a > int,C: int > finite_mod_ring_a,D: finite_mod_ring_a > int] :
      ( ( ( comp_i3450435572476621391ring_a @ A @ B )
        = ( comp_i3450435572476621391ring_a @ C @ D ) )
     => ! [V2: finite_mod_ring_a] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_596_comp__eq__elim,axiom,
    ! [A: list_int > kyber_qr_a,B: list_int > list_int,C: list_int > kyber_qr_a,D: list_int > list_int] :
      ( ( ( comp_l6516415865823034294st_int @ A @ B )
        = ( comp_l6516415865823034294st_int @ C @ D ) )
     => ! [V2: list_int] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_597_comp__eq__elim,axiom,
    ! [A: list_int > list_int,B: list_int > list_int,C: list_int > list_int,D: list_int > list_int] :
      ( ( ( comp_l2514415381773793177st_int @ A @ B )
        = ( comp_l2514415381773793177st_int @ C @ D ) )
     => ! [V2: list_int] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_598_comp__eq__elim,axiom,
    ! [A: list_F4626807571770296779ring_a > kyber_qr_a,B: list_int > list_F4626807571770296779ring_a,C: list_int > kyber_qr_a,D: list_int > list_int] :
      ( ( ( comp_l7916700749204952255st_int @ A @ B )
        = ( comp_l6516415865823034294st_int @ C @ D ) )
     => ! [V2: list_int] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_599_comp__eq__elim,axiom,
    ! [A: list_int > kyber_qr_a,B: list_F4626807571770296779ring_a > list_int,C: list_int > kyber_qr_a,D: list_F4626807571770296779ring_a > list_int] :
      ( ( ( comp_l8264631749186849233ring_a @ A @ B )
        = ( comp_l8264631749186849233ring_a @ C @ D ) )
     => ! [V2: list_F4626807571770296779ring_a] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_600_comp__eq__elim,axiom,
    ! [A: list_int > kyber_qr_a,B: list_int > list_int,C: list_F4626807571770296779ring_a > kyber_qr_a,D: list_int > list_F4626807571770296779ring_a] :
      ( ( ( comp_l6516415865823034294st_int @ A @ B )
        = ( comp_l7916700749204952255st_int @ C @ D ) )
     => ! [V2: list_int] :
          ( ( A @ ( B @ V2 ) )
          = ( C @ ( D @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_601_comp__eq__dest__lhs,axiom,
    ! [A: list_F4626807571770296779ring_a > kyber_qr_a,B: list_int > list_F4626807571770296779ring_a,C: list_int > kyber_qr_a,V: list_int] :
      ( ( ( comp_l7916700749204952255st_int @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_602_comp__eq__dest__lhs,axiom,
    ! [A: list_int > kyber_qr_a,B: list_F4626807571770296779ring_a > list_int,C: list_F4626807571770296779ring_a > kyber_qr_a,V: list_F4626807571770296779ring_a] :
      ( ( ( comp_l8264631749186849233ring_a @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_603_comp__eq__dest__lhs,axiom,
    ! [A: list_int > kyber_qr_a,B: list_int > list_int,C: list_int > kyber_qr_a,V: list_int] :
      ( ( ( comp_l6516415865823034294st_int @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_604_comp__eq__dest__lhs,axiom,
    ! [A: int > finite_mod_ring_a,B: int > int,C: int > finite_mod_ring_a,V: int] :
      ( ( ( comp_i8863287333377692450_a_int @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_605_comp__eq__dest__lhs,axiom,
    ! [A: int > int,B: finite_mod_ring_a > int,C: finite_mod_ring_a > int,V: finite_mod_ring_a] :
      ( ( ( comp_i1216107289310836680ring_a @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_606_comp__eq__dest__lhs,axiom,
    ! [A: list_int > list_int,B: list_F4626807571770296779ring_a > list_int,C: list_F4626807571770296779ring_a > list_int,V: list_F4626807571770296779ring_a] :
      ( ( ( comp_l3342984852308089774ring_a @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_607_comp__eq__dest__lhs,axiom,
    ! [A: list_int > list_int,B: list_int > list_int,C: list_int > list_int,V: list_int] :
      ( ( ( comp_l2514415381773793177st_int @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_608_comp__eq__dest__lhs,axiom,
    ! [A: nat > nat,B: nat > nat,C: nat > nat,V: nat] :
      ( ( ( comp_nat_nat_nat @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_609_comp__eq__dest__lhs,axiom,
    ! [A: int > finite_mod_ring_a,B: finite_mod_ring_a > int,C: finite_mod_ring_a > finite_mod_ring_a,V: finite_mod_ring_a] :
      ( ( ( comp_i3450435572476621391ring_a @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_610_comp__eq__dest__lhs,axiom,
    ! [A: int > int,B: int > int,C: int > int,V: int] :
      ( ( ( comp_int_int_int @ A @ B )
        = C )
     => ( ( A @ ( B @ V ) )
        = ( C @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_611_kyber__spec_Ostrip__while__mod__ring,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,Xs: list_int] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( more_s7501023657932161932ring_a
          @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
            @ zero_z7902377541816115708ring_a )
          @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) )
        = ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a
          @ ( more_strip_while_int
            @ ^ [X2: int] :
                ( ( modulo_modulo_int @ X2 @ Q )
                = zero_zero_int )
            @ Xs ) ) ) ) ).

% kyber_spec.strip_while_mod_ring
thf(fact_612_kyber__spec_Ostrip__while__mod__ring,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,Xs: list_int] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( more_s7501023657932161932ring_a
          @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
            @ zero_z7902377541816115708ring_a )
          @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) )
        = ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a
          @ ( more_strip_while_int
            @ ^ [X2: int] :
                ( ( modulo_modulo_int @ X2 @ Q )
                = zero_zero_int )
            @ Xs ) ) ) ) ).

% kyber_spec.strip_while_mod_ring
thf(fact_613_order__le__imp__less__or__eq,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
     => ( ( ord_less_int @ X3 @ Y2 )
        | ( X3 = Y2 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_614_order__le__imp__less__or__eq,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X3 @ Y2 )
     => ( ( ord_less_nat @ X3 @ Y2 )
        | ( X3 = Y2 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_615_order__le__imp__less__or__eq,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ( ord_less_eq_set_int @ X3 @ Y2 )
     => ( ( ord_less_set_int @ X3 @ Y2 )
        | ( X3 = Y2 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_616_linorder__le__less__linear,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
      | ( ord_less_int @ Y2 @ X3 ) ) ).

% linorder_le_less_linear
thf(fact_617_linorder__le__less__linear,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X3 @ Y2 )
      | ( ord_less_nat @ Y2 @ X3 ) ) ).

% linorder_le_less_linear
thf(fact_618_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > int,C: int] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_int @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_619_order__less__le__subst2,axiom,
    ! [A: int,B: int,F: int > int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_eq_int @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_620_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_621_order__less__le__subst2,axiom,
    ! [A: int,B: int,F: int > nat,C: nat] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_622_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_int,C: set_int] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_set_int @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_623_order__less__le__subst2,axiom,
    ! [A: int,B: int,F: int > set_int,C: set_int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_eq_set_int @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_624_order__less__le__subst1,axiom,
    ! [A: int,F: int > int,B: int,C: int] :
      ( ( ord_less_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_625_order__less__le__subst1,axiom,
    ! [A: nat,F: int > nat,B: int,C: int] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_626_order__less__le__subst1,axiom,
    ! [A: set_int,F: int > set_int,B: int,C: int] :
      ( ( ord_less_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_627_order__less__le__subst1,axiom,
    ! [A: int,F: nat > int,B: nat,C: nat] :
      ( ( ord_less_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_628_order__less__le__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_629_order__less__le__subst1,axiom,
    ! [A: set_int,F: nat > set_int,B: nat,C: nat] :
      ( ( ord_less_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_630_order__less__le__subst1,axiom,
    ! [A: int,F: set_int > int,B: set_int,C: set_int] :
      ( ( ord_less_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_631_order__less__le__subst1,axiom,
    ! [A: nat,F: set_int > nat,B: set_int,C: set_int] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_632_order__less__le__subst1,axiom,
    ! [A: set_int,F: set_int > set_int,B: set_int,C: set_int] :
      ( ( ord_less_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_633_order__le__less__subst2,axiom,
    ! [A: int,B: int,F: int > int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_int @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_634_order__le__less__subst2,axiom,
    ! [A: int,B: int,F: int > nat,C: nat] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_635_order__le__less__subst2,axiom,
    ! [A: int,B: int,F: int > set_int,C: set_int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_set_int @ ( F @ B ) @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_eq_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_636_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > int,C: int] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_int @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_637_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_638_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_int,C: set_int] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_set_int @ ( F @ B ) @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_eq_nat @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_639_order__le__less__subst2,axiom,
    ! [A: set_int,B: set_int,F: set_int > int,C: int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_int @ ( F @ B ) @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_640_order__le__less__subst2,axiom,
    ! [A: set_int,B: set_int,F: set_int > nat,C: nat] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_641_order__le__less__subst2,axiom,
    ! [A: set_int,B: set_int,F: set_int > set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_set_int @ ( F @ B ) @ C )
       => ( ! [X: set_int,Y4: set_int] :
              ( ( ord_less_eq_set_int @ X @ Y4 )
             => ( ord_less_eq_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_642_order__le__less__subst1,axiom,
    ! [A: int,F: nat > int,B: nat,C: nat] :
      ( ( ord_less_eq_int @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_643_order__le__less__subst1,axiom,
    ! [A: int,F: int > int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ ( F @ B ) )
     => ( ( ord_less_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_int @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_644_order__le__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_645_order__le__less__subst1,axiom,
    ! [A: nat,F: int > nat,B: int,C: int] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_nat @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_646_order__le__less__subst1,axiom,
    ! [A: set_int,F: nat > set_int,B: nat,C: nat] :
      ( ( ord_less_eq_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X: nat,Y4: nat] :
              ( ( ord_less_nat @ X @ Y4 )
             => ( ord_less_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_647_order__le__less__subst1,axiom,
    ! [A: set_int,F: int > set_int,B: int,C: int] :
      ( ( ord_less_eq_set_int @ A @ ( F @ B ) )
     => ( ( ord_less_int @ B @ C )
       => ( ! [X: int,Y4: int] :
              ( ( ord_less_int @ X @ Y4 )
             => ( ord_less_set_int @ ( F @ X ) @ ( F @ Y4 ) ) )
         => ( ord_less_set_int @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_648_order__less__le__trans,axiom,
    ! [X3: int,Y2: int,Z2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ( ( ord_less_eq_int @ Y2 @ Z2 )
       => ( ord_less_int @ X3 @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_649_order__less__le__trans,axiom,
    ! [X3: nat,Y2: nat,Z2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ( ( ord_less_eq_nat @ Y2 @ Z2 )
       => ( ord_less_nat @ X3 @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_650_order__less__le__trans,axiom,
    ! [X3: set_int,Y2: set_int,Z2: set_int] :
      ( ( ord_less_set_int @ X3 @ Y2 )
     => ( ( ord_less_eq_set_int @ Y2 @ Z2 )
       => ( ord_less_set_int @ X3 @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_651_order__le__less__trans,axiom,
    ! [X3: int,Y2: int,Z2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
     => ( ( ord_less_int @ Y2 @ Z2 )
       => ( ord_less_int @ X3 @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_652_order__le__less__trans,axiom,
    ! [X3: nat,Y2: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X3 @ Y2 )
     => ( ( ord_less_nat @ Y2 @ Z2 )
       => ( ord_less_nat @ X3 @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_653_order__le__less__trans,axiom,
    ! [X3: set_int,Y2: set_int,Z2: set_int] :
      ( ( ord_less_eq_set_int @ X3 @ Y2 )
     => ( ( ord_less_set_int @ Y2 @ Z2 )
       => ( ord_less_set_int @ X3 @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_654_order__neq__le__trans,axiom,
    ! [A: int,B: int] :
      ( ( A != B )
     => ( ( ord_less_eq_int @ A @ B )
       => ( ord_less_int @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_655_order__neq__le__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( A != B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_656_order__neq__le__trans,axiom,
    ! [A: set_int,B: set_int] :
      ( ( A != B )
     => ( ( ord_less_eq_set_int @ A @ B )
       => ( ord_less_set_int @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_657_order__le__neq__trans,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( A != B )
       => ( ord_less_int @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_658_order__le__neq__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( A != B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_659_order__le__neq__trans,axiom,
    ! [A: set_int,B: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( A != B )
       => ( ord_less_set_int @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_660_order__less__imp__le,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ X3 @ Y2 )
     => ( ord_less_eq_int @ X3 @ Y2 ) ) ).

% order_less_imp_le
thf(fact_661_order__less__imp__le,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ( ord_less_eq_nat @ X3 @ Y2 ) ) ).

% order_less_imp_le
thf(fact_662_order__less__imp__le,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ( ord_less_set_int @ X3 @ Y2 )
     => ( ord_less_eq_set_int @ X3 @ Y2 ) ) ).

% order_less_imp_le
thf(fact_663_linorder__not__less,axiom,
    ! [X3: int,Y2: int] :
      ( ( ~ ( ord_less_int @ X3 @ Y2 ) )
      = ( ord_less_eq_int @ Y2 @ X3 ) ) ).

% linorder_not_less
thf(fact_664_linorder__not__less,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ~ ( ord_less_nat @ X3 @ Y2 ) )
      = ( ord_less_eq_nat @ Y2 @ X3 ) ) ).

% linorder_not_less
thf(fact_665_linorder__not__le,axiom,
    ! [X3: int,Y2: int] :
      ( ( ~ ( ord_less_eq_int @ X3 @ Y2 ) )
      = ( ord_less_int @ Y2 @ X3 ) ) ).

% linorder_not_le
thf(fact_666_linorder__not__le,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ~ ( ord_less_eq_nat @ X3 @ Y2 ) )
      = ( ord_less_nat @ Y2 @ X3 ) ) ).

% linorder_not_le
thf(fact_667_order__less__le,axiom,
    ( ord_less_int
    = ( ^ [X2: int,Y3: int] :
          ( ( ord_less_eq_int @ X2 @ Y3 )
          & ( X2 != Y3 ) ) ) ) ).

% order_less_le
thf(fact_668_order__less__le,axiom,
    ( ord_less_nat
    = ( ^ [X2: nat,Y3: nat] :
          ( ( ord_less_eq_nat @ X2 @ Y3 )
          & ( X2 != Y3 ) ) ) ) ).

% order_less_le
thf(fact_669_order__less__le,axiom,
    ( ord_less_set_int
    = ( ^ [X2: set_int,Y3: set_int] :
          ( ( ord_less_eq_set_int @ X2 @ Y3 )
          & ( X2 != Y3 ) ) ) ) ).

% order_less_le
thf(fact_670_order__le__less,axiom,
    ( ord_less_eq_int
    = ( ^ [X2: int,Y3: int] :
          ( ( ord_less_int @ X2 @ Y3 )
          | ( X2 = Y3 ) ) ) ) ).

% order_le_less
thf(fact_671_order__le__less,axiom,
    ( ord_less_eq_nat
    = ( ^ [X2: nat,Y3: nat] :
          ( ( ord_less_nat @ X2 @ Y3 )
          | ( X2 = Y3 ) ) ) ) ).

% order_le_less
thf(fact_672_order__le__less,axiom,
    ( ord_less_eq_set_int
    = ( ^ [X2: set_int,Y3: set_int] :
          ( ( ord_less_set_int @ X2 @ Y3 )
          | ( X2 = Y3 ) ) ) ) ).

% order_le_less
thf(fact_673_dual__order_Ostrict__implies__order,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ A )
     => ( ord_less_eq_int @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_674_dual__order_Ostrict__implies__order,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_675_dual__order_Ostrict__implies__order,axiom,
    ! [B: set_int,A: set_int] :
      ( ( ord_less_set_int @ B @ A )
     => ( ord_less_eq_set_int @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_676_order_Ostrict__implies__order,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_eq_int @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_677_order_Ostrict__implies__order,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_678_order_Ostrict__implies__order,axiom,
    ! [A: set_int,B: set_int] :
      ( ( ord_less_set_int @ A @ B )
     => ( ord_less_eq_set_int @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_679_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_int
    = ( ^ [B2: int,A2: int] :
          ( ( ord_less_eq_int @ B2 @ A2 )
          & ~ ( ord_less_eq_int @ A2 @ B2 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_680_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [B2: nat,A2: nat] :
          ( ( ord_less_eq_nat @ B2 @ A2 )
          & ~ ( ord_less_eq_nat @ A2 @ B2 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_681_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_set_int
    = ( ^ [B2: set_int,A2: set_int] :
          ( ( ord_less_eq_set_int @ B2 @ A2 )
          & ~ ( ord_less_eq_set_int @ A2 @ B2 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_682_dual__order_Ostrict__trans2,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_int @ B @ A )
     => ( ( ord_less_eq_int @ C @ B )
       => ( ord_less_int @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_683_dual__order_Ostrict__trans2,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_684_dual__order_Ostrict__trans2,axiom,
    ! [B: set_int,A: set_int,C: set_int] :
      ( ( ord_less_set_int @ B @ A )
     => ( ( ord_less_eq_set_int @ C @ B )
       => ( ord_less_set_int @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_685_dual__order_Ostrict__trans1,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( ord_less_int @ C @ B )
       => ( ord_less_int @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_686_dual__order_Ostrict__trans1,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_less_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_687_dual__order_Ostrict__trans1,axiom,
    ! [B: set_int,A: set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ B @ A )
     => ( ( ord_less_set_int @ C @ B )
       => ( ord_less_set_int @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_688_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_int
    = ( ^ [B2: int,A2: int] :
          ( ( ord_less_eq_int @ B2 @ A2 )
          & ( A2 != B2 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_689_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [B2: nat,A2: nat] :
          ( ( ord_less_eq_nat @ B2 @ A2 )
          & ( A2 != B2 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_690_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_set_int
    = ( ^ [B2: set_int,A2: set_int] :
          ( ( ord_less_eq_set_int @ B2 @ A2 )
          & ( A2 != B2 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_691_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_int
    = ( ^ [B2: int,A2: int] :
          ( ( ord_less_int @ B2 @ A2 )
          | ( A2 = B2 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_692_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [B2: nat,A2: nat] :
          ( ( ord_less_nat @ B2 @ A2 )
          | ( A2 = B2 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_693_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_set_int
    = ( ^ [B2: set_int,A2: set_int] :
          ( ( ord_less_set_int @ B2 @ A2 )
          | ( A2 = B2 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_694_order_Ostrict__iff__not,axiom,
    ( ord_less_int
    = ( ^ [A2: int,B2: int] :
          ( ( ord_less_eq_int @ A2 @ B2 )
          & ~ ( ord_less_eq_int @ B2 @ A2 ) ) ) ) ).

% order.strict_iff_not
thf(fact_695_order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_less_eq_nat @ A2 @ B2 )
          & ~ ( ord_less_eq_nat @ B2 @ A2 ) ) ) ) ).

% order.strict_iff_not
thf(fact_696_order_Ostrict__iff__not,axiom,
    ( ord_less_set_int
    = ( ^ [A2: set_int,B2: set_int] :
          ( ( ord_less_eq_set_int @ A2 @ B2 )
          & ~ ( ord_less_eq_set_int @ B2 @ A2 ) ) ) ) ).

% order.strict_iff_not
thf(fact_697_order_Ostrict__trans2,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ord_less_int @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_698_order_Ostrict__trans2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_699_order_Ostrict__trans2,axiom,
    ! [A: set_int,B: set_int,C: set_int] :
      ( ( ord_less_set_int @ A @ B )
     => ( ( ord_less_eq_set_int @ B @ C )
       => ( ord_less_set_int @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_700_order_Ostrict__trans1,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_701_order_Ostrict__trans1,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_702_order_Ostrict__trans1,axiom,
    ! [A: set_int,B: set_int,C: set_int] :
      ( ( ord_less_eq_set_int @ A @ B )
     => ( ( ord_less_set_int @ B @ C )
       => ( ord_less_set_int @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_703_order_Ostrict__iff__order,axiom,
    ( ord_less_int
    = ( ^ [A2: int,B2: int] :
          ( ( ord_less_eq_int @ A2 @ B2 )
          & ( A2 != B2 ) ) ) ) ).

% order.strict_iff_order
thf(fact_704_order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_less_eq_nat @ A2 @ B2 )
          & ( A2 != B2 ) ) ) ) ).

% order.strict_iff_order
thf(fact_705_order_Ostrict__iff__order,axiom,
    ( ord_less_set_int
    = ( ^ [A2: set_int,B2: set_int] :
          ( ( ord_less_eq_set_int @ A2 @ B2 )
          & ( A2 != B2 ) ) ) ) ).

% order.strict_iff_order
thf(fact_706_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_int
    = ( ^ [A2: int,B2: int] :
          ( ( ord_less_int @ A2 @ B2 )
          | ( A2 = B2 ) ) ) ) ).

% order.order_iff_strict
thf(fact_707_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] :
          ( ( ord_less_nat @ A2 @ B2 )
          | ( A2 = B2 ) ) ) ) ).

% order.order_iff_strict
thf(fact_708_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_set_int
    = ( ^ [A2: set_int,B2: set_int] :
          ( ( ord_less_set_int @ A2 @ B2 )
          | ( A2 = B2 ) ) ) ) ).

% order.order_iff_strict
thf(fact_709_not__le__imp__less,axiom,
    ! [Y2: int,X3: int] :
      ( ~ ( ord_less_eq_int @ Y2 @ X3 )
     => ( ord_less_int @ X3 @ Y2 ) ) ).

% not_le_imp_less
thf(fact_710_not__le__imp__less,axiom,
    ! [Y2: nat,X3: nat] :
      ( ~ ( ord_less_eq_nat @ Y2 @ X3 )
     => ( ord_less_nat @ X3 @ Y2 ) ) ).

% not_le_imp_less
thf(fact_711_less__le__not__le,axiom,
    ( ord_less_int
    = ( ^ [X2: int,Y3: int] :
          ( ( ord_less_eq_int @ X2 @ Y3 )
          & ~ ( ord_less_eq_int @ Y3 @ X2 ) ) ) ) ).

% less_le_not_le
thf(fact_712_less__le__not__le,axiom,
    ( ord_less_nat
    = ( ^ [X2: nat,Y3: nat] :
          ( ( ord_less_eq_nat @ X2 @ Y3 )
          & ~ ( ord_less_eq_nat @ Y3 @ X2 ) ) ) ) ).

% less_le_not_le
thf(fact_713_less__le__not__le,axiom,
    ( ord_less_set_int
    = ( ^ [X2: set_int,Y3: set_int] :
          ( ( ord_less_eq_set_int @ X2 @ Y3 )
          & ~ ( ord_less_eq_set_int @ Y3 @ X2 ) ) ) ) ).

% less_le_not_le
thf(fact_714_antisym__conv2,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
     => ( ( ~ ( ord_less_int @ X3 @ Y2 ) )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv2
thf(fact_715_antisym__conv2,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_eq_nat @ X3 @ Y2 )
     => ( ( ~ ( ord_less_nat @ X3 @ Y2 ) )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv2
thf(fact_716_antisym__conv2,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ( ord_less_eq_set_int @ X3 @ Y2 )
     => ( ( ~ ( ord_less_set_int @ X3 @ Y2 ) )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv2
thf(fact_717_antisym__conv1,axiom,
    ! [X3: int,Y2: int] :
      ( ~ ( ord_less_int @ X3 @ Y2 )
     => ( ( ord_less_eq_int @ X3 @ Y2 )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv1
thf(fact_718_antisym__conv1,axiom,
    ! [X3: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X3 @ Y2 )
     => ( ( ord_less_eq_nat @ X3 @ Y2 )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv1
thf(fact_719_antisym__conv1,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ~ ( ord_less_set_int @ X3 @ Y2 )
     => ( ( ord_less_eq_set_int @ X3 @ Y2 )
        = ( X3 = Y2 ) ) ) ).

% antisym_conv1
thf(fact_720_nless__le,axiom,
    ! [A: int,B: int] :
      ( ( ~ ( ord_less_int @ A @ B ) )
      = ( ~ ( ord_less_eq_int @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_721_nless__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_nat @ A @ B ) )
      = ( ~ ( ord_less_eq_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_722_nless__le,axiom,
    ! [A: set_int,B: set_int] :
      ( ( ~ ( ord_less_set_int @ A @ B ) )
      = ( ~ ( ord_less_eq_set_int @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_723_leI,axiom,
    ! [X3: int,Y2: int] :
      ( ~ ( ord_less_int @ X3 @ Y2 )
     => ( ord_less_eq_int @ Y2 @ X3 ) ) ).

% leI
thf(fact_724_leI,axiom,
    ! [X3: nat,Y2: nat] :
      ( ~ ( ord_less_nat @ X3 @ Y2 )
     => ( ord_less_eq_nat @ Y2 @ X3 ) ) ).

% leI
thf(fact_725_leD,axiom,
    ! [Y2: int,X3: int] :
      ( ( ord_less_eq_int @ Y2 @ X3 )
     => ~ ( ord_less_int @ X3 @ Y2 ) ) ).

% leD
thf(fact_726_leD,axiom,
    ! [Y2: nat,X3: nat] :
      ( ( ord_less_eq_nat @ Y2 @ X3 )
     => ~ ( ord_less_nat @ X3 @ Y2 ) ) ).

% leD
thf(fact_727_leD,axiom,
    ! [Y2: set_int,X3: set_int] :
      ( ( ord_less_eq_set_int @ Y2 @ X3 )
     => ~ ( ord_less_set_int @ X3 @ Y2 ) ) ).

% leD
thf(fact_728_pinf_I6_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ Z4 @ X6 )
     => ~ ( ord_less_eq_int @ X6 @ T ) ) ).

% pinf(6)
thf(fact_729_pinf_I6_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z4 @ X6 )
     => ~ ( ord_less_eq_nat @ X6 @ T ) ) ).

% pinf(6)
thf(fact_730_pinf_I8_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ Z4 @ X6 )
     => ( ord_less_eq_int @ T @ X6 ) ) ).

% pinf(8)
thf(fact_731_pinf_I8_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ Z4 @ X6 )
     => ( ord_less_eq_nat @ T @ X6 ) ) ).

% pinf(8)
thf(fact_732_minf_I6_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ X6 @ Z4 )
     => ( ord_less_eq_int @ X6 @ T ) ) ).

% minf(6)
thf(fact_733_minf_I6_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z4 )
     => ( ord_less_eq_nat @ X6 @ T ) ) ).

% minf(6)
thf(fact_734_minf_I8_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X6: int] :
      ( ( ord_less_int @ X6 @ Z4 )
     => ~ ( ord_less_eq_int @ T @ X6 ) ) ).

% minf(8)
thf(fact_735_minf_I8_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X6: nat] :
      ( ( ord_less_nat @ X6 @ Z4 )
     => ~ ( ord_less_eq_nat @ T @ X6 ) ) ).

% minf(8)
thf(fact_736_kyber__spec__axioms,axiom,
    kyber_kyber_spec_a_k @ type_a @ type_k @ n @ q @ k @ n2 ).

% kyber_spec_axioms
thf(fact_737_verit__minus__simplify_I3_J,axiom,
    ! [B: kyber_qr_a] :
      ( ( minus_3375643675566563378r_qr_a @ zero_zero_Kyber_qr_a @ B )
      = ( uminus3675112017196868514r_qr_a @ B ) ) ).

% verit_minus_simplify(3)
thf(fact_738_verit__minus__simplify_I3_J,axiom,
    ! [B: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ zero_z7902377541816115708ring_a @ B )
      = ( uminus3100561713750211260ring_a @ B ) ) ).

% verit_minus_simplify(3)
thf(fact_739_verit__minus__simplify_I3_J,axiom,
    ! [B: int] :
      ( ( minus_minus_int @ zero_zero_int @ B )
      = ( uminus_uminus_int @ B ) ) ).

% verit_minus_simplify(3)
thf(fact_740_kyber__spec_Oabs__infty__poly__definite,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: kyber_qr_a] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( ( abs_ky5074908690697402296poly_a @ Q @ X3 )
          = zero_zero_int )
        = ( X3 = zero_zero_Kyber_qr_a ) ) ) ).

% kyber_spec.abs_infty_poly_definite
thf(fact_741_kyber__spec_Oabs__infty__poly__definite,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: kyber_qr_a] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( ( abs_ky5074908690697402296poly_a @ Q @ X3 )
          = zero_zero_int )
        = ( X3 = zero_zero_Kyber_qr_a ) ) ) ).

% kyber_spec.abs_infty_poly_definite
thf(fact_742_kyber__spec_Oabs__infty__q__definite,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: finite_mod_ring_a] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( ( abs_ky7385543178848499077ty_q_a @ Q @ X3 )
          = zero_zero_int )
        = ( X3 = zero_z7902377541816115708ring_a ) ) ) ).

% kyber_spec.abs_infty_q_definite
thf(fact_743_kyber__spec_Oabs__infty__q__definite,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: finite_mod_ring_a] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( ( abs_ky7385543178848499077ty_q_a @ Q @ X3 )
          = zero_zero_int )
        = ( X3 = zero_z7902377541816115708ring_a ) ) ) ).

% kyber_spec.abs_infty_q_definite
thf(fact_744_kyber__spec_Oabs__infty__poly__pos,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: kyber_qr_a] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ord_less_eq_int @ zero_zero_int @ ( abs_ky5074908690697402296poly_a @ Q @ X3 ) ) ) ).

% kyber_spec.abs_infty_poly_pos
thf(fact_745_kyber__spec_Oabs__infty__poly__pos,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: kyber_qr_a] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ord_less_eq_int @ zero_zero_int @ ( abs_ky5074908690697402296poly_a @ Q @ X3 ) ) ) ).

% kyber_spec.abs_infty_poly_pos
thf(fact_746_kyber__spec_Oabs__infty__q__pos,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: finite_mod_ring_a] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ord_less_eq_int @ zero_zero_int @ ( abs_ky7385543178848499077ty_q_a @ Q @ X3 ) ) ) ).

% kyber_spec.abs_infty_q_pos
thf(fact_747_kyber__spec_Oabs__infty__q__pos,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: finite_mod_ring_a] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ord_less_eq_int @ zero_zero_int @ ( abs_ky7385543178848499077ty_q_a @ Q @ X3 ) ) ) ).

% kyber_spec.abs_infty_q_pos
thf(fact_748_kyber__spec_Oabs__infty__q__minus,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: finite_mod_ring_a] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( abs_ky7385543178848499077ty_q_a @ Q @ ( uminus3100561713750211260ring_a @ X3 ) )
        = ( abs_ky7385543178848499077ty_q_a @ Q @ X3 ) ) ) ).

% kyber_spec.abs_infty_q_minus
thf(fact_749_kyber__spec_Oabs__infty__q__minus,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,X3: finite_mod_ring_a] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( abs_ky7385543178848499077ty_q_a @ Q @ ( uminus3100561713750211260ring_a @ X3 ) )
        = ( abs_ky7385543178848499077ty_q_a @ Q @ X3 ) ) ) ).

% kyber_spec.abs_infty_q_minus
thf(fact_750_n__nonzero,axiom,
    n != zero_zero_int ).

% n_nonzero
thf(fact_751_n__gt__zero,axiom,
    ord_less_int @ zero_zero_int @ n ).

% n_gt_zero
thf(fact_752_verit__minus__simplify_I4_J,axiom,
    ! [B: finite_mod_ring_a] :
      ( ( uminus3100561713750211260ring_a @ ( uminus3100561713750211260ring_a @ B ) )
      = B ) ).

% verit_minus_simplify(4)
thf(fact_753_verit__minus__simplify_I4_J,axiom,
    ! [B: int] :
      ( ( uminus_uminus_int @ ( uminus_uminus_int @ B ) )
      = B ) ).

% verit_minus_simplify(4)
thf(fact_754_of__qr__uminus,axiom,
    ! [P2: kyber_qr_a] :
      ( ( kyber_of_qr_a @ ( uminus3675112017196868514r_qr_a @ P2 ) )
      = ( uminus6490753114102738890ring_a @ ( kyber_of_qr_a @ P2 ) ) ) ).

% of_qr_uminus
thf(fact_755_to__qr__uminus,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( kyber_to_qr_a @ ( uminus6490753114102738890ring_a @ P2 ) )
      = ( uminus3675112017196868514r_qr_a @ ( kyber_to_qr_a @ P2 ) ) ) ).

% to_qr_uminus
thf(fact_756_compl__le__compl__iff,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ( ord_less_eq_set_int @ ( uminus1532241313380277803et_int @ X3 ) @ ( uminus1532241313380277803et_int @ Y2 ) )
      = ( ord_less_eq_set_int @ Y2 @ X3 ) ) ).

% compl_le_compl_iff
thf(fact_757_zmod__zminus2__not__zero,axiom,
    ! [K: int,L: int] :
      ( ( ( modulo_modulo_int @ K @ ( uminus_uminus_int @ L ) )
       != zero_zero_int )
     => ( ( modulo_modulo_int @ K @ L )
       != zero_zero_int ) ) ).

% zmod_zminus2_not_zero
thf(fact_758_zmod__zminus1__not__zero,axiom,
    ! [K: int,L: int] :
      ( ( ( modulo_modulo_int @ ( uminus_uminus_int @ K ) @ L )
       != zero_zero_int )
     => ( ( modulo_modulo_int @ K @ L )
       != zero_zero_int ) ) ).

% zmod_zminus1_not_zero
thf(fact_759_verit__comp__simplify1_I2_J,axiom,
    ! [A: int] : ( ord_less_eq_int @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_760_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_761_verit__comp__simplify1_I2_J,axiom,
    ! [A: set_int] : ( ord_less_eq_set_int @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_762_verit__la__disequality,axiom,
    ! [A: int,B: int] :
      ( ( A = B )
      | ~ ( ord_less_eq_int @ A @ B )
      | ~ ( ord_less_eq_int @ B @ A ) ) ).

% verit_la_disequality
thf(fact_763_verit__la__disequality,axiom,
    ! [A: nat,B: nat] :
      ( ( A = B )
      | ~ ( ord_less_eq_nat @ A @ B )
      | ~ ( ord_less_eq_nat @ B @ A ) ) ).

% verit_la_disequality
thf(fact_764_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_765_verit__comp__simplify1_I1_J,axiom,
    ! [A: int] :
      ~ ( ord_less_int @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_766_verit__negate__coefficient_I3_J,axiom,
    ! [A: int,B: int] :
      ( ( A = B )
     => ( ( uminus_uminus_int @ A )
        = ( uminus_uminus_int @ B ) ) ) ).

% verit_negate_coefficient(3)
thf(fact_767_zmod__zminus2__eq__if,axiom,
    ! [A: int,B: int] :
      ( ( ( ( modulo_modulo_int @ A @ B )
          = zero_zero_int )
       => ( ( modulo_modulo_int @ A @ ( uminus_uminus_int @ B ) )
          = zero_zero_int ) )
      & ( ( ( modulo_modulo_int @ A @ B )
         != zero_zero_int )
       => ( ( modulo_modulo_int @ A @ ( uminus_uminus_int @ B ) )
          = ( minus_minus_int @ ( modulo_modulo_int @ A @ B ) @ B ) ) ) ) ).

% zmod_zminus2_eq_if
thf(fact_768_zmod__zminus1__eq__if,axiom,
    ! [A: int,B: int] :
      ( ( ( ( modulo_modulo_int @ A @ B )
          = zero_zero_int )
       => ( ( modulo_modulo_int @ ( uminus_uminus_int @ A ) @ B )
          = zero_zero_int ) )
      & ( ( ( modulo_modulo_int @ A @ B )
         != zero_zero_int )
       => ( ( modulo_modulo_int @ ( uminus_uminus_int @ A ) @ B )
          = ( minus_minus_int @ B @ ( modulo_modulo_int @ A @ B ) ) ) ) ) ).

% zmod_zminus1_eq_if
thf(fact_769_verit__la__generic,axiom,
    ! [A: int,X3: int] :
      ( ( ord_less_eq_int @ A @ X3 )
      | ( A = X3 )
      | ( ord_less_eq_int @ X3 @ A ) ) ).

% verit_la_generic
thf(fact_770_kyber__spec_Oabs__infty__q_Ocong,axiom,
    abs_ky7385543178848499077ty_q_a = abs_ky7385543178848499077ty_q_a ).

% kyber_spec.abs_infty_q.cong
thf(fact_771_kyber__spec_Oabs__infty__poly_Ocong,axiom,
    abs_ky5074908690697402296poly_a = abs_ky5074908690697402296poly_a ).

% kyber_spec.abs_infty_poly.cong
thf(fact_772_verit__comp__simplify1_I3_J,axiom,
    ! [B3: int,A4: int] :
      ( ( ~ ( ord_less_eq_int @ B3 @ A4 ) )
      = ( ord_less_int @ A4 @ B3 ) ) ).

% verit_comp_simplify1(3)
thf(fact_773_verit__comp__simplify1_I3_J,axiom,
    ! [B3: nat,A4: nat] :
      ( ( ~ ( ord_less_eq_nat @ B3 @ A4 ) )
      = ( ord_less_nat @ A4 @ B3 ) ) ).

% verit_comp_simplify1(3)
thf(fact_774_compl__mono,axiom,
    ! [X3: set_int,Y2: set_int] :
      ( ( ord_less_eq_set_int @ X3 @ Y2 )
     => ( ord_less_eq_set_int @ ( uminus1532241313380277803et_int @ Y2 ) @ ( uminus1532241313380277803et_int @ X3 ) ) ) ).

% compl_mono
thf(fact_775_compl__le__swap1,axiom,
    ! [Y2: set_int,X3: set_int] :
      ( ( ord_less_eq_set_int @ Y2 @ ( uminus1532241313380277803et_int @ X3 ) )
     => ( ord_less_eq_set_int @ X3 @ ( uminus1532241313380277803et_int @ Y2 ) ) ) ).

% compl_le_swap1
thf(fact_776_compl__le__swap2,axiom,
    ! [Y2: set_int,X3: set_int] :
      ( ( ord_less_eq_set_int @ ( uminus1532241313380277803et_int @ Y2 ) @ X3 )
     => ( ord_less_eq_set_int @ ( uminus1532241313380277803et_int @ X3 ) @ Y2 ) ) ).

% compl_le_swap2
thf(fact_777_verit__negate__coefficient_I2_J,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% verit_negate_coefficient(2)
thf(fact_778_n__gt__1,axiom,
    ord_less_int @ one_one_int @ n ).

% n_gt_1
thf(fact_779_gcd__nat__induct,axiom,
    ! [P: nat > nat > $o,M: nat,N: nat] :
      ( ! [M4: nat] : ( P @ M4 @ zero_zero_nat )
     => ( ! [M4: nat,N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( ( P @ N3 @ ( modulo_modulo_nat @ M4 @ N3 ) )
             => ( P @ M4 @ N3 ) ) )
       => ( P @ M @ N ) ) ) ).

% gcd_nat_induct
thf(fact_780_minus__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( minus_minus_int @ zero_zero_int @ L )
      = ( uminus_uminus_int @ L ) ) ).

% minus_int_code(2)
thf(fact_781_mod__by__1,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ A @ one_on2109788427901206336ring_a )
      = zero_z7902377541816115708ring_a ) ).

% mod_by_1
thf(fact_782_mod__by__1,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ A @ one_one_int )
      = zero_zero_int ) ).

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

% mod_by_1
thf(fact_784_bits__mod__by__1,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ A @ one_one_int )
      = zero_zero_int ) ).

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

% bits_mod_by_1
thf(fact_786_mod__minus1__right,axiom,
    ! [A: finite_mod_ring_a] :
      ( ( modulo8308552932176287283ring_a @ A @ ( uminus3100561713750211260ring_a @ one_on2109788427901206336ring_a ) )
      = zero_z7902377541816115708ring_a ) ).

% mod_minus1_right
thf(fact_787_mod__minus1__right,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ A @ ( uminus_uminus_int @ one_one_int ) )
      = zero_zero_int ) ).

% mod_minus1_right
thf(fact_788_zle__diff1__eq,axiom,
    ! [W: int,Z2: int] :
      ( ( ord_less_eq_int @ W @ ( minus_minus_int @ Z2 @ one_one_int ) )
      = ( ord_less_int @ W @ Z2 ) ) ).

% zle_diff1_eq
thf(fact_789_one__reorient,axiom,
    ! [X3: int] :
      ( ( one_one_int = X3 )
      = ( X3 = one_one_int ) ) ).

% one_reorient
thf(fact_790_one__reorient,axiom,
    ! [X3: nat] :
      ( ( one_one_nat = X3 )
      = ( X3 = one_one_nat ) ) ).

% one_reorient
thf(fact_791_zero__neq__one,axiom,
    zero_zero_int != one_one_int ).

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

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

% zero_neq_one
thf(fact_794_zero__neq__one,axiom,
    zero_zero_Kyber_qr_a != one_one_Kyber_qr_a ).

% zero_neq_one
thf(fact_795_int__le__induct,axiom,
    ! [I: int,K: int,P: int > $o] :
      ( ( ord_less_eq_int @ I @ K )
     => ( ( P @ K )
       => ( ! [I2: int] :
              ( ( ord_less_eq_int @ I2 @ K )
             => ( ( P @ I2 )
               => ( P @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_le_induct
thf(fact_796_int__less__induct,axiom,
    ! [I: int,K: int,P: int > $o] :
      ( ( ord_less_int @ I @ K )
     => ( ( P @ ( minus_minus_int @ K @ one_one_int ) )
       => ( ! [I2: int] :
              ( ( ord_less_int @ I2 @ K )
             => ( ( P @ I2 )
               => ( P @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_less_induct
thf(fact_797_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_int @ zero_zero_int @ one_one_int ).

% zero_less_one_class.zero_le_one
thf(fact_798_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_799_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_int @ zero_zero_int @ one_one_int ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_800_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_801_not__one__le__zero,axiom,
    ~ ( ord_less_eq_int @ one_one_int @ zero_zero_int ) ).

% not_one_le_zero
thf(fact_802_not__one__le__zero,axiom,
    ~ ( ord_less_eq_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_le_zero
thf(fact_803_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_804_zero__less__one__class_Ozero__less__one,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% zero_less_one_class.zero_less_one
thf(fact_805_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_806_not__one__less__zero,axiom,
    ~ ( ord_less_int @ one_one_int @ zero_zero_int ) ).

% not_one_less_zero
thf(fact_807_int__one__le__iff__zero__less,axiom,
    ! [Z2: int] :
      ( ( ord_less_eq_int @ one_one_int @ Z2 )
      = ( ord_less_int @ zero_zero_int @ Z2 ) ) ).

% int_one_le_iff_zero_less
thf(fact_808_uminus__int__code_I1_J,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% uminus_int_code(1)
thf(fact_809_kyber__spec_On__gt__1,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ord_less_int @ one_one_int @ N ) ) ).

% kyber_spec.n_gt_1
thf(fact_810_kyber__spec_On__gt__1,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ord_less_int @ one_one_int @ N ) ) ).

% kyber_spec.n_gt_1
thf(fact_811_minus__mod__int__eq,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ L )
     => ( ( modulo_modulo_int @ ( uminus_uminus_int @ K ) @ L )
        = ( minus_minus_int @ ( minus_minus_int @ L @ one_one_int ) @ ( modulo_modulo_int @ ( minus_minus_int @ K @ one_one_int ) @ L ) ) ) ) ).

% minus_mod_int_eq
thf(fact_812_zmod__minus1,axiom,
    ! [B: int] :
      ( ( ord_less_int @ zero_zero_int @ B )
     => ( ( modulo_modulo_int @ ( uminus_uminus_int @ one_one_int ) @ B )
        = ( minus_minus_int @ B @ one_one_int ) ) ) ).

% zmod_minus1
thf(fact_813_less__eq__int__code_I1_J,axiom,
    ord_less_eq_int @ zero_zero_int @ zero_zero_int ).

% less_eq_int_code(1)
thf(fact_814_less__int__code_I1_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ zero_zero_int ) ).

% less_int_code(1)
thf(fact_815_minus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( minus_minus_int @ K @ zero_zero_int )
      = K ) ).

% minus_int_code(1)
thf(fact_816_diff__numeral__special_I12_J,axiom,
    ( ( minus_3375643675566563378r_qr_a @ ( uminus3675112017196868514r_qr_a @ one_one_Kyber_qr_a ) @ ( uminus3675112017196868514r_qr_a @ one_one_Kyber_qr_a ) )
    = zero_zero_Kyber_qr_a ) ).

% diff_numeral_special(12)
thf(fact_817_diff__numeral__special_I12_J,axiom,
    ( ( minus_3609261664126569004ring_a @ ( uminus3100561713750211260ring_a @ one_on2109788427901206336ring_a ) @ ( uminus3100561713750211260ring_a @ one_on2109788427901206336ring_a ) )
    = zero_z7902377541816115708ring_a ) ).

% diff_numeral_special(12)
thf(fact_818_diff__numeral__special_I12_J,axiom,
    ( ( minus_minus_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ one_one_int ) )
    = zero_zero_int ) ).

% diff_numeral_special(12)
thf(fact_819_diff__numeral__special_I9_J,axiom,
    ( ( minus_3375643675566563378r_qr_a @ one_one_Kyber_qr_a @ one_one_Kyber_qr_a )
    = zero_zero_Kyber_qr_a ) ).

% diff_numeral_special(9)
thf(fact_820_diff__numeral__special_I9_J,axiom,
    ( ( minus_3609261664126569004ring_a @ one_on2109788427901206336ring_a @ one_on2109788427901206336ring_a )
    = zero_z7902377541816115708ring_a ) ).

% diff_numeral_special(9)
thf(fact_821_diff__numeral__special_I9_J,axiom,
    ( ( minus_minus_int @ one_one_int @ one_one_int )
    = zero_zero_int ) ).

% diff_numeral_special(9)
thf(fact_822_less__minus__one__simps_I3_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% less_minus_one_simps(3)
thf(fact_823_less__minus__one__simps_I1_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ zero_zero_int ).

% less_minus_one_simps(1)
thf(fact_824_of__qr__1,axiom,
    ( ( kyber_of_qr_a @ one_one_Kyber_qr_a )
    = one_on3394844594818161742ring_a ) ).

% of_qr_1
thf(fact_825_to__qr__1,axiom,
    ( ( kyber_to_qr_a @ one_on3394844594818161742ring_a )
    = one_one_Kyber_qr_a ) ).

% to_qr_1
thf(fact_826_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_827_to__int__mod__ring__hom_Ohom__1__iff,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( ( finite1095367895020317408ring_a @ X3 )
        = one_one_int )
      = ( X3 = one_on2109788427901206336ring_a ) ) ).

% to_int_mod_ring_hom.hom_1_iff
thf(fact_828_to__int__mod__ring__hom_Ohom__one,axiom,
    ( ( finite1095367895020317408ring_a @ one_on2109788427901206336ring_a )
    = one_one_int ) ).

% to_int_mod_ring_hom.hom_one
thf(fact_829_to__int__mod__ring__hom_Ohom__1,axiom,
    ! [X3: finite_mod_ring_a] :
      ( ( ( finite1095367895020317408ring_a @ X3 )
        = one_one_int )
     => ( X3 = one_on2109788427901206336ring_a ) ) ).

% to_int_mod_ring_hom.hom_1
thf(fact_830_le__numeral__extra_I3_J,axiom,
    ord_less_eq_int @ zero_zero_int @ zero_zero_int ).

% le_numeral_extra(3)
thf(fact_831_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

% le_numeral_extra(3)
thf(fact_832_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_833_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ zero_zero_int ) ).

% less_numeral_extra(3)
thf(fact_834_le__numeral__extra_I4_J,axiom,
    ord_less_eq_int @ one_one_int @ one_one_int ).

% le_numeral_extra(4)
thf(fact_835_le__numeral__extra_I4_J,axiom,
    ord_less_eq_nat @ one_one_nat @ one_one_nat ).

% le_numeral_extra(4)
thf(fact_836_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_837_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_int @ one_one_int @ one_one_int ) ).

% less_numeral_extra(4)
thf(fact_838_one__neq__neg__one,axiom,
    ( one_one_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

% one_neq_neg_one
thf(fact_839_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_840_less__numeral__extra_I1_J,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% less_numeral_extra(1)
thf(fact_841_zero__neq__neg__one,axiom,
    ( zero_zero_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

% zero_neq_neg_one
thf(fact_842_le__minus__one__simps_I4_J,axiom,
    ~ ( ord_less_eq_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% le_minus_one_simps(4)
thf(fact_843_le__minus__one__simps_I2_J,axiom,
    ord_less_eq_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int ).

% le_minus_one_simps(2)
thf(fact_844_less__minus__one__simps_I4_J,axiom,
    ~ ( ord_less_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% less_minus_one_simps(4)
thf(fact_845_less__minus__one__simps_I2_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int ).

% less_minus_one_simps(2)
thf(fact_846_le__minus__one__simps_I1_J,axiom,
    ord_less_eq_int @ ( uminus_uminus_int @ one_one_int ) @ zero_zero_int ).

% le_minus_one_simps(1)
thf(fact_847_le__minus__one__simps_I3_J,axiom,
    ~ ( ord_less_eq_int @ zero_zero_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% le_minus_one_simps(3)
thf(fact_848_dbl__dec__simps_I2_J,axiom,
    ( ( neg_nu9117982281909159470r_qr_a @ zero_zero_Kyber_qr_a )
    = ( uminus3675112017196868514r_qr_a @ one_one_Kyber_qr_a ) ) ).

% dbl_dec_simps(2)
thf(fact_849_dbl__dec__simps_I2_J,axiom,
    ( ( neg_nu1316170312413174064ring_a @ zero_z7902377541816115708ring_a )
    = ( uminus3100561713750211260ring_a @ one_on2109788427901206336ring_a ) ) ).

% dbl_dec_simps(2)
thf(fact_850_dbl__dec__simps_I2_J,axiom,
    ( ( neg_nu3811975205180677377ec_int @ zero_zero_int )
    = ( uminus_uminus_int @ one_one_int ) ) ).

% dbl_dec_simps(2)
thf(fact_851_nat__descend__induct,axiom,
    ! [N: nat,P: nat > $o,M: nat] :
      ( ! [K2: nat] :
          ( ( ord_less_nat @ N @ K2 )
         => ( P @ K2 ) )
     => ( ! [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
           => ( ! [I3: nat] :
                  ( ( ord_less_nat @ K2 @ I3 )
                 => ( P @ I3 ) )
             => ( P @ K2 ) ) )
       => ( P @ M ) ) ) ).

% nat_descend_induct
thf(fact_852_comp__cong,axiom,
    ! [F: nat > nat,G: nat > nat,X3: nat,F3: nat > nat,G3: nat > nat,X4: nat] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_nat_nat_nat @ F @ G @ X3 )
        = ( comp_nat_nat_nat @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_853_comp__cong,axiom,
    ! [F: int > int,G: int > int,X3: int,F3: int > int,G3: int > int,X4: int] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_int_int_int @ F @ G @ X3 )
        = ( comp_int_int_int @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_854_comp__cong,axiom,
    ! [F: int > finite_mod_ring_a,G: int > int,X3: int,F3: int > finite_mod_ring_a,G3: int > int,X4: int] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_i8863287333377692450_a_int @ F @ G @ X3 )
        = ( comp_i8863287333377692450_a_int @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_855_comp__cong,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int,X3: finite_mod_ring_a,F3: int > int,G3: int > int,X4: int] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_i1216107289310836680ring_a @ F @ G @ X3 )
        = ( comp_int_int_int @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_856_comp__cong,axiom,
    ! [F: int > int,G: int > int,X3: int,F3: int > int,G3: finite_mod_ring_a > int,X4: finite_mod_ring_a] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_int_int_int @ F @ G @ X3 )
        = ( comp_i1216107289310836680ring_a @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_857_comp__cong,axiom,
    ! [F: int > finite_mod_ring_a,G: int > int,X3: int,F3: int > finite_mod_ring_a,G3: finite_mod_ring_a > int,X4: finite_mod_ring_a] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_i8863287333377692450_a_int @ F @ G @ X3 )
        = ( comp_i3450435572476621391ring_a @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_858_comp__cong,axiom,
    ! [F: int > int,G: finite_mod_ring_a > int,X3: finite_mod_ring_a,F3: int > int,G3: finite_mod_ring_a > int,X4: finite_mod_ring_a] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_i1216107289310836680ring_a @ F @ G @ X3 )
        = ( comp_i1216107289310836680ring_a @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_859_comp__cong,axiom,
    ! [F: int > finite_mod_ring_a,G: finite_mod_ring_a > int,X3: finite_mod_ring_a,F3: int > finite_mod_ring_a,G3: int > int,X4: int] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_i3450435572476621391ring_a @ F @ G @ X3 )
        = ( comp_i8863287333377692450_a_int @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_860_comp__cong,axiom,
    ! [F: int > finite_mod_ring_a,G: finite_mod_ring_a > int,X3: finite_mod_ring_a,F3: int > finite_mod_ring_a,G3: finite_mod_ring_a > int,X4: finite_mod_ring_a] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_i3450435572476621391ring_a @ F @ G @ X3 )
        = ( comp_i3450435572476621391ring_a @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_861_comp__cong,axiom,
    ! [F: list_int > kyber_qr_a,G: list_int > list_int,X3: list_int,F3: list_int > kyber_qr_a,G3: list_int > list_int,X4: list_int] :
      ( ( ( F @ ( G @ X3 ) )
        = ( F3 @ ( G3 @ X4 ) ) )
     => ( ( comp_l6516415865823034294st_int @ F @ G @ X3 )
        = ( comp_l6516415865823034294st_int @ F3 @ G3 @ X4 ) ) ) ).

% comp_cong
thf(fact_862_coeff__poly__cutoff,axiom,
    ! [K: nat,N: nat,P2: poly_int] :
      ( ( ( ord_less_nat @ K @ N )
       => ( ( coeff_int @ ( poly_cutoff_int @ N @ P2 ) @ K )
          = ( coeff_int @ P2 @ K ) ) )
      & ( ~ ( ord_less_nat @ K @ N )
       => ( ( coeff_int @ ( poly_cutoff_int @ N @ P2 ) @ K )
          = zero_zero_int ) ) ) ).

% coeff_poly_cutoff
thf(fact_863_coeff__poly__cutoff,axiom,
    ! [K: nat,N: nat,P2: poly_F3299452240248304339ring_a] :
      ( ( ( ord_less_nat @ K @ N )
       => ( ( coeff_1607515655354303335ring_a @ ( poly_c8149583573515411563ring_a @ N @ P2 ) @ K )
          = ( coeff_1607515655354303335ring_a @ P2 @ K ) ) )
      & ( ~ ( ord_less_nat @ K @ N )
       => ( ( coeff_1607515655354303335ring_a @ ( poly_c8149583573515411563ring_a @ N @ P2 ) @ K )
          = zero_z7902377541816115708ring_a ) ) ) ).

% coeff_poly_cutoff
thf(fact_864_coeff__poly__cutoff,axiom,
    ! [K: nat,N: nat,P2: poly_nat] :
      ( ( ( ord_less_nat @ K @ N )
       => ( ( coeff_nat @ ( poly_cutoff_nat @ N @ P2 ) @ K )
          = ( coeff_nat @ P2 @ K ) ) )
      & ( ~ ( ord_less_nat @ K @ N )
       => ( ( coeff_nat @ ( poly_cutoff_nat @ N @ P2 ) @ K )
          = zero_zero_nat ) ) ) ).

% coeff_poly_cutoff
thf(fact_865_coeff__poly__cutoff,axiom,
    ! [K: nat,N: nat,P2: poly_Kyber_qr_a] :
      ( ( ( ord_less_nat @ K @ N )
       => ( ( coeff_Kyber_qr_a @ ( poly_c7679690374876937395r_qr_a @ N @ P2 ) @ K )
          = ( coeff_Kyber_qr_a @ P2 @ K ) ) )
      & ( ~ ( ord_less_nat @ K @ N )
       => ( ( coeff_Kyber_qr_a @ ( poly_c7679690374876937395r_qr_a @ N @ P2 ) @ K )
          = zero_zero_Kyber_qr_a ) ) ) ).

% coeff_poly_cutoff
thf(fact_866_inf__pigeonhole__principle,axiom,
    ! [N: nat,F: nat > nat > $o] :
      ( ! [K2: nat] :
        ? [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
          & ( F @ K2 @ I3 ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
          & ! [K3: nat] :
            ? [K4: nat] :
              ( ( ord_less_eq_nat @ K3 @ K4 )
              & ( F @ K4 @ I2 ) ) ) ) ).

% inf_pigeonhole_principle
thf(fact_867_eucl__induct,axiom,
    ! [P: finite_mod_ring_a > finite_mod_ring_a > $o,A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ! [B4: finite_mod_ring_a] : ( P @ B4 @ zero_z7902377541816115708ring_a )
     => ( ! [A5: finite_mod_ring_a,B4: finite_mod_ring_a] :
            ( ( B4 != zero_z7902377541816115708ring_a )
           => ( ( P @ B4 @ ( modulo8308552932176287283ring_a @ A5 @ B4 ) )
             => ( P @ A5 @ B4 ) ) )
       => ( P @ A @ B ) ) ) ).

% eucl_induct
thf(fact_868_eucl__induct,axiom,
    ! [P: int > int > $o,A: int,B: int] :
      ( ! [B4: int] : ( P @ B4 @ zero_zero_int )
     => ( ! [A5: int,B4: int] :
            ( ( B4 != zero_zero_int )
           => ( ( P @ B4 @ ( modulo_modulo_int @ A5 @ B4 ) )
             => ( P @ A5 @ B4 ) ) )
       => ( P @ A @ B ) ) ) ).

% eucl_induct
thf(fact_869_eucl__induct,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [B4: nat] : ( P @ B4 @ zero_zero_nat )
     => ( ! [A5: nat,B4: nat] :
            ( ( B4 != zero_zero_nat )
           => ( ( P @ B4 @ ( modulo_modulo_nat @ A5 @ B4 ) )
             => ( P @ A5 @ B4 ) ) )
       => ( P @ A @ B ) ) ) ).

% eucl_induct
thf(fact_870_minus__diff__minus,axiom,
    ! [A: finite_mod_ring_a,B: finite_mod_ring_a] :
      ( ( minus_3609261664126569004ring_a @ ( uminus3100561713750211260ring_a @ A ) @ ( uminus3100561713750211260ring_a @ B ) )
      = ( uminus3100561713750211260ring_a @ ( minus_3609261664126569004ring_a @ A @ B ) ) ) ).

% minus_diff_minus
thf(fact_871_minus__diff__minus,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ A ) @ ( uminus_uminus_int @ B ) )
      = ( uminus_uminus_int @ ( minus_minus_int @ A @ B ) ) ) ).

% minus_diff_minus
thf(fact_872_complete__interval,axiom,
    ! [A: int,B: int,P: int > $o] :
      ( ( ord_less_int @ A @ B )
     => ( ( P @ A )
       => ( ~ ( P @ B )
         => ? [C2: int] :
              ( ( ord_less_eq_int @ A @ C2 )
              & ( ord_less_eq_int @ C2 @ B )
              & ! [X6: int] :
                  ( ( ( ord_less_eq_int @ A @ X6 )
                    & ( ord_less_int @ X6 @ C2 ) )
                 => ( P @ X6 ) )
              & ! [D2: int] :
                  ( ! [X: int] :
                      ( ( ( ord_less_eq_int @ A @ X )
                        & ( ord_less_int @ X @ D2 ) )
                     => ( P @ X ) )
                 => ( ord_less_eq_int @ D2 @ C2 ) ) ) ) ) ) ).

% complete_interval
thf(fact_873_complete__interval,axiom,
    ! [A: nat,B: nat,P: nat > $o] :
      ( ( ord_less_nat @ A @ B )
     => ( ( P @ A )
       => ( ~ ( P @ B )
         => ? [C2: nat] :
              ( ( ord_less_eq_nat @ A @ C2 )
              & ( ord_less_eq_nat @ C2 @ B )
              & ! [X6: nat] :
                  ( ( ( ord_less_eq_nat @ A @ X6 )
                    & ( ord_less_nat @ X6 @ C2 ) )
                 => ( P @ X6 ) )
              & ! [D2: nat] :
                  ( ! [X: nat] :
                      ( ( ( ord_less_eq_nat @ A @ X )
                        & ( ord_less_nat @ X @ D2 ) )
                     => ( P @ X ) )
                 => ( ord_less_eq_nat @ D2 @ C2 ) ) ) ) ) ) ).

% complete_interval
thf(fact_874_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_875_dbl__inc__simps_I4_J,axiom,
    ( ( neg_nu5901776551076858996ring_a @ ( uminus3100561713750211260ring_a @ one_on2109788427901206336ring_a ) )
    = ( uminus3100561713750211260ring_a @ one_on2109788427901206336ring_a ) ) ).

% dbl_inc_simps(4)
thf(fact_876_dbl__inc__simps_I4_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ ( uminus_uminus_int @ one_one_int ) )
    = ( uminus_uminus_int @ one_one_int ) ) ).

% dbl_inc_simps(4)
thf(fact_877_dbl__inc__simps_I2_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ zero_zero_int )
    = one_one_int ) ).

% dbl_inc_simps(2)
thf(fact_878_dbl__inc__simps_I2_J,axiom,
    ( ( neg_nu5901776551076858996ring_a @ zero_z7902377541816115708ring_a )
    = one_on2109788427901206336ring_a ) ).

% dbl_inc_simps(2)
thf(fact_879_dbl__inc__simps_I2_J,axiom,
    ( ( neg_nu6088909844630312938r_qr_a @ zero_zero_Kyber_qr_a )
    = one_one_Kyber_qr_a ) ).

% dbl_inc_simps(2)
thf(fact_880_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_881_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_882_coeff__0__reflect__poly__0__iff,axiom,
    ! [P2: poly_int] :
      ( ( ( coeff_int @ ( reflect_poly_int @ P2 ) @ zero_zero_nat )
        = zero_zero_int )
      = ( P2 = zero_zero_poly_int ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_883_coeff__0__reflect__poly__0__iff,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ ( reflec4498816349307343611ring_a @ P2 ) @ zero_zero_nat )
        = zero_z7902377541816115708ring_a )
      = ( P2 = zero_z1830546546923837194ring_a ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_884_coeff__0__reflect__poly__0__iff,axiom,
    ! [P2: poly_nat] :
      ( ( ( coeff_nat @ ( reflect_poly_nat @ P2 ) @ zero_zero_nat )
        = zero_zero_nat )
      = ( P2 = zero_zero_poly_nat ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_885_coeff__0__reflect__poly__0__iff,axiom,
    ! [P2: poly_Kyber_qr_a] :
      ( ( ( coeff_Kyber_qr_a @ ( reflec3432891733415378467r_qr_a @ P2 ) @ zero_zero_nat )
        = zero_zero_Kyber_qr_a )
      = ( P2 = zero_z2078993987043428202r_qr_a ) ) ).

% coeff_0_reflect_poly_0_iff
thf(fact_886_reflect__poly__reflect__poly,axiom,
    ! [P2: poly_int] :
      ( ( ( coeff_int @ P2 @ zero_zero_nat )
       != zero_zero_int )
     => ( ( reflect_poly_int @ ( reflect_poly_int @ P2 ) )
        = P2 ) ) ).

% reflect_poly_reflect_poly
thf(fact_887_reflect__poly__reflect__poly,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ P2 @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ( ( reflec4498816349307343611ring_a @ ( reflec4498816349307343611ring_a @ P2 ) )
        = P2 ) ) ).

% reflect_poly_reflect_poly
thf(fact_888_reflect__poly__reflect__poly,axiom,
    ! [P2: poly_nat] :
      ( ( ( coeff_nat @ P2 @ zero_zero_nat )
       != zero_zero_nat )
     => ( ( reflect_poly_nat @ ( reflect_poly_nat @ P2 ) )
        = P2 ) ) ).

% reflect_poly_reflect_poly
thf(fact_889_reflect__poly__reflect__poly,axiom,
    ! [P2: poly_Kyber_qr_a] :
      ( ( ( coeff_Kyber_qr_a @ P2 @ zero_zero_nat )
       != zero_zero_Kyber_qr_a )
     => ( ( reflec3432891733415378467r_qr_a @ ( reflec3432891733415378467r_qr_a @ P2 ) )
        = P2 ) ) ).

% reflect_poly_reflect_poly
thf(fact_890_poly__cutoff__def,axiom,
    ( poly_cutoff_int
    = ( ^ [N2: nat,P3: poly_int] :
          ( abs_poly_int
          @ ^ [K5: nat] : ( if_int @ ( ord_less_nat @ K5 @ N2 ) @ ( coeff_int @ P3 @ K5 ) @ zero_zero_int ) ) ) ) ).

% poly_cutoff_def
thf(fact_891_poly__cutoff__def,axiom,
    ( poly_c8149583573515411563ring_a
    = ( ^ [N2: nat,P3: poly_F3299452240248304339ring_a] :
          ( abs_po1984167875446606498ring_a
          @ ^ [K5: nat] : ( if_Finite_mod_ring_a @ ( ord_less_nat @ K5 @ N2 ) @ ( coeff_1607515655354303335ring_a @ P3 @ K5 ) @ zero_z7902377541816115708ring_a ) ) ) ) ).

% poly_cutoff_def
thf(fact_892_poly__cutoff__def,axiom,
    ( poly_cutoff_nat
    = ( ^ [N2: nat,P3: poly_nat] :
          ( abs_poly_nat
          @ ^ [K5: nat] : ( if_nat @ ( ord_less_nat @ K5 @ N2 ) @ ( coeff_nat @ P3 @ K5 ) @ zero_zero_nat ) ) ) ) ).

% poly_cutoff_def
thf(fact_893_poly__cutoff__def,axiom,
    ( poly_c7679690374876937395r_qr_a
    = ( ^ [N2: nat,P3: poly_Kyber_qr_a] :
          ( abs_poly_Kyber_qr_a
          @ ^ [K5: nat] : ( if_Kyber_qr_a @ ( ord_less_nat @ K5 @ N2 ) @ ( coeff_Kyber_qr_a @ P3 @ K5 ) @ zero_zero_Kyber_qr_a ) ) ) ) ).

% poly_cutoff_def
thf(fact_894_deg__qr__pos,axiom,
    ord_less_nat @ zero_zero_nat @ ( kyber_5808863167042391122g_qr_a @ type_a ) ).

% deg_qr_pos
thf(fact_895_dropWhile__mod__ring,axiom,
    ! [Xs: list_int] :
      ( ( dropWh6444057433914600428ring_a
        @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
          @ zero_z7902377541816115708ring_a )
        @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) )
      = ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a
        @ ( dropWhile_int
          @ ^ [X2: int] :
              ( ( modulo_modulo_int @ X2 @ q )
              = zero_zero_int )
          @ Xs ) ) ) ).

% dropWhile_mod_ring
thf(fact_896_dropWhile__idem,axiom,
    ! [P: finite_mod_ring_a > $o,Xs: list_F4626807571770296779ring_a] :
      ( ( dropWh6444057433914600428ring_a @ P @ ( dropWh6444057433914600428ring_a @ P @ Xs ) )
      = ( dropWh6444057433914600428ring_a @ P @ Xs ) ) ).

% dropWhile_idem
thf(fact_897_dropWhile__idem,axiom,
    ! [P: int > $o,Xs: list_int] :
      ( ( dropWhile_int @ P @ ( dropWhile_int @ P @ Xs ) )
      = ( dropWhile_int @ P @ Xs ) ) ).

% dropWhile_idem
thf(fact_898_dropWhile__dropWhile1,axiom,
    ! [Q3: finite_mod_ring_a > $o,P: finite_mod_ring_a > $o,Xs: list_F4626807571770296779ring_a] :
      ( ! [X: finite_mod_ring_a] :
          ( ( Q3 @ X )
         => ( P @ X ) )
     => ( ( dropWh6444057433914600428ring_a @ Q3 @ ( dropWh6444057433914600428ring_a @ P @ Xs ) )
        = ( dropWh6444057433914600428ring_a @ P @ Xs ) ) ) ).

% dropWhile_dropWhile1
thf(fact_899_dropWhile__dropWhile1,axiom,
    ! [Q3: int > $o,P: int > $o,Xs: list_int] :
      ( ! [X: int] :
          ( ( Q3 @ X )
         => ( P @ X ) )
     => ( ( dropWhile_int @ Q3 @ ( dropWhile_int @ P @ Xs ) )
        = ( dropWhile_int @ P @ Xs ) ) ) ).

% dropWhile_dropWhile1
thf(fact_900_strip__while__dropWhile__commute,axiom,
    ! [P: int > $o,Q3: int > $o,Xs: list_int] :
      ( ( more_strip_while_int @ P @ ( dropWhile_int @ Q3 @ Xs ) )
      = ( dropWhile_int @ Q3 @ ( more_strip_while_int @ P @ Xs ) ) ) ).

% strip_while_dropWhile_commute
thf(fact_901_strip__while__dropWhile__commute,axiom,
    ! [P: finite_mod_ring_a > $o,Q3: finite_mod_ring_a > $o,Xs: list_F4626807571770296779ring_a] :
      ( ( more_s7501023657932161932ring_a @ P @ ( dropWh6444057433914600428ring_a @ Q3 @ Xs ) )
      = ( dropWh6444057433914600428ring_a @ Q3 @ ( more_s7501023657932161932ring_a @ P @ Xs ) ) ) ).

% strip_while_dropWhile_commute
thf(fact_902_dropWhile__strip__while__commute,axiom,
    ! [P: int > $o,Q3: int > $o,Xs: list_int] :
      ( ( dropWhile_int @ P @ ( more_strip_while_int @ Q3 @ Xs ) )
      = ( more_strip_while_int @ Q3 @ ( dropWhile_int @ P @ Xs ) ) ) ).

% dropWhile_strip_while_commute
thf(fact_903_dropWhile__strip__while__commute,axiom,
    ! [P: finite_mod_ring_a > $o,Q3: finite_mod_ring_a > $o,Xs: list_F4626807571770296779ring_a] :
      ( ( dropWh6444057433914600428ring_a @ P @ ( more_s7501023657932161932ring_a @ Q3 @ Xs ) )
      = ( more_s7501023657932161932ring_a @ Q3 @ ( dropWh6444057433914600428ring_a @ P @ Xs ) ) ) ).

% dropWhile_strip_while_commute
thf(fact_904_coeff__inverse,axiom,
    ! [X3: poly_F3299452240248304339ring_a] :
      ( ( abs_po1984167875446606498ring_a @ ( coeff_1607515655354303335ring_a @ X3 ) )
      = X3 ) ).

% coeff_inverse
thf(fact_905_dropWhile__map,axiom,
    ! [P: nat > $o,F: nat > nat,Xs: list_nat] :
      ( ( dropWhile_nat @ P @ ( map_nat_nat @ F @ Xs ) )
      = ( map_nat_nat @ F @ ( dropWhile_nat @ ( comp_nat_o_nat @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_906_dropWhile__map,axiom,
    ! [P: kyber_qr_a > $o,F: list_F4626807571770296779ring_a > kyber_qr_a,Xs: list_l2267190326604534609ring_a] :
      ( ( dropWhile_Kyber_qr_a @ P @ ( map_li7477398094560982624r_qr_a @ F @ Xs ) )
      = ( map_li7477398094560982624r_qr_a @ F @ ( dropWh636626269213606514ring_a @ ( comp_K3470429480328744303ring_a @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_907_dropWhile__map,axiom,
    ! [P: list_int > $o,F: list_F4626807571770296779ring_a > list_int,Xs: list_l2267190326604534609ring_a] :
      ( ( dropWhile_list_int @ P @ ( map_li8552961069141183427st_int @ F @ Xs ) )
      = ( map_li8552961069141183427st_int @ F @ ( dropWh636626269213606514ring_a @ ( comp_l2306936060341038674ring_a @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_908_dropWhile__map,axiom,
    ! [P: kyber_qr_a > $o,F: list_int > kyber_qr_a,Xs: list_list_int] :
      ( ( dropWhile_Kyber_qr_a @ P @ ( map_li3820609314731536219r_qr_a @ F @ Xs ) )
      = ( map_li3820609314731536219r_qr_a @ F @ ( dropWhile_list_int @ ( comp_K377126981404384920st_int @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_909_dropWhile__map,axiom,
    ! [P: list_F4626807571770296779ring_a > $o,F: list_int > list_F4626807571770296779ring_a,Xs: list_list_int] :
      ( ( dropWh636626269213606514ring_a @ P @ ( map_li8573029966053210825ring_a @ F @ Xs ) )
      = ( map_li8573029966053210825ring_a @ F @ ( dropWhile_list_int @ ( comp_l6366376236843813420st_int @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_910_dropWhile__map,axiom,
    ! [P: list_int > $o,F: list_int > list_int,Xs: list_list_int] :
      ( ( dropWhile_list_int @ P @ ( map_li4896172289311737022st_int @ F @ Xs ) )
      = ( map_li4896172289311737022st_int @ F @ ( dropWhile_list_int @ ( comp_l1968830180450172917st_int @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_911_dropWhile__map,axiom,
    ! [P: finite_mod_ring_a > $o,F: finite_mod_ring_a > finite_mod_ring_a,Xs: list_F4626807571770296779ring_a] :
      ( ( dropWh6444057433914600428ring_a @ P @ ( map_Fi7082711781076630404ring_a @ F @ Xs ) )
      = ( map_Fi7082711781076630404ring_a @ F @ ( dropWh6444057433914600428ring_a @ ( comp_F5639960239771856719ring_a @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_912_dropWhile__map,axiom,
    ! [P: finite_mod_ring_a > $o,F: int > finite_mod_ring_a,Xs: list_int] :
      ( ( dropWh6444057433914600428ring_a @ P @ ( map_in5762303227890318931ring_a @ F @ Xs ) )
      = ( map_in5762303227890318931ring_a @ F @ ( dropWhile_int @ ( comp_F5410824958960047650_o_int @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_913_dropWhile__map,axiom,
    ! [P: int > $o,F: finite_mod_ring_a > int,Xs: list_F4626807571770296779ring_a] :
      ( ( dropWhile_int @ P @ ( map_Fi4186111235102398893_a_int @ F @ Xs ) )
      = ( map_Fi4186111235102398893_a_int @ F @ ( dropWh6444057433914600428ring_a @ ( comp_i8102204440562587708ring_a @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_914_dropWhile__map,axiom,
    ! [P: int > $o,F: int > int,Xs: list_int] :
      ( ( dropWhile_int @ P @ ( map_int_int @ F @ Xs ) )
      = ( map_int_int @ F @ ( dropWhile_int @ ( comp_int_o_int @ P @ F ) @ Xs ) ) ) ).

% dropWhile_map
thf(fact_915_zero__poly__def,axiom,
    ( zero_zero_poly_int
    = ( abs_poly_int
      @ ^ [Uu: nat] : zero_zero_int ) ) ).

% zero_poly_def
thf(fact_916_zero__poly__def,axiom,
    ( zero_z1830546546923837194ring_a
    = ( abs_po1984167875446606498ring_a
      @ ^ [Uu: nat] : zero_z7902377541816115708ring_a ) ) ).

% zero_poly_def
thf(fact_917_zero__poly__def,axiom,
    ( zero_zero_poly_nat
    = ( abs_poly_nat
      @ ^ [Uu: nat] : zero_zero_nat ) ) ).

% zero_poly_def
thf(fact_918_zero__poly__def,axiom,
    ( zero_z2078993987043428202r_qr_a
    = ( abs_poly_Kyber_qr_a
      @ ^ [Uu: nat] : zero_zero_Kyber_qr_a ) ) ).

% zero_poly_def
thf(fact_919_kyber__spec_OdropWhile__mod__ring,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,Xs: list_int] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( dropWh6444057433914600428ring_a
          @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
            @ zero_z7902377541816115708ring_a )
          @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) )
        = ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a
          @ ( dropWhile_int
            @ ^ [X2: int] :
                ( ( modulo_modulo_int @ X2 @ Q )
                = zero_zero_int )
            @ Xs ) ) ) ) ).

% kyber_spec.dropWhile_mod_ring
thf(fact_920_kyber__spec_OdropWhile__mod__ring,axiom,
    ! [N: int,Q: int,K: nat,N4: nat,Xs: list_int] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( dropWh6444057433914600428ring_a
          @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
            @ zero_z7902377541816115708ring_a )
          @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) )
        = ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a
          @ ( dropWhile_int
            @ ^ [X2: int] :
                ( ( modulo_modulo_int @ X2 @ Q )
                = zero_zero_int )
            @ Xs ) ) ) ) ).

% kyber_spec.dropWhile_mod_ring
thf(fact_921_minus__poly_Oabs__eq,axiom,
    ( minus_5354101470050066234ring_a
    = ( ^ [Xa2: poly_F3299452240248304339ring_a,X2: poly_F3299452240248304339ring_a] :
          ( abs_po1984167875446606498ring_a
          @ ^ [N2: nat] : ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ Xa2 @ N2 ) @ ( coeff_1607515655354303335ring_a @ X2 @ N2 ) ) ) ) ) ).

% minus_poly.abs_eq
thf(fact_922_minus__poly_Oabs__eq,axiom,
    ( minus_minus_poly_nat
    = ( ^ [Xa2: poly_nat,X2: poly_nat] :
          ( abs_poly_nat
          @ ^ [N2: nat] : ( minus_minus_nat @ ( coeff_nat @ Xa2 @ N2 ) @ ( coeff_nat @ X2 @ N2 ) ) ) ) ) ).

% minus_poly.abs_eq
thf(fact_923_minus__poly_Oabs__eq,axiom,
    ( minus_minus_poly_int
    = ( ^ [Xa2: poly_int,X2: poly_int] :
          ( abs_poly_int
          @ ^ [N2: nat] : ( minus_minus_int @ ( coeff_int @ Xa2 @ N2 ) @ ( coeff_int @ X2 @ N2 ) ) ) ) ) ).

% minus_poly.abs_eq
thf(fact_924_uminus__poly_Oabs__eq,axiom,
    ( uminus6490753114102738890ring_a
    = ( ^ [X2: poly_F3299452240248304339ring_a] :
          ( abs_po1984167875446606498ring_a
          @ ^ [N2: nat] : ( uminus3100561713750211260ring_a @ ( coeff_1607515655354303335ring_a @ X2 @ N2 ) ) ) ) ) ).

% uminus_poly.abs_eq
thf(fact_925_uminus__poly_Oabs__eq,axiom,
    ( uminus6443632714710767741ly_int
    = ( ^ [X2: poly_int] :
          ( abs_poly_int
          @ ^ [N2: nat] : ( uminus_uminus_int @ ( coeff_int @ X2 @ N2 ) ) ) ) ) ).

% uminus_poly.abs_eq
thf(fact_926_deg__qr__n,axiom,
    ( ( semiri1314217659103216013at_int @ ( kyber_5808863167042391122g_qr_a @ type_a ) )
    = n ) ).

% deg_qr_n
thf(fact_927_of__qr__to__qr_H,axiom,
    ! [X3: poly_F3299452240248304339ring_a] :
      ( ( ord_less_nat @ ( degree4881254707062955960ring_a @ X3 ) @ ( kyber_5808863167042391122g_qr_a @ type_a ) )
     => ( ( kyber_of_qr_a @ ( kyber_to_qr_a @ X3 ) )
        = X3 ) ) ).

% of_qr_to_qr'
thf(fact_928_poly__of__list__impl,axiom,
    ! [As: list_int] :
      ( ( coeffs_int @ ( poly_of_list_int @ As ) )
      = ( more_strip_while_int
        @ ( ^ [Y: int,Z: int] : ( Y = Z )
          @ zero_zero_int )
        @ As ) ) ).

% poly_of_list_impl
thf(fact_929_poly__of__list__impl,axiom,
    ! [As: list_F4626807571770296779ring_a] :
      ( ( coeffs4679052062445675434ring_a @ ( poly_o1637379883610316291ring_a @ As ) )
      = ( more_s7501023657932161932ring_a
        @ ( ^ [Y: finite_mod_ring_a,Z: finite_mod_ring_a] : ( Y = Z )
          @ zero_z7902377541816115708ring_a )
        @ As ) ) ).

% poly_of_list_impl
thf(fact_930_poly__of__list__impl,axiom,
    ! [As: list_nat] :
      ( ( coeffs_nat @ ( poly_of_list_nat @ As ) )
      = ( more_strip_while_nat
        @ ( ^ [Y: nat,Z: nat] : ( Y = Z )
          @ zero_zero_nat )
        @ As ) ) ).

% poly_of_list_impl
thf(fact_931_poly__of__list__impl,axiom,
    ! [As: list_Kyber_qr_a] :
      ( ( coeffs_Kyber_qr_a @ ( poly_o4898052445889518875r_qr_a @ As ) )
      = ( more_s8249276089521708754r_qr_a
        @ ( ^ [Y: kyber_qr_a,Z: kyber_qr_a] : ( Y = Z )
          @ zero_zero_Kyber_qr_a )
        @ As ) ) ).

% poly_of_list_impl
thf(fact_932_of__nat__eq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = ( semiri1314217659103216013at_int @ N ) )
      = ( M = N ) ) ).

% of_nat_eq_iff
thf(fact_933_of__nat__eq__0__iff,axiom,
    ! [M: nat] :
      ( ( ( semiri1316708129612266289at_nat @ M )
        = zero_zero_nat )
      = ( M = zero_zero_nat ) ) ).

% of_nat_eq_0_iff
thf(fact_934_of__nat__eq__0__iff,axiom,
    ! [M: nat] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = zero_zero_int )
      = ( M = zero_zero_nat ) ) ).

% of_nat_eq_0_iff
thf(fact_935_of__nat__0__eq__iff,axiom,
    ! [N: nat] :
      ( ( zero_zero_nat
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( zero_zero_nat = N ) ) ).

% of_nat_0_eq_iff
thf(fact_936_of__nat__0__eq__iff,axiom,
    ! [N: nat] :
      ( ( zero_zero_int
        = ( semiri1314217659103216013at_int @ N ) )
      = ( zero_zero_nat = N ) ) ).

% of_nat_0_eq_iff
thf(fact_937_of__nat__0,axiom,
    ( ( semiri9180929696517417892ring_a @ zero_zero_nat )
    = zero_z7902377541816115708ring_a ) ).

% of_nat_0
thf(fact_938_of__nat__0,axiom,
    ( ( semiri1316708129612266289at_nat @ zero_zero_nat )
    = zero_zero_nat ) ).

% of_nat_0
thf(fact_939_of__nat__0,axiom,
    ( ( semiri7313030098341262522r_qr_a @ zero_zero_nat )
    = zero_zero_Kyber_qr_a ) ).

% of_nat_0
thf(fact_940_of__nat__0,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% of_nat_0
thf(fact_941_of__nat__less__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_iff
thf(fact_942_of__nat__less__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_iff
thf(fact_943_of__nat__le__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% of_nat_le_iff
thf(fact_944_of__nat__le__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% of_nat_le_iff
thf(fact_945_semiring__char__0__class_Oof__nat__eq__1__iff,axiom,
    ! [N: nat] :
      ( ( ( semiri1316708129612266289at_nat @ N )
        = one_one_nat )
      = ( N = one_one_nat ) ) ).

% semiring_char_0_class.of_nat_eq_1_iff
thf(fact_946_semiring__char__0__class_Oof__nat__eq__1__iff,axiom,
    ! [N: nat] :
      ( ( ( semiri1314217659103216013at_int @ N )
        = one_one_int )
      = ( N = one_one_nat ) ) ).

% semiring_char_0_class.of_nat_eq_1_iff
thf(fact_947_of__nat__1__eq__iff,axiom,
    ! [N: nat] :
      ( ( one_one_nat
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( N = one_one_nat ) ) ).

% of_nat_1_eq_iff
thf(fact_948_of__nat__1__eq__iff,axiom,
    ! [N: nat] :
      ( ( one_one_int
        = ( semiri1314217659103216013at_int @ N ) )
      = ( N = one_one_nat ) ) ).

% of_nat_1_eq_iff
thf(fact_949_of__nat__1,axiom,
    ( ( semiri1316708129612266289at_nat @ one_one_nat )
    = one_one_nat ) ).

% of_nat_1
thf(fact_950_of__nat__1,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% of_nat_1
thf(fact_951_negative__eq__positive,axiom,
    ! [N: nat,M: nat] :
      ( ( ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N ) )
        = ( semiri1314217659103216013at_int @ M ) )
      = ( ( N = zero_zero_nat )
        & ( M = zero_zero_nat ) ) ) ).

% negative_eq_positive
thf(fact_952_lead__coeff__of__nat,axiom,
    ! [N: nat] :
      ( ( coeff_1607515655354303335ring_a @ ( semiri8000969770135892146ring_a @ N ) @ ( degree4881254707062955960ring_a @ ( semiri8000969770135892146ring_a @ N ) ) )
      = ( semiri9180929696517417892ring_a @ N ) ) ).

% lead_coeff_of_nat
thf(fact_953_lead__coeff__of__nat,axiom,
    ! [N: nat] :
      ( ( coeff_int @ ( semiri6323754628967941525ly_int @ N ) @ ( degree_int @ ( semiri6323754628967941525ly_int @ N ) ) )
      = ( semiri1314217659103216013at_int @ N ) ) ).

% lead_coeff_of_nat
thf(fact_954_negative__zle,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N ) ) @ ( semiri1314217659103216013at_int @ M ) ) ).

% negative_zle
thf(fact_955_of__nat__le__0__iff,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M ) @ zero_zero_int )
      = ( M = zero_zero_nat ) ) ).

% of_nat_le_0_iff
thf(fact_956_of__nat__le__0__iff,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ M ) @ zero_zero_nat )
      = ( M = zero_zero_nat ) ) ).

% of_nat_le_0_iff
thf(fact_957_leading__coeff__0__iff,axiom,
    ! [P2: poly_int] :
      ( ( ( coeff_int @ P2 @ ( degree_int @ P2 ) )
        = zero_zero_int )
      = ( P2 = zero_zero_poly_int ) ) ).

% leading_coeff_0_iff
thf(fact_958_leading__coeff__0__iff,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ P2 @ ( degree4881254707062955960ring_a @ P2 ) )
        = zero_z7902377541816115708ring_a )
      = ( P2 = zero_z1830546546923837194ring_a ) ) ).

% leading_coeff_0_iff
thf(fact_959_leading__coeff__0__iff,axiom,
    ! [P2: poly_nat] :
      ( ( ( coeff_nat @ P2 @ ( degree_nat @ P2 ) )
        = zero_zero_nat )
      = ( P2 = zero_zero_poly_nat ) ) ).

% leading_coeff_0_iff
thf(fact_960_leading__coeff__0__iff,axiom,
    ! [P2: poly_Kyber_qr_a] :
      ( ( ( coeff_Kyber_qr_a @ P2 @ ( degree_Kyber_qr_a @ P2 ) )
        = zero_zero_Kyber_qr_a )
      = ( P2 = zero_z2078993987043428202r_qr_a ) ) ).

% leading_coeff_0_iff
thf(fact_961_lead__coeff__1,axiom,
    ( ( coeff_int @ one_one_poly_int @ ( degree_int @ one_one_poly_int ) )
    = one_one_int ) ).

% lead_coeff_1
thf(fact_962_lead__coeff__1,axiom,
    ( ( coeff_nat @ one_one_poly_nat @ ( degree_nat @ one_one_poly_nat ) )
    = one_one_nat ) ).

% lead_coeff_1
thf(fact_963_lead__coeff__1,axiom,
    ( ( coeff_1607515655354303335ring_a @ one_on3394844594818161742ring_a @ ( degree4881254707062955960ring_a @ one_on3394844594818161742ring_a ) )
    = one_on2109788427901206336ring_a ) ).

% lead_coeff_1
thf(fact_964_coeff__0__reflect__poly,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( coeff_1607515655354303335ring_a @ ( reflec4498816349307343611ring_a @ P2 ) @ zero_zero_nat )
      = ( coeff_1607515655354303335ring_a @ P2 @ ( degree4881254707062955960ring_a @ P2 ) ) ) ).

% coeff_0_reflect_poly
thf(fact_965_of__nat__CHAR,axiom,
    ( ( semiri9180929696517417892ring_a @ ( semiri1808893178764602431ring_a @ type_F4046628789905392870ring_a ) )
    = zero_z7902377541816115708ring_a ) ).

% of_nat_CHAR
thf(fact_966_of__nat__CHAR,axiom,
    ( ( semiri1316708129612266289at_nat @ ( semiri2468499735816193750ar_nat @ type_nat ) )
    = zero_zero_nat ) ).

% of_nat_CHAR
thf(fact_967_of__nat__CHAR,axiom,
    ( ( semiri7313030098341262522r_qr_a @ ( semiri1317373643878705631r_qr_a @ type_Kyber_qr_a ) )
    = zero_zero_Kyber_qr_a ) ).

% of_nat_CHAR
thf(fact_968_of__nat__CHAR,axiom,
    ( ( semiri1314217659103216013at_int @ ( semiri2466009265307143474ar_int @ type_int ) )
    = zero_zero_int ) ).

% of_nat_CHAR
thf(fact_969_of__nat__0__less__iff,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% of_nat_0_less_iff
thf(fact_970_of__nat__0__less__iff,axiom,
    ! [N: nat] :
      ( ( ord_less_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% of_nat_0_less_iff
thf(fact_971_degree__reflect__poly__eq,axiom,
    ! [P2: poly_int] :
      ( ( ( coeff_int @ P2 @ zero_zero_nat )
       != zero_zero_int )
     => ( ( degree_int @ ( reflect_poly_int @ P2 ) )
        = ( degree_int @ P2 ) ) ) ).

% degree_reflect_poly_eq
thf(fact_972_degree__reflect__poly__eq,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ P2 @ zero_zero_nat )
       != zero_z7902377541816115708ring_a )
     => ( ( degree4881254707062955960ring_a @ ( reflec4498816349307343611ring_a @ P2 ) )
        = ( degree4881254707062955960ring_a @ P2 ) ) ) ).

% degree_reflect_poly_eq
thf(fact_973_degree__reflect__poly__eq,axiom,
    ! [P2: poly_nat] :
      ( ( ( coeff_nat @ P2 @ zero_zero_nat )
       != zero_zero_nat )
     => ( ( degree_nat @ ( reflect_poly_nat @ P2 ) )
        = ( degree_nat @ P2 ) ) ) ).

% degree_reflect_poly_eq
thf(fact_974_degree__reflect__poly__eq,axiom,
    ! [P2: poly_Kyber_qr_a] :
      ( ( ( coeff_Kyber_qr_a @ P2 @ zero_zero_nat )
       != zero_zero_Kyber_qr_a )
     => ( ( degree_Kyber_qr_a @ ( reflec3432891733415378467r_qr_a @ P2 ) )
        = ( degree_Kyber_qr_a @ P2 ) ) ) ).

% degree_reflect_poly_eq
thf(fact_975_int__if,axiom,
    ! [P: $o,A: nat,B: nat] :
      ( ( P
       => ( ( semiri1314217659103216013at_int @ ( if_nat @ P @ A @ B ) )
          = ( semiri1314217659103216013at_int @ A ) ) )
      & ( ~ P
       => ( ( semiri1314217659103216013at_int @ ( if_nat @ P @ A @ B ) )
          = ( semiri1314217659103216013at_int @ B ) ) ) ) ).

% int_if
thf(fact_976_nat__int__comparison_I1_J,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [A2: nat,B2: nat] :
          ( ( semiri1314217659103216013at_int @ A2 )
          = ( semiri1314217659103216013at_int @ B2 ) ) ) ) ).

% nat_int_comparison(1)
thf(fact_977_int__diff__cases,axiom,
    ! [Z2: int] :
      ~ ! [M4: nat,N3: nat] :
          ( Z2
         != ( minus_minus_int @ ( semiri1314217659103216013at_int @ M4 ) @ ( semiri1314217659103216013at_int @ N3 ) ) ) ).

% int_diff_cases
thf(fact_978_int__cases2,axiom,
    ! [Z2: int] :
      ( ! [N3: nat] :
          ( Z2
         != ( semiri1314217659103216013at_int @ N3 ) )
     => ~ ! [N3: nat] :
            ( Z2
           != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N3 ) ) ) ) ).

% int_cases2
thf(fact_979_of__nat__0__le__iff,axiom,
    ! [N: nat] : ( ord_less_eq_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ N ) ) ).

% of_nat_0_le_iff
thf(fact_980_of__nat__0__le__iff,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ ( semiri1316708129612266289at_nat @ N ) ) ).

% of_nat_0_le_iff
thf(fact_981_of__nat__less__0__iff,axiom,
    ! [M: nat] :
      ~ ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ zero_zero_nat ) ).

% of_nat_less_0_iff
thf(fact_982_of__nat__less__0__iff,axiom,
    ! [M: nat] :
      ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ zero_zero_int ) ).

% of_nat_less_0_iff
thf(fact_983_less__imp__of__nat__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% less_imp_of_nat_less
thf(fact_984_less__imp__of__nat__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% less_imp_of_nat_less
thf(fact_985_of__nat__less__imp__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_imp_less
thf(fact_986_of__nat__less__imp__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_imp_less
thf(fact_987_of__nat__mono,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ I ) @ ( semiri1314217659103216013at_int @ J ) ) ) ).

% of_nat_mono
thf(fact_988_of__nat__mono,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ I ) @ ( semiri1316708129612266289at_nat @ J ) ) ) ).

% of_nat_mono
thf(fact_989_int__ops_I1_J,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% int_ops(1)
thf(fact_990_nat__int__comparison_I2_J,axiom,
    ( ord_less_nat
    = ( ^ [A2: nat,B2: nat] : ( ord_less_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ) ).

% nat_int_comparison(2)
thf(fact_991_nat__int__comparison_I3_J,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] : ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ) ).

% nat_int_comparison(3)
thf(fact_992_zle__int,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% zle_int
thf(fact_993_zero__le__imp__eq__int,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ? [N3: nat] :
          ( K
          = ( semiri1314217659103216013at_int @ N3 ) ) ) ).

% zero_le_imp_eq_int
thf(fact_994_nonneg__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ~ ! [N3: nat] :
            ( K
           != ( semiri1314217659103216013at_int @ N3 ) ) ) ).

% nonneg_int_cases
thf(fact_995_int__ops_I2_J,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% int_ops(2)
thf(fact_996_not__int__zless__negative,axiom,
    ! [N: nat,M: nat] :
      ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ N ) @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ M ) ) ) ).

% not_int_zless_negative
thf(fact_997_poly__of__list__def,axiom,
    poly_o1637379883610316291ring_a = poly_F5739129160929385880ring_a ).

% poly_of_list_def
thf(fact_998_int__ops_I9_J,axiom,
    ! [A: nat,B: nat] :
      ( ( semiri1314217659103216013at_int @ ( modulo_modulo_nat @ A @ B ) )
      = ( modulo_modulo_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ).

% int_ops(9)
thf(fact_999_zmod__int,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( modulo_modulo_nat @ M @ N ) )
      = ( modulo_modulo_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% zmod_int
thf(fact_1000_nat__less__as__int,axiom,
    ( ord_less_nat
    = ( ^ [A2: nat,B2: nat] : ( ord_less_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ) ).

% nat_less_as_int
thf(fact_1001_nat__leq__as__int,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] : ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ) ).

% nat_leq_as_int
thf(fact_1002_less__degree__imp,axiom,
    ! [N: nat,P2: poly_int] :
      ( ( ord_less_nat @ N @ ( degree_int @ P2 ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
          & ( ( coeff_int @ P2 @ I2 )
           != zero_zero_int ) ) ) ).

% less_degree_imp
thf(fact_1003_less__degree__imp,axiom,
    ! [N: nat,P2: poly_F3299452240248304339ring_a] :
      ( ( ord_less_nat @ N @ ( degree4881254707062955960ring_a @ P2 ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
          & ( ( coeff_1607515655354303335ring_a @ P2 @ I2 )
           != zero_z7902377541816115708ring_a ) ) ) ).

% less_degree_imp
thf(fact_1004_less__degree__imp,axiom,
    ! [N: nat,P2: poly_nat] :
      ( ( ord_less_nat @ N @ ( degree_nat @ P2 ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
          & ( ( coeff_nat @ P2 @ I2 )
           != zero_zero_nat ) ) ) ).

% less_degree_imp
thf(fact_1005_less__degree__imp,axiom,
    ! [N: nat,P2: poly_Kyber_qr_a] :
      ( ( ord_less_nat @ N @ ( degree_Kyber_qr_a @ P2 ) )
     => ? [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
          & ( ( coeff_Kyber_qr_a @ P2 @ I2 )
           != zero_zero_Kyber_qr_a ) ) ) ).

% less_degree_imp
thf(fact_1006_coeff__eq__0,axiom,
    ! [P2: poly_int,N: nat] :
      ( ( ord_less_nat @ ( degree_int @ P2 ) @ N )
     => ( ( coeff_int @ P2 @ N )
        = zero_zero_int ) ) ).

% coeff_eq_0
thf(fact_1007_coeff__eq__0,axiom,
    ! [P2: poly_F3299452240248304339ring_a,N: nat] :
      ( ( ord_less_nat @ ( degree4881254707062955960ring_a @ P2 ) @ N )
     => ( ( coeff_1607515655354303335ring_a @ P2 @ N )
        = zero_z7902377541816115708ring_a ) ) ).

% coeff_eq_0
thf(fact_1008_coeff__eq__0,axiom,
    ! [P2: poly_nat,N: nat] :
      ( ( ord_less_nat @ ( degree_nat @ P2 ) @ N )
     => ( ( coeff_nat @ P2 @ N )
        = zero_zero_nat ) ) ).

% coeff_eq_0
thf(fact_1009_coeff__eq__0,axiom,
    ! [P2: poly_Kyber_qr_a,N: nat] :
      ( ( ord_less_nat @ ( degree_Kyber_qr_a @ P2 ) @ N )
     => ( ( coeff_Kyber_qr_a @ P2 @ N )
        = zero_zero_Kyber_qr_a ) ) ).

% coeff_eq_0
thf(fact_1010_of__nat__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( semiri9180929696517417892ring_a @ ( minus_minus_nat @ M @ N ) )
        = ( minus_3609261664126569004ring_a @ ( semiri9180929696517417892ring_a @ M ) @ ( semiri9180929696517417892ring_a @ N ) ) ) ) ).

% of_nat_diff
thf(fact_1011_of__nat__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( semiri1316708129612266289at_nat @ ( minus_minus_nat @ M @ N ) )
        = ( minus_minus_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ) ).

% of_nat_diff
thf(fact_1012_of__nat__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ M @ N ) )
        = ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ) ).

% of_nat_diff
thf(fact_1013_le__degree,axiom,
    ! [P2: poly_int,N: nat] :
      ( ( ( coeff_int @ P2 @ N )
       != zero_zero_int )
     => ( ord_less_eq_nat @ N @ ( degree_int @ P2 ) ) ) ).

% le_degree
thf(fact_1014_le__degree,axiom,
    ! [P2: poly_F3299452240248304339ring_a,N: nat] :
      ( ( ( coeff_1607515655354303335ring_a @ P2 @ N )
       != zero_z7902377541816115708ring_a )
     => ( ord_less_eq_nat @ N @ ( degree4881254707062955960ring_a @ P2 ) ) ) ).

% le_degree
thf(fact_1015_le__degree,axiom,
    ! [P2: poly_nat,N: nat] :
      ( ( ( coeff_nat @ P2 @ N )
       != zero_zero_nat )
     => ( ord_less_eq_nat @ N @ ( degree_nat @ P2 ) ) ) ).

% le_degree
thf(fact_1016_le__degree,axiom,
    ! [P2: poly_Kyber_qr_a,N: nat] :
      ( ( ( coeff_Kyber_qr_a @ P2 @ N )
       != zero_zero_Kyber_qr_a )
     => ( ord_less_eq_nat @ N @ ( degree_Kyber_qr_a @ P2 ) ) ) ).

% le_degree
thf(fact_1017_leading__coeff__neq__0,axiom,
    ! [P2: poly_int] :
      ( ( P2 != zero_zero_poly_int )
     => ( ( coeff_int @ P2 @ ( degree_int @ P2 ) )
       != zero_zero_int ) ) ).

% leading_coeff_neq_0
thf(fact_1018_leading__coeff__neq__0,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( P2 != zero_z1830546546923837194ring_a )
     => ( ( coeff_1607515655354303335ring_a @ P2 @ ( degree4881254707062955960ring_a @ P2 ) )
       != zero_z7902377541816115708ring_a ) ) ).

% leading_coeff_neq_0
thf(fact_1019_leading__coeff__neq__0,axiom,
    ! [P2: poly_nat] :
      ( ( P2 != zero_zero_poly_nat )
     => ( ( coeff_nat @ P2 @ ( degree_nat @ P2 ) )
       != zero_zero_nat ) ) ).

% leading_coeff_neq_0
thf(fact_1020_leading__coeff__neq__0,axiom,
    ! [P2: poly_Kyber_qr_a] :
      ( ( P2 != zero_z2078993987043428202r_qr_a )
     => ( ( coeff_Kyber_qr_a @ P2 @ ( degree_Kyber_qr_a @ P2 ) )
       != zero_zero_Kyber_qr_a ) ) ).

% leading_coeff_neq_0
thf(fact_1021_int__cases4,axiom,
    ! [M: int] :
      ( ! [N3: nat] :
          ( M
         != ( semiri1314217659103216013at_int @ N3 ) )
     => ~ ! [N3: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N3 )
           => ( M
             != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N3 ) ) ) ) ) ).

% int_cases4
thf(fact_1022_int__zle__neg,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ N ) @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ M ) ) )
      = ( ( N = zero_zero_nat )
        & ( M = zero_zero_nat ) ) ) ).

% int_zle_neg
thf(fact_1023_nonpos__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ K @ zero_zero_int )
     => ~ ! [N3: nat] :
            ( K
           != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N3 ) ) ) ) ).

% nonpos_int_cases
thf(fact_1024_negative__zle__0,axiom,
    ! [N: nat] : ( ord_less_eq_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N ) ) @ zero_zero_int ) ).

% negative_zle_0
thf(fact_1025_lead__coeff__minus,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( coeff_1607515655354303335ring_a @ ( uminus6490753114102738890ring_a @ P2 ) @ ( degree4881254707062955960ring_a @ ( uminus6490753114102738890ring_a @ P2 ) ) )
      = ( uminus3100561713750211260ring_a @ ( coeff_1607515655354303335ring_a @ P2 @ ( degree4881254707062955960ring_a @ P2 ) ) ) ) ).

% lead_coeff_minus
thf(fact_1026_lead__coeff__minus,axiom,
    ! [P2: poly_int] :
      ( ( coeff_int @ ( uminus6443632714710767741ly_int @ P2 ) @ ( degree_int @ ( uminus6443632714710767741ly_int @ P2 ) ) )
      = ( uminus_uminus_int @ ( coeff_int @ P2 @ ( degree_int @ P2 ) ) ) ) ).

% lead_coeff_minus
thf(fact_1027_type__copy__map__cong0,axiom,
    ! [M5: nat > nat,G: nat > nat,X3: nat,N5: nat > nat,H: nat > nat,F: nat > nat] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_nat_nat_nat @ ( comp_nat_nat_nat @ F @ M5 ) @ G @ X3 )
        = ( comp_nat_nat_nat @ ( comp_nat_nat_nat @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1028_type__copy__map__cong0,axiom,
    ! [M5: int > int,G: int > int,X3: int,N5: int > int,H: int > int,F: int > int] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_int_int_int @ ( comp_int_int_int @ F @ M5 ) @ G @ X3 )
        = ( comp_int_int_int @ ( comp_int_int_int @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1029_type__copy__map__cong0,axiom,
    ! [M5: finite_mod_ring_a > int,G: int > finite_mod_ring_a,X3: int,N5: int > int,H: int > int,F: int > int] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_F5719199965815211644nt_int @ ( comp_i1216107289310836680ring_a @ F @ M5 ) @ G @ X3 )
        = ( comp_int_int_int @ ( comp_int_int_int @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1030_type__copy__map__cong0,axiom,
    ! [M5: int > int,G: int > int,X3: int,N5: int > int,H: int > int,F: int > finite_mod_ring_a] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_i8863287333377692450_a_int @ ( comp_i8863287333377692450_a_int @ F @ M5 ) @ G @ X3 )
        = ( comp_i8863287333377692450_a_int @ ( comp_i8863287333377692450_a_int @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1031_type__copy__map__cong0,axiom,
    ! [M5: int > int,G: finite_mod_ring_a > int,X3: finite_mod_ring_a,N5: int > int,H: finite_mod_ring_a > int,F: int > int] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_i1216107289310836680ring_a @ ( comp_int_int_int @ F @ M5 ) @ G @ X3 )
        = ( comp_i1216107289310836680ring_a @ ( comp_int_int_int @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1032_type__copy__map__cong0,axiom,
    ! [M5: int > int,G: int > int,X3: int,N5: finite_mod_ring_a > int,H: int > finite_mod_ring_a,F: int > int] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_int_int_int @ ( comp_int_int_int @ F @ M5 ) @ G @ X3 )
        = ( comp_F5719199965815211644nt_int @ ( comp_i1216107289310836680ring_a @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1033_type__copy__map__cong0,axiom,
    ! [M5: finite_mod_ring_a > int,G: finite_mod_ring_a > finite_mod_ring_a,X3: finite_mod_ring_a,N5: int > int,H: finite_mod_ring_a > int,F: int > int] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_F2690252154722880373ring_a @ ( comp_i1216107289310836680ring_a @ F @ M5 ) @ G @ X3 )
        = ( comp_i1216107289310836680ring_a @ ( comp_int_int_int @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1034_type__copy__map__cong0,axiom,
    ! [M5: finite_mod_ring_a > int,G: int > finite_mod_ring_a,X3: int,N5: int > int,H: int > int,F: int > finite_mod_ring_a] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_F1114060161934960335_a_int @ ( comp_i3450435572476621391ring_a @ F @ M5 ) @ G @ X3 )
        = ( comp_i8863287333377692450_a_int @ ( comp_i8863287333377692450_a_int @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1035_type__copy__map__cong0,axiom,
    ! [M5: int > int,G: int > int,X3: int,N5: finite_mod_ring_a > int,H: int > finite_mod_ring_a,F: int > finite_mod_ring_a] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_i8863287333377692450_a_int @ ( comp_i8863287333377692450_a_int @ F @ M5 ) @ G @ X3 )
        = ( comp_F1114060161934960335_a_int @ ( comp_i3450435572476621391ring_a @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1036_type__copy__map__cong0,axiom,
    ! [M5: int > int,G: finite_mod_ring_a > int,X3: finite_mod_ring_a,N5: finite_mod_ring_a > int,H: finite_mod_ring_a > finite_mod_ring_a,F: int > int] :
      ( ( ( M5 @ ( G @ X3 ) )
        = ( N5 @ ( H @ X3 ) ) )
     => ( ( comp_i1216107289310836680ring_a @ ( comp_int_int_int @ F @ M5 ) @ G @ X3 )
        = ( comp_F2690252154722880373ring_a @ ( comp_i1216107289310836680ring_a @ F @ N5 ) @ H @ X3 ) ) ) ).

% type_copy_map_cong0
thf(fact_1037_kyber__spec_Odeg__qr__n,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_a @ type_a @ type_a @ N @ Q @ K @ N4 )
     => ( ( semiri1314217659103216013at_int @ ( kyber_5808863167042391122g_qr_a @ type_a ) )
        = N ) ) ).

% kyber_spec.deg_qr_n
thf(fact_1038_kyber__spec_Odeg__qr__n,axiom,
    ! [N: int,Q: int,K: nat,N4: nat] :
      ( ( kyber_kyber_spec_a_k @ type_a @ type_k @ N @ Q @ K @ N4 )
     => ( ( semiri1314217659103216013at_int @ ( kyber_5808863167042391122g_qr_a @ type_a ) )
        = N ) ) ).

% kyber_spec.deg_qr_n
thf(fact_1039_degree__le,axiom,
    ! [N: nat,P2: poly_int] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
         => ( ( coeff_int @ P2 @ I2 )
            = zero_zero_int ) )
     => ( ord_less_eq_nat @ ( degree_int @ P2 ) @ N ) ) ).

% degree_le
thf(fact_1040_degree__le,axiom,
    ! [N: nat,P2: poly_F3299452240248304339ring_a] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
         => ( ( coeff_1607515655354303335ring_a @ P2 @ I2 )
            = zero_z7902377541816115708ring_a ) )
     => ( ord_less_eq_nat @ ( degree4881254707062955960ring_a @ P2 ) @ N ) ) ).

% degree_le
thf(fact_1041_degree__le,axiom,
    ! [N: nat,P2: poly_nat] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
         => ( ( coeff_nat @ P2 @ I2 )
            = zero_zero_nat ) )
     => ( ord_less_eq_nat @ ( degree_nat @ P2 ) @ N ) ) ).

% degree_le
thf(fact_1042_degree__le,axiom,
    ! [N: nat,P2: poly_Kyber_qr_a] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ N @ I2 )
         => ( ( coeff_Kyber_qr_a @ P2 @ I2 )
            = zero_zero_Kyber_qr_a ) )
     => ( ord_less_eq_nat @ ( degree_Kyber_qr_a @ P2 ) @ N ) ) ).

% degree_le
thf(fact_1043_int__cases3,axiom,
    ! [K: int] :
      ( ( K != zero_zero_int )
     => ( ! [N3: nat] :
            ( ( K
              = ( semiri1314217659103216013at_int @ N3 ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N3 ) )
       => ~ ! [N3: nat] :
              ( ( K
                = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N3 ) ) )
             => ~ ( ord_less_nat @ zero_zero_nat @ N3 ) ) ) ) ).

% int_cases3
thf(fact_1044_zero__less__imp__eq__int,axiom,
    ! [K: int] :
      ( ( ord_less_int @ zero_zero_int @ K )
     => ? [N3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N3 )
          & ( K
            = ( semiri1314217659103216013at_int @ N3 ) ) ) ) ).

% zero_less_imp_eq_int
thf(fact_1045_pos__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_int @ zero_zero_int @ K )
     => ~ ! [N3: nat] :
            ( ( K
              = ( semiri1314217659103216013at_int @ N3 ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N3 ) ) ) ).

% pos_int_cases
thf(fact_1046_int__ops_I6_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ord_less_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) )
       => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ A @ B ) )
          = zero_zero_int ) )
      & ( ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) )
       => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ A @ B ) )
          = ( minus_minus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ) ) ).

% int_ops(6)
thf(fact_1047_deg__of__qr,axiom,
    ! [X3: kyber_qr_a] : ( ord_less_nat @ ( degree4881254707062955960ring_a @ ( kyber_of_qr_a @ X3 ) ) @ ( kyber_5808863167042391122g_qr_a @ type_a ) ) ).

% deg_of_qr
thf(fact_1048_eq__zero__or__degree__less,axiom,
    ! [P2: poly_int,N: nat] :
      ( ( ord_less_eq_nat @ ( degree_int @ P2 ) @ N )
     => ( ( ( coeff_int @ P2 @ N )
          = zero_zero_int )
       => ( ( P2 = zero_zero_poly_int )
          | ( ord_less_nat @ ( degree_int @ P2 ) @ N ) ) ) ) ).

% eq_zero_or_degree_less
thf(fact_1049_eq__zero__or__degree__less,axiom,
    ! [P2: poly_F3299452240248304339ring_a,N: nat] :
      ( ( ord_less_eq_nat @ ( degree4881254707062955960ring_a @ P2 ) @ N )
     => ( ( ( coeff_1607515655354303335ring_a @ P2 @ N )
          = zero_z7902377541816115708ring_a )
       => ( ( P2 = zero_z1830546546923837194ring_a )
          | ( ord_less_nat @ ( degree4881254707062955960ring_a @ P2 ) @ N ) ) ) ) ).

% eq_zero_or_degree_less
thf(fact_1050_eq__zero__or__degree__less,axiom,
    ! [P2: poly_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( degree_nat @ P2 ) @ N )
     => ( ( ( coeff_nat @ P2 @ N )
          = zero_zero_nat )
       => ( ( P2 = zero_zero_poly_nat )
          | ( ord_less_nat @ ( degree_nat @ P2 ) @ N ) ) ) ) ).

% eq_zero_or_degree_less
thf(fact_1051_eq__zero__or__degree__less,axiom,
    ! [P2: poly_Kyber_qr_a,N: nat] :
      ( ( ord_less_eq_nat @ ( degree_Kyber_qr_a @ P2 ) @ N )
     => ( ( ( coeff_Kyber_qr_a @ P2 @ N )
          = zero_zero_Kyber_qr_a )
       => ( ( P2 = zero_z2078993987043428202r_qr_a )
          | ( ord_less_nat @ ( degree_Kyber_qr_a @ P2 ) @ N ) ) ) ) ).

% eq_zero_or_degree_less
thf(fact_1052_coeff__0__degree__minus__1,axiom,
    ! [Rrr: poly_int,Dr: nat] :
      ( ( ( coeff_int @ Rrr @ Dr )
        = zero_zero_int )
     => ( ( ord_less_eq_nat @ ( degree_int @ Rrr ) @ Dr )
       => ( ord_less_eq_nat @ ( degree_int @ Rrr ) @ ( minus_minus_nat @ Dr @ one_one_nat ) ) ) ) ).

% coeff_0_degree_minus_1
thf(fact_1053_coeff__0__degree__minus__1,axiom,
    ! [Rrr: poly_F3299452240248304339ring_a,Dr: nat] :
      ( ( ( coeff_1607515655354303335ring_a @ Rrr @ Dr )
        = zero_z7902377541816115708ring_a )
     => ( ( ord_less_eq_nat @ ( degree4881254707062955960ring_a @ Rrr ) @ Dr )
       => ( ord_less_eq_nat @ ( degree4881254707062955960ring_a @ Rrr ) @ ( minus_minus_nat @ Dr @ one_one_nat ) ) ) ) ).

% coeff_0_degree_minus_1
thf(fact_1054_coeff__0__degree__minus__1,axiom,
    ! [Rrr: poly_nat,Dr: nat] :
      ( ( ( coeff_nat @ Rrr @ Dr )
        = zero_zero_nat )
     => ( ( ord_less_eq_nat @ ( degree_nat @ Rrr ) @ Dr )
       => ( ord_less_eq_nat @ ( degree_nat @ Rrr ) @ ( minus_minus_nat @ Dr @ one_one_nat ) ) ) ) ).

% coeff_0_degree_minus_1
thf(fact_1055_coeff__0__degree__minus__1,axiom,
    ! [Rrr: poly_Kyber_qr_a,Dr: nat] :
      ( ( ( coeff_Kyber_qr_a @ Rrr @ Dr )
        = zero_zero_Kyber_qr_a )
     => ( ( ord_less_eq_nat @ ( degree_Kyber_qr_a @ Rrr ) @ Dr )
       => ( ord_less_eq_nat @ ( degree_Kyber_qr_a @ Rrr ) @ ( minus_minus_nat @ Dr @ one_one_nat ) ) ) ) ).

% coeff_0_degree_minus_1
thf(fact_1056_neg__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_int @ K @ zero_zero_int )
     => ~ ! [N3: nat] :
            ( ( K
              = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N3 ) ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N3 ) ) ) ).

% neg_int_cases
thf(fact_1057_coeff__reflect__poly,axiom,
    ! [P2: poly_int,N: nat] :
      ( ( ( ord_less_nat @ ( degree_int @ P2 ) @ N )
       => ( ( coeff_int @ ( reflect_poly_int @ P2 ) @ N )
          = zero_zero_int ) )
      & ( ~ ( ord_less_nat @ ( degree_int @ P2 ) @ N )
       => ( ( coeff_int @ ( reflect_poly_int @ P2 ) @ N )
          = ( coeff_int @ P2 @ ( minus_minus_nat @ ( degree_int @ P2 ) @ N ) ) ) ) ) ).

% coeff_reflect_poly
thf(fact_1058_coeff__reflect__poly,axiom,
    ! [P2: poly_F3299452240248304339ring_a,N: nat] :
      ( ( ( ord_less_nat @ ( degree4881254707062955960ring_a @ P2 ) @ N )
       => ( ( coeff_1607515655354303335ring_a @ ( reflec4498816349307343611ring_a @ P2 ) @ N )
          = zero_z7902377541816115708ring_a ) )
      & ( ~ ( ord_less_nat @ ( degree4881254707062955960ring_a @ P2 ) @ N )
       => ( ( coeff_1607515655354303335ring_a @ ( reflec4498816349307343611ring_a @ P2 ) @ N )
          = ( coeff_1607515655354303335ring_a @ P2 @ ( minus_minus_nat @ ( degree4881254707062955960ring_a @ P2 ) @ N ) ) ) ) ) ).

% coeff_reflect_poly
thf(fact_1059_coeff__reflect__poly,axiom,
    ! [P2: poly_nat,N: nat] :
      ( ( ( ord_less_nat @ ( degree_nat @ P2 ) @ N )
       => ( ( coeff_nat @ ( reflect_poly_nat @ P2 ) @ N )
          = zero_zero_nat ) )
      & ( ~ ( ord_less_nat @ ( degree_nat @ P2 ) @ N )
       => ( ( coeff_nat @ ( reflect_poly_nat @ P2 ) @ N )
          = ( coeff_nat @ P2 @ ( minus_minus_nat @ ( degree_nat @ P2 ) @ N ) ) ) ) ) ).

% coeff_reflect_poly
thf(fact_1060_coeff__reflect__poly,axiom,
    ! [P2: poly_Kyber_qr_a,N: nat] :
      ( ( ( ord_less_nat @ ( degree_Kyber_qr_a @ P2 ) @ N )
       => ( ( coeff_Kyber_qr_a @ ( reflec3432891733415378467r_qr_a @ P2 ) @ N )
          = zero_zero_Kyber_qr_a ) )
      & ( ~ ( ord_less_nat @ ( degree_Kyber_qr_a @ P2 ) @ N )
       => ( ( coeff_Kyber_qr_a @ ( reflec3432891733415378467r_qr_a @ P2 ) @ N )
          = ( coeff_Kyber_qr_a @ P2 @ ( minus_minus_nat @ ( degree_Kyber_qr_a @ P2 ) @ N ) ) ) ) ) ).

% coeff_reflect_poly
thf(fact_1061_zdiff__int__split,axiom,
    ! [P: int > $o,X3: nat,Y2: nat] :
      ( ( P @ ( semiri1314217659103216013at_int @ ( minus_minus_nat @ X3 @ Y2 ) ) )
      = ( ( ( ord_less_eq_nat @ Y2 @ X3 )
         => ( P @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ X3 ) @ ( semiri1314217659103216013at_int @ Y2 ) ) ) )
        & ( ( ord_less_nat @ X3 @ Y2 )
         => ( P @ zero_zero_int ) ) ) ) ).

% zdiff_int_split
thf(fact_1062_CHAR__pos__iff,axiom,
    ( ( ord_less_nat @ zero_zero_nat @ ( semiri1808893178764602431ring_a @ type_F4046628789905392870ring_a ) )
    = ( ? [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
          & ( ( semiri9180929696517417892ring_a @ N2 )
            = zero_z7902377541816115708ring_a ) ) ) ) ).

% CHAR_pos_iff
thf(fact_1063_CHAR__pos__iff,axiom,
    ( ( ord_less_nat @ zero_zero_nat @ ( semiri2468499735816193750ar_nat @ type_nat ) )
    = ( ? [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
          & ( ( semiri1316708129612266289at_nat @ N2 )
            = zero_zero_nat ) ) ) ) ).

% CHAR_pos_iff
thf(fact_1064_CHAR__pos__iff,axiom,
    ( ( ord_less_nat @ zero_zero_nat @ ( semiri1317373643878705631r_qr_a @ type_Kyber_qr_a ) )
    = ( ? [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
          & ( ( semiri7313030098341262522r_qr_a @ N2 )
            = zero_zero_Kyber_qr_a ) ) ) ) ).

% CHAR_pos_iff
thf(fact_1065_CHAR__pos__iff,axiom,
    ( ( ord_less_nat @ zero_zero_nat @ ( semiri2466009265307143474ar_int @ type_int ) )
    = ( ? [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
          & ( ( semiri1314217659103216013at_int @ N2 )
            = zero_zero_int ) ) ) ) ).

% CHAR_pos_iff
thf(fact_1066_CHAR__eq__posI,axiom,
    ! [C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ C )
     => ( ( ( semiri9180929696517417892ring_a @ C )
          = zero_z7902377541816115708ring_a )
       => ( ! [X: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ X )
             => ( ( ord_less_nat @ X @ C )
               => ( ( semiri9180929696517417892ring_a @ X )
                 != zero_z7902377541816115708ring_a ) ) )
         => ( ( semiri1808893178764602431ring_a @ type_F4046628789905392870ring_a )
            = C ) ) ) ) ).

% CHAR_eq_posI
thf(fact_1067_CHAR__eq__posI,axiom,
    ! [C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ C )
     => ( ( ( semiri1316708129612266289at_nat @ C )
          = zero_zero_nat )
       => ( ! [X: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ X )
             => ( ( ord_less_nat @ X @ C )
               => ( ( semiri1316708129612266289at_nat @ X )
                 != zero_zero_nat ) ) )
         => ( ( semiri2468499735816193750ar_nat @ type_nat )
            = C ) ) ) ) ).

% CHAR_eq_posI
thf(fact_1068_CHAR__eq__posI,axiom,
    ! [C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ C )
     => ( ( ( semiri7313030098341262522r_qr_a @ C )
          = zero_zero_Kyber_qr_a )
       => ( ! [X: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ X )
             => ( ( ord_less_nat @ X @ C )
               => ( ( semiri7313030098341262522r_qr_a @ X )
                 != zero_zero_Kyber_qr_a ) ) )
         => ( ( semiri1317373643878705631r_qr_a @ type_Kyber_qr_a )
            = C ) ) ) ) ).

% CHAR_eq_posI
thf(fact_1069_CHAR__eq__posI,axiom,
    ! [C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ C )
     => ( ( ( semiri1314217659103216013at_int @ C )
          = zero_zero_int )
       => ( ! [X: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ X )
             => ( ( ord_less_nat @ X @ C )
               => ( ( semiri1314217659103216013at_int @ X )
                 != zero_zero_int ) ) )
         => ( ( semiri2466009265307143474ar_int @ type_int )
            = C ) ) ) ) ).

% CHAR_eq_posI
thf(fact_1070_CHAR__eq0__iff,axiom,
    ( ( ( semiri1808893178764602431ring_a @ type_F4046628789905392870ring_a )
      = zero_zero_nat )
    = ( ! [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
         => ( ( semiri9180929696517417892ring_a @ N2 )
           != zero_z7902377541816115708ring_a ) ) ) ) ).

% CHAR_eq0_iff
thf(fact_1071_CHAR__eq0__iff,axiom,
    ( ( ( semiri2468499735816193750ar_nat @ type_nat )
      = zero_zero_nat )
    = ( ! [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
         => ( ( semiri1316708129612266289at_nat @ N2 )
           != zero_zero_nat ) ) ) ) ).

% CHAR_eq0_iff
thf(fact_1072_CHAR__eq0__iff,axiom,
    ( ( ( semiri1317373643878705631r_qr_a @ type_Kyber_qr_a )
      = zero_zero_nat )
    = ( ! [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
         => ( ( semiri7313030098341262522r_qr_a @ N2 )
           != zero_zero_Kyber_qr_a ) ) ) ) ).

% CHAR_eq0_iff
thf(fact_1073_CHAR__eq0__iff,axiom,
    ( ( ( semiri2466009265307143474ar_int @ type_int )
      = zero_zero_nat )
    = ( ! [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
         => ( ( semiri1314217659103216013at_int @ N2 )
           != zero_zero_int ) ) ) ) ).

% CHAR_eq0_iff
thf(fact_1074_monic__degree__0,axiom,
    ! [P2: poly_int] :
      ( ( ( coeff_int @ P2 @ ( degree_int @ P2 ) )
        = one_one_int )
     => ( ( ( degree_int @ P2 )
          = zero_zero_nat )
        = ( P2 = one_one_poly_int ) ) ) ).

% monic_degree_0
thf(fact_1075_monic__degree__0,axiom,
    ! [P2: poly_nat] :
      ( ( ( coeff_nat @ P2 @ ( degree_nat @ P2 ) )
        = one_one_nat )
     => ( ( ( degree_nat @ P2 )
          = zero_zero_nat )
        = ( P2 = one_one_poly_nat ) ) ) ).

% monic_degree_0
thf(fact_1076_monic__degree__0,axiom,
    ! [P2: poly_F3299452240248304339ring_a] :
      ( ( ( coeff_1607515655354303335ring_a @ P2 @ ( degree4881254707062955960ring_a @ P2 ) )
        = one_on2109788427901206336ring_a )
     => ( ( ( degree4881254707062955960ring_a @ P2 )
          = zero_zero_nat )
        = ( P2 = one_on3394844594818161742ring_a ) ) ) ).

% monic_degree_0
thf(fact_1077_deg__Poly_H,axiom,
    ! [Xs: list_F4626807571770296779ring_a] :
      ( ( ( poly_F5739129160929385880ring_a @ Xs )
       != zero_z1830546546923837194ring_a )
     => ( ord_less_eq_nat @ ( degree4881254707062955960ring_a @ ( poly_F5739129160929385880ring_a @ Xs ) ) @ ( minus_minus_nat @ ( size_s7115545719440041015ring_a @ Xs ) @ one_one_nat ) ) ) ).

% deg_Poly'
thf(fact_1078_deg__Poly_H,axiom,
    ! [Xs: list_int] :
      ( ( ( poly_int2 @ Xs )
       != zero_zero_poly_int )
     => ( ord_less_eq_nat @ ( degree_int @ ( poly_int2 @ Xs ) ) @ ( minus_minus_nat @ ( size_size_list_int @ Xs ) @ one_one_nat ) ) ) ).

% deg_Poly'
thf(fact_1079_deg__Poly_H,axiom,
    ! [Xs: list_nat] :
      ( ( ( poly_nat2 @ Xs )
       != zero_zero_poly_nat )
     => ( ord_less_eq_nat @ ( degree_nat @ ( poly_nat2 @ Xs ) ) @ ( minus_minus_nat @ ( size_size_list_nat @ Xs ) @ one_one_nat ) ) ) ).

% deg_Poly'
thf(fact_1080_of__nat__mod,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( modulo_modulo_nat @ M @ N ) )
      = ( modulo_modulo_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% of_nat_mod
thf(fact_1081_of__nat__mod,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( modulo_modulo_nat @ M @ N ) )
      = ( modulo_modulo_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% of_nat_mod
thf(fact_1082_poly__eqI2,axiom,
    ! [P2: poly_F3299452240248304339ring_a,Q: poly_F3299452240248304339ring_a] :
      ( ( ( degree4881254707062955960ring_a @ P2 )
        = ( degree4881254707062955960ring_a @ Q ) )
     => ( ! [I2: nat] :
            ( ( ord_less_eq_nat @ I2 @ ( degree4881254707062955960ring_a @ P2 ) )
           => ( ( coeff_1607515655354303335ring_a @ P2 @ I2 )
              = ( coeff_1607515655354303335ring_a @ Q @ I2 ) ) )
       => ( P2 = Q ) ) ) ).

% poly_eqI2
thf(fact_1083_of__qr__of__nat,axiom,
    ! [N: nat] :
      ( ( kyber_of_qr_a @ ( semiri7313030098341262522r_qr_a @ N ) )
      = ( semiri8000969770135892146ring_a @ N ) ) ).

% of_qr_of_nat
thf(fact_1084_to__qr__of__nat,axiom,
    ! [N: nat] :
      ( ( kyber_to_qr_a @ ( semiri8000969770135892146ring_a @ N ) )
      = ( semiri7313030098341262522r_qr_a @ N ) ) ).

% to_qr_of_nat
thf(fact_1085_length__map,axiom,
    ! [F: nat > nat,Xs: list_nat] :
      ( ( size_size_list_nat @ ( map_nat_nat @ F @ Xs ) )
      = ( size_size_list_nat @ Xs ) ) ).

% length_map
thf(fact_1086_nat__n,axiom,
    ( ( semiri1314217659103216013at_int @ ( nat2 @ n ) )
    = n ) ).

% nat_n
thf(fact_1087_nat__q,axiom,
    ( ( semiri1314217659103216013at_int @ ( nat2 @ q ) )
    = q ) ).

% nat_q
thf(fact_1088_nat__0__iff,axiom,
    ! [I: int] :
      ( ( ( nat2 @ I )
        = zero_zero_nat )
      = ( ord_less_eq_int @ I @ zero_zero_int ) ) ).

% nat_0_iff
thf(fact_1089_nat__le__0,axiom,
    ! [Z2: int] :
      ( ( ord_less_eq_int @ Z2 @ zero_zero_int )
     => ( ( nat2 @ Z2 )
        = zero_zero_nat ) ) ).

% nat_le_0
thf(fact_1090_zless__nat__conj,axiom,
    ! [W: int,Z2: int] :
      ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
      = ( ( ord_less_int @ zero_zero_int @ Z2 )
        & ( ord_less_int @ W @ Z2 ) ) ) ).

% zless_nat_conj
thf(fact_1091_nat__zminus__int,axiom,
    ! [N: nat] :
      ( ( nat2 @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N ) ) )
      = zero_zero_nat ) ).

% nat_zminus_int
thf(fact_1092_int__nat__eq,axiom,
    ! [Z2: int] :
      ( ( ( ord_less_eq_int @ zero_zero_int @ Z2 )
       => ( ( semiri1314217659103216013at_int @ ( nat2 @ Z2 ) )
          = Z2 ) )
      & ( ~ ( ord_less_eq_int @ zero_zero_int @ Z2 )
       => ( ( semiri1314217659103216013at_int @ ( nat2 @ Z2 ) )
          = zero_zero_int ) ) ) ).

% int_nat_eq
thf(fact_1093_zero__less__nat__eq,axiom,
    ! [Z2: int] :
      ( ( ord_less_nat @ zero_zero_nat @ ( nat2 @ Z2 ) )
      = ( ord_less_int @ zero_zero_int @ Z2 ) ) ).

% zero_less_nat_eq
thf(fact_1094_nat__zero__as__int,axiom,
    ( zero_zero_nat
    = ( nat2 @ zero_zero_int ) ) ).

% nat_zero_as_int
thf(fact_1095_nat__mono,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ X3 @ Y2 )
     => ( ord_less_eq_nat @ ( nat2 @ X3 ) @ ( nat2 @ Y2 ) ) ) ).

% nat_mono
thf(fact_1096_eq__nat__nat__iff,axiom,
    ! [Z2: int,Z5: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z2 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Z5 )
       => ( ( ( nat2 @ Z2 )
            = ( nat2 @ Z5 ) )
          = ( Z2 = Z5 ) ) ) ) ).

% eq_nat_nat_iff
thf(fact_1097_all__nat,axiom,
    ( ( ^ [P5: nat > $o] :
        ! [X5: nat] : ( P5 @ X5 ) )
    = ( ^ [P6: nat > $o] :
        ! [X2: int] :
          ( ( ord_less_eq_int @ zero_zero_int @ X2 )
         => ( P6 @ ( nat2 @ X2 ) ) ) ) ) ).

% all_nat
thf(fact_1098_ex__nat,axiom,
    ( ( ^ [P5: nat > $o] :
        ? [X5: nat] : ( P5 @ X5 ) )
    = ( ^ [P6: nat > $o] :
        ? [X2: int] :
          ( ( ord_less_eq_int @ zero_zero_int @ X2 )
          & ( P6 @ ( nat2 @ X2 ) ) ) ) ) ).

% ex_nat
thf(fact_1099_nat__one__as__int,axiom,
    ( one_one_nat
    = ( nat2 @ one_one_int ) ) ).

% nat_one_as_int
thf(fact_1100_nat__mono__iff,axiom,
    ! [Z2: int,W: int] :
      ( ( ord_less_int @ zero_zero_int @ Z2 )
     => ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
        = ( ord_less_int @ W @ Z2 ) ) ) ).

% nat_mono_iff
thf(fact_1101_zless__nat__eq__int__zless,axiom,
    ! [M: nat,Z2: int] :
      ( ( ord_less_nat @ M @ ( nat2 @ Z2 ) )
      = ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ Z2 ) ) ).

% zless_nat_eq_int_zless
thf(fact_1102_nat__le__iff,axiom,
    ! [X3: int,N: nat] :
      ( ( ord_less_eq_nat @ ( nat2 @ X3 ) @ N )
      = ( ord_less_eq_int @ X3 @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% nat_le_iff
thf(fact_1103_nat__0__le,axiom,
    ! [Z2: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z2 )
     => ( ( semiri1314217659103216013at_int @ ( nat2 @ Z2 ) )
        = Z2 ) ) ).

% nat_0_le
thf(fact_1104_int__eq__iff,axiom,
    ! [M: nat,Z2: int] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = Z2 )
      = ( ( M
          = ( nat2 @ Z2 ) )
        & ( ord_less_eq_int @ zero_zero_int @ Z2 ) ) ) ).

% int_eq_iff
thf(fact_1105_int__minus,axiom,
    ! [N: nat,M: nat] :
      ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ N @ M ) )
      = ( semiri1314217659103216013at_int @ ( nat2 @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ N ) @ ( semiri1314217659103216013at_int @ M ) ) ) ) ) ).

% int_minus
thf(fact_1106_nat__minus__as__int,axiom,
    ( minus_minus_nat
    = ( ^ [A2: nat,B2: nat] : ( nat2 @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ) ) ).

% nat_minus_as_int
thf(fact_1107_nat__mod__as__int,axiom,
    ( modulo_modulo_nat
    = ( ^ [A2: nat,B2: nat] : ( nat2 @ ( modulo_modulo_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ) ) ).

% nat_mod_as_int
thf(fact_1108_nat__eq__iff,axiom,
    ! [W: int,M: nat] :
      ( ( ( nat2 @ W )
        = M )
      = ( ( ( ord_less_eq_int @ zero_zero_int @ W )
         => ( W
            = ( semiri1314217659103216013at_int @ M ) ) )
        & ( ~ ( ord_less_eq_int @ zero_zero_int @ W )
         => ( M = zero_zero_nat ) ) ) ) ).

% nat_eq_iff
thf(fact_1109_nat__eq__iff2,axiom,
    ! [M: nat,W: int] :
      ( ( M
        = ( nat2 @ W ) )
      = ( ( ( ord_less_eq_int @ zero_zero_int @ W )
         => ( W
            = ( semiri1314217659103216013at_int @ M ) ) )
        & ( ~ ( ord_less_eq_int @ zero_zero_int @ W )
         => ( M = zero_zero_nat ) ) ) ) ).

% nat_eq_iff2
thf(fact_1110_split__nat,axiom,
    ! [P: nat > $o,I: int] :
      ( ( P @ ( nat2 @ I ) )
      = ( ! [N2: nat] :
            ( ( I
              = ( semiri1314217659103216013at_int @ N2 ) )
           => ( P @ N2 ) )
        & ( ( ord_less_int @ I @ zero_zero_int )
         => ( P @ zero_zero_nat ) ) ) ) ).

% split_nat
thf(fact_1111_nat__less__eq__zless,axiom,
    ! [W: int,Z2: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ W )
     => ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
        = ( ord_less_int @ W @ Z2 ) ) ) ).

% nat_less_eq_zless
thf(fact_1112_le__nat__iff,axiom,
    ! [K: int,N: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ( ( ord_less_eq_nat @ N @ ( nat2 @ K ) )
        = ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ N ) @ K ) ) ) ).

% le_nat_iff
thf(fact_1113_nat__le__eq__zle,axiom,
    ! [W: int,Z2: int] :
      ( ( ( ord_less_int @ zero_zero_int @ W )
        | ( ord_less_eq_int @ zero_zero_int @ Z2 ) )
     => ( ( ord_less_eq_nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
        = ( ord_less_eq_int @ W @ Z2 ) ) ) ).

% nat_le_eq_zle
thf(fact_1114_nat__diff__distrib_H,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X3 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y2 )
       => ( ( nat2 @ ( minus_minus_int @ X3 @ Y2 ) )
          = ( minus_minus_nat @ ( nat2 @ X3 ) @ ( nat2 @ Y2 ) ) ) ) ) ).

% nat_diff_distrib'
thf(fact_1115_nat__diff__distrib,axiom,
    ! [Z5: int,Z2: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z5 )
     => ( ( ord_less_eq_int @ Z5 @ Z2 )
       => ( ( nat2 @ ( minus_minus_int @ Z2 @ Z5 ) )
          = ( minus_minus_nat @ ( nat2 @ Z2 ) @ ( nat2 @ Z5 ) ) ) ) ) ).

% nat_diff_distrib
thf(fact_1116_nat__mod__distrib,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X3 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y2 )
       => ( ( nat2 @ ( modulo_modulo_int @ X3 @ Y2 ) )
          = ( modulo_modulo_nat @ ( nat2 @ X3 ) @ ( nat2 @ Y2 ) ) ) ) ) ).

% nat_mod_distrib
thf(fact_1117_nat__less__iff,axiom,
    ! [W: int,M: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ W )
     => ( ( ord_less_nat @ ( nat2 @ W ) @ M )
        = ( ord_less_int @ W @ ( semiri1314217659103216013at_int @ M ) ) ) ) ).

% nat_less_iff
thf(fact_1118_diff__nat__eq__if,axiom,
    ! [Z5: int,Z2: int] :
      ( ( ( ord_less_int @ Z5 @ zero_zero_int )
       => ( ( minus_minus_nat @ ( nat2 @ Z2 ) @ ( nat2 @ Z5 ) )
          = ( nat2 @ Z2 ) ) )
      & ( ~ ( ord_less_int @ Z5 @ zero_zero_int )
       => ( ( minus_minus_nat @ ( nat2 @ Z2 ) @ ( nat2 @ Z5 ) )
          = ( if_nat @ ( ord_less_int @ ( minus_minus_int @ Z2 @ Z5 ) @ zero_zero_int ) @ zero_zero_nat @ ( nat2 @ ( minus_minus_int @ Z2 @ Z5 ) ) ) ) ) ) ).

% diff_nat_eq_if
thf(fact_1119_length__coeffs__of__qr,axiom,
    ! [X3: kyber_qr_a] : ( ord_less_nat @ ( size_s7115545719440041015ring_a @ ( coeffs4679052062445675434ring_a @ ( kyber_of_qr_a @ X3 ) ) ) @ ( suc @ ( nat2 @ n ) ) ) ).

% length_coeffs_of_qr
thf(fact_1120_nat_Oinject,axiom,
    ! [X22: nat,Y22: nat] :
      ( ( ( suc @ X22 )
        = ( suc @ Y22 ) )
      = ( X22 = Y22 ) ) ).

% nat.inject
thf(fact_1121_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_1122_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_1123_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_1124_Suc__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_less_eq
thf(fact_1125_Suc__le__mono,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( suc @ M ) )
      = ( ord_less_eq_nat @ N @ M ) ) ).

% Suc_le_mono
thf(fact_1126_diff__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_Suc_Suc
thf(fact_1127_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K ) ) ).

% Suc_diff_diff
thf(fact_1128_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_1129_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_1130_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_1131_mod__by__Suc__0,axiom,
    ! [M: nat] :
      ( ( modulo_modulo_nat @ M @ ( suc @ zero_zero_nat ) )
      = zero_zero_nat ) ).

% mod_by_Suc_0
thf(fact_1132_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_1133_nat__1,axiom,
    ( ( nat2 @ one_one_int )
    = ( suc @ zero_zero_nat ) ) ).

% nat_1
thf(fact_1134_negative__zless,axiom,
    ! [N: nat,M: nat] : ( ord_less_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N ) ) ) @ ( semiri1314217659103216013at_int @ M ) ) ).

% negative_zless
thf(fact_1135_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_1136_one__less__nat__eq,axiom,
    ! [Z2: int] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ ( nat2 @ Z2 ) )
      = ( ord_less_int @ one_one_int @ Z2 ) ) ).

% one_less_nat_eq
thf(fact_1137_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_1138_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_1139_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M4: nat] :
          ( N
          = ( suc @ M4 ) ) ) ).

% not0_implies_Suc
thf(fact_1140_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_1141_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_1142_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_1143_zero__induct,axiom,
    ! [P: nat > $o,K: nat] :
      ( ( P @ K )
     => ( ! [N3: nat] :
            ( ( P @ ( suc @ N3 ) )
           => ( P @ N3 ) )
       => ( P @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_1144_diff__induct,axiom,
    ! [P: nat > nat > $o,M: nat,N: nat] :
      ( ! [X: nat] : ( P @ X @ zero_zero_nat )
     => ( ! [Y4: nat] : ( P @ zero_zero_nat @ ( suc @ Y4 ) )
       => ( ! [X: nat,Y4: nat] :
              ( ( P @ X @ Y4 )
             => ( P @ ( suc @ X ) @ ( suc @ Y4 ) ) )
         => ( P @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_1145_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N3: nat] :
            ( ( P @ N3 )
           => ( P @ ( suc @ N3 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_1146_old_Onat_Oexhaust,axiom,
    ! [Y2: nat] :
      ( ( Y2 != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y2
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_1147_nat_OdiscI,axiom,
    ! [Nat: nat,X22: nat] :
      ( ( Nat
        = ( suc @ X22 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_1148_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_1149_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_1150_nat_Odistinct_I1_J,axiom,
    ! [X22: nat] :
      ( zero_zero_nat
     != ( suc @ X22 ) ) ).

% nat.distinct(1)
thf(fact_1151_Nat_OlessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ I @ K )
     => ( ( K
         != ( suc @ I ) )
       => ~ ! [J2: nat] :
              ( ( ord_less_nat @ I @ J2 )
             => ( K
               != ( suc @ J2 ) ) ) ) ) ).

% Nat.lessE
thf(fact_1152_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_1153_Suc__lessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K )
     => ~ ! [J2: nat] :
            ( ( ord_less_nat @ I @ J2 )
           => ( K
             != ( suc @ J2 ) ) ) ) ).

% Suc_lessE
thf(fact_1154_Suc__lessI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ( suc @ M )
         != N )
       => ( ord_less_nat @ ( suc @ M ) @ N ) ) ) ).

% Suc_lessI
thf(fact_1155_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_1156_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_1157_Ex__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I4: nat] :
            ( ( ord_less_nat @ I4 @ ( suc @ N ) )
            & ( P @ I4 ) ) )
      = ( ( P @ N )
        | ? [I4: nat] :
            ( ( ord_less_nat @ I4 @ N )
            & ( P @ I4 ) ) ) ) ).

% Ex_less_Suc
thf(fact_1158_less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_nat @ M @ N )
        | ( M = N ) ) ) ).

% less_Suc_eq
thf(fact_1159_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_1160_All__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ ( suc @ N ) )
           => ( P @ I4 ) ) )
      = ( ( P @ N )
        & ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ N )
           => ( P @ I4 ) ) ) ) ).

% All_less_Suc
thf(fact_1161_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M6: nat] :
            ( ( M
              = ( suc @ M6 ) )
            & ( ord_less_nat @ N @ M6 ) ) ) ) ).

% Suc_less_eq2
thf(fact_1162_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_1163_Suc__less__SucD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_less_SucD
thf(fact_1164_less__trans__Suc,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ J @ K )
       => ( ord_less_nat @ ( suc @ I ) @ K ) ) ) ).

% less_trans_Suc
thf(fact_1165_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] : ( P @ I2 @ ( suc @ I2 ) )
       => ( ! [I2: nat,J2: nat,K2: nat] :
              ( ( ord_less_nat @ I2 @ J2 )
             => ( ( ord_less_nat @ J2 @ K2 )
               => ( ( P @ I2 @ J2 )
                 => ( ( P @ J2 @ K2 )
                   => ( P @ I2 @ K2 ) ) ) ) )
         => ( P @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_1166_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I2: nat] :
            ( ( J
              = ( suc @ I2 ) )
           => ( P @ I2 ) )
       => ( ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ J )
             => ( ( P @ ( suc @ I2 ) )
               => ( P @ I2 ) ) )
         => ( P @ I ) ) ) ) ).

% strict_inc_induct
thf(fact_1167_not__less__less__Suc__eq,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% not_less_less_Suc_eq
thf(fact_1168_Suc__leD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_leD
thf(fact_1169_le__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M @ N )
       => ( M
          = ( suc @ N ) ) ) ) ).

% le_SucE
thf(fact_1170_le__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ ( suc @ N ) ) ) ).

% le_SucI
thf(fact_1171_Suc__le__D,axiom,
    ! [N: nat,M7: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M7 )
     => ? [M4: nat] :
          ( M7
          = ( suc @ M4 ) ) ) ).

% Suc_le_D
thf(fact_1172_le__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M @ N )
        | ( M
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_1173_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_1174_not__less__eq__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M ) ) ).

% not_less_eq_eq
thf(fact_1175_full__nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N3: nat] :
          ( ! [M3: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M3 ) @ N3 )
             => ( P @ M3 ) )
         => ( P @ N3 ) )
     => ( P @ N ) ) ).

% full_nat_induct
thf(fact_1176_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P @ M )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ M @ N3 )
             => ( ( P @ N3 )
               => ( P @ ( suc @ N3 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_1177_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X: nat] : ( R @ X @ X )
       => ( ! [X: nat,Y4: nat,Z4: nat] :
              ( ( R @ X @ Y4 )
             => ( ( R @ Y4 @ Z4 )
               => ( R @ X @ Z4 ) ) )
         => ( ! [N3: nat] : ( R @ N3 @ ( suc @ N3 ) )
           => ( R @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_1178_zero__induct__lemma,axiom,
    ! [P: nat > $o,K: nat,I: nat] :
      ( ( P @ K )
     => ( ! [N3: nat] :
            ( ( P @ ( suc @ N3 ) )
           => ( P @ N3 ) )
       => ( P @ ( minus_minus_nat @ K @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_1179_Suc__inject,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ( suc @ X3 )
        = ( suc @ Y2 ) )
     => ( X3 = Y2 ) ) ).

% Suc_inject
thf(fact_1180_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_1181_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M2: nat] :
            ( N
            = ( suc @ M2 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_1182_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M4: nat] :
          ( N
          = ( suc @ M4 ) ) ) ).

% gr0_implies_Suc
thf(fact_1183_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J3: nat] :
            ( ( M
              = ( suc @ J3 ) )
            & ( ord_less_nat @ J3 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_1184_ex__Suc__conv,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I4: nat] :
            ( ( ord_less_nat @ I4 @ ( suc @ N ) )
            & ( P @ I4 ) ) )
      = ( ( P @ zero_zero_nat )
        | ? [I4: nat] :
            ( ( ord_less_nat @ I4 @ N )
            & ( P @ ( suc @ I4 ) ) ) ) ) ).

% ex_Suc_conv
thf(fact_1185_all__Suc__conv,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ ( suc @ N ) )
           => ( P @ I4 ) ) )
      = ( ( P @ zero_zero_nat )
        & ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ N )
           => ( P @ ( suc @ I4 ) ) ) ) ) ).

% all_Suc_conv
thf(fact_1186_all__less__two,axiom,
    ! [P: nat > $o] :
      ( ( ! [I4: nat] :
            ( ( ord_less_nat @ I4 @ ( suc @ ( suc @ zero_zero_nat ) ) )
           => ( P @ I4 ) ) )
      = ( ( P @ zero_zero_nat )
        & ( P @ ( suc @ zero_zero_nat ) ) ) ) ).

% all_less_two
thf(fact_1187_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_1188_Suc__le__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_le_eq
thf(fact_1189_dec__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ I )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P @ N3 )
                 => ( P @ ( suc @ N3 ) ) ) ) )
         => ( P @ J ) ) ) ) ).

% dec_induct
thf(fact_1190_inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ J )
       => ( ! [N3: nat] :
              ( ( ord_less_eq_nat @ I @ N3 )
             => ( ( ord_less_nat @ N3 @ J )
               => ( ( P @ ( suc @ N3 ) )
                 => ( P @ N3 ) ) ) )
         => ( P @ I ) ) ) ) ).

% inc_induct
thf(fact_1191_Suc__le__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_le_lessD
thf(fact_1192_le__less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% le_less_Suc_eq
thf(fact_1193_less__Suc__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% less_Suc_eq_le
thf(fact_1194_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N2: nat] : ( ord_less_eq_nat @ ( suc @ N2 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_1195_le__imp__less__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_1196_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

% One_nat_def
thf(fact_1197_Suc__diff__Suc,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( ( suc @ ( minus_minus_nat @ M @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_1198_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_1199_Suc__diff__le,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( suc @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% Suc_diff_le
thf(fact_1200_diff__Suc__eq__diff__pred,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ M @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ one_one_nat ) @ N ) ) ).

% diff_Suc_eq_diff_pred
thf(fact_1201_int__cases,axiom,
    ! [Z2: int] :
      ( ! [N3: nat] :
          ( Z2
         != ( semiri1314217659103216013at_int @ N3 ) )
     => ~ ! [N3: nat] :
            ( Z2
           != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N3 ) ) ) ) ) ).

% int_cases
thf(fact_1202_int__of__nat__induct,axiom,
    ! [P: int > $o,Z2: int] :
      ( ! [N3: nat] : ( P @ ( semiri1314217659103216013at_int @ N3 ) )
     => ( ! [N3: nat] : ( P @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N3 ) ) ) )
       => ( P @ Z2 ) ) ) ).

% int_of_nat_induct
thf(fact_1203_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_1204_mod__induct,axiom,
    ! [P: nat > $o,N: nat,P2: nat,M: nat] :
      ( ( P @ N )
     => ( ( ord_less_nat @ N @ P2 )
       => ( ( ord_less_nat @ M @ P2 )
         => ( ! [N3: nat] :
                ( ( ord_less_nat @ N3 @ P2 )
               => ( ( P @ N3 )
                 => ( P @ ( modulo_modulo_nat @ ( suc @ N3 ) @ P2 ) ) ) )
           => ( P @ M ) ) ) ) ) ).

% mod_induct
thf(fact_1205_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_1206_ex__least__nat__less,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K2: nat] :
            ( ( ord_less_nat @ K2 @ N )
            & ! [I3: nat] :
                ( ( ord_less_eq_nat @ I3 @ K2 )
               => ~ ( P @ I3 ) )
            & ( P @ ( suc @ K2 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_1207_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_1208_nat__induct__non__zero,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P @ one_one_nat )
       => ( ! [N3: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N3 )
             => ( ( P @ N3 )
               => ( P @ ( suc @ N3 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_1209_Suc__pred_H,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( N
        = ( suc @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_pred'
thf(fact_1210_Suc__diff__eq__diff__pred,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( minus_minus_nat @ M @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_diff_eq_diff_pred
thf(fact_1211_not__zle__0__negative,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_int @ zero_zero_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N ) ) ) ) ).

% not_zle_0_negative
thf(fact_1212_negD,axiom,
    ! [X3: int] :
      ( ( ord_less_int @ X3 @ zero_zero_int )
     => ? [N3: nat] :
          ( X3
          = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N3 ) ) ) ) ) ).

% negD
thf(fact_1213_negative__zless__0,axiom,
    ! [N: nat] : ( ord_less_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N ) ) ) @ zero_zero_int ) ).

% negative_zless_0
thf(fact_1214_of__qr__to__qr__Poly,axiom,
    ! [Xs: list_int] :
      ( ( ord_less_nat @ ( size_size_list_int @ Xs ) @ ( suc @ ( nat2 @ n ) ) )
     => ( ( Xs != nil_int )
       => ( ( kyber_of_qr_a @ ( kyber_to_qr_a @ ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) ) ) )
          = ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) ) ) ) ) ).

% of_qr_to_qr_Poly
thf(fact_1215_telescope,axiom,
    ! [Xs: list_int] :
      ( ( ord_less_nat @ ( size_size_list_int @ Xs ) @ ( suc @ ( nat2 @ n ) ) )
     => ( ( ord_less_eq_set_int @ ( set_int2 @ Xs ) @ ( set_or4662586982721622107an_int @ zero_zero_int @ q ) )
       => ( ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a @ ( coeffs4679052062445675434ring_a @ ( kyber_of_qr_a @ ( kyber_to_qr_a @ ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) ) ) ) ) )
          = ( more_strip_while_int
            @ ^ [X2: int] :
                ( ( modulo_modulo_int @ X2 @ q )
                = zero_zero_int )
            @ Xs ) ) ) ) ).

% telescope
thf(fact_1216_map__to__of__mod__ring,axiom,
    ! [Xs: list_int] :
      ( ( ord_less_eq_set_int @ ( set_int2 @ Xs ) @ ( set_or4662586982721622107an_int @ zero_zero_int @ q ) )
     => ( ( map_int_int @ ( comp_F5719199965815211644nt_int @ finite1095367895020317408ring_a @ finite8272632373135393572ring_a ) @ Xs )
        = Xs ) ) ).

% map_to_of_mod_ring
thf(fact_1217_telescope__stripped,axiom,
    ! [Xs: list_int] :
      ( ( ord_less_nat @ ( size_size_list_int @ Xs ) @ ( suc @ ( nat2 @ n ) ) )
     => ( ( ( more_strip_while_int
            @ ^ [X2: int] :
                ( ( modulo_modulo_int @ X2 @ q )
                = zero_zero_int )
            @ Xs )
          = Xs )
       => ( ( ord_less_eq_set_int @ ( set_int2 @ Xs ) @ ( set_or4662586982721622107an_int @ zero_zero_int @ q ) )
         => ( ( map_Fi4186111235102398893_a_int @ finite1095367895020317408ring_a @ ( coeffs4679052062445675434ring_a @ ( kyber_of_qr_a @ ( kyber_to_qr_a @ ( poly_F5739129160929385880ring_a @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a @ Xs ) ) ) ) ) )
            = Xs ) ) ) ) ).

% telescope_stripped
thf(fact_1218_all__nat__less__eq,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [M2: nat] :
            ( ( ord_less_nat @ M2 @ N )
           => ( P @ M2 ) ) )
      = ( ! [X2: nat] :
            ( ( member_nat @ X2 @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) )
           => ( P @ X2 ) ) ) ) ).

% all_nat_less_eq
thf(fact_1219_ex__nat__less__eq,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [M2: nat] :
            ( ( ord_less_nat @ M2 @ N )
            & ( P @ M2 ) ) )
      = ( ? [X2: nat] :
            ( ( member_nat @ X2 @ ( set_or4665077453230672383an_nat @ zero_zero_nat @ N ) )
            & ( P @ X2 ) ) ) ) ).

% ex_nat_less_eq
thf(fact_1220_bounded__Max__nat,axiom,
    ! [P: nat > $o,X3: nat,M5: nat] :
      ( ( P @ X3 )
     => ( ! [X: nat] :
            ( ( P @ X )
           => ( ord_less_eq_nat @ X @ M5 ) )
       => ~ ! [M4: nat] :
              ( ( P @ M4 )
             => ~ ! [X6: nat] :
                    ( ( P @ X6 )
                   => ( ord_less_eq_nat @ X6 @ M4 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_1221_mod__ident__iff,axiom,
    ! [M: int,X3: int] :
      ( ( ord_less_int @ zero_zero_int @ M )
     => ( ( ( modulo_modulo_int @ X3 @ M )
          = X3 )
        = ( member_int @ X3 @ ( set_or4662586982721622107an_int @ zero_zero_int @ M ) ) ) ) ).

% mod_ident_iff
thf(fact_1222_mod__rangeE,axiom,
    ! [A: int,B: int] :
      ( ( member_int @ A @ ( set_or4662586982721622107an_int @ zero_zero_int @ B ) )
     => ( A
        = ( modulo_modulo_int @ A @ B ) ) ) ).

% mod_rangeE
thf(fact_1223_delete__index__def,axiom,
    ( delete_index
    = ( ^ [I4: nat,I5: nat] : ( if_nat @ ( ord_less_nat @ I5 @ I4 ) @ I5 @ ( minus_minus_nat @ I5 @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% delete_index_def
thf(fact_1224_list__decode_Ocases,axiom,
    ! [X3: nat] :
      ( ( X3 != zero_zero_nat )
     => ~ ! [N3: nat] :
            ( X3
           != ( suc @ N3 ) ) ) ).

% list_decode.cases
thf(fact_1225_permutation__delete__expand,axiom,
    ( permutation_delete
    = ( ^ [P3: nat > nat,I4: nat,J3: nat] : ( if_nat @ ( ord_less_nat @ ( P3 @ ( if_nat @ ( ord_less_nat @ J3 @ I4 ) @ J3 @ ( suc @ J3 ) ) ) @ ( P3 @ I4 ) ) @ ( P3 @ ( if_nat @ ( ord_less_nat @ J3 @ I4 ) @ J3 @ ( suc @ J3 ) ) ) @ ( minus_minus_nat @ ( P3 @ ( if_nat @ ( ord_less_nat @ J3 @ I4 ) @ J3 @ ( suc @ J3 ) ) ) @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% permutation_delete_expand
thf(fact_1226_adjust__idx__rev__def,axiom,
    ( missin3815256168798769645dx_rev
    = ( ^ [I4: nat,J3: nat] : ( if_nat @ ( ord_less_nat @ J3 @ I4 ) @ J3 @ ( minus_minus_nat @ J3 @ ( suc @ zero_zero_nat ) ) ) ) ) ).

% adjust_idx_rev_def
thf(fact_1227_size__char__eq__0,axiom,
    ( size_size_char
    = ( ^ [C3: char] : zero_zero_nat ) ) ).

% size_char_eq_0
thf(fact_1228_upt__conv__Nil,axiom,
    ! [J: nat,I: nat] :
      ( ( ord_less_eq_nat @ J @ I )
     => ( ( upt @ I @ J )
        = nil_nat ) ) ).

% upt_conv_Nil
thf(fact_1229_length__upt,axiom,
    ! [I: nat,J: nat] :
      ( ( size_size_list_nat @ ( upt @ I @ J ) )
      = ( minus_minus_nat @ J @ I ) ) ).

% length_upt
thf(fact_1230_upt__eq__Nil__conv,axiom,
    ! [I: nat,J: nat] :
      ( ( ( upt @ I @ J )
        = nil_nat )
      = ( ( J = zero_zero_nat )
        | ( ord_less_eq_nat @ J @ I ) ) ) ).

% upt_eq_Nil_conv
thf(fact_1231_atLeastLessThan__upt,axiom,
    ( set_or4665077453230672383an_nat
    = ( ^ [I4: nat,J3: nat] : ( set_nat2 @ ( upt @ I4 @ J3 ) ) ) ) ).

% atLeastLessThan_upt
thf(fact_1232_map__Suc__upt,axiom,
    ! [M: nat,N: nat] :
      ( ( map_nat_nat @ suc @ ( upt @ M @ N ) )
      = ( upt @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% map_Suc_upt
thf(fact_1233_upt__0,axiom,
    ! [I: nat] :
      ( ( upt @ I @ zero_zero_nat )
      = nil_nat ) ).

% upt_0
thf(fact_1234_map__decr__upt,axiom,
    ! [M: nat,N: nat] :
      ( ( map_nat_nat
        @ ^ [N2: nat] : ( minus_minus_nat @ N2 @ ( suc @ zero_zero_nat ) )
        @ ( upt @ ( suc @ M ) @ ( suc @ N ) ) )
      = ( upt @ M @ N ) ) ).

% map_decr_upt
thf(fact_1235_size_H__char__eq__0,axiom,
    ( size_char
    = ( ^ [C3: char] : zero_zero_nat ) ) ).

% size'_char_eq_0
thf(fact_1236_nat__ivt__aux,axiom,
    ! [N: nat,F: nat > int,K: int] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ord_less_eq_int @ ( abs_abs_int @ ( minus_minus_int @ ( F @ ( suc @ I2 ) ) @ ( F @ I2 ) ) ) @ one_one_int ) )
     => ( ( ord_less_eq_int @ ( F @ zero_zero_nat ) @ K )
       => ( ( ord_less_eq_int @ K @ ( F @ N ) )
         => ? [I2: nat] :
              ( ( ord_less_eq_nat @ I2 @ N )
              & ( ( F @ I2 )
                = K ) ) ) ) ) ).

% nat_ivt_aux
thf(fact_1237_zabs__less__one__iff,axiom,
    ! [Z2: int] :
      ( ( ord_less_int @ ( abs_abs_int @ Z2 ) @ one_one_int )
      = ( Z2 = zero_zero_int ) ) ).

% zabs_less_one_iff
thf(fact_1238_zabs__def,axiom,
    ( abs_abs_int
    = ( ^ [I4: int] : ( if_int @ ( ord_less_int @ I4 @ zero_zero_int ) @ ( uminus_uminus_int @ I4 ) @ I4 ) ) ) ).

% zabs_def
thf(fact_1239_abs__mod__less,axiom,
    ! [L: int,K: int] :
      ( ( L != zero_zero_int )
     => ( ord_less_int @ ( abs_abs_int @ ( modulo_modulo_int @ K @ L ) ) @ ( abs_abs_int @ L ) ) ) ).

% abs_mod_less
thf(fact_1240_mod__abs__eq__div__nat,axiom,
    ! [K: int,L: int] :
      ( ( modulo_modulo_int @ ( abs_abs_int @ K ) @ ( abs_abs_int @ L ) )
      = ( semiri1314217659103216013at_int @ ( modulo_modulo_nat @ ( nat2 @ ( abs_abs_int @ K ) ) @ ( nat2 @ ( abs_abs_int @ L ) ) ) ) ) ).

% mod_abs_eq_div_nat
thf(fact_1241_nat__abs__int__diff,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ord_less_eq_nat @ A @ B )
       => ( ( nat2 @ ( abs_abs_int @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) )
          = ( minus_minus_nat @ B @ A ) ) )
      & ( ~ ( ord_less_eq_nat @ A @ B )
       => ( ( nat2 @ ( abs_abs_int @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) )
          = ( minus_minus_nat @ A @ B ) ) ) ) ).

% nat_abs_int_diff
thf(fact_1242_nat__intermed__int__val,axiom,
    ! [M: nat,N: nat,F: nat > int,K: int] :
      ( ! [I2: nat] :
          ( ( ( ord_less_eq_nat @ M @ I2 )
            & ( ord_less_nat @ I2 @ N ) )
         => ( ord_less_eq_int @ ( abs_abs_int @ ( minus_minus_int @ ( F @ ( suc @ I2 ) ) @ ( F @ I2 ) ) ) @ one_one_int ) )
     => ( ( ord_less_eq_nat @ M @ N )
       => ( ( ord_less_eq_int @ ( F @ M ) @ K )
         => ( ( ord_less_eq_int @ K @ ( F @ N ) )
           => ? [I2: nat] :
                ( ( ord_less_eq_nat @ M @ I2 )
                & ( ord_less_eq_nat @ I2 @ N )
                & ( ( F @ I2 )
                  = K ) ) ) ) ) ) ).

% nat_intermed_int_val
thf(fact_1243_abs__infty__q__def,axiom,
    ! [P2: finite_mod_ring_a] :
      ( ( abs_ky7385543178848499077ty_q_a @ q @ P2 )
      = ( abs_abs_int @ ( mod_Pl7661688178770475124_minus @ ( finite1095367895020317408ring_a @ P2 ) @ q ) ) ) ).

% abs_infty_q_def
thf(fact_1244_mod__plus__minus__leq__mod,axiom,
    ! [X3: int] : ( ord_less_eq_int @ ( abs_abs_int @ ( mod_Pl7661688178770475124_minus @ X3 @ q ) ) @ ( abs_abs_int @ X3 ) ) ).

% mod_plus_minus_leq_mod
thf(fact_1245_mod__plus__minus__zero,axiom,
    ! [X3: int,B: int] :
      ( ( ( mod_Pl7661688178770475124_minus @ X3 @ B )
        = zero_zero_int )
     => ( ( modulo_modulo_int @ X3 @ B )
        = zero_zero_int ) ) ).

% mod_plus_minus_zero
thf(fact_1246_mod__plus__minus__mult,axiom,
    ! [S2: int,X3: int] :
      ( ( mod_Pl7661688178770475124_minus @ ( times_times_int @ S2 @ X3 ) @ q )
      = ( mod_Pl7661688178770475124_minus @ ( times_times_int @ ( mod_Pl7661688178770475124_minus @ S2 @ q ) @ ( mod_Pl7661688178770475124_minus @ X3 @ q ) ) @ q ) ) ).

% mod_plus_minus_mult
thf(fact_1247_nat0__intermed__int__val,axiom,
    ! [N: nat,F: nat > int,K: int] :
      ( ! [I2: nat] :
          ( ( ord_less_nat @ I2 @ N )
         => ( ord_less_eq_int @ ( abs_abs_int @ ( minus_minus_int @ ( F @ ( plus_plus_nat @ I2 @ one_one_nat ) ) @ ( F @ I2 ) ) ) @ one_one_int ) )
     => ( ( ord_less_eq_int @ ( F @ zero_zero_nat ) @ K )
       => ( ( ord_less_eq_int @ K @ ( F @ N ) )
         => ? [I2: nat] :
              ( ( ord_less_eq_nat @ I2 @ N )
              & ( ( F @ I2 )
                = K ) ) ) ) ) ).

% nat0_intermed_int_val
thf(fact_1248_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_1249_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_1250_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_1251_nat__add__left__cancel__less,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_1252_nat__add__left__cancel__le,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_1253_diff__diff__left,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ I @ ( plus_plus_nat @ J @ K ) ) ) ).

% diff_diff_left
thf(fact_1254_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_1255_Nat_Oadd__diff__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K ) ) ) ).

% Nat.add_diff_assoc
thf(fact_1256_Nat_Oadd__diff__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_1257_Nat_Odiff__diff__right,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_1258_diff__Suc__diff__eq1,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( suc @ ( minus_minus_nat @ J @ K ) ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ ( suc @ J ) ) ) ) ).

% diff_Suc_diff_eq1
thf(fact_1259_diff__Suc__diff__eq2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( suc @ ( minus_minus_nat @ J @ K ) ) @ I )
        = ( minus_minus_nat @ ( suc @ J ) @ ( plus_plus_nat @ K @ I ) ) ) ) ).

% diff_Suc_diff_eq2
thf(fact_1260_zmult__eq__1__iff,axiom,
    ! [M: int,N: int] :
      ( ( ( times_times_int @ M @ N )
        = one_one_int )
      = ( ( ( M = one_one_int )
          & ( N = one_one_int ) )
        | ( ( M
            = ( uminus_uminus_int @ one_one_int ) )
          & ( N
            = ( uminus_uminus_int @ one_one_int ) ) ) ) ) ).

% zmult_eq_1_iff
thf(fact_1261_pos__zmult__eq__1__iff__lemma,axiom,
    ! [M: int,N: int] :
      ( ( ( times_times_int @ M @ N )
        = one_one_int )
     => ( ( M = one_one_int )
        | ( M
          = ( uminus_uminus_int @ one_one_int ) ) ) ) ).

% pos_zmult_eq_1_iff_lemma
thf(fact_1262_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_1263_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_1264_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N2: nat] : ( plus_plus_nat @ N2 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_1265_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_1266_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left

% Helper facts (9)
thf(help_If_2_1_If_001t__Int__Oint_T,axiom,
    ! [X3: int,Y2: int] :
      ( ( if_int @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Int__Oint_T,axiom,
    ! [X3: int,Y2: int] :
      ( ( if_int @ $true @ X3 @ Y2 )
      = X3 ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( if_nat @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( if_nat @ $true @ X3 @ Y2 )
      = X3 ) ).

thf(help_If_2_1_If_001t__Kyber____spec__Oqr_Itf__a_J_T,axiom,
    ! [X3: kyber_qr_a,Y2: kyber_qr_a] :
      ( ( if_Kyber_qr_a @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Kyber____spec__Oqr_Itf__a_J_T,axiom,
    ! [X3: kyber_qr_a,Y2: kyber_qr_a] :
      ( ( if_Kyber_qr_a @ $true @ X3 @ Y2 )
      = X3 ) ).

thf(help_If_3_1_If_001t__Finite____Field__Omod____ring_Itf__a_J_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Finite____Field__Omod____ring_Itf__a_J_T,axiom,
    ! [X3: finite_mod_ring_a,Y2: finite_mod_ring_a] :
      ( ( if_Finite_mod_ring_a @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Finite____Field__Omod____ring_Itf__a_J_T,axiom,
    ! [X3: finite_mod_ring_a,Y2: finite_mod_ring_a] :
      ( ( if_Finite_mod_ring_a @ $true @ X3 @ Y2 )
      = X3 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( abs_ky7385543178848499077ty_q_a @ q
      @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa )
        @ ( coeff_1607515655354303335ring_a
          @ ( poly_F5739129160929385880ring_a
            @ ( map_in5762303227890318931ring_a @ ( comp_i8863287333377692450_a_int @ finite8272632373135393572ring_a @ ( kyber_decompress @ q @ d ) )
              @ ( more_strip_while_int
                @ ^ [X2: int] : ( X2 = zero_zero_int )
                @ compress_x ) ) )
          @ xa ) ) )
    = ( abs_ky7385543178848499077ty_q_a @ q
      @ ( minus_3609261664126569004ring_a @ ( coeff_1607515655354303335ring_a @ ( kyber_of_qr_a @ x ) @ xa )
        @ ( coeff_1607515655354303335ring_a
          @ ( poly_F5739129160929385880ring_a
            @ ( map_in5762303227890318931ring_a @ finite8272632373135393572ring_a
              @ ( more_strip_while_int
                @ ^ [X2: int] : ( X2 = zero_zero_int )
                @ ( map_int_int @ ( kyber_decompress @ q @ d ) @ compress_x ) ) ) )
          @ xa ) ) ) ) ).

%------------------------------------------------------------------------------