TPTP Problem File: SLH0975^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    : Frequency_Moments/0081_Frequency_Moments/prob_00062_002153__19803462_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    :  973 ( 302 unt; 175 typ;   0 def)
%            Number of atoms       : 2282 ( 932 equ;   0 cnn)
%            Maximal formula atoms :   11 (   2 avg)
%            Number of connectives : 10708 ( 306   ~;  20   |; 112   &;9071   @)
%                                         (   0 <=>;1199  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   7 avg)
%            Number of types       :   20 (  19 usr)
%            Number of type conns  :  490 ( 490   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  159 ( 156 usr;  22 con; 0-4 aty)
%            Number of variables   : 2079 (  49   ^;1970   !;  60   ?;2079   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 12:13:26.434
%------------------------------------------------------------------------------
% Could-be-implicit typings (19)
thf(ty_n_t__Congruence__Opartial____object__Opartial____object____ext_It__List__Olist_It__Nat__Onat_J_Mt__Group__Omonoid__Omonoid____ext_It__List__Olist_It__Nat__Onat_J_Mt__Ring__Oring__Oring____ext_It__List__Olist_It__Nat__Onat_J_Mt__Product____Type__Ounit_J_J_J,type,
    partia3928514338208745038t_unit: $tType ).

thf(ty_n_t__Congruence__Opartial____object__Opartial____object____ext_It__Nat__Onat_Mt__Group__Omonoid__Omonoid____ext_It__Nat__Onat_Mt__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J_J_J,type,
    partia4692342223508353374t_unit: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J_J,type,
    list_l3264859301627795341at_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    list_P6011104703257516679at_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_I_062_It__Nat__Onat_Mt__Int__Oint_J_J_J,type,
    list_list_nat_int: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_nat_list_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    product_prod_nat_nat: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Nat__Onat_Mt__Int__Oint_J_J,type,
    list_nat_int: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_nat_nat: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Nat__Onat_J_J,type,
    list_list_nat: $tType ).

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

thf(ty_n_t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    set_list_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Nat__Onat_J_J,type,
    set_set_nat: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Nat__Onat_J,type,
    multiset_nat: $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__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

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

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

% Explicit typings (156)
thf(sy_c_AbelCoset_Oa__l__coset_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    a_l_co3340896127261556338t_unit: partia4692342223508353374t_unit > nat > set_nat > set_nat ).

thf(sy_c_AbelCoset_Oset__add_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    set_ad320919470248169786t_unit: partia4692342223508353374t_unit > set_nat > set_nat > set_nat ).

thf(sy_c_Bounded__Degree__Polynomials_Obounded__degree__polynomials_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    bounde3854465399476640195t_unit: partia4692342223508353374t_unit > nat > set_list_nat ).

thf(sy_c_Bounded__Degree__Polynomials_Oring_Obuild__poly_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    bounde5390228520265920195t_unit: partia4692342223508353374t_unit > ( nat > nat ) > nat > list_nat ).

thf(sy_c_Congruence_Opartial__object_Ocarrier_001t__List__Olist_It__Nat__Onat_J_001t__Group__Omonoid__Omonoid____ext_It__List__Olist_It__Nat__Onat_J_Mt__Ring__Oring__Oring____ext_It__List__Olist_It__Nat__Onat_J_Mt__Product____Type__Ounit_J_J,type,
    partia3149769786163120205t_unit: partia3928514338208745038t_unit > set_list_nat ).

thf(sy_c_Congruence_Opartial__object_Ocarrier_001t__Nat__Onat_001t__Group__Omonoid__Omonoid____ext_It__Nat__Onat_Mt__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J_J,type,
    partia3499330772048238685t_unit: partia4692342223508353374t_unit > set_nat ).

thf(sy_c_Divisibility_Oessentially__equal_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    essent1469963903823369878t_unit: partia4692342223508353374t_unit > list_nat > list_nat > $o ).

thf(sy_c_Divisibility_Ofactor_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    factor7017787129603596992t_unit: partia4692342223508353374t_unit > nat > nat > $o ).

thf(sy_c_Divisibility_Ofactors_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    factor6197082534091422385t_unit: partia4692342223508353374t_unit > list_nat > nat > $o ).

thf(sy_c_Divisibility_Oirreducible_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    irredu2811410805266234189t_unit: partia4692342223508353374t_unit > nat > $o ).

thf(sy_c_Divisibility_Oisgcd_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    isgcd_1050045102061791863t_unit: partia4692342223508353374t_unit > nat > nat > nat > $o ).

thf(sy_c_Divisibility_Omonoid__cancel_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    monoid2713784563552164055t_unit: partia4692342223508353374t_unit > $o ).

thf(sy_c_Embedded__Algebras_Oring_OSpan_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    embedd8717632081033731216t_unit: partia4692342223508353374t_unit > set_nat > list_nat > set_nat ).

thf(sy_c_Embedded__Algebras_Oring_Ocombine_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    embedd3488583633307166237t_unit: partia4692342223508353374t_unit > list_nat > list_nat > nat ).

thf(sy_c_Embedded__Algebras_Oring_Odimension_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    embedd5688180257602933782t_unit: partia4692342223508353374t_unit > nat > set_nat > set_nat > $o ).

thf(sy_c_Embedded__Algebras_Oring_Ofinite__dimension_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    embedd6096501799845681477t_unit: partia4692342223508353374t_unit > set_nat > set_nat > $o ).

thf(sy_c_Embedded__Algebras_Oring_Oindependent_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    embedd118614884749572226t_unit: partia4692342223508353374t_unit > set_nat > list_nat > $o ).

thf(sy_c_Embedded__Algebras_Oring_Oline__extension_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    embedd838748496991043025t_unit: partia4692342223508353374t_unit > set_nat > nat > set_nat > set_nat ).

thf(sy_c_Embedded__Algebras_Osubalgebra_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    embedd2609395410403458802t_unit: set_nat > set_nat > partia4692342223508353374t_unit > $o ).

thf(sy_c_Field_Omod__ring,type,
    mod_ring: nat > partia4692342223508353374t_unit ).

thf(sy_c_FuncSet_Orestrict_001t__Nat__Onat_001t__Nat__Onat,type,
    restrict_nat_nat: ( nat > nat ) > set_nat > nat > nat ).

thf(sy_c_Group_Om__inv_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    m_inv_3931797133766013019t_unit: partia4692342223508353374t_unit > nat > nat ).

thf(sy_c_Group_Omonoid_Omult_001t__List__Olist_It__Nat__Onat_J_001t__Ring__Oring__Oring____ext_It__List__Olist_It__Nat__Onat_J_Mt__Product____Type__Ounit_J,type,
    mult_l3598037199710408769t_unit: partia3928514338208745038t_unit > list_nat > list_nat > list_nat ).

thf(sy_c_Group_Omonoid_Omult_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    mult_n6028127365542633569t_unit: partia4692342223508353374t_unit > nat > nat > nat ).

thf(sy_c_Group_Omonoid_Oone_001t__List__Olist_It__Nat__Onat_J_001t__Ring__Oring__Oring____ext_It__List__Olist_It__Nat__Onat_J_Mt__Product____Type__Ounit_J,type,
    one_li7624752283155684269t_unit: partia3928514338208745038t_unit > list_nat ).

thf(sy_c_Group_Omonoid_Oone_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    one_na902338870878123981t_unit: partia4692342223508353374t_unit > nat ).

thf(sy_c_Group_Opow_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J_001t__Nat__Onat,type,
    pow_na2209934344815510974it_nat: partia4692342223508353374t_unit > nat > nat > nat ).

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

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    minus_8121590178497047118at_nat: set_nat_nat > set_nat_nat > set_nat_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    minus_7954133019191499631st_nat: set_list_nat > set_list_nat > set_list_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Nat__Onat_J,type,
    minus_minus_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat,type,
    plus_plus_nat: nat > nat > nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_Ideal_Ocgenideal_001t__Nat__Onat_001t__Ring__Oring__Oring____ext_It__Nat__Onat_Mt__Product____Type__Ounit_J,type,
    cgenid8693976350862946099t_unit: partia4692342223508353374t_unit > nat > set_nat ).

thf(sy_c_Ideal_Ogenideal_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Ounit,type,
    genide6792062222344258525t_unit: partia3928514338208745038t_unit > set_list_nat > set_list_nat ).

thf(sy_c_Ideal_Ogenideal_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    genide4496968333291595629t_unit: partia4692342223508353374t_unit > set_nat > set_nat ).

thf(sy_c_Ideal_Oprincipalideal_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Ounit,type,
    princi5168719600247287067t_unit: set_list_nat > partia3928514338208745038t_unit > $o ).

thf(sy_c_Ideal_Oprincipalideal_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    princi4652470909602072491t_unit: set_nat > partia4692342223508353374t_unit > $o ).

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

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Nat__Onat_J,type,
    inf_inf_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Nat__Onat_J,type,
    sup_sup_set_nat: set_nat > set_nat > set_nat ).

thf(sy_c_List_Oappend_001t__Nat__Onat,type,
    append_nat: list_nat > list_nat > list_nat ).

thf(sy_c_List_Odrop_001t__Nat__Onat,type,
    drop_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Ofoldr_001t__Nat__Onat_001t__Nat__Onat,type,
    foldr_nat_nat: ( nat > nat > nat ) > list_nat > nat > nat ).

thf(sy_c_List_Ofoldr_001t__Nat__Onat_001t__Set__Oset_It__Nat__Onat_J,type,
    foldr_nat_set_nat: ( nat > set_nat > set_nat ) > list_nat > set_nat > set_nat ).

thf(sy_c_List_Olist_OCons_001_062_It__Nat__Onat_Mt__Int__Oint_J,type,
    cons_nat_int: ( nat > int ) > list_nat_int > list_nat_int ).

thf(sy_c_List_Olist_OCons_001t__Int__Oint,type,
    cons_int: int > list_int > list_int ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_I_062_It__Nat__Onat_Mt__Int__Oint_J_J,type,
    cons_list_nat_int: list_nat_int > list_list_nat_int > list_list_nat_int ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Int__Oint_J,type,
    cons_list_int: list_int > list_list_int > list_list_int ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Nat__Onat_J,type,
    cons_list_nat: list_nat > list_list_nat > list_list_nat ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    cons_l7612840610449961021at_nat: list_P6011104703257516679at_nat > list_l3264859301627795341at_nat > list_l3264859301627795341at_nat ).

thf(sy_c_List_Olist_OCons_001t__Nat__Onat,type,
    cons_nat: nat > list_nat > list_nat ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    cons_P6512896166579812791at_nat: product_prod_nat_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_ONil_001_062_It__Nat__Onat_Mt__Int__Oint_J,type,
    nil_nat_int: list_nat_int ).

thf(sy_c_List_Olist_ONil_001t__Int__Oint,type,
    nil_int: list_int ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_I_062_It__Nat__Onat_Mt__Int__Oint_J_J,type,
    nil_list_nat_int: list_list_nat_int ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Int__Oint_J,type,
    nil_list_int: list_list_int ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Nat__Onat_J,type,
    nil_list_nat: list_list_nat ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    nil_li8973309667444810893at_nat: list_l3264859301627795341at_nat ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nil_Pr5478986624290739719at_nat: list_P6011104703257516679at_nat ).

thf(sy_c_List_Olist_Ohd_001_062_It__Nat__Onat_Mt__Int__Oint_J,type,
    hd_nat_int: list_nat_int > nat > int ).

thf(sy_c_List_Olist_Ohd_001t__Int__Oint,type,
    hd_int: list_int > int ).

thf(sy_c_List_Olist_Ohd_001t__Nat__Onat,type,
    hd_nat: list_nat > nat ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    hd_Pro3460610213475200108at_nat: list_P6011104703257516679at_nat > product_prod_nat_nat ).

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__Nat__Onat,type,
    set_nat2: list_nat > set_nat ).

thf(sy_c_List_Olist_Otl_001t__Nat__Onat,type,
    tl_nat: list_nat > list_nat ).

thf(sy_c_List_Onth_001_062_It__Nat__Onat_Mt__Int__Oint_J,type,
    nth_nat_int: list_nat_int > nat > nat > int ).

thf(sy_c_List_Onth_001t__Int__Oint,type,
    nth_int: list_int > nat > int ).

thf(sy_c_List_Onth_001t__Nat__Onat,type,
    nth_nat: list_nat > nat > nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    nth_Pr7617993195940197384at_nat: list_P6011104703257516679at_nat > nat > product_prod_nat_nat ).

thf(sy_c_List_Oreplicate_001t__Nat__Onat,type,
    replicate_nat: nat > nat > list_nat ).

thf(sy_c_List_Orotate1_001t__Nat__Onat,type,
    rotate1_nat: list_nat > list_nat ).

thf(sy_c_List_Otake_001t__Nat__Onat,type,
    take_nat: nat > list_nat > list_nat ).

thf(sy_c_Multiset_Omset_001t__Nat__Onat,type,
    mset_nat: list_nat > multiset_nat ).

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

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Nat__Onat_Mt__Int__Oint_J_J,type,
    size_s5718426915756887103at_int: list_nat_int > 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__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    size_s5460976970255530739at_nat: list_P6011104703257516679at_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    size_s5917832649809541300et_nat: multiset_nat > nat ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__List__Olist_It__Nat__Onat_J_M_Eo_J,type,
    bot_bot_list_nat_o: list_nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Nat__Onat_M_Eo_J,type,
    bot_bot_nat_o: nat > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__List__Olist_It__Nat__Onat_J,type,
    bot_bot_list_nat: list_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat,type,
    bot_bot_nat: nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    bot_bot_set_nat_nat: set_nat_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    bot_bot_set_list_nat: set_list_nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Nat__Onat_J,type,
    bot_bot_set_nat: set_nat ).

thf(sy_c_Orderings_Oord__class_Oless_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    ord_less_nat_nat: ( nat > nat ) > ( nat > nat ) > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__List__Olist_It__Nat__Onat_J,type,
    ord_less_list_nat: list_nat > list_nat > $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_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_less_set_nat_nat: set_nat_nat > set_nat_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    ord_le1190675801316882794st_nat: set_list_nat > set_list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_set_nat: set_nat > set_nat > $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_I_062_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    ord_le9059583361652607317at_nat: set_nat_nat > set_nat_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__List__Olist_It__Nat__Onat_J_J,type,
    ord_le6045566169113846134st_nat: set_list_nat > set_list_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Nat__Onat_J,type,
    ord_less_eq_set_nat: set_nat > set_nat > $o ).

thf(sy_c_Orderings_Oord__class_Omax_001t__Nat__Onat,type,
    ord_max_nat: nat > nat > nat ).

thf(sy_c_Polynomial__Divisibility_Oring_Oexp__base_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    polyno8921485606125069700t_unit: partia4692342223508353374t_unit > nat > nat > list_nat ).

thf(sy_c_Polynomial__Divisibility_Oring_Ois__root_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    polyno2849863809390331288t_unit: partia4692342223508353374t_unit > list_nat > nat > $o ).

thf(sy_c_Polynomial__Divisibility_Oring_Oroots__on_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    polyno8228050081179043874t_unit: partia4692342223508353374t_unit > set_nat > list_nat > multiset_nat ).

thf(sy_c_Polynomial__Divisibility_Oring_Osplitted__on_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    polyno7407801497863813228t_unit: partia4692342223508353374t_unit > set_nat > list_nat > $o ).

thf(sy_c_Polynomials_Opolynomial_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    polyno706972469035745780t_unit: partia4692342223508353374t_unit > set_nat > list_nat > $o ).

thf(sy_c_Polynomials_Oring_Ocoeff_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    coeff_4949646838636212597t_unit: partia4692342223508353374t_unit > list_nat > nat > nat ).

thf(sy_c_Polynomials_Oring_Oconst__term_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    const_5295138510841209215t_unit: partia4692342223508353374t_unit > list_nat > nat ).

thf(sy_c_Polynomials_Oring_Odense__repr_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    dense_1666442052194663994t_unit: partia4692342223508353374t_unit > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_Polynomials_Oring_Oeval_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    eval_n2036712413383885900t_unit: partia4692342223508353374t_unit > list_nat > nat > nat ).

thf(sy_c_Polynomials_Oring_Omonom_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    monom_3085014561924103396t_unit: partia4692342223508353374t_unit > nat > nat > list_nat ).

thf(sy_c_Polynomials_Oring_Onormalize_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    normal7331864495608602945t_unit: partia4692342223508353374t_unit > list_nat > list_nat ).

thf(sy_c_Polynomials_Oring_Opoly__add_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    poly_a8260536851633033337t_unit: partia4692342223508353374t_unit > list_nat > list_nat > list_nat ).

thf(sy_c_Polynomials_Oring_Opoly__mult_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    poly_m4675589478133533260t_unit: partia4692342223508353374t_unit > list_nat > list_nat > list_nat ).

thf(sy_c_Polynomials_Oring_Opoly__of__const_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    poly_o4757472714646995822t_unit: partia4692342223508353374t_unit > nat > list_nat ).

thf(sy_c_Polynomials_Oring_Opoly__of__dense_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    poly_o7905497302356279026t_unit: partia4692342223508353374t_unit > list_P6011104703257516679at_nat > list_nat ).

thf(sy_c_Polynomials_Ouniv__poly_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    univ_p6780865688651612086t_unit: partia4692342223508353374t_unit > set_nat > partia3928514338208745038t_unit ).

thf(sy_c_Polynomials_Ovar_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    var_nat_Product_unit: partia4692342223508353374t_unit > list_nat ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Nat__Onat,type,
    product_Pair_nat_nat: nat > nat > product_prod_nat_nat ).

thf(sy_c_Ring_Oabelian__monoid_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Ounit,type,
    abelia9056795585753127803t_unit: partia3928514338208745038t_unit > $o ).

thf(sy_c_Ring_Oabelian__monoid_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    abelia362511065248671243t_unit: partia4692342223508353374t_unit > $o ).

thf(sy_c_Ring_Ofinsum_001t__Nat__Onat_001t__Product____Type__Ounit_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    finsum1255488449322195615at_nat: partia4692342223508353374t_unit > ( ( nat > nat ) > nat ) > set_nat_nat > nat ).

thf(sy_c_Ring_Ofinsum_001t__Nat__Onat_001t__Product____Type__Ounit_001t__List__Olist_It__Nat__Onat_J,type,
    finsum3703397487457372224st_nat: partia4692342223508353374t_unit > ( list_nat > nat ) > set_list_nat > nat ).

thf(sy_c_Ring_Ofinsum_001t__Nat__Onat_001t__Product____Type__Ounit_001t__Nat__Onat,type,
    finsum6098970081852579120it_nat: partia4692342223508353374t_unit > ( nat > nat ) > set_nat > nat ).

thf(sy_c_Ring_Oring_Oadd_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Ounit,type,
    add_li7561029539577564902t_unit: partia3928514338208745038t_unit > list_nat > list_nat > list_nat ).

thf(sy_c_Ring_Oring_Oadd_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    add_nat_Product_unit: partia4692342223508353374t_unit > nat > nat > nat ).

thf(sy_c_Ring_Oring_Ozero_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Ounit,type,
    zero_l6543981681483557223t_unit: partia3928514338208745038t_unit > list_nat ).

thf(sy_c_Ring_Oring_Ozero_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    zero_n5149899317435570679t_unit: partia4692342223508353374t_unit > nat ).

thf(sy_c_Ring_Osemiring_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    semiri3921172975686117281t_unit: partia4692342223508353374t_unit > $o ).

thf(sy_c_Ring__Divisibility_Oring__irreducible_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Ounit,type,
    ring_r7080231636092395046t_unit: partia3928514338208745038t_unit > list_nat > $o ).

thf(sy_c_Set_OCollect_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    collect_nat_nat: ( ( nat > nat ) > $o ) > set_nat_nat ).

thf(sy_c_Set_OCollect_001t__List__Olist_It__Nat__Onat_J,type,
    collect_list_nat: ( list_nat > $o ) > set_list_nat ).

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

thf(sy_c_Set_Oinsert_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    insert_nat_nat: ( nat > nat ) > set_nat_nat > set_nat_nat ).

thf(sy_c_Set_Oinsert_001t__List__Olist_It__Nat__Onat_J,type,
    insert_list_nat: list_nat > set_list_nat > set_list_nat ).

thf(sy_c_Set_Oinsert_001t__Nat__Onat,type,
    insert_nat: nat > set_nat > set_nat ).

thf(sy_c_Set__Interval_Oord__class_OlessThan_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    set_or1140352010380016476at_nat: ( nat > nat ) > set_nat_nat ).

thf(sy_c_Set__Interval_Oord__class_OlessThan_001t__List__Olist_It__Nat__Onat_J,type,
    set_or3033090826390029821st_nat: list_nat > set_list_nat ).

thf(sy_c_Set__Interval_Oord__class_OlessThan_001t__Nat__Onat,type,
    set_ord_lessThan_nat: nat > set_nat ).

thf(sy_c_Set__Interval_Oord__class_OlessThan_001t__Set__Oset_It__Nat__Onat_J,type,
    set_or890127255671739683et_nat: set_nat > set_set_nat ).

thf(sy_c_Subrings_Osubfield_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    subfie4892355163478727762t_unit: set_nat > partia4692342223508353374t_unit > $o ).

thf(sy_c_Subrings_Osubring_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    subrin2893992908230074586t_unit: set_nat > partia4692342223508353374t_unit > $o ).

thf(sy_c_UnivPoly_Obound_001t__List__Olist_It__Nat__Onat_J,type,
    bound_list_nat: list_nat > nat > ( nat > list_nat ) > $o ).

thf(sy_c_UnivPoly_Obound_001t__Nat__Onat,type,
    bound_nat: nat > nat > ( nat > nat ) > $o ).

thf(sy_c_UnivPoly_Oup_001t__List__Olist_It__Nat__Onat_J_001t__Product____Type__Ounit,type,
    up_lis3128947089501900338t_unit: partia3928514338208745038t_unit > set_nat_list_nat ).

thf(sy_c_UnivPoly_Oup_001t__Nat__Onat_001t__Product____Type__Ounit,type,
    up_nat_Product_unit: partia4692342223508353374t_unit > set_nat_nat ).

thf(sy_c_member_001_062_It__Nat__Onat_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member_nat_list_nat: ( nat > list_nat ) > set_nat_list_nat > $o ).

thf(sy_c_member_001_062_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member_nat_nat: ( nat > nat ) > set_nat_nat > $o ).

thf(sy_c_member_001t__List__Olist_It__Nat__Onat_J,type,
    member_list_nat: list_nat > set_list_nat > $o ).

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

thf(sy_c_member_001t__Set__Oset_It__Nat__Onat_J,type,
    member_set_nat: set_nat > set_set_nat > $o ).

thf(sy_v_i____,type,
    i: nat ).

thf(sy_v_n,type,
    n: nat ).

thf(sy_v_p,type,
    p: nat ).

thf(sy_v_x____,type,
    x: list_nat ).

thf(sy_v_y____,type,
    y: list_nat ).

% Relevant facts (794)
thf(fact_0_calculation,axiom,
    ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ x @ i )
    = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ).

% calculation
thf(fact_1_c,axiom,
    member_list_nat @ y @ ( bounde3854465399476640195t_unit @ ( mod_ring @ p ) @ n ) ).

% c
thf(fact_2_monom__coeff,axiom,
    ! [A: nat,N: nat] :
      ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( monom_3085014561924103396t_unit @ ( mod_ring @ p ) @ A @ N ) )
      = ( ^ [I: nat] : ( if_nat @ ( I = N ) @ A @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% monom_coeff
thf(fact_3_coeff_Osimps_I1_J,axiom,
    ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ nil_nat )
    = ( ^ [Uu: nat] : ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% coeff.simps(1)
thf(fact_4_local_Osemiring__axioms,axiom,
    semiri3921172975686117281t_unit @ ( mod_ring @ p ) ).

% local.semiring_axioms
thf(fact_5_coeff__iff__length__cond,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ( size_size_list_nat @ P1 )
        = ( size_size_list_nat @ P2 ) )
     => ( ( P1 = P2 )
        = ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P1 )
          = ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P2 ) ) ) ) ).

% coeff_iff_length_cond
thf(fact_6_abelian__monoid__axioms,axiom,
    abelia362511065248671243t_unit @ ( mod_ring @ p ) ).

% abelian_monoid_axioms
thf(fact_7_subring__props_I2_J,axiom,
    ! [K: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( member_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ K ) ) ).

% subring_props(2)
thf(fact_8_zero__divides,axiom,
    ! [A: nat] :
      ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ A )
      = ( A
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% zero_divides
thf(fact_9_coeff__iff__polynomial__cond,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat] :
      ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P1 )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P2 )
       => ( ( P1 = P2 )
          = ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P1 )
            = ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P2 ) ) ) ) ) ).

% coeff_iff_polynomial_cond
thf(fact_10_add_Ofinprod__one__eqI,axiom,
    ! [A2: set_list_nat,F: list_nat > nat] :
      ( ! [X: list_nat] :
          ( ( member_list_nat @ X @ A2 )
         => ( ( F @ X )
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
     => ( ( finsum3703397487457372224st_nat @ ( mod_ring @ p ) @ F @ A2 )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% add.finprod_one_eqI
thf(fact_11_add_Ofinprod__one__eqI,axiom,
    ! [A2: set_nat,F: nat > nat] :
      ( ! [X: nat] :
          ( ( member_nat @ X @ A2 )
         => ( ( F @ X )
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
     => ( ( finsum6098970081852579120it_nat @ ( mod_ring @ p ) @ F @ A2 )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% add.finprod_one_eqI
thf(fact_12_add_Ofinprod__one__eqI,axiom,
    ! [A2: set_nat_nat,F: ( nat > nat ) > nat] :
      ( ! [X: nat > nat] :
          ( ( member_nat_nat @ X @ A2 )
         => ( ( F @ X )
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
     => ( ( finsum1255488449322195615at_nat @ ( mod_ring @ p ) @ F @ A2 )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% add.finprod_one_eqI
thf(fact_13_normalize__coeff,axiom,
    ! [P: list_nat] :
      ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P )
      = ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) ).

% normalize_coeff
thf(fact_14_False,axiom,
    ~ ( ord_less_nat @ i @ n ) ).

% False
thf(fact_15_b,axiom,
    member_list_nat @ x @ ( bounde3854465399476640195t_unit @ ( mod_ring @ p ) @ n ) ).

% b
thf(fact_16_normalize_Osimps_I1_J,axiom,
    ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ nil_nat )
    = nil_nat ) ).

% normalize.simps(1)
thf(fact_17_normalize__polynomial,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
     => ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P )
        = P ) ) ).

% normalize_polynomial
thf(fact_18_True,axiom,
    ord_less_nat @ one_one_nat @ p ).

% True
thf(fact_19_zero__is__polynomial,axiom,
    ! [K: set_nat] : ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ nil_nat ) ).

% zero_is_polynomial
thf(fact_20_build__poly__coeff,axiom,
    ! [I2: nat,N: nat,F: nat > nat] :
      ( ( ( ord_less_nat @ I2 @ N )
       => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( bounde5390228520265920195t_unit @ ( mod_ring @ p ) @ F @ N ) @ I2 )
          = ( F @ I2 ) ) )
      & ( ~ ( ord_less_nat @ I2 @ N )
       => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( bounde5390228520265920195t_unit @ ( mod_ring @ p ) @ F @ N ) @ I2 )
          = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% build_poly_coeff
thf(fact_21_coeff__length,axiom,
    ! [P: list_nat,I2: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ P ) @ I2 )
     => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P @ I2 )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% coeff_length
thf(fact_22_const__term__not__zero,axiom,
    ! [P: list_nat] :
      ( ( ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ P )
       != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
     => ( P != nil_nat ) ) ).

% const_term_not_zero
thf(fact_23_e,axiom,
    ord_less_eq_nat @ n @ i ).

% e
thf(fact_24_ee__length,axiom,
    ! [As: list_nat,Bs: list_nat] :
      ( ( essent1469963903823369878t_unit @ ( mod_ring @ p ) @ As @ Bs )
     => ( ( size_size_list_nat @ As )
        = ( size_size_list_nat @ Bs ) ) ) ).

% ee_length
thf(fact_25_normalize__lead__coeff,axiom,
    ! [P: list_nat] :
      ( ( ord_less_nat @ ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) @ ( size_size_list_nat @ P ) )
     => ( ( hd_nat @ P )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% normalize_lead_coeff
thf(fact_26_normalize__length__le,axiom,
    ! [P: list_nat] : ( ord_less_eq_nat @ ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) @ ( size_size_list_nat @ P ) ) ).

% normalize_length_le
thf(fact_27_divides__zero,axiom,
    ! [A: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% divides_zero
thf(fact_28_d,axiom,
    ( ( restrict_nat_nat @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ x ) @ ( set_ord_lessThan_nat @ n ) )
    = ( restrict_nat_nat @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ y ) @ ( set_ord_lessThan_nat @ n ) ) ) ).

% d
thf(fact_29_non__empty__bounded__degree__polynomials,axiom,
    ! [K2: nat] :
      ( ( bounde3854465399476640195t_unit @ ( mod_ring @ p ) @ K2 )
     != bot_bot_set_list_nat ) ).

% non_empty_bounded_degree_polynomials
thf(fact_30_telescopic__base__dim_I1_J,axiom,
    ! [K: set_nat,F2: set_nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( subfie4892355163478727762t_unit @ F2 @ ( mod_ring @ p ) )
       => ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ F2 )
         => ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ F2 @ E )
           => ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E ) ) ) ) ) ).

% telescopic_base_dim(1)
thf(fact_31_dense__repr__normalize,axiom,
    ! [P: list_nat] :
      ( ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) )
      = ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ P ) ) ).

% dense_repr_normalize
thf(fact_32_divides__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B )
     => ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ B @ C )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ C ) ) ) ) ).

% divides_trans
thf(fact_33_length__build__poly,axiom,
    ! [F: nat > nat,N: nat] : ( ord_less_eq_nat @ ( size_size_list_nat @ ( bounde5390228520265920195t_unit @ ( mod_ring @ p ) @ F @ N ) ) @ N ) ).

% length_build_poly
thf(fact_34_normalize__length__eq,axiom,
    ! [P: list_nat] :
      ( ( ( hd_nat @ P )
       != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
     => ( ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) )
        = ( size_size_list_nat @ P ) ) ) ).

% normalize_length_eq
thf(fact_35_build__poly__bounded,axiom,
    ! [N: nat,F: nat > nat] :
      ( ! [K3: nat] :
          ( ( ord_less_nat @ K3 @ N )
         => ( member_nat @ ( F @ K3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) )
     => ( member_list_nat @ ( bounde5390228520265920195t_unit @ ( mod_ring @ p ) @ F @ N ) @ ( bounde3854465399476640195t_unit @ ( mod_ring @ p ) @ N ) ) ) ).

% build_poly_bounded
thf(fact_36_zero__closed,axiom,
    member_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ).

% zero_closed
thf(fact_37_divides__refl,axiom,
    ! [A: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ A ) ) ).

% divides_refl
thf(fact_38_finsum__empty,axiom,
    ! [F: list_nat > nat] :
      ( ( finsum3703397487457372224st_nat @ ( mod_ring @ p ) @ F @ bot_bot_set_list_nat )
      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ).

% finsum_empty
thf(fact_39_finsum__empty,axiom,
    ! [F: nat > nat] :
      ( ( finsum6098970081852579120it_nat @ ( mod_ring @ p ) @ F @ bot_bot_set_nat )
      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ).

% finsum_empty
thf(fact_40_isgcd__divides__l,axiom,
    ! [A: nat,B: nat] :
      ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( isgcd_1050045102061791863t_unit @ ( mod_ring @ p ) @ A @ A @ B ) ) ) ) ).

% isgcd_divides_l
thf(fact_41_isgcd__divides__r,axiom,
    ! [B: nat,A: nat] :
      ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ B @ A )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( isgcd_1050045102061791863t_unit @ ( mod_ring @ p ) @ B @ A @ B ) ) ) ) ).

% isgcd_divides_r
thf(fact_42_onepideal,axiom,
    princi4652470909602072491t_unit @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) @ ( mod_ring @ p ) ).

% onepideal
thf(fact_43_boundD__carrier,axiom,
    ! [N: nat,F: nat > nat,M: nat] :
      ( ( bound_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ N @ F )
     => ( ( ord_less_nat @ N @ M )
       => ( member_nat @ ( F @ M ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% boundD_carrier
thf(fact_44_normalize__length__lt,axiom,
    ! [P: list_nat] :
      ( ( ( hd_nat @ P )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_nat @ P ) )
       => ( ord_less_nat @ ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) @ ( size_size_list_nat @ P ) ) ) ) ).

% normalize_length_lt
thf(fact_45_coeff__degree,axiom,
    ! [P: list_nat,I2: nat] :
      ( ( ord_less_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ one_one_nat ) @ I2 )
     => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P @ I2 )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% coeff_degree
thf(fact_46_finite__dimension__imp__subalgebra,axiom,
    ! [K: set_nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E )
       => ( embedd2609395410403458802t_unit @ K @ E @ ( mod_ring @ p ) ) ) ) ).

% finite_dimension_imp_subalgebra
thf(fact_47_mem__Collect__eq,axiom,
    ! [A: list_nat,P3: list_nat > $o] :
      ( ( member_list_nat @ A @ ( collect_list_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_48_mem__Collect__eq,axiom,
    ! [A: nat,P3: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_49_mem__Collect__eq,axiom,
    ! [A: nat > nat,P3: ( nat > nat ) > $o] :
      ( ( member_nat_nat @ A @ ( collect_nat_nat @ P3 ) )
      = ( P3 @ A ) ) ).

% mem_Collect_eq
thf(fact_50_Collect__mem__eq,axiom,
    ! [A2: set_list_nat] :
      ( ( collect_list_nat
        @ ^ [X2: list_nat] : ( member_list_nat @ X2 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_51_Collect__mem__eq,axiom,
    ! [A2: set_nat] :
      ( ( collect_nat
        @ ^ [X2: nat] : ( member_nat @ X2 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_52_Collect__mem__eq,axiom,
    ! [A2: set_nat_nat] :
      ( ( collect_nat_nat
        @ ^ [X2: nat > nat] : ( member_nat_nat @ X2 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_53_build__poly__degree,axiom,
    ! [F: nat > nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ ( size_size_list_nat @ ( bounde5390228520265920195t_unit @ ( mod_ring @ p ) @ F @ N ) ) @ one_one_nat ) @ ( minus_minus_nat @ N @ one_one_nat ) ) ).

% build_poly_degree
thf(fact_54_lessThan__iff,axiom,
    ! [I2: list_nat,K2: list_nat] :
      ( ( member_list_nat @ I2 @ ( set_or3033090826390029821st_nat @ K2 ) )
      = ( ord_less_list_nat @ I2 @ K2 ) ) ).

% lessThan_iff
thf(fact_55_lessThan__iff,axiom,
    ! [I2: nat > nat,K2: nat > nat] :
      ( ( member_nat_nat @ I2 @ ( set_or1140352010380016476at_nat @ K2 ) )
      = ( ord_less_nat_nat @ I2 @ K2 ) ) ).

% lessThan_iff
thf(fact_56_lessThan__iff,axiom,
    ! [I2: set_nat,K2: set_nat] :
      ( ( member_set_nat @ I2 @ ( set_or890127255671739683et_nat @ K2 ) )
      = ( ord_less_set_nat @ I2 @ K2 ) ) ).

% lessThan_iff
thf(fact_57_lessThan__iff,axiom,
    ! [I2: nat,K2: nat] :
      ( ( member_nat @ I2 @ ( set_ord_lessThan_nat @ K2 ) )
      = ( ord_less_nat @ I2 @ K2 ) ) ).

% lessThan_iff
thf(fact_58_lessThan__subset__iff,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ord_less_eq_set_nat @ ( set_ord_lessThan_nat @ X3 ) @ ( set_ord_lessThan_nat @ Y ) )
      = ( ord_less_eq_nat @ X3 @ Y ) ) ).

% lessThan_subset_iff
thf(fact_59_carrier__not__empty,axiom,
    ( ( partia3499330772048238685t_unit @ ( mod_ring @ p ) )
   != bot_bot_set_nat ) ).

% carrier_not_empty
thf(fact_60_subring__props_I4_J,axiom,
    ! [K: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( K != bot_bot_set_nat ) ) ).

% subring_props(4)
thf(fact_61_subring__props_I1_J,axiom,
    ! [K: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ord_less_eq_set_nat @ K @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% subring_props(1)
thf(fact_62_subalgebra__in__carrier,axiom,
    ! [K: set_nat,V: set_nat] :
      ( ( embedd2609395410403458802t_unit @ K @ V @ ( mod_ring @ p ) )
     => ( ord_less_eq_set_nat @ V @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% subalgebra_in_carrier
thf(fact_63_carrier__is__subalgebra,axiom,
    ! [K: set_nat] :
      ( ( ord_less_eq_set_nat @ K @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( embedd2609395410403458802t_unit @ K @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) @ ( mod_ring @ p ) ) ) ).

% carrier_is_subalgebra
thf(fact_64_lessThan__eq__iff,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ( set_ord_lessThan_nat @ X3 )
        = ( set_ord_lessThan_nat @ Y ) )
      = ( X3 = Y ) ) ).

% lessThan_eq_iff
thf(fact_65_subalbegra__incl__imp__finite__dimension,axiom,
    ! [K: set_nat,E: set_nat,V: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E )
       => ( ( embedd2609395410403458802t_unit @ K @ V @ ( mod_ring @ p ) )
         => ( ( ord_less_eq_set_nat @ V @ E )
           => ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ V ) ) ) ) ) ).

% subalbegra_incl_imp_finite_dimension
thf(fact_66_lessThan__0,axiom,
    ( ( set_ord_lessThan_nat @ zero_zero_nat )
    = bot_bot_set_nat ) ).

% lessThan_0
thf(fact_67_lead__coeff__simp,axiom,
    ! [P: list_nat] :
      ( ( P != nil_nat )
     => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ one_one_nat ) )
        = ( hd_nat @ P ) ) ) ).

% lead_coeff_simp
thf(fact_68_lessThan__empty__iff,axiom,
    ! [N: nat] :
      ( ( ( set_ord_lessThan_nat @ N )
        = bot_bot_set_nat )
      = ( N = zero_zero_nat ) ) ).

% lessThan_empty_iff
thf(fact_69_bounded__Max__nat,axiom,
    ! [P3: nat > $o,X3: nat,M2: nat] :
      ( ( P3 @ X3 )
     => ( ! [X: nat] :
            ( ( P3 @ X )
           => ( ord_less_eq_nat @ X @ M2 ) )
       => ~ ! [M3: nat] :
              ( ( P3 @ M3 )
             => ~ ! [X4: nat] :
                    ( ( P3 @ X4 )
                   => ( ord_less_eq_nat @ X4 @ M3 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_70_lessThan__strict__subset__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_set_nat @ ( set_ord_lessThan_nat @ M ) @ ( set_ord_lessThan_nat @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% lessThan_strict_subset_iff
thf(fact_71_Iio__eq__empty__iff,axiom,
    ! [N: list_nat] :
      ( ( ( set_or3033090826390029821st_nat @ N )
        = bot_bot_set_list_nat )
      = ( N = bot_bot_list_nat ) ) ).

% Iio_eq_empty_iff
thf(fact_72_Iio__eq__empty__iff,axiom,
    ! [N: nat] :
      ( ( ( set_ord_lessThan_nat @ N )
        = bot_bot_set_nat )
      = ( N = bot_bot_nat ) ) ).

% Iio_eq_empty_iff
thf(fact_73_length__greater__0__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s5460976970255530739at_nat @ Xs ) )
      = ( Xs != nil_Pr5478986624290739719at_nat ) ) ).

% length_greater_0_conv
thf(fact_74_length__greater__0__conv,axiom,
    ! [Xs: list_nat_int] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s5718426915756887103at_int @ Xs ) )
      = ( Xs != nil_nat_int ) ) ).

% length_greater_0_conv
thf(fact_75_length__greater__0__conv,axiom,
    ! [Xs: list_int] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_int @ Xs ) )
      = ( Xs != nil_int ) ) ).

% length_greater_0_conv
thf(fact_76_length__greater__0__conv,axiom,
    ! [Xs: list_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_nat @ Xs ) )
      = ( Xs != nil_nat ) ) ).

% length_greater_0_conv
thf(fact_77_degree__var,axiom,
    ( ( minus_minus_nat @ ( size_size_list_nat @ ( var_nat_Product_unit @ ( mod_ring @ p ) ) ) @ one_one_nat )
    = one_one_nat ) ).

% degree_var
thf(fact_78_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_79_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_80_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_81_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_82_length__0__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( ( size_s5460976970255530739at_nat @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_Pr5478986624290739719at_nat ) ) ).

% length_0_conv
thf(fact_83_length__0__conv,axiom,
    ! [Xs: list_nat_int] :
      ( ( ( size_s5718426915756887103at_int @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_nat_int ) ) ).

% length_0_conv
thf(fact_84_length__0__conv,axiom,
    ! [Xs: list_int] :
      ( ( ( size_size_list_int @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_int ) ) ).

% length_0_conv
thf(fact_85_length__0__conv,axiom,
    ! [Xs: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_nat ) ) ).

% length_0_conv
thf(fact_86_bound_Ointro,axiom,
    ! [N: nat,F: nat > nat,Z: nat] :
      ( ! [M3: nat] :
          ( ( ord_less_nat @ N @ M3 )
         => ( ( F @ M3 )
            = Z ) )
     => ( bound_nat @ Z @ N @ F ) ) ).

% bound.intro
thf(fact_87_dense__repr_Osimps_I1_J,axiom,
    ( ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ nil_nat )
    = nil_Pr5478986624290739719at_nat ) ).

% dense_repr.simps(1)
thf(fact_88_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

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

% not_gr_zero
thf(fact_90_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_91_diff__zero,axiom,
    ! [A: nat] :
      ( ( minus_minus_nat @ A @ zero_zero_nat )
      = A ) ).

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

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

% less_nat_zero_code
thf(fact_94_neq0__conv,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% neq0_conv
thf(fact_95_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_96_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

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

% bot_nat_0.extremum
thf(fact_98_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

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

% diff_0_eq_0
thf(fact_100_diff__diff__cancel,axiom,
    ! [I2: nat,N: nat] :
      ( ( ord_less_eq_nat @ I2 @ N )
     => ( ( minus_minus_nat @ N @ ( minus_minus_nat @ N @ I2 ) )
        = I2 ) ) ).

% diff_diff_cancel
thf(fact_101_bot__nat__def,axiom,
    bot_bot_nat = zero_zero_nat ).

% bot_nat_def
thf(fact_102_zero__reorient,axiom,
    ! [X3: nat] :
      ( ( zero_zero_nat = X3 )
      = ( X3 = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_103_one__reorient,axiom,
    ! [X3: nat] :
      ( ( one_one_nat = X3 )
      = ( X3 = one_one_nat ) ) ).

% one_reorient
thf(fact_104_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_105_linorder__neqE__nat,axiom,
    ! [X3: nat,Y: nat] :
      ( ( X3 != Y )
     => ( ~ ( ord_less_nat @ X3 @ Y )
       => ( ord_less_nat @ Y @ X3 ) ) ) ).

% linorder_neqE_nat
thf(fact_106_infinite__descent,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ~ ( P3 @ N2 )
         => ? [M4: nat] :
              ( ( ord_less_nat @ M4 @ N2 )
              & ~ ( P3 @ M4 ) ) )
     => ( P3 @ N ) ) ).

% infinite_descent
thf(fact_107_nat__less__induct,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M4: nat] :
              ( ( ord_less_nat @ M4 @ N2 )
             => ( P3 @ M4 ) )
         => ( P3 @ N2 ) )
     => ( P3 @ N ) ) ).

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

% less_irrefl_nat
thf(fact_109_less__not__refl3,axiom,
    ! [S: nat,T: nat] :
      ( ( ord_less_nat @ S @ T )
     => ( S != T ) ) ).

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

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

% less_not_refl
thf(fact_112_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_113_size__neq__size__imp__neq,axiom,
    ! [X3: list_nat,Y: list_nat] :
      ( ( ( size_size_list_nat @ X3 )
       != ( size_size_list_nat @ Y ) )
     => ( X3 != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_114_size__neq__size__imp__neq,axiom,
    ! [X3: multiset_nat,Y: multiset_nat] :
      ( ( ( size_s5917832649809541300et_nat @ X3 )
       != ( size_s5917832649809541300et_nat @ Y ) )
     => ( X3 != Y ) ) ).

% size_neq_size_imp_neq
thf(fact_115_neq__if__length__neq,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
       != ( size_size_list_nat @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_116_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs2: list_nat] :
      ( ( size_size_list_nat @ Xs2 )
      = N ) ).

% Ex_list_of_length
thf(fact_117_Nat_Oex__has__greatest__nat,axiom,
    ! [P3: nat > $o,K2: nat,B: nat] :
      ( ( P3 @ K2 )
     => ( ! [Y2: nat] :
            ( ( P3 @ Y2 )
           => ( ord_less_eq_nat @ Y2 @ B ) )
       => ? [X: nat] :
            ( ( P3 @ X )
            & ! [Y3: nat] :
                ( ( P3 @ Y3 )
               => ( ord_less_eq_nat @ Y3 @ X ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_118_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_119_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_120_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_121_le__trans,axiom,
    ! [I2: nat,J: nat,K2: nat] :
      ( ( ord_less_eq_nat @ I2 @ J )
     => ( ( ord_less_eq_nat @ J @ K2 )
       => ( ord_less_eq_nat @ I2 @ K2 ) ) ) ).

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

% le_refl
thf(fact_123_diff__commute,axiom,
    ! [I2: nat,J: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I2 @ J ) @ K2 )
      = ( minus_minus_nat @ ( minus_minus_nat @ I2 @ K2 ) @ J ) ) ).

% diff_commute
thf(fact_124_zero__le,axiom,
    ! [X3: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X3 ) ).

% zero_le
thf(fact_125_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

% le_numeral_extra(3)
thf(fact_126_le__numeral__extra_I4_J,axiom,
    ord_less_eq_nat @ one_one_nat @ one_one_nat ).

% le_numeral_extra(4)
thf(fact_127_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_128_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

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

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

% gr_zeroI
thf(fact_131_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_132_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_133_infinite__descent0,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ( P3 @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( ~ ( P3 @ N2 )
             => ? [M4: nat] :
                  ( ( ord_less_nat @ M4 @ N2 )
                  & ~ ( P3 @ M4 ) ) ) )
       => ( P3 @ N ) ) ) ).

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

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

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

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

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

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

% bot_nat_0.extremum_strict
thf(fact_140_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

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

% less_eq_nat.simps(1)
thf(fact_144_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_145_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_146_length__induct,axiom,
    ! [P3: list_nat > $o,Xs: list_nat] :
      ( ! [Xs2: list_nat] :
          ( ! [Ys2: list_nat] :
              ( ( ord_less_nat @ ( size_size_list_nat @ Ys2 ) @ ( size_size_list_nat @ Xs2 ) )
             => ( P3 @ Ys2 ) )
         => ( P3 @ Xs2 ) )
     => ( P3 @ Xs ) ) ).

% length_induct
thf(fact_147_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I2: nat,J: nat] :
      ( ! [I3: nat,J2: nat] :
          ( ( ord_less_nat @ I3 @ J2 )
         => ( ord_less_nat @ ( F @ I3 ) @ ( F @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I2 @ J )
       => ( ord_less_eq_nat @ ( F @ I2 ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_148_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_149_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_150_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M5: nat,N3: nat] :
          ( ( ord_less_nat @ M5 @ N3 )
          | ( M5 = N3 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_151_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_152_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M5: nat,N3: nat] :
          ( ( ord_less_eq_nat @ M5 @ N3 )
          & ( M5 != N3 ) ) ) ) ).

% nat_less_le
thf(fact_153_less__imp__diff__less,axiom,
    ! [J: nat,K2: nat,N: nat] :
      ( ( ord_less_nat @ J @ K2 )
     => ( ord_less_nat @ ( minus_minus_nat @ J @ N ) @ K2 ) ) ).

% less_imp_diff_less
thf(fact_154_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_155_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_156_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_157_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_158_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_159_Nat_Odiff__diff__eq,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

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

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

% eq_diff_iff
thf(fact_162_bound__def,axiom,
    ( bound_nat
    = ( ^ [Z2: nat,N3: nat,F3: nat > nat] :
        ! [M5: nat] :
          ( ( ord_less_nat @ N3 @ M5 )
         => ( ( F3 @ M5 )
            = Z2 ) ) ) ) ).

% bound_def
thf(fact_163_bound_Obound,axiom,
    ! [Z: nat,N: nat,F: nat > nat,M: nat] :
      ( ( bound_nat @ Z @ N @ F )
     => ( ( ord_less_nat @ N @ M )
       => ( ( F @ M )
          = Z ) ) ) ).

% bound.bound
thf(fact_164_bound__below,axiom,
    ! [Z: nat,M: nat,F: nat > nat,N: nat] :
      ( ( bound_nat @ Z @ M @ F )
     => ( ( ( F @ N )
         != Z )
       => ( ord_less_eq_nat @ N @ M ) ) ) ).

% bound_below
thf(fact_165_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_166_list_Osize_I3_J,axiom,
    ( ( size_s5460976970255530739at_nat @ nil_Pr5478986624290739719at_nat )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_167_list_Osize_I3_J,axiom,
    ( ( size_s5718426915756887103at_int @ nil_nat_int )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_168_list_Osize_I3_J,axiom,
    ( ( size_size_list_int @ nil_int )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_169_list_Osize_I3_J,axiom,
    ( ( size_size_list_nat @ nil_nat )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_170_ex__least__nat__le,axiom,
    ! [P3: nat > $o,N: nat] :
      ( ( P3 @ N )
     => ( ~ ( P3 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I4: nat] :
                ( ( ord_less_nat @ I4 @ K3 )
               => ~ ( P3 @ I4 ) )
            & ( P3 @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_171_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_172_less__diff__iff,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K2 @ M )
     => ( ( ord_less_eq_nat @ K2 @ N )
       => ( ( ord_less_nat @ ( minus_minus_nat @ M @ K2 ) @ ( minus_minus_nat @ N @ K2 ) )
          = ( ord_less_nat @ M @ N ) ) ) ) ).

% less_diff_iff
thf(fact_173_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_174_abelian__monoid_OboundD__carrier,axiom,
    ! [G: partia4692342223508353374t_unit,N: nat,F: nat > nat,M: nat] :
      ( ( abelia362511065248671243t_unit @ G )
     => ( ( bound_nat @ ( zero_n5149899317435570679t_unit @ G ) @ N @ F )
       => ( ( ord_less_nat @ N @ M )
         => ( member_nat @ ( F @ M ) @ ( partia3499330772048238685t_unit @ G ) ) ) ) ) ).

% abelian_monoid.boundD_carrier
thf(fact_175_abelian__monoid_OboundD__carrier,axiom,
    ! [G: partia3928514338208745038t_unit,N: nat,F: nat > list_nat,M: nat] :
      ( ( abelia9056795585753127803t_unit @ G )
     => ( ( bound_list_nat @ ( zero_l6543981681483557223t_unit @ G ) @ N @ F )
       => ( ( ord_less_nat @ N @ M )
         => ( member_list_nat @ ( F @ M ) @ ( partia3149769786163120205t_unit @ G ) ) ) ) ) ).

% abelian_monoid.boundD_carrier
thf(fact_176_a__lcos__mult__one,axiom,
    ! [M2: set_nat] :
      ( ( ord_less_eq_set_nat @ M2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( a_l_co3340896127261556338t_unit @ ( mod_ring @ p ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ M2 )
        = M2 ) ) ).

% a_lcos_mult_one
thf(fact_177_to__contain__is__to__divide,axiom,
    ! [A: nat,B: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( cgenid8693976350862946099t_unit @ ( mod_ring @ p ) @ B ) @ ( cgenid8693976350862946099t_unit @ ( mod_ring @ p ) @ A ) )
          = ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B ) ) ) ) ).

% to_contain_is_to_divide
thf(fact_178_bound__upD,axiom,
    ! [F: nat > nat] :
      ( ( member_nat_nat @ F @ ( up_nat_Product_unit @ ( mod_ring @ p ) ) )
     => ? [N2: nat] : ( bound_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ N2 @ F ) ) ).

% bound_upD
thf(fact_179_cgenideal__is__principalideal,axiom,
    ! [I2: nat] :
      ( ( member_nat @ I2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( princi4652470909602072491t_unit @ ( cgenid8693976350862946099t_unit @ ( mod_ring @ p ) @ I2 ) @ ( mod_ring @ p ) ) ) ).

% cgenideal_is_principalideal
thf(fact_180_a__l__coset__subset__G,axiom,
    ! [H: set_nat,X3: nat] :
      ( ( ord_less_eq_set_nat @ H @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( a_l_co3340896127261556338t_unit @ ( mod_ring @ p ) @ X3 @ H ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% a_l_coset_subset_G
thf(fact_181_psubsetI,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( A2 != B2 )
       => ( ord_less_set_nat @ A2 @ B2 ) ) ) ).

% psubsetI
thf(fact_182_zeropideal,axiom,
    princi4652470909602072491t_unit @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) @ ( mod_ring @ p ) ).

% zeropideal
thf(fact_183_coeff__nth,axiom,
    ! [I2: nat,P: list_nat] :
      ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ P ) )
     => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P @ I2 )
        = ( nth_nat @ P @ ( minus_minus_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ one_one_nat ) @ I2 ) ) ) ) ).

% coeff_nth
thf(fact_184_genideal__self,axiom,
    ! [S2: set_nat] :
      ( ( ord_less_eq_set_nat @ S2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ord_less_eq_set_nat @ S2 @ ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ S2 ) ) ) ).

% genideal_self
thf(fact_185_subset__Idl__subset,axiom,
    ! [I5: set_nat,H: set_nat] :
      ( ( ord_less_eq_set_nat @ I5 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ H @ I5 )
       => ( ord_less_eq_set_nat @ ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ H ) @ ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ I5 ) ) ) ) ).

% subset_Idl_subset
thf(fact_186_subset__antisym,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ A2 )
       => ( A2 = B2 ) ) ) ).

% subset_antisym
thf(fact_187_subsetI,axiom,
    ! [A2: set_list_nat,B2: set_list_nat] :
      ( ! [X: list_nat] :
          ( ( member_list_nat @ X @ A2 )
         => ( member_list_nat @ X @ B2 ) )
     => ( ord_le6045566169113846134st_nat @ A2 @ B2 ) ) ).

% subsetI
thf(fact_188_subsetI,axiom,
    ! [A2: set_nat_nat,B2: set_nat_nat] :
      ( ! [X: nat > nat] :
          ( ( member_nat_nat @ X @ A2 )
         => ( member_nat_nat @ X @ B2 ) )
     => ( ord_le9059583361652607317at_nat @ A2 @ B2 ) ) ).

% subsetI
thf(fact_189_subsetI,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ! [X: nat] :
          ( ( member_nat @ X @ A2 )
         => ( member_nat @ X @ B2 ) )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% subsetI
thf(fact_190_empty__iff,axiom,
    ! [C: nat > nat] :
      ~ ( member_nat_nat @ C @ bot_bot_set_nat_nat ) ).

% empty_iff
thf(fact_191_empty__iff,axiom,
    ! [C: list_nat] :
      ~ ( member_list_nat @ C @ bot_bot_set_list_nat ) ).

% empty_iff
thf(fact_192_empty__iff,axiom,
    ! [C: nat] :
      ~ ( member_nat @ C @ bot_bot_set_nat ) ).

% empty_iff
thf(fact_193_all__not__in__conv,axiom,
    ! [A2: set_nat_nat] :
      ( ( ! [X2: nat > nat] :
            ~ ( member_nat_nat @ X2 @ A2 ) )
      = ( A2 = bot_bot_set_nat_nat ) ) ).

% all_not_in_conv
thf(fact_194_all__not__in__conv,axiom,
    ! [A2: set_list_nat] :
      ( ( ! [X2: list_nat] :
            ~ ( member_list_nat @ X2 @ A2 ) )
      = ( A2 = bot_bot_set_list_nat ) ) ).

% all_not_in_conv
thf(fact_195_all__not__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ! [X2: nat] :
            ~ ( member_nat @ X2 @ A2 ) )
      = ( A2 = bot_bot_set_nat ) ) ).

% all_not_in_conv
thf(fact_196_Collect__empty__eq,axiom,
    ! [P3: list_nat > $o] :
      ( ( ( collect_list_nat @ P3 )
        = bot_bot_set_list_nat )
      = ( ! [X2: list_nat] :
            ~ ( P3 @ X2 ) ) ) ).

% Collect_empty_eq
thf(fact_197_Collect__empty__eq,axiom,
    ! [P3: nat > $o] :
      ( ( ( collect_nat @ P3 )
        = bot_bot_set_nat )
      = ( ! [X2: nat] :
            ~ ( P3 @ X2 ) ) ) ).

% Collect_empty_eq
thf(fact_198_empty__Collect__eq,axiom,
    ! [P3: list_nat > $o] :
      ( ( bot_bot_set_list_nat
        = ( collect_list_nat @ P3 ) )
      = ( ! [X2: list_nat] :
            ~ ( P3 @ X2 ) ) ) ).

% empty_Collect_eq
thf(fact_199_empty__Collect__eq,axiom,
    ! [P3: nat > $o] :
      ( ( bot_bot_set_nat
        = ( collect_nat @ P3 ) )
      = ( ! [X2: nat] :
            ~ ( P3 @ X2 ) ) ) ).

% empty_Collect_eq
thf(fact_200_Diff__empty,axiom,
    ! [A2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ bot_bot_set_nat )
      = A2 ) ).

% Diff_empty
thf(fact_201_Diff__empty,axiom,
    ! [A2: set_list_nat] :
      ( ( minus_7954133019191499631st_nat @ A2 @ bot_bot_set_list_nat )
      = A2 ) ).

% Diff_empty
thf(fact_202_empty__Diff,axiom,
    ! [A2: set_nat] :
      ( ( minus_minus_set_nat @ bot_bot_set_nat @ A2 )
      = bot_bot_set_nat ) ).

% empty_Diff
thf(fact_203_empty__Diff,axiom,
    ! [A2: set_list_nat] :
      ( ( minus_7954133019191499631st_nat @ bot_bot_set_list_nat @ A2 )
      = bot_bot_set_list_nat ) ).

% empty_Diff
thf(fact_204_Diff__cancel,axiom,
    ! [A2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ A2 )
      = bot_bot_set_nat ) ).

% Diff_cancel
thf(fact_205_Diff__cancel,axiom,
    ! [A2: set_list_nat] :
      ( ( minus_7954133019191499631st_nat @ A2 @ A2 )
      = bot_bot_set_list_nat ) ).

% Diff_cancel
thf(fact_206_Diff__insert0,axiom,
    ! [X3: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ~ ( member_nat_nat @ X3 @ A2 )
     => ( ( minus_8121590178497047118at_nat @ A2 @ ( insert_nat_nat @ X3 @ B2 ) )
        = ( minus_8121590178497047118at_nat @ A2 @ B2 ) ) ) ).

% Diff_insert0
thf(fact_207_Diff__insert0,axiom,
    ! [X3: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ X3 @ A2 )
     => ( ( minus_minus_set_nat @ A2 @ ( insert_nat @ X3 @ B2 ) )
        = ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% Diff_insert0
thf(fact_208_Diff__insert0,axiom,
    ! [X3: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ~ ( member_list_nat @ X3 @ A2 )
     => ( ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ X3 @ B2 ) )
        = ( minus_7954133019191499631st_nat @ A2 @ B2 ) ) ) ).

% Diff_insert0
thf(fact_209_insert__Diff1,axiom,
    ! [X3: nat > nat,B2: set_nat_nat,A2: set_nat_nat] :
      ( ( member_nat_nat @ X3 @ B2 )
     => ( ( minus_8121590178497047118at_nat @ ( insert_nat_nat @ X3 @ A2 ) @ B2 )
        = ( minus_8121590178497047118at_nat @ A2 @ B2 ) ) ) ).

% insert_Diff1
thf(fact_210_insert__Diff1,axiom,
    ! [X3: nat,B2: set_nat,A2: set_nat] :
      ( ( member_nat @ X3 @ B2 )
     => ( ( minus_minus_set_nat @ ( insert_nat @ X3 @ A2 ) @ B2 )
        = ( minus_minus_set_nat @ A2 @ B2 ) ) ) ).

% insert_Diff1
thf(fact_211_insert__Diff1,axiom,
    ! [X3: list_nat,B2: set_list_nat,A2: set_list_nat] :
      ( ( member_list_nat @ X3 @ B2 )
     => ( ( minus_7954133019191499631st_nat @ ( insert_list_nat @ X3 @ A2 ) @ B2 )
        = ( minus_7954133019191499631st_nat @ A2 @ B2 ) ) ) ).

% insert_Diff1
thf(fact_212_insertCI,axiom,
    ! [A: list_nat,B2: set_list_nat,B: list_nat] :
      ( ( ~ ( member_list_nat @ A @ B2 )
       => ( A = B ) )
     => ( member_list_nat @ A @ ( insert_list_nat @ B @ B2 ) ) ) ).

% insertCI
thf(fact_213_insertCI,axiom,
    ! [A: nat,B2: set_nat,B: nat] :
      ( ( ~ ( member_nat @ A @ B2 )
       => ( A = B ) )
     => ( member_nat @ A @ ( insert_nat @ B @ B2 ) ) ) ).

% insertCI
thf(fact_214_insertCI,axiom,
    ! [A: nat > nat,B2: set_nat_nat,B: nat > nat] :
      ( ( ~ ( member_nat_nat @ A @ B2 )
       => ( A = B ) )
     => ( member_nat_nat @ A @ ( insert_nat_nat @ B @ B2 ) ) ) ).

% insertCI
thf(fact_215_insert__iff,axiom,
    ! [A: list_nat,B: list_nat,A2: set_list_nat] :
      ( ( member_list_nat @ A @ ( insert_list_nat @ B @ A2 ) )
      = ( ( A = B )
        | ( member_list_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_216_insert__iff,axiom,
    ! [A: nat,B: nat,A2: set_nat] :
      ( ( member_nat @ A @ ( insert_nat @ B @ A2 ) )
      = ( ( A = B )
        | ( member_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_217_insert__iff,axiom,
    ! [A: nat > nat,B: nat > nat,A2: set_nat_nat] :
      ( ( member_nat_nat @ A @ ( insert_nat_nat @ B @ A2 ) )
      = ( ( A = B )
        | ( member_nat_nat @ A @ A2 ) ) ) ).

% insert_iff
thf(fact_218_insert__absorb2,axiom,
    ! [X3: nat,A2: set_nat] :
      ( ( insert_nat @ X3 @ ( insert_nat @ X3 @ A2 ) )
      = ( insert_nat @ X3 @ A2 ) ) ).

% insert_absorb2
thf(fact_219_insert__absorb2,axiom,
    ! [X3: list_nat,A2: set_list_nat] :
      ( ( insert_list_nat @ X3 @ ( insert_list_nat @ X3 @ A2 ) )
      = ( insert_list_nat @ X3 @ A2 ) ) ).

% insert_absorb2
thf(fact_220_cgenideal__self,axiom,
    ! [I2: nat] :
      ( ( member_nat @ I2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( member_nat @ I2 @ ( cgenid8693976350862946099t_unit @ ( mod_ring @ p ) @ I2 ) ) ) ).

% cgenideal_self
thf(fact_221_genideal__self_H,axiom,
    ! [I2: nat] :
      ( ( member_nat @ I2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( member_nat @ I2 @ ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ ( insert_nat @ I2 @ bot_bot_set_nat ) ) ) ) ).

% genideal_self'
thf(fact_222_genideal__zero,axiom,
    ( ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
    = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ).

% genideal_zero
thf(fact_223_Idl__subset__ideal_H,axiom,
    ! [A: nat,B: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ ( insert_nat @ A @ bot_bot_set_nat ) ) @ ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ ( insert_nat @ B @ bot_bot_set_nat ) ) )
          = ( member_nat @ A @ ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ ( insert_nat @ B @ bot_bot_set_nat ) ) ) ) ) ) ).

% Idl_subset_ideal'
thf(fact_224_subset__empty,axiom,
    ! [A2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ bot_bot_set_list_nat )
      = ( A2 = bot_bot_set_list_nat ) ) ).

% subset_empty
thf(fact_225_subset__empty,axiom,
    ! [A2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ bot_bot_set_nat )
      = ( A2 = bot_bot_set_nat ) ) ).

% subset_empty
thf(fact_226_empty__subsetI,axiom,
    ! [A2: set_list_nat] : ( ord_le6045566169113846134st_nat @ bot_bot_set_list_nat @ A2 ) ).

% empty_subsetI
thf(fact_227_empty__subsetI,axiom,
    ! [A2: set_nat] : ( ord_less_eq_set_nat @ bot_bot_set_nat @ A2 ) ).

% empty_subsetI
thf(fact_228_Diff__eq__empty__iff,axiom,
    ! [A2: set_list_nat,B2: set_list_nat] :
      ( ( ( minus_7954133019191499631st_nat @ A2 @ B2 )
        = bot_bot_set_list_nat )
      = ( ord_le6045566169113846134st_nat @ A2 @ B2 ) ) ).

% Diff_eq_empty_iff
thf(fact_229_Diff__eq__empty__iff,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ( minus_minus_set_nat @ A2 @ B2 )
        = bot_bot_set_nat )
      = ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% Diff_eq_empty_iff
thf(fact_230_insert__subset,axiom,
    ! [X3: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( insert_list_nat @ X3 @ A2 ) @ B2 )
      = ( ( member_list_nat @ X3 @ B2 )
        & ( ord_le6045566169113846134st_nat @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_231_insert__subset,axiom,
    ! [X3: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ( ord_le9059583361652607317at_nat @ ( insert_nat_nat @ X3 @ A2 ) @ B2 )
      = ( ( member_nat_nat @ X3 @ B2 )
        & ( ord_le9059583361652607317at_nat @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_232_insert__subset,axiom,
    ! [X3: nat,A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( insert_nat @ X3 @ A2 ) @ B2 )
      = ( ( member_nat @ X3 @ B2 )
        & ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ).

% insert_subset
thf(fact_233_cgenideal__eq__genideal,axiom,
    ! [I2: nat] :
      ( ( member_nat @ I2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( cgenid8693976350862946099t_unit @ ( mod_ring @ p ) @ I2 )
        = ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ ( insert_nat @ I2 @ bot_bot_set_nat ) ) ) ) ).

% cgenideal_eq_genideal
thf(fact_234_singletonI,axiom,
    ! [A: nat > nat] : ( member_nat_nat @ A @ ( insert_nat_nat @ A @ bot_bot_set_nat_nat ) ) ).

% singletonI
thf(fact_235_singletonI,axiom,
    ! [A: list_nat] : ( member_list_nat @ A @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) ) ).

% singletonI
thf(fact_236_singletonI,axiom,
    ! [A: nat] : ( member_nat @ A @ ( insert_nat @ A @ bot_bot_set_nat ) ) ).

% singletonI
thf(fact_237_insert__Diff__single,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( insert_nat @ A @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) )
      = ( insert_nat @ A @ A2 ) ) ).

% insert_Diff_single
thf(fact_238_insert__Diff__single,axiom,
    ! [A: list_nat,A2: set_list_nat] :
      ( ( insert_list_nat @ A @ ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) ) )
      = ( insert_list_nat @ A @ A2 ) ) ).

% insert_Diff_single
thf(fact_239_singleton__insert__inj__eq_H,axiom,
    ! [A: list_nat,A2: set_list_nat,B: list_nat] :
      ( ( ( insert_list_nat @ A @ A2 )
        = ( insert_list_nat @ B @ bot_bot_set_list_nat ) )
      = ( ( A = B )
        & ( ord_le6045566169113846134st_nat @ A2 @ ( insert_list_nat @ B @ bot_bot_set_list_nat ) ) ) ) ).

% singleton_insert_inj_eq'
thf(fact_240_singleton__insert__inj__eq_H,axiom,
    ! [A: nat,A2: set_nat,B: nat] :
      ( ( ( insert_nat @ A @ A2 )
        = ( insert_nat @ B @ bot_bot_set_nat ) )
      = ( ( A = B )
        & ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ B @ bot_bot_set_nat ) ) ) ) ).

% singleton_insert_inj_eq'
thf(fact_241_singleton__insert__inj__eq,axiom,
    ! [B: list_nat,A: list_nat,A2: set_list_nat] :
      ( ( ( insert_list_nat @ B @ bot_bot_set_list_nat )
        = ( insert_list_nat @ A @ A2 ) )
      = ( ( A = B )
        & ( ord_le6045566169113846134st_nat @ A2 @ ( insert_list_nat @ B @ bot_bot_set_list_nat ) ) ) ) ).

% singleton_insert_inj_eq
thf(fact_242_singleton__insert__inj__eq,axiom,
    ! [B: nat,A: nat,A2: set_nat] :
      ( ( ( insert_nat @ B @ bot_bot_set_nat )
        = ( insert_nat @ A @ A2 ) )
      = ( ( A = B )
        & ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ B @ bot_bot_set_nat ) ) ) ) ).

% singleton_insert_inj_eq
thf(fact_243_single__Diff__lessThan,axiom,
    ! [K2: list_nat] :
      ( ( minus_7954133019191499631st_nat @ ( insert_list_nat @ K2 @ bot_bot_set_list_nat ) @ ( set_or3033090826390029821st_nat @ K2 ) )
      = ( insert_list_nat @ K2 @ bot_bot_set_list_nat ) ) ).

% single_Diff_lessThan
thf(fact_244_single__Diff__lessThan,axiom,
    ! [K2: nat] :
      ( ( minus_minus_set_nat @ ( insert_nat @ K2 @ bot_bot_set_nat ) @ ( set_ord_lessThan_nat @ K2 ) )
      = ( insert_nat @ K2 @ bot_bot_set_nat ) ) ).

% single_Diff_lessThan
thf(fact_245_mem__upI,axiom,
    ! [F: nat > nat,R: partia4692342223508353374t_unit] :
      ( ! [N2: nat] : ( member_nat @ ( F @ N2 ) @ ( partia3499330772048238685t_unit @ R ) )
     => ( ? [N4: nat] : ( bound_nat @ ( zero_n5149899317435570679t_unit @ R ) @ N4 @ F )
       => ( member_nat_nat @ F @ ( up_nat_Product_unit @ R ) ) ) ) ).

% mem_upI
thf(fact_246_mem__upI,axiom,
    ! [F: nat > list_nat,R: partia3928514338208745038t_unit] :
      ( ! [N2: nat] : ( member_list_nat @ ( F @ N2 ) @ ( partia3149769786163120205t_unit @ R ) )
     => ( ? [N4: nat] : ( bound_list_nat @ ( zero_l6543981681483557223t_unit @ R ) @ N4 @ F )
       => ( member_nat_list_nat @ F @ ( up_lis3128947089501900338t_unit @ R ) ) ) ) ).

% mem_upI
thf(fact_247_insert__Diff__if,axiom,
    ! [X3: nat > nat,B2: set_nat_nat,A2: set_nat_nat] :
      ( ( ( member_nat_nat @ X3 @ B2 )
       => ( ( minus_8121590178497047118at_nat @ ( insert_nat_nat @ X3 @ A2 ) @ B2 )
          = ( minus_8121590178497047118at_nat @ A2 @ B2 ) ) )
      & ( ~ ( member_nat_nat @ X3 @ B2 )
       => ( ( minus_8121590178497047118at_nat @ ( insert_nat_nat @ X3 @ A2 ) @ B2 )
          = ( insert_nat_nat @ X3 @ ( minus_8121590178497047118at_nat @ A2 @ B2 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_248_insert__Diff__if,axiom,
    ! [X3: nat,B2: set_nat,A2: set_nat] :
      ( ( ( member_nat @ X3 @ B2 )
       => ( ( minus_minus_set_nat @ ( insert_nat @ X3 @ A2 ) @ B2 )
          = ( minus_minus_set_nat @ A2 @ B2 ) ) )
      & ( ~ ( member_nat @ X3 @ B2 )
       => ( ( minus_minus_set_nat @ ( insert_nat @ X3 @ A2 ) @ B2 )
          = ( insert_nat @ X3 @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_249_insert__Diff__if,axiom,
    ! [X3: list_nat,B2: set_list_nat,A2: set_list_nat] :
      ( ( ( member_list_nat @ X3 @ B2 )
       => ( ( minus_7954133019191499631st_nat @ ( insert_list_nat @ X3 @ A2 ) @ B2 )
          = ( minus_7954133019191499631st_nat @ A2 @ B2 ) ) )
      & ( ~ ( member_list_nat @ X3 @ B2 )
       => ( ( minus_7954133019191499631st_nat @ ( insert_list_nat @ X3 @ A2 ) @ B2 )
          = ( insert_list_nat @ X3 @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_250_insertE,axiom,
    ! [A: list_nat,B: list_nat,A2: set_list_nat] :
      ( ( member_list_nat @ A @ ( insert_list_nat @ B @ A2 ) )
     => ( ( A != B )
       => ( member_list_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_251_insertE,axiom,
    ! [A: nat,B: nat,A2: set_nat] :
      ( ( member_nat @ A @ ( insert_nat @ B @ A2 ) )
     => ( ( A != B )
       => ( member_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_252_insertE,axiom,
    ! [A: nat > nat,B: nat > nat,A2: set_nat_nat] :
      ( ( member_nat_nat @ A @ ( insert_nat_nat @ B @ A2 ) )
     => ( ( A != B )
       => ( member_nat_nat @ A @ A2 ) ) ) ).

% insertE
thf(fact_253_insertI1,axiom,
    ! [A: list_nat,B2: set_list_nat] : ( member_list_nat @ A @ ( insert_list_nat @ A @ B2 ) ) ).

% insertI1
thf(fact_254_insertI1,axiom,
    ! [A: nat,B2: set_nat] : ( member_nat @ A @ ( insert_nat @ A @ B2 ) ) ).

% insertI1
thf(fact_255_insertI1,axiom,
    ! [A: nat > nat,B2: set_nat_nat] : ( member_nat_nat @ A @ ( insert_nat_nat @ A @ B2 ) ) ).

% insertI1
thf(fact_256_insertI2,axiom,
    ! [A: list_nat,B2: set_list_nat,B: list_nat] :
      ( ( member_list_nat @ A @ B2 )
     => ( member_list_nat @ A @ ( insert_list_nat @ B @ B2 ) ) ) ).

% insertI2
thf(fact_257_insertI2,axiom,
    ! [A: nat,B2: set_nat,B: nat] :
      ( ( member_nat @ A @ B2 )
     => ( member_nat @ A @ ( insert_nat @ B @ B2 ) ) ) ).

% insertI2
thf(fact_258_insertI2,axiom,
    ! [A: nat > nat,B2: set_nat_nat,B: nat > nat] :
      ( ( member_nat_nat @ A @ B2 )
     => ( member_nat_nat @ A @ ( insert_nat_nat @ B @ B2 ) ) ) ).

% insertI2
thf(fact_259_Set_Oset__insert,axiom,
    ! [X3: list_nat,A2: set_list_nat] :
      ( ( member_list_nat @ X3 @ A2 )
     => ~ ! [B3: set_list_nat] :
            ( ( A2
              = ( insert_list_nat @ X3 @ B3 ) )
           => ( member_list_nat @ X3 @ B3 ) ) ) ).

% Set.set_insert
thf(fact_260_Set_Oset__insert,axiom,
    ! [X3: nat,A2: set_nat] :
      ( ( member_nat @ X3 @ A2 )
     => ~ ! [B3: set_nat] :
            ( ( A2
              = ( insert_nat @ X3 @ B3 ) )
           => ( member_nat @ X3 @ B3 ) ) ) ).

% Set.set_insert
thf(fact_261_Set_Oset__insert,axiom,
    ! [X3: nat > nat,A2: set_nat_nat] :
      ( ( member_nat_nat @ X3 @ A2 )
     => ~ ! [B3: set_nat_nat] :
            ( ( A2
              = ( insert_nat_nat @ X3 @ B3 ) )
           => ( member_nat_nat @ X3 @ B3 ) ) ) ).

% Set.set_insert
thf(fact_262_insert__ident,axiom,
    ! [X3: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ~ ( member_list_nat @ X3 @ A2 )
     => ( ~ ( member_list_nat @ X3 @ B2 )
       => ( ( ( insert_list_nat @ X3 @ A2 )
            = ( insert_list_nat @ X3 @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

% insert_ident
thf(fact_263_insert__ident,axiom,
    ! [X3: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ X3 @ A2 )
     => ( ~ ( member_nat @ X3 @ B2 )
       => ( ( ( insert_nat @ X3 @ A2 )
            = ( insert_nat @ X3 @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

% insert_ident
thf(fact_264_insert__ident,axiom,
    ! [X3: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ~ ( member_nat_nat @ X3 @ A2 )
     => ( ~ ( member_nat_nat @ X3 @ B2 )
       => ( ( ( insert_nat_nat @ X3 @ A2 )
            = ( insert_nat_nat @ X3 @ B2 ) )
          = ( A2 = B2 ) ) ) ) ).

% insert_ident
thf(fact_265_insert__absorb,axiom,
    ! [A: list_nat,A2: set_list_nat] :
      ( ( member_list_nat @ A @ A2 )
     => ( ( insert_list_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_266_insert__absorb,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ( insert_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_267_insert__absorb,axiom,
    ! [A: nat > nat,A2: set_nat_nat] :
      ( ( member_nat_nat @ A @ A2 )
     => ( ( insert_nat_nat @ A @ A2 )
        = A2 ) ) ).

% insert_absorb
thf(fact_268_insert__eq__iff,axiom,
    ! [A: list_nat,A2: set_list_nat,B: list_nat,B2: set_list_nat] :
      ( ~ ( member_list_nat @ A @ A2 )
     => ( ~ ( member_list_nat @ B @ B2 )
       => ( ( ( insert_list_nat @ A @ A2 )
            = ( insert_list_nat @ B @ B2 ) )
          = ( ( ( A = B )
             => ( A2 = B2 ) )
            & ( ( A != B )
             => ? [C2: set_list_nat] :
                  ( ( A2
                    = ( insert_list_nat @ B @ C2 ) )
                  & ~ ( member_list_nat @ B @ C2 )
                  & ( B2
                    = ( insert_list_nat @ A @ C2 ) )
                  & ~ ( member_list_nat @ A @ C2 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_269_insert__eq__iff,axiom,
    ! [A: nat,A2: set_nat,B: nat,B2: set_nat] :
      ( ~ ( member_nat @ A @ A2 )
     => ( ~ ( member_nat @ B @ B2 )
       => ( ( ( insert_nat @ A @ A2 )
            = ( insert_nat @ B @ B2 ) )
          = ( ( ( A = B )
             => ( A2 = B2 ) )
            & ( ( A != B )
             => ? [C2: set_nat] :
                  ( ( A2
                    = ( insert_nat @ B @ C2 ) )
                  & ~ ( member_nat @ B @ C2 )
                  & ( B2
                    = ( insert_nat @ A @ C2 ) )
                  & ~ ( member_nat @ A @ C2 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_270_insert__eq__iff,axiom,
    ! [A: nat > nat,A2: set_nat_nat,B: nat > nat,B2: set_nat_nat] :
      ( ~ ( member_nat_nat @ A @ A2 )
     => ( ~ ( member_nat_nat @ B @ B2 )
       => ( ( ( insert_nat_nat @ A @ A2 )
            = ( insert_nat_nat @ B @ B2 ) )
          = ( ( ( A = B )
             => ( A2 = B2 ) )
            & ( ( A != B )
             => ? [C2: set_nat_nat] :
                  ( ( A2
                    = ( insert_nat_nat @ B @ C2 ) )
                  & ~ ( member_nat_nat @ B @ C2 )
                  & ( B2
                    = ( insert_nat_nat @ A @ C2 ) )
                  & ~ ( member_nat_nat @ A @ C2 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_271_insert__commute,axiom,
    ! [X3: nat,Y: nat,A2: set_nat] :
      ( ( insert_nat @ X3 @ ( insert_nat @ Y @ A2 ) )
      = ( insert_nat @ Y @ ( insert_nat @ X3 @ A2 ) ) ) ).

% insert_commute
thf(fact_272_insert__commute,axiom,
    ! [X3: list_nat,Y: list_nat,A2: set_list_nat] :
      ( ( insert_list_nat @ X3 @ ( insert_list_nat @ Y @ A2 ) )
      = ( insert_list_nat @ Y @ ( insert_list_nat @ X3 @ A2 ) ) ) ).

% insert_commute
thf(fact_273_mk__disjoint__insert,axiom,
    ! [A: list_nat,A2: set_list_nat] :
      ( ( member_list_nat @ A @ A2 )
     => ? [B3: set_list_nat] :
          ( ( A2
            = ( insert_list_nat @ A @ B3 ) )
          & ~ ( member_list_nat @ A @ B3 ) ) ) ).

% mk_disjoint_insert
thf(fact_274_mk__disjoint__insert,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ? [B3: set_nat] :
          ( ( A2
            = ( insert_nat @ A @ B3 ) )
          & ~ ( member_nat @ A @ B3 ) ) ) ).

% mk_disjoint_insert
thf(fact_275_mk__disjoint__insert,axiom,
    ! [A: nat > nat,A2: set_nat_nat] :
      ( ( member_nat_nat @ A @ A2 )
     => ? [B3: set_nat_nat] :
          ( ( A2
            = ( insert_nat_nat @ A @ B3 ) )
          & ~ ( member_nat_nat @ A @ B3 ) ) ) ).

% mk_disjoint_insert
thf(fact_276_subset__insertI2,axiom,
    ! [A2: set_list_nat,B2: set_list_nat,B: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ B2 )
     => ( ord_le6045566169113846134st_nat @ A2 @ ( insert_list_nat @ B @ B2 ) ) ) ).

% subset_insertI2
thf(fact_277_subset__insertI2,axiom,
    ! [A2: set_nat,B2: set_nat,B: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ B @ B2 ) ) ) ).

% subset_insertI2
thf(fact_278_subset__insertI,axiom,
    ! [B2: set_list_nat,A: list_nat] : ( ord_le6045566169113846134st_nat @ B2 @ ( insert_list_nat @ A @ B2 ) ) ).

% subset_insertI
thf(fact_279_subset__insertI,axiom,
    ! [B2: set_nat,A: nat] : ( ord_less_eq_set_nat @ B2 @ ( insert_nat @ A @ B2 ) ) ).

% subset_insertI
thf(fact_280_subset__insert,axiom,
    ! [X3: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ~ ( member_list_nat @ X3 @ A2 )
     => ( ( ord_le6045566169113846134st_nat @ A2 @ ( insert_list_nat @ X3 @ B2 ) )
        = ( ord_le6045566169113846134st_nat @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_281_subset__insert,axiom,
    ! [X3: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ~ ( member_nat_nat @ X3 @ A2 )
     => ( ( ord_le9059583361652607317at_nat @ A2 @ ( insert_nat_nat @ X3 @ B2 ) )
        = ( ord_le9059583361652607317at_nat @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_282_subset__insert,axiom,
    ! [X3: nat,A2: set_nat,B2: set_nat] :
      ( ~ ( member_nat @ X3 @ A2 )
     => ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X3 @ B2 ) )
        = ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ).

% subset_insert
thf(fact_283_insert__mono,axiom,
    ! [C3: set_list_nat,D: set_list_nat,A: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ C3 @ D )
     => ( ord_le6045566169113846134st_nat @ ( insert_list_nat @ A @ C3 ) @ ( insert_list_nat @ A @ D ) ) ) ).

% insert_mono
thf(fact_284_insert__mono,axiom,
    ! [C3: set_nat,D: set_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ C3 @ D )
     => ( ord_less_eq_set_nat @ ( insert_nat @ A @ C3 ) @ ( insert_nat @ A @ D ) ) ) ).

% insert_mono
thf(fact_285_subset__Diff__insert,axiom,
    ! [A2: set_nat_nat,B2: set_nat_nat,X3: nat > nat,C3: set_nat_nat] :
      ( ( ord_le9059583361652607317at_nat @ A2 @ ( minus_8121590178497047118at_nat @ B2 @ ( insert_nat_nat @ X3 @ C3 ) ) )
      = ( ( ord_le9059583361652607317at_nat @ A2 @ ( minus_8121590178497047118at_nat @ B2 @ C3 ) )
        & ~ ( member_nat_nat @ X3 @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_286_subset__Diff__insert,axiom,
    ! [A2: set_list_nat,B2: set_list_nat,X3: list_nat,C3: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ ( minus_7954133019191499631st_nat @ B2 @ ( insert_list_nat @ X3 @ C3 ) ) )
      = ( ( ord_le6045566169113846134st_nat @ A2 @ ( minus_7954133019191499631st_nat @ B2 @ C3 ) )
        & ~ ( member_list_nat @ X3 @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_287_subset__Diff__insert,axiom,
    ! [A2: set_nat,B2: set_nat,X3: nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( minus_minus_set_nat @ B2 @ ( insert_nat @ X3 @ C3 ) ) )
      = ( ( ord_less_eq_set_nat @ A2 @ ( minus_minus_set_nat @ B2 @ C3 ) )
        & ~ ( member_nat @ X3 @ A2 ) ) ) ).

% subset_Diff_insert
thf(fact_288_singletonD,axiom,
    ! [B: nat > nat,A: nat > nat] :
      ( ( member_nat_nat @ B @ ( insert_nat_nat @ A @ bot_bot_set_nat_nat ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_289_singletonD,axiom,
    ! [B: list_nat,A: list_nat] :
      ( ( member_list_nat @ B @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_290_singletonD,axiom,
    ! [B: nat,A: nat] :
      ( ( member_nat @ B @ ( insert_nat @ A @ bot_bot_set_nat ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_291_singleton__iff,axiom,
    ! [B: nat > nat,A: nat > nat] :
      ( ( member_nat_nat @ B @ ( insert_nat_nat @ A @ bot_bot_set_nat_nat ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_292_singleton__iff,axiom,
    ! [B: list_nat,A: list_nat] :
      ( ( member_list_nat @ B @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_293_singleton__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( member_nat @ B @ ( insert_nat @ A @ bot_bot_set_nat ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_294_doubleton__eq__iff,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat,D2: list_nat] :
      ( ( ( insert_list_nat @ A @ ( insert_list_nat @ B @ bot_bot_set_list_nat ) )
        = ( insert_list_nat @ C @ ( insert_list_nat @ D2 @ bot_bot_set_list_nat ) ) )
      = ( ( ( A = C )
          & ( B = D2 ) )
        | ( ( A = D2 )
          & ( B = C ) ) ) ) ).

% doubleton_eq_iff
thf(fact_295_doubleton__eq__iff,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ( insert_nat @ A @ ( insert_nat @ B @ bot_bot_set_nat ) )
        = ( insert_nat @ C @ ( insert_nat @ D2 @ bot_bot_set_nat ) ) )
      = ( ( ( A = C )
          & ( B = D2 ) )
        | ( ( A = D2 )
          & ( B = C ) ) ) ) ).

% doubleton_eq_iff
thf(fact_296_insert__not__empty,axiom,
    ! [A: list_nat,A2: set_list_nat] :
      ( ( insert_list_nat @ A @ A2 )
     != bot_bot_set_list_nat ) ).

% insert_not_empty
thf(fact_297_insert__not__empty,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( insert_nat @ A @ A2 )
     != bot_bot_set_nat ) ).

% insert_not_empty
thf(fact_298_singleton__inject,axiom,
    ! [A: list_nat,B: list_nat] :
      ( ( ( insert_list_nat @ A @ bot_bot_set_list_nat )
        = ( insert_list_nat @ B @ bot_bot_set_list_nat ) )
     => ( A = B ) ) ).

% singleton_inject
thf(fact_299_singleton__inject,axiom,
    ! [A: nat,B: nat] :
      ( ( ( insert_nat @ A @ bot_bot_set_nat )
        = ( insert_nat @ B @ bot_bot_set_nat ) )
     => ( A = B ) ) ).

% singleton_inject
thf(fact_300_Diff__insert,axiom,
    ! [A2: set_nat,A: nat,B2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
      = ( minus_minus_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ ( insert_nat @ A @ bot_bot_set_nat ) ) ) ).

% Diff_insert
thf(fact_301_Diff__insert,axiom,
    ! [A2: set_list_nat,A: list_nat,B2: set_list_nat] :
      ( ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ A @ B2 ) )
      = ( minus_7954133019191499631st_nat @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) ) ) ).

% Diff_insert
thf(fact_302_insert__Diff,axiom,
    ! [A: nat > nat,A2: set_nat_nat] :
      ( ( member_nat_nat @ A @ A2 )
     => ( ( insert_nat_nat @ A @ ( minus_8121590178497047118at_nat @ A2 @ ( insert_nat_nat @ A @ bot_bot_set_nat_nat ) ) )
        = A2 ) ) ).

% insert_Diff
thf(fact_303_insert__Diff,axiom,
    ! [A: nat,A2: set_nat] :
      ( ( member_nat @ A @ A2 )
     => ( ( insert_nat @ A @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) )
        = A2 ) ) ).

% insert_Diff
thf(fact_304_insert__Diff,axiom,
    ! [A: list_nat,A2: set_list_nat] :
      ( ( member_list_nat @ A @ A2 )
     => ( ( insert_list_nat @ A @ ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) ) )
        = A2 ) ) ).

% insert_Diff
thf(fact_305_Diff__insert2,axiom,
    ! [A2: set_nat,A: nat,B2: set_nat] :
      ( ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ B2 ) )
      = ( minus_minus_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ A @ bot_bot_set_nat ) ) @ B2 ) ) ).

% Diff_insert2
thf(fact_306_Diff__insert2,axiom,
    ! [A2: set_list_nat,A: list_nat,B2: set_list_nat] :
      ( ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ A @ B2 ) )
      = ( minus_7954133019191499631st_nat @ ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) ) @ B2 ) ) ).

% Diff_insert2
thf(fact_307_Diff__insert__absorb,axiom,
    ! [X3: nat > nat,A2: set_nat_nat] :
      ( ~ ( member_nat_nat @ X3 @ A2 )
     => ( ( minus_8121590178497047118at_nat @ ( insert_nat_nat @ X3 @ A2 ) @ ( insert_nat_nat @ X3 @ bot_bot_set_nat_nat ) )
        = A2 ) ) ).

% Diff_insert_absorb
thf(fact_308_Diff__insert__absorb,axiom,
    ! [X3: nat,A2: set_nat] :
      ( ~ ( member_nat @ X3 @ A2 )
     => ( ( minus_minus_set_nat @ ( insert_nat @ X3 @ A2 ) @ ( insert_nat @ X3 @ bot_bot_set_nat ) )
        = A2 ) ) ).

% Diff_insert_absorb
thf(fact_309_Diff__insert__absorb,axiom,
    ! [X3: list_nat,A2: set_list_nat] :
      ( ~ ( member_list_nat @ X3 @ A2 )
     => ( ( minus_7954133019191499631st_nat @ ( insert_list_nat @ X3 @ A2 ) @ ( insert_list_nat @ X3 @ bot_bot_set_list_nat ) )
        = A2 ) ) ).

% Diff_insert_absorb
thf(fact_310_subset__singleton__iff,axiom,
    ! [X5: set_list_nat,A: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ X5 @ ( insert_list_nat @ A @ bot_bot_set_list_nat ) )
      = ( ( X5 = bot_bot_set_list_nat )
        | ( X5
          = ( insert_list_nat @ A @ bot_bot_set_list_nat ) ) ) ) ).

% subset_singleton_iff
thf(fact_311_subset__singleton__iff,axiom,
    ! [X5: set_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ X5 @ ( insert_nat @ A @ bot_bot_set_nat ) )
      = ( ( X5 = bot_bot_set_nat )
        | ( X5
          = ( insert_nat @ A @ bot_bot_set_nat ) ) ) ) ).

% subset_singleton_iff
thf(fact_312_subset__singletonD,axiom,
    ! [A2: set_list_nat,X3: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ ( insert_list_nat @ X3 @ bot_bot_set_list_nat ) )
     => ( ( A2 = bot_bot_set_list_nat )
        | ( A2
          = ( insert_list_nat @ X3 @ bot_bot_set_list_nat ) ) ) ) ).

% subset_singletonD
thf(fact_313_subset__singletonD,axiom,
    ! [A2: set_nat,X3: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X3 @ bot_bot_set_nat ) )
     => ( ( A2 = bot_bot_set_nat )
        | ( A2
          = ( insert_nat @ X3 @ bot_bot_set_nat ) ) ) ) ).

% subset_singletonD
thf(fact_314_Diff__single__insert,axiom,
    ! [A2: set_list_nat,X3: list_nat,B2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ X3 @ bot_bot_set_list_nat ) ) @ B2 )
     => ( ord_le6045566169113846134st_nat @ A2 @ ( insert_list_nat @ X3 @ B2 ) ) ) ).

% Diff_single_insert
thf(fact_315_Diff__single__insert,axiom,
    ! [A2: set_nat,X3: nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X3 @ bot_bot_set_nat ) ) @ B2 )
     => ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X3 @ B2 ) ) ) ).

% Diff_single_insert
thf(fact_316_subset__insert__iff,axiom,
    ! [A2: set_nat_nat,X3: nat > nat,B2: set_nat_nat] :
      ( ( ord_le9059583361652607317at_nat @ A2 @ ( insert_nat_nat @ X3 @ B2 ) )
      = ( ( ( member_nat_nat @ X3 @ A2 )
         => ( ord_le9059583361652607317at_nat @ ( minus_8121590178497047118at_nat @ A2 @ ( insert_nat_nat @ X3 @ bot_bot_set_nat_nat ) ) @ B2 ) )
        & ( ~ ( member_nat_nat @ X3 @ A2 )
         => ( ord_le9059583361652607317at_nat @ A2 @ B2 ) ) ) ) ).

% subset_insert_iff
thf(fact_317_subset__insert__iff,axiom,
    ! [A2: set_list_nat,X3: list_nat,B2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ ( insert_list_nat @ X3 @ B2 ) )
      = ( ( ( member_list_nat @ X3 @ A2 )
         => ( ord_le6045566169113846134st_nat @ ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ X3 @ bot_bot_set_list_nat ) ) @ B2 ) )
        & ( ~ ( member_list_nat @ X3 @ A2 )
         => ( ord_le6045566169113846134st_nat @ A2 @ B2 ) ) ) ) ).

% subset_insert_iff
thf(fact_318_subset__insert__iff,axiom,
    ! [A2: set_nat,X3: nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( insert_nat @ X3 @ B2 ) )
      = ( ( ( member_nat @ X3 @ A2 )
         => ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X3 @ bot_bot_set_nat ) ) @ B2 ) )
        & ( ~ ( member_nat @ X3 @ A2 )
         => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ) ).

% subset_insert_iff
thf(fact_319_mem__upD,axiom,
    ! [F: nat > nat,R: partia4692342223508353374t_unit,N: nat] :
      ( ( member_nat_nat @ F @ ( up_nat_Product_unit @ R ) )
     => ( member_nat @ ( F @ N ) @ ( partia3499330772048238685t_unit @ R ) ) ) ).

% mem_upD
thf(fact_320_mem__upD,axiom,
    ! [F: nat > list_nat,R: partia3928514338208745038t_unit,N: nat] :
      ( ( member_nat_list_nat @ F @ ( up_lis3128947089501900338t_unit @ R ) )
     => ( member_list_nat @ ( F @ N ) @ ( partia3149769786163120205t_unit @ R ) ) ) ).

% mem_upD
thf(fact_321_nth__equalityI,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs ) )
           => ( ( nth_nat @ Xs @ I3 )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_322_Skolem__list__nth,axiom,
    ! [K2: nat,P3: nat > nat > $o] :
      ( ( ! [I: nat] :
            ( ( ord_less_nat @ I @ K2 )
           => ? [X6: nat] : ( P3 @ I @ X6 ) ) )
      = ( ? [Xs3: list_nat] :
            ( ( ( size_size_list_nat @ Xs3 )
              = K2 )
            & ! [I: nat] :
                ( ( ord_less_nat @ I @ K2 )
               => ( P3 @ I @ ( nth_nat @ Xs3 @ I ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_323_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y4: list_nat,Z3: list_nat] : ( Y4 = Z3 ) )
    = ( ^ [Xs3: list_nat,Ys3: list_nat] :
          ( ( ( size_size_list_nat @ Xs3 )
            = ( size_size_list_nat @ Ys3 ) )
          & ! [I: nat] :
              ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs3 ) )
             => ( ( nth_nat @ Xs3 @ I )
                = ( nth_nat @ Ys3 @ I ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_324_psubset__insert__iff,axiom,
    ! [A2: set_nat_nat,X3: nat > nat,B2: set_nat_nat] :
      ( ( ord_less_set_nat_nat @ A2 @ ( insert_nat_nat @ X3 @ B2 ) )
      = ( ( ( member_nat_nat @ X3 @ B2 )
         => ( ord_less_set_nat_nat @ A2 @ B2 ) )
        & ( ~ ( member_nat_nat @ X3 @ B2 )
         => ( ( ( member_nat_nat @ X3 @ A2 )
             => ( ord_less_set_nat_nat @ ( minus_8121590178497047118at_nat @ A2 @ ( insert_nat_nat @ X3 @ bot_bot_set_nat_nat ) ) @ B2 ) )
            & ( ~ ( member_nat_nat @ X3 @ A2 )
             => ( ord_le9059583361652607317at_nat @ A2 @ B2 ) ) ) ) ) ) ).

% psubset_insert_iff
thf(fact_325_psubset__insert__iff,axiom,
    ! [A2: set_list_nat,X3: list_nat,B2: set_list_nat] :
      ( ( ord_le1190675801316882794st_nat @ A2 @ ( insert_list_nat @ X3 @ B2 ) )
      = ( ( ( member_list_nat @ X3 @ B2 )
         => ( ord_le1190675801316882794st_nat @ A2 @ B2 ) )
        & ( ~ ( member_list_nat @ X3 @ B2 )
         => ( ( ( member_list_nat @ X3 @ A2 )
             => ( ord_le1190675801316882794st_nat @ ( minus_7954133019191499631st_nat @ A2 @ ( insert_list_nat @ X3 @ bot_bot_set_list_nat ) ) @ B2 ) )
            & ( ~ ( member_list_nat @ X3 @ A2 )
             => ( ord_le6045566169113846134st_nat @ A2 @ B2 ) ) ) ) ) ) ).

% psubset_insert_iff
thf(fact_326_psubset__insert__iff,axiom,
    ! [A2: set_nat,X3: nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ ( insert_nat @ X3 @ B2 ) )
      = ( ( ( member_nat @ X3 @ B2 )
         => ( ord_less_set_nat @ A2 @ B2 ) )
        & ( ~ ( member_nat @ X3 @ B2 )
         => ( ( ( member_nat @ X3 @ A2 )
             => ( ord_less_set_nat @ ( minus_minus_set_nat @ A2 @ ( insert_nat @ X3 @ bot_bot_set_nat ) ) @ B2 ) )
            & ( ~ ( member_nat @ X3 @ A2 )
             => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ) ) ) ) ).

% psubset_insert_iff
thf(fact_327_hd__conv__nth,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
     => ( ( hd_nat @ Xs )
        = ( nth_nat @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_328_hd__conv__nth,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
     => ( ( hd_Pro3460610213475200108at_nat @ Xs )
        = ( nth_Pr7617993195940197384at_nat @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_329_hd__conv__nth,axiom,
    ! [Xs: list_nat_int] :
      ( ( Xs != nil_nat_int )
     => ( ( hd_nat_int @ Xs )
        = ( nth_nat_int @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_330_hd__conv__nth,axiom,
    ! [Xs: list_int] :
      ( ( Xs != nil_int )
     => ( ( hd_int @ Xs )
        = ( nth_int @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_331_Collect__mono__iff,axiom,
    ! [P3: nat > $o,Q: nat > $o] :
      ( ( ord_less_eq_set_nat @ ( collect_nat @ P3 ) @ ( collect_nat @ Q ) )
      = ( ! [X2: nat] :
            ( ( P3 @ X2 )
           => ( Q @ X2 ) ) ) ) ).

% Collect_mono_iff
thf(fact_332_set__eq__subset,axiom,
    ( ( ^ [Y4: set_nat,Z3: set_nat] : ( Y4 = Z3 ) )
    = ( ^ [A3: set_nat,B4: set_nat] :
          ( ( ord_less_eq_set_nat @ A3 @ B4 )
          & ( ord_less_eq_set_nat @ B4 @ A3 ) ) ) ) ).

% set_eq_subset
thf(fact_333_subset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ C3 )
       => ( ord_less_eq_set_nat @ A2 @ C3 ) ) ) ).

% subset_trans
thf(fact_334_Collect__mono,axiom,
    ! [P3: nat > $o,Q: nat > $o] :
      ( ! [X: nat] :
          ( ( P3 @ X )
         => ( Q @ X ) )
     => ( ord_less_eq_set_nat @ ( collect_nat @ P3 ) @ ( collect_nat @ Q ) ) ) ).

% Collect_mono
thf(fact_335_subset__refl,axiom,
    ! [A2: set_nat] : ( ord_less_eq_set_nat @ A2 @ A2 ) ).

% subset_refl
thf(fact_336_subset__iff,axiom,
    ( ord_le6045566169113846134st_nat
    = ( ^ [A3: set_list_nat,B4: set_list_nat] :
        ! [T2: list_nat] :
          ( ( member_list_nat @ T2 @ A3 )
         => ( member_list_nat @ T2 @ B4 ) ) ) ) ).

% subset_iff
thf(fact_337_subset__iff,axiom,
    ( ord_le9059583361652607317at_nat
    = ( ^ [A3: set_nat_nat,B4: set_nat_nat] :
        ! [T2: nat > nat] :
          ( ( member_nat_nat @ T2 @ A3 )
         => ( member_nat_nat @ T2 @ B4 ) ) ) ) ).

% subset_iff
thf(fact_338_subset__iff,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A3: set_nat,B4: set_nat] :
        ! [T2: nat] :
          ( ( member_nat @ T2 @ A3 )
         => ( member_nat @ T2 @ B4 ) ) ) ) ).

% subset_iff
thf(fact_339_equalityD2,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( A2 = B2 )
     => ( ord_less_eq_set_nat @ B2 @ A2 ) ) ).

% equalityD2
thf(fact_340_equalityD1,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( A2 = B2 )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% equalityD1
thf(fact_341_subset__eq,axiom,
    ( ord_le6045566169113846134st_nat
    = ( ^ [A3: set_list_nat,B4: set_list_nat] :
        ! [X2: list_nat] :
          ( ( member_list_nat @ X2 @ A3 )
         => ( member_list_nat @ X2 @ B4 ) ) ) ) ).

% subset_eq
thf(fact_342_subset__eq,axiom,
    ( ord_le9059583361652607317at_nat
    = ( ^ [A3: set_nat_nat,B4: set_nat_nat] :
        ! [X2: nat > nat] :
          ( ( member_nat_nat @ X2 @ A3 )
         => ( member_nat_nat @ X2 @ B4 ) ) ) ) ).

% subset_eq
thf(fact_343_subset__eq,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A3: set_nat,B4: set_nat] :
        ! [X2: nat] :
          ( ( member_nat @ X2 @ A3 )
         => ( member_nat @ X2 @ B4 ) ) ) ) ).

% subset_eq
thf(fact_344_equalityE,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( A2 = B2 )
     => ~ ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ~ ( ord_less_eq_set_nat @ B2 @ A2 ) ) ) ).

% equalityE
thf(fact_345_subsetD,axiom,
    ! [A2: set_list_nat,B2: set_list_nat,C: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ B2 )
     => ( ( member_list_nat @ C @ A2 )
       => ( member_list_nat @ C @ B2 ) ) ) ).

% subsetD
thf(fact_346_subsetD,axiom,
    ! [A2: set_nat_nat,B2: set_nat_nat,C: nat > nat] :
      ( ( ord_le9059583361652607317at_nat @ A2 @ B2 )
     => ( ( member_nat_nat @ C @ A2 )
       => ( member_nat_nat @ C @ B2 ) ) ) ).

% subsetD
thf(fact_347_subsetD,axiom,
    ! [A2: set_nat,B2: set_nat,C: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( member_nat @ C @ A2 )
       => ( member_nat @ C @ B2 ) ) ) ).

% subsetD
thf(fact_348_in__mono,axiom,
    ! [A2: set_list_nat,B2: set_list_nat,X3: list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ B2 )
     => ( ( member_list_nat @ X3 @ A2 )
       => ( member_list_nat @ X3 @ B2 ) ) ) ).

% in_mono
thf(fact_349_in__mono,axiom,
    ! [A2: set_nat_nat,B2: set_nat_nat,X3: nat > nat] :
      ( ( ord_le9059583361652607317at_nat @ A2 @ B2 )
     => ( ( member_nat_nat @ X3 @ A2 )
       => ( member_nat_nat @ X3 @ B2 ) ) ) ).

% in_mono
thf(fact_350_in__mono,axiom,
    ! [A2: set_nat,B2: set_nat,X3: nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( member_nat @ X3 @ A2 )
       => ( member_nat @ X3 @ B2 ) ) ) ).

% in_mono
thf(fact_351_double__diff,axiom,
    ! [A2: set_list_nat,B2: set_list_nat,C3: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ B2 )
     => ( ( ord_le6045566169113846134st_nat @ B2 @ C3 )
       => ( ( minus_7954133019191499631st_nat @ B2 @ ( minus_7954133019191499631st_nat @ C3 @ A2 ) )
          = A2 ) ) ) ).

% double_diff
thf(fact_352_double__diff,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ C3 )
       => ( ( minus_minus_set_nat @ B2 @ ( minus_minus_set_nat @ C3 @ A2 ) )
          = A2 ) ) ) ).

% double_diff
thf(fact_353_Diff__subset,axiom,
    ! [A2: set_list_nat,B2: set_list_nat] : ( ord_le6045566169113846134st_nat @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) @ A2 ) ).

% Diff_subset
thf(fact_354_Diff__subset,axiom,
    ! [A2: set_nat,B2: set_nat] : ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ A2 ) ).

% Diff_subset
thf(fact_355_Diff__mono,axiom,
    ! [A2: set_list_nat,C3: set_list_nat,D: set_list_nat,B2: set_list_nat] :
      ( ( ord_le6045566169113846134st_nat @ A2 @ C3 )
     => ( ( ord_le6045566169113846134st_nat @ D @ B2 )
       => ( ord_le6045566169113846134st_nat @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) @ ( minus_7954133019191499631st_nat @ C3 @ D ) ) ) ) ).

% Diff_mono
thf(fact_356_Diff__mono,axiom,
    ! [A2: set_nat,C3: set_nat,D: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ C3 )
     => ( ( ord_less_eq_set_nat @ D @ B2 )
       => ( ord_less_eq_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ ( minus_minus_set_nat @ C3 @ D ) ) ) ) ).

% Diff_mono
thf(fact_357_emptyE,axiom,
    ! [A: nat > nat] :
      ~ ( member_nat_nat @ A @ bot_bot_set_nat_nat ) ).

% emptyE
thf(fact_358_emptyE,axiom,
    ! [A: list_nat] :
      ~ ( member_list_nat @ A @ bot_bot_set_list_nat ) ).

% emptyE
thf(fact_359_emptyE,axiom,
    ! [A: nat] :
      ~ ( member_nat @ A @ bot_bot_set_nat ) ).

% emptyE
thf(fact_360_equals0D,axiom,
    ! [A2: set_nat_nat,A: nat > nat] :
      ( ( A2 = bot_bot_set_nat_nat )
     => ~ ( member_nat_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_361_equals0D,axiom,
    ! [A2: set_list_nat,A: list_nat] :
      ( ( A2 = bot_bot_set_list_nat )
     => ~ ( member_list_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_362_equals0D,axiom,
    ! [A2: set_nat,A: nat] :
      ( ( A2 = bot_bot_set_nat )
     => ~ ( member_nat @ A @ A2 ) ) ).

% equals0D
thf(fact_363_equals0I,axiom,
    ! [A2: set_nat_nat] :
      ( ! [Y2: nat > nat] :
          ~ ( member_nat_nat @ Y2 @ A2 )
     => ( A2 = bot_bot_set_nat_nat ) ) ).

% equals0I
thf(fact_364_equals0I,axiom,
    ! [A2: set_list_nat] :
      ( ! [Y2: list_nat] :
          ~ ( member_list_nat @ Y2 @ A2 )
     => ( A2 = bot_bot_set_list_nat ) ) ).

% equals0I
thf(fact_365_equals0I,axiom,
    ! [A2: set_nat] :
      ( ! [Y2: nat] :
          ~ ( member_nat @ Y2 @ A2 )
     => ( A2 = bot_bot_set_nat ) ) ).

% equals0I
thf(fact_366_ex__in__conv,axiom,
    ! [A2: set_nat_nat] :
      ( ( ? [X2: nat > nat] : ( member_nat_nat @ X2 @ A2 ) )
      = ( A2 != bot_bot_set_nat_nat ) ) ).

% ex_in_conv
thf(fact_367_ex__in__conv,axiom,
    ! [A2: set_list_nat] :
      ( ( ? [X2: list_nat] : ( member_list_nat @ X2 @ A2 ) )
      = ( A2 != bot_bot_set_list_nat ) ) ).

% ex_in_conv
thf(fact_368_ex__in__conv,axiom,
    ! [A2: set_nat] :
      ( ( ? [X2: nat] : ( member_nat @ X2 @ A2 ) )
      = ( A2 != bot_bot_set_nat ) ) ).

% ex_in_conv
thf(fact_369_bot__set__def,axiom,
    ( bot_bot_set_list_nat
    = ( collect_list_nat @ bot_bot_list_nat_o ) ) ).

% bot_set_def
thf(fact_370_bot__set__def,axiom,
    ( bot_bot_set_nat
    = ( collect_nat @ bot_bot_nat_o ) ) ).

% bot_set_def
thf(fact_371_psubsetD,axiom,
    ! [A2: set_list_nat,B2: set_list_nat,C: list_nat] :
      ( ( ord_le1190675801316882794st_nat @ A2 @ B2 )
     => ( ( member_list_nat @ C @ A2 )
       => ( member_list_nat @ C @ B2 ) ) ) ).

% psubsetD
thf(fact_372_psubsetD,axiom,
    ! [A2: set_nat_nat,B2: set_nat_nat,C: nat > nat] :
      ( ( ord_less_set_nat_nat @ A2 @ B2 )
     => ( ( member_nat_nat @ C @ A2 )
       => ( member_nat_nat @ C @ B2 ) ) ) ).

% psubsetD
thf(fact_373_psubsetD,axiom,
    ! [A2: set_nat,B2: set_nat,C: nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ( member_nat @ C @ A2 )
       => ( member_nat @ C @ B2 ) ) ) ).

% psubsetD
thf(fact_374_psubset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ( ord_less_set_nat @ B2 @ C3 )
       => ( ord_less_set_nat @ A2 @ C3 ) ) ) ).

% psubset_trans
thf(fact_375_psubset__imp__ex__mem,axiom,
    ! [A2: set_nat_nat,B2: set_nat_nat] :
      ( ( ord_less_set_nat_nat @ A2 @ B2 )
     => ? [B5: nat > nat] : ( member_nat_nat @ B5 @ ( minus_8121590178497047118at_nat @ B2 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_376_psubset__imp__ex__mem,axiom,
    ! [A2: set_list_nat,B2: set_list_nat] :
      ( ( ord_le1190675801316882794st_nat @ A2 @ B2 )
     => ? [B5: list_nat] : ( member_list_nat @ B5 @ ( minus_7954133019191499631st_nat @ B2 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_377_psubset__imp__ex__mem,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ? [B5: nat] : ( member_nat @ B5 @ ( minus_minus_set_nat @ B2 @ A2 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_378_psubsetE,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ~ ( ( ord_less_eq_set_nat @ A2 @ B2 )
         => ( ord_less_eq_set_nat @ B2 @ A2 ) ) ) ).

% psubsetE
thf(fact_379_psubset__eq,axiom,
    ( ord_less_set_nat
    = ( ^ [A3: set_nat,B4: set_nat] :
          ( ( ord_less_eq_set_nat @ A3 @ B4 )
          & ( A3 != B4 ) ) ) ) ).

% psubset_eq
thf(fact_380_psubset__imp__subset,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ord_less_eq_set_nat @ A2 @ B2 ) ) ).

% psubset_imp_subset
thf(fact_381_psubset__subset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_set_nat @ A2 @ B2 )
     => ( ( ord_less_eq_set_nat @ B2 @ C3 )
       => ( ord_less_set_nat @ A2 @ C3 ) ) ) ).

% psubset_subset_trans
thf(fact_382_subset__not__subset__eq,axiom,
    ( ord_less_set_nat
    = ( ^ [A3: set_nat,B4: set_nat] :
          ( ( ord_less_eq_set_nat @ A3 @ B4 )
          & ~ ( ord_less_eq_set_nat @ B4 @ A3 ) ) ) ) ).

% subset_not_subset_eq
thf(fact_383_subset__psubset__trans,axiom,
    ! [A2: set_nat,B2: set_nat,C3: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ B2 )
     => ( ( ord_less_set_nat @ B2 @ C3 )
       => ( ord_less_set_nat @ A2 @ C3 ) ) ) ).

% subset_psubset_trans
thf(fact_384_subset__iff__psubset__eq,axiom,
    ( ord_less_eq_set_nat
    = ( ^ [A3: set_nat,B4: set_nat] :
          ( ( ord_less_set_nat @ A3 @ B4 )
          | ( A3 = B4 ) ) ) ) ).

% subset_iff_psubset_eq
thf(fact_385_not__psubset__empty,axiom,
    ! [A2: set_list_nat] :
      ~ ( ord_le1190675801316882794st_nat @ A2 @ bot_bot_set_list_nat ) ).

% not_psubset_empty
thf(fact_386_not__psubset__empty,axiom,
    ! [A2: set_nat] :
      ~ ( ord_less_set_nat @ A2 @ bot_bot_set_nat ) ).

% not_psubset_empty
thf(fact_387_poly__degree__bound__from__coeff,axiom,
    ! [X3: list_nat,N: nat] :
      ( ( member_list_nat @ X3 @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) )
     => ( ! [K3: nat] :
            ( ( ord_less_eq_nat @ N @ K3 )
           => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ X3 @ K3 )
              = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
       => ( ( ord_less_nat @ ( minus_minus_nat @ ( size_size_list_nat @ X3 ) @ one_one_nat ) @ N )
          | ( X3
            = ( zero_l6543981681483557223t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ) ) ) ).

% poly_degree_bound_from_coeff
thf(fact_388_splitted__on__def,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( polyno7407801497863813228t_unit @ ( mod_ring @ p ) @ K @ P )
      = ( ( size_s5917832649809541300et_nat @ ( polyno8228050081179043874t_unit @ ( mod_ring @ p ) @ K @ P ) )
        = ( minus_minus_nat @ ( size_size_list_nat @ P ) @ one_one_nat ) ) ) ).

% splitted_on_def
thf(fact_389_set__add__zero,axiom,
    ! [A2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) @ A2 )
        = A2 ) ) ).

% set_add_zero
thf(fact_390_poly__degree__bound__from__coeff__1,axiom,
    ! [X3: list_nat,N: nat] :
      ( ( member_list_nat @ X3 @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) )
     => ( ! [K3: nat] :
            ( ( ord_less_eq_nat @ N @ K3 )
           => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ X3 @ K3 )
              = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
       => ( member_list_nat @ X3 @ ( bounde3854465399476640195t_unit @ ( mod_ring @ p ) @ N ) ) ) ) ).

% poly_degree_bound_from_coeff_1
thf(fact_391_subfield__m__inv__simprule,axiom,
    ! [K: set_nat,K2: nat,A: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_nat @ K2 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ A ) @ K )
           => ( member_nat @ A @ K ) ) ) ) ) ).

% subfield_m_inv_simprule
thf(fact_392_principalideal_Ogenerate,axiom,
    ! [I5: set_nat,R: partia4692342223508353374t_unit] :
      ( ( princi4652470909602072491t_unit @ I5 @ R )
     => ? [X: nat] :
          ( ( member_nat @ X @ ( partia3499330772048238685t_unit @ R ) )
          & ( I5
            = ( genide4496968333291595629t_unit @ R @ ( insert_nat @ X @ bot_bot_set_nat ) ) ) ) ) ).

% principalideal.generate
thf(fact_393_principalideal_Ogenerate,axiom,
    ! [I5: set_list_nat,R: partia3928514338208745038t_unit] :
      ( ( princi5168719600247287067t_unit @ I5 @ R )
     => ? [X: list_nat] :
          ( ( member_list_nat @ X @ ( partia3149769786163120205t_unit @ R ) )
          & ( I5
            = ( genide6792062222344258525t_unit @ R @ ( insert_list_nat @ X @ bot_bot_set_list_nat ) ) ) ) ) ).

% principalideal.generate
thf(fact_394_lead__coeff__not__zero,axiom,
    ! [K: set_nat,A: nat,P: list_nat] :
      ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ A @ P ) )
     => ( member_nat @ A @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ).

% lead_coeff_not_zero
thf(fact_395_genideal__one,axiom,
    ( ( genide4496968333291595629t_unit @ ( mod_ring @ p ) @ ( insert_nat @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
    = ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ).

% genideal_one
thf(fact_396_m__assoc,axiom,
    ! [X3: nat,Y: nat,Z: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Z @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ Z )
            = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ Z ) ) ) ) ) ) ).

% m_assoc
thf(fact_397_m__comm,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y )
          = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ X3 ) ) ) ) ).

% m_comm
thf(fact_398_m__lcomm,axiom,
    ! [X3: nat,Y: nat,Z: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Z @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ Z ) )
            = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Z ) ) ) ) ) ) ).

% m_lcomm
thf(fact_399_subring__props_I6_J,axiom,
    ! [K: set_nat,H1: nat,H2: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_nat @ H1 @ K )
       => ( ( member_nat @ H2 @ K )
         => ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ H1 @ H2 ) @ K ) ) ) ) ).

% subring_props(6)
thf(fact_400_list_Oinject,axiom,
    ! [X21: nat,X22: list_nat,Y21: nat,Y22: list_nat] :
      ( ( ( cons_nat @ X21 @ X22 )
        = ( cons_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_401_list_Oinject,axiom,
    ! [X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat,Y21: product_prod_nat_nat,Y22: list_P6011104703257516679at_nat] :
      ( ( ( cons_P6512896166579812791at_nat @ X21 @ X22 )
        = ( cons_P6512896166579812791at_nat @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_402_list_Oinject,axiom,
    ! [X21: nat > int,X22: list_nat_int,Y21: nat > int,Y22: list_nat_int] :
      ( ( ( cons_nat_int @ X21 @ X22 )
        = ( cons_nat_int @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_403_list_Oinject,axiom,
    ! [X21: int,X22: list_int,Y21: int,Y22: list_int] :
      ( ( ( cons_int @ X21 @ X22 )
        = ( cons_int @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_404_subring__props_I3_J,axiom,
    ! [K: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( member_nat @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) @ K ) ) ).

% subring_props(3)
thf(fact_405_DiffI,axiom,
    ! [C: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ( member_nat_nat @ C @ A2 )
     => ( ~ ( member_nat_nat @ C @ B2 )
       => ( member_nat_nat @ C @ ( minus_8121590178497047118at_nat @ A2 @ B2 ) ) ) ) ).

% DiffI
thf(fact_406_DiffI,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ A2 )
     => ( ~ ( member_nat @ C @ B2 )
       => ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) ) ) ) ).

% DiffI
thf(fact_407_DiffI,axiom,
    ! [C: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ( member_list_nat @ C @ A2 )
     => ( ~ ( member_list_nat @ C @ B2 )
       => ( member_list_nat @ C @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) ) ) ) ).

% DiffI
thf(fact_408_Diff__iff,axiom,
    ! [C: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ( member_nat_nat @ C @ ( minus_8121590178497047118at_nat @ A2 @ B2 ) )
      = ( ( member_nat_nat @ C @ A2 )
        & ~ ( member_nat_nat @ C @ B2 ) ) ) ).

% Diff_iff
thf(fact_409_Diff__iff,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
      = ( ( member_nat @ C @ A2 )
        & ~ ( member_nat @ C @ B2 ) ) ) ).

% Diff_iff
thf(fact_410_Diff__iff,axiom,
    ! [C: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ( member_list_nat @ C @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) )
      = ( ( member_list_nat @ C @ A2 )
        & ~ ( member_list_nat @ C @ B2 ) ) ) ).

% Diff_iff
thf(fact_411_Diff__idemp,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( minus_minus_set_nat @ ( minus_minus_set_nat @ A2 @ B2 ) @ B2 )
      = ( minus_minus_set_nat @ A2 @ B2 ) ) ).

% Diff_idemp
thf(fact_412_Diff__idemp,axiom,
    ! [A2: set_list_nat,B2: set_list_nat] :
      ( ( minus_7954133019191499631st_nat @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) @ B2 )
      = ( minus_7954133019191499631st_nat @ A2 @ B2 ) ) ).

% Diff_idemp
thf(fact_413_inv__unique,axiom,
    ! [Y: nat,X3: nat,Y5: nat] :
      ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ X3 )
        = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
     => ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y5 )
          = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( member_nat @ Y5 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
             => ( Y = Y5 ) ) ) ) ) ) ).

% inv_unique
thf(fact_414_one__unique,axiom,
    ! [U: nat] :
      ( ( member_nat @ U @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ! [X: nat] :
            ( ( member_nat @ X @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ U @ X )
              = X ) )
       => ( U
          = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% one_unique
thf(fact_415_local_Odivides__mult,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ C @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B )
         => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ C @ A ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ C @ B ) ) ) ) ) ).

% local.divides_mult
thf(fact_416_divides__prod__l,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ C @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B )
           => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ C @ B ) ) ) ) ) ) ).

% divides_prod_l
thf(fact_417_divides__prod__r,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ C @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ B @ C ) ) ) ) ) ).

% divides_prod_r
thf(fact_418_one__divides,axiom,
    ! [A: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) @ A ) ) ).

% one_divides
thf(fact_419_set__add__closed,axiom,
    ! [A2: set_nat,B2: set_nat] :
      ( ( ord_less_eq_set_nat @ A2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ B2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ A2 @ B2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% set_add_closed
thf(fact_420_set__add__comm,axiom,
    ! [I5: set_nat,J3: set_nat] :
      ( ( ord_less_eq_set_nat @ I5 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ J3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ I5 @ J3 )
          = ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ J3 @ I5 ) ) ) ) ).

% set_add_comm
thf(fact_421_setadd__subset__G,axiom,
    ! [H: set_nat,K: set_nat] :
      ( ( ord_less_eq_set_nat @ H @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ K @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ H @ K ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% setadd_subset_G
thf(fact_422_sum__space__dim_I1_J,axiom,
    ! [K: set_nat,E: set_nat,F2: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E )
       => ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ F2 )
         => ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ E @ F2 ) ) ) ) ) ).

% sum_space_dim(1)
thf(fact_423_coeff__in__carrier,axiom,
    ! [P: list_nat,I2: nat] :
      ( ( member_list_nat @ P @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) )
     => ( member_nat @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P @ I2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% coeff_in_carrier
thf(fact_424_carrier__one__not__zero,axiom,
    ( ( ( partia3499330772048238685t_unit @ ( mod_ring @ p ) )
     != ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
    = ( ( one_na902338870878123981t_unit @ ( mod_ring @ p ) )
     != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% carrier_one_not_zero
thf(fact_425_carrier__one__zero,axiom,
    ( ( ( partia3499330772048238685t_unit @ ( mod_ring @ p ) )
      = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
    = ( ( one_na902338870878123981t_unit @ ( mod_ring @ p ) )
      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% carrier_one_zero
thf(fact_426_one__zeroD,axiom,
    ( ( ( one_na902338870878123981t_unit @ ( mod_ring @ p ) )
      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
   => ( ( partia3499330772048238685t_unit @ ( mod_ring @ p ) )
      = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ).

% one_zeroD
thf(fact_427_one__zeroI,axiom,
    ( ( ( partia3499330772048238685t_unit @ ( mod_ring @ p ) )
      = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
   => ( ( one_na902338870878123981t_unit @ ( mod_ring @ p ) )
      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% one_zeroI
thf(fact_428_build__poly__poly,axiom,
    ! [N: nat,F: nat > nat] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ N )
         => ( member_nat @ ( F @ I3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) )
     => ( member_list_nat @ ( bounde5390228520265920195t_unit @ ( mod_ring @ p ) @ F @ N ) @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% build_poly_poly
thf(fact_429_degree__oneE,axiom,
    ! [P: list_nat,K: set_nat] :
      ( ( member_list_nat @ P @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
     => ( ( ( minus_minus_nat @ ( size_size_list_nat @ P ) @ one_one_nat )
          = one_one_nat )
       => ~ ! [A4: nat] :
              ( ( member_nat @ A4 @ K )
             => ( ( A4
                 != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
               => ! [B5: nat] :
                    ( ( member_nat @ B5 @ K )
                   => ( P
                     != ( cons_nat @ A4 @ ( cons_nat @ B5 @ nil_nat ) ) ) ) ) ) ) ) ).

% degree_oneE
thf(fact_430_nth__Cons__0,axiom,
    ! [X3: nat,Xs: list_nat] :
      ( ( nth_nat @ ( cons_nat @ X3 @ Xs ) @ zero_zero_nat )
      = X3 ) ).

% nth_Cons_0
thf(fact_431_nth__Cons__0,axiom,
    ! [X3: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( nth_Pr7617993195940197384at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs ) @ zero_zero_nat )
      = X3 ) ).

% nth_Cons_0
thf(fact_432_nth__Cons__0,axiom,
    ! [X3: nat > int,Xs: list_nat_int] :
      ( ( nth_nat_int @ ( cons_nat_int @ X3 @ Xs ) @ zero_zero_nat )
      = X3 ) ).

% nth_Cons_0
thf(fact_433_nth__Cons__0,axiom,
    ! [X3: int,Xs: list_int] :
      ( ( nth_int @ ( cons_int @ X3 @ Xs ) @ zero_zero_nat )
      = X3 ) ).

% nth_Cons_0
thf(fact_434_m__closed,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% m_closed
thf(fact_435_one__closed,axiom,
    member_nat @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ).

% one_closed
thf(fact_436_l__null,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ X3 )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% l_null
thf(fact_437_r__null,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% r_null
thf(fact_438_l__one,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) @ X3 )
        = X3 ) ) ).

% l_one
thf(fact_439_r__one,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
        = X3 ) ) ).

% r_one
thf(fact_440_divides__mult__lI,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ C @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ C @ A ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ C @ B ) ) ) ) ) ).

% divides_mult_lI
thf(fact_441_divides__mult__rI,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ A @ B )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ C @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ A @ C ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ B @ C ) ) ) ) ) ) ).

% divides_mult_rI
thf(fact_442_nth__Cons__pos,axiom,
    ! [N: nat,X3: nat,Xs: list_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_nat @ ( cons_nat @ X3 @ Xs ) @ N )
        = ( nth_nat @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_443_nth__Cons__pos,axiom,
    ! [N: nat,X3: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_Pr7617993195940197384at_nat @ ( cons_P6512896166579812791at_nat @ X3 @ Xs ) @ N )
        = ( nth_Pr7617993195940197384at_nat @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_444_nth__Cons__pos,axiom,
    ! [N: nat,X3: nat > int,Xs: list_nat_int] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_nat_int @ ( cons_nat_int @ X3 @ Xs ) @ N )
        = ( nth_nat_int @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_445_nth__Cons__pos,axiom,
    ! [N: nat,X3: int,Xs: list_int] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_int @ ( cons_int @ X3 @ Xs ) @ N )
        = ( nth_int @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_446_const__is__polynomial,axiom,
    ! [A: nat,K: set_nat] :
      ( ( member_nat @ A @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
     => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ A @ nil_nat ) ) ) ).

% const_is_polynomial
thf(fact_447_DiffE,axiom,
    ! [C: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ( member_nat_nat @ C @ ( minus_8121590178497047118at_nat @ A2 @ B2 ) )
     => ~ ( ( member_nat_nat @ C @ A2 )
         => ( member_nat_nat @ C @ B2 ) ) ) ).

% DiffE
thf(fact_448_DiffE,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
     => ~ ( ( member_nat @ C @ A2 )
         => ( member_nat @ C @ B2 ) ) ) ).

% DiffE
thf(fact_449_DiffE,axiom,
    ! [C: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ( member_list_nat @ C @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) )
     => ~ ( ( member_list_nat @ C @ A2 )
         => ( member_list_nat @ C @ B2 ) ) ) ).

% DiffE
thf(fact_450_DiffD1,axiom,
    ! [C: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ( member_nat_nat @ C @ ( minus_8121590178497047118at_nat @ A2 @ B2 ) )
     => ( member_nat_nat @ C @ A2 ) ) ).

% DiffD1
thf(fact_451_DiffD1,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
     => ( member_nat @ C @ A2 ) ) ).

% DiffD1
thf(fact_452_DiffD1,axiom,
    ! [C: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ( member_list_nat @ C @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) )
     => ( member_list_nat @ C @ A2 ) ) ).

% DiffD1
thf(fact_453_DiffD2,axiom,
    ! [C: nat > nat,A2: set_nat_nat,B2: set_nat_nat] :
      ( ( member_nat_nat @ C @ ( minus_8121590178497047118at_nat @ A2 @ B2 ) )
     => ~ ( member_nat_nat @ C @ B2 ) ) ).

% DiffD2
thf(fact_454_DiffD2,axiom,
    ! [C: nat,A2: set_nat,B2: set_nat] :
      ( ( member_nat @ C @ ( minus_minus_set_nat @ A2 @ B2 ) )
     => ~ ( member_nat @ C @ B2 ) ) ).

% DiffD2
thf(fact_455_DiffD2,axiom,
    ! [C: list_nat,A2: set_list_nat,B2: set_list_nat] :
      ( ( member_list_nat @ C @ ( minus_7954133019191499631st_nat @ A2 @ B2 ) )
     => ~ ( member_list_nat @ C @ B2 ) ) ).

% DiffD2
thf(fact_456_transpose_Ocases,axiom,
    ! [X3: list_list_nat] :
      ( ( X3 != nil_list_nat )
     => ( ! [Xss: list_list_nat] :
            ( X3
           != ( cons_list_nat @ nil_nat @ Xss ) )
       => ~ ! [X: nat,Xs2: list_nat,Xss: list_list_nat] :
              ( X3
             != ( cons_list_nat @ ( cons_nat @ X @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_457_transpose_Ocases,axiom,
    ! [X3: list_l3264859301627795341at_nat] :
      ( ( X3 != nil_li8973309667444810893at_nat )
     => ( ! [Xss: list_l3264859301627795341at_nat] :
            ( X3
           != ( cons_l7612840610449961021at_nat @ nil_Pr5478986624290739719at_nat @ Xss ) )
       => ~ ! [X: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Xss: list_l3264859301627795341at_nat] :
              ( X3
             != ( cons_l7612840610449961021at_nat @ ( cons_P6512896166579812791at_nat @ X @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_458_transpose_Ocases,axiom,
    ! [X3: list_list_nat_int] :
      ( ( X3 != nil_list_nat_int )
     => ( ! [Xss: list_list_nat_int] :
            ( X3
           != ( cons_list_nat_int @ nil_nat_int @ Xss ) )
       => ~ ! [X: nat > int,Xs2: list_nat_int,Xss: list_list_nat_int] :
              ( X3
             != ( cons_list_nat_int @ ( cons_nat_int @ X @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_459_transpose_Ocases,axiom,
    ! [X3: list_list_int] :
      ( ( X3 != nil_list_int )
     => ( ! [Xss: list_list_int] :
            ( X3
           != ( cons_list_int @ nil_int @ Xss ) )
       => ~ ! [X: int,Xs2: list_int,Xss: list_list_int] :
              ( X3
             != ( cons_list_int @ ( cons_int @ X @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_460_not__Cons__self2,axiom,
    ! [X3: nat,Xs: list_nat] :
      ( ( cons_nat @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_461_not__Cons__self2,axiom,
    ! [X3: product_prod_nat_nat,Xs: list_P6011104703257516679at_nat] :
      ( ( cons_P6512896166579812791at_nat @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_462_not__Cons__self2,axiom,
    ! [X3: nat > int,Xs: list_nat_int] :
      ( ( cons_nat_int @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_463_not__Cons__self2,axiom,
    ! [X3: int,Xs: list_int] :
      ( ( cons_int @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_464_list__nonempty__induct,axiom,
    ! [Xs: list_nat,P3: list_nat > $o] :
      ( ( Xs != nil_nat )
     => ( ! [X: nat] : ( P3 @ ( cons_nat @ X @ nil_nat ) )
       => ( ! [X: nat,Xs2: list_nat] :
              ( ( Xs2 != nil_nat )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_nat @ X @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_465_list__nonempty__induct,axiom,
    ! [Xs: list_P6011104703257516679at_nat,P3: list_P6011104703257516679at_nat > $o] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
     => ( ! [X: product_prod_nat_nat] : ( P3 @ ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) )
       => ( ! [X: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( ( Xs2 != nil_Pr5478986624290739719at_nat )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_P6512896166579812791at_nat @ X @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_466_list__nonempty__induct,axiom,
    ! [Xs: list_nat_int,P3: list_nat_int > $o] :
      ( ( Xs != nil_nat_int )
     => ( ! [X: nat > int] : ( P3 @ ( cons_nat_int @ X @ nil_nat_int ) )
       => ( ! [X: nat > int,Xs2: list_nat_int] :
              ( ( Xs2 != nil_nat_int )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_nat_int @ X @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_467_list__nonempty__induct,axiom,
    ! [Xs: list_int,P3: list_int > $o] :
      ( ( Xs != nil_int )
     => ( ! [X: int] : ( P3 @ ( cons_int @ X @ nil_int ) )
       => ( ! [X: int,Xs2: list_int] :
              ( ( Xs2 != nil_int )
             => ( ( P3 @ Xs2 )
               => ( P3 @ ( cons_int @ X @ Xs2 ) ) ) )
         => ( P3 @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_468_list__induct2_H,axiom,
    ! [P3: list_nat > list_nat > $o,Xs: list_nat,Ys: list_nat] :
      ( ( P3 @ nil_nat @ nil_nat )
     => ( ! [X: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X @ Xs2 ) @ nil_nat )
       => ( ! [Y2: nat,Ys4: list_nat] : ( P3 @ nil_nat @ ( cons_nat @ Y2 @ Ys4 ) )
         => ( ! [X: nat,Xs2: list_nat,Y2: nat,Ys4: list_nat] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_469_list__induct2_H,axiom,
    ! [P3: list_nat > list_int > $o,Xs: list_nat,Ys: list_int] :
      ( ( P3 @ nil_nat @ nil_int )
     => ( ! [X: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X @ Xs2 ) @ nil_int )
       => ( ! [Y2: int,Ys4: list_int] : ( P3 @ nil_nat @ ( cons_int @ Y2 @ Ys4 ) )
         => ( ! [X: nat,Xs2: list_nat,Y2: int,Ys4: list_int] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_nat @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_470_list__induct2_H,axiom,
    ! [P3: list_int > list_nat > $o,Xs: list_int,Ys: list_nat] :
      ( ( P3 @ nil_int @ nil_nat )
     => ( ! [X: int,Xs2: list_int] : ( P3 @ ( cons_int @ X @ Xs2 ) @ nil_nat )
       => ( ! [Y2: nat,Ys4: list_nat] : ( P3 @ nil_int @ ( cons_nat @ Y2 @ Ys4 ) )
         => ( ! [X: int,Xs2: list_int,Y2: nat,Ys4: list_nat] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_471_list__induct2_H,axiom,
    ! [P3: list_int > list_int > $o,Xs: list_int,Ys: list_int] :
      ( ( P3 @ nil_int @ nil_int )
     => ( ! [X: int,Xs2: list_int] : ( P3 @ ( cons_int @ X @ Xs2 ) @ nil_int )
       => ( ! [Y2: int,Ys4: list_int] : ( P3 @ nil_int @ ( cons_int @ Y2 @ Ys4 ) )
         => ( ! [X: int,Xs2: list_int,Y2: int,Ys4: list_int] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_472_list__induct2_H,axiom,
    ! [P3: list_nat > list_P6011104703257516679at_nat > $o,Xs: list_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( P3 @ nil_nat @ nil_Pr5478986624290739719at_nat )
     => ( ! [X: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X @ Xs2 ) @ nil_Pr5478986624290739719at_nat )
       => ( ! [Y2: product_prod_nat_nat,Ys4: list_P6011104703257516679at_nat] : ( P3 @ nil_nat @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys4 ) )
         => ( ! [X: nat,Xs2: list_nat,Y2: product_prod_nat_nat,Ys4: list_P6011104703257516679at_nat] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_nat @ X @ Xs2 ) @ ( cons_P6512896166579812791at_nat @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_473_list__induct2_H,axiom,
    ! [P3: list_nat > list_nat_int > $o,Xs: list_nat,Ys: list_nat_int] :
      ( ( P3 @ nil_nat @ nil_nat_int )
     => ( ! [X: nat,Xs2: list_nat] : ( P3 @ ( cons_nat @ X @ Xs2 ) @ nil_nat_int )
       => ( ! [Y2: nat > int,Ys4: list_nat_int] : ( P3 @ nil_nat @ ( cons_nat_int @ Y2 @ Ys4 ) )
         => ( ! [X: nat,Xs2: list_nat,Y2: nat > int,Ys4: list_nat_int] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_nat @ X @ Xs2 ) @ ( cons_nat_int @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_474_list__induct2_H,axiom,
    ! [P3: list_P6011104703257516679at_nat > list_nat > $o,Xs: list_P6011104703257516679at_nat,Ys: list_nat] :
      ( ( P3 @ nil_Pr5478986624290739719at_nat @ nil_nat )
     => ( ! [X: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] : ( P3 @ ( cons_P6512896166579812791at_nat @ X @ Xs2 ) @ nil_nat )
       => ( ! [Y2: nat,Ys4: list_nat] : ( P3 @ nil_Pr5478986624290739719at_nat @ ( cons_nat @ Y2 @ Ys4 ) )
         => ( ! [X: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: nat,Ys4: list_nat] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_P6512896166579812791at_nat @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_475_list__induct2_H,axiom,
    ! [P3: list_P6011104703257516679at_nat > list_int > $o,Xs: list_P6011104703257516679at_nat,Ys: list_int] :
      ( ( P3 @ nil_Pr5478986624290739719at_nat @ nil_int )
     => ( ! [X: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] : ( P3 @ ( cons_P6512896166579812791at_nat @ X @ Xs2 ) @ nil_int )
       => ( ! [Y2: int,Ys4: list_int] : ( P3 @ nil_Pr5478986624290739719at_nat @ ( cons_int @ Y2 @ Ys4 ) )
         => ( ! [X: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat,Y2: int,Ys4: list_int] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_P6512896166579812791at_nat @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_476_list__induct2_H,axiom,
    ! [P3: list_nat_int > list_nat > $o,Xs: list_nat_int,Ys: list_nat] :
      ( ( P3 @ nil_nat_int @ nil_nat )
     => ( ! [X: nat > int,Xs2: list_nat_int] : ( P3 @ ( cons_nat_int @ X @ Xs2 ) @ nil_nat )
       => ( ! [Y2: nat,Ys4: list_nat] : ( P3 @ nil_nat_int @ ( cons_nat @ Y2 @ Ys4 ) )
         => ( ! [X: nat > int,Xs2: list_nat_int,Y2: nat,Ys4: list_nat] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_nat_int @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_477_list__induct2_H,axiom,
    ! [P3: list_nat_int > list_int > $o,Xs: list_nat_int,Ys: list_int] :
      ( ( P3 @ nil_nat_int @ nil_int )
     => ( ! [X: nat > int,Xs2: list_nat_int] : ( P3 @ ( cons_nat_int @ X @ Xs2 ) @ nil_int )
       => ( ! [Y2: int,Ys4: list_int] : ( P3 @ nil_nat_int @ ( cons_int @ Y2 @ Ys4 ) )
         => ( ! [X: nat > int,Xs2: list_nat_int,Y2: int,Ys4: list_int] :
                ( ( P3 @ Xs2 @ Ys4 )
               => ( P3 @ ( cons_nat_int @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) ) )
           => ( P3 @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_478_neq__Nil__conv,axiom,
    ! [Xs: list_nat] :
      ( ( Xs != nil_nat )
      = ( ? [Y6: nat,Ys3: list_nat] :
            ( Xs
            = ( cons_nat @ Y6 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_479_neq__Nil__conv,axiom,
    ! [Xs: list_P6011104703257516679at_nat] :
      ( ( Xs != nil_Pr5478986624290739719at_nat )
      = ( ? [Y6: product_prod_nat_nat,Ys3: list_P6011104703257516679at_nat] :
            ( Xs
            = ( cons_P6512896166579812791at_nat @ Y6 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_480_neq__Nil__conv,axiom,
    ! [Xs: list_nat_int] :
      ( ( Xs != nil_nat_int )
      = ( ? [Y6: nat > int,Ys3: list_nat_int] :
            ( Xs
            = ( cons_nat_int @ Y6 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_481_neq__Nil__conv,axiom,
    ! [Xs: list_int] :
      ( ( Xs != nil_int )
      = ( ? [Y6: int,Ys3: list_int] :
            ( Xs
            = ( cons_int @ Y6 @ Ys3 ) ) ) ) ).

% neq_Nil_conv
thf(fact_482_remdups__adj_Ocases,axiom,
    ! [X3: list_nat] :
      ( ( X3 != nil_nat )
     => ( ! [X: nat] :
            ( X3
           != ( cons_nat @ X @ nil_nat ) )
       => ~ ! [X: nat,Y2: nat,Xs2: list_nat] :
              ( X3
             != ( cons_nat @ X @ ( cons_nat @ Y2 @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_483_remdups__adj_Ocases,axiom,
    ! [X3: list_P6011104703257516679at_nat] :
      ( ( X3 != nil_Pr5478986624290739719at_nat )
     => ( ! [X: product_prod_nat_nat] :
            ( X3
           != ( cons_P6512896166579812791at_nat @ X @ nil_Pr5478986624290739719at_nat ) )
       => ~ ! [X: product_prod_nat_nat,Y2: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
              ( X3
             != ( cons_P6512896166579812791at_nat @ X @ ( cons_P6512896166579812791at_nat @ Y2 @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_484_remdups__adj_Ocases,axiom,
    ! [X3: list_nat_int] :
      ( ( X3 != nil_nat_int )
     => ( ! [X: nat > int] :
            ( X3
           != ( cons_nat_int @ X @ nil_nat_int ) )
       => ~ ! [X: nat > int,Y2: nat > int,Xs2: list_nat_int] :
              ( X3
             != ( cons_nat_int @ X @ ( cons_nat_int @ Y2 @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_485_remdups__adj_Ocases,axiom,
    ! [X3: list_int] :
      ( ( X3 != nil_int )
     => ( ! [X: int] :
            ( X3
           != ( cons_int @ X @ nil_int ) )
       => ~ ! [X: int,Y2: int,Xs2: list_int] :
              ( X3
             != ( cons_int @ X @ ( cons_int @ Y2 @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_486_min__list_Ocases,axiom,
    ! [X3: list_nat] :
      ( ! [X: nat,Xs2: list_nat] :
          ( X3
         != ( cons_nat @ X @ Xs2 ) )
     => ( X3 = nil_nat ) ) ).

% min_list.cases
thf(fact_487_min__list_Ocases,axiom,
    ! [X3: list_nat_int] :
      ( ! [X: nat > int,Xs2: list_nat_int] :
          ( X3
         != ( cons_nat_int @ X @ Xs2 ) )
     => ( X3 = nil_nat_int ) ) ).

% min_list.cases
thf(fact_488_min__list_Ocases,axiom,
    ! [X3: list_int] :
      ( ! [X: int,Xs2: list_int] :
          ( X3
         != ( cons_int @ X @ Xs2 ) )
     => ( X3 = nil_int ) ) ).

% min_list.cases
thf(fact_489_list_Oexhaust,axiom,
    ! [Y: list_nat] :
      ( ( Y != nil_nat )
     => ~ ! [X212: nat,X222: list_nat] :
            ( Y
           != ( cons_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_490_list_Oexhaust,axiom,
    ! [Y: list_P6011104703257516679at_nat] :
      ( ( Y != nil_Pr5478986624290739719at_nat )
     => ~ ! [X212: product_prod_nat_nat,X222: list_P6011104703257516679at_nat] :
            ( Y
           != ( cons_P6512896166579812791at_nat @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_491_list_Oexhaust,axiom,
    ! [Y: list_nat_int] :
      ( ( Y != nil_nat_int )
     => ~ ! [X212: nat > int,X222: list_nat_int] :
            ( Y
           != ( cons_nat_int @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_492_list_Oexhaust,axiom,
    ! [Y: list_int] :
      ( ( Y != nil_int )
     => ~ ! [X212: int,X222: list_int] :
            ( Y
           != ( cons_int @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_493_list_OdiscI,axiom,
    ! [List: list_nat,X21: nat,X22: list_nat] :
      ( ( List
        = ( cons_nat @ X21 @ X22 ) )
     => ( List != nil_nat ) ) ).

% list.discI
thf(fact_494_list_OdiscI,axiom,
    ! [List: list_P6011104703257516679at_nat,X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] :
      ( ( List
        = ( cons_P6512896166579812791at_nat @ X21 @ X22 ) )
     => ( List != nil_Pr5478986624290739719at_nat ) ) ).

% list.discI
thf(fact_495_list_OdiscI,axiom,
    ! [List: list_nat_int,X21: nat > int,X22: list_nat_int] :
      ( ( List
        = ( cons_nat_int @ X21 @ X22 ) )
     => ( List != nil_nat_int ) ) ).

% list.discI
thf(fact_496_list_OdiscI,axiom,
    ! [List: list_int,X21: int,X22: list_int] :
      ( ( List
        = ( cons_int @ X21 @ X22 ) )
     => ( List != nil_int ) ) ).

% list.discI
thf(fact_497_list_Odistinct_I1_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( nil_nat
     != ( cons_nat @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_498_list_Odistinct_I1_J,axiom,
    ! [X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] :
      ( nil_Pr5478986624290739719at_nat
     != ( cons_P6512896166579812791at_nat @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_499_list_Odistinct_I1_J,axiom,
    ! [X21: nat > int,X22: list_nat_int] :
      ( nil_nat_int
     != ( cons_nat_int @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_500_list_Odistinct_I1_J,axiom,
    ! [X21: int,X22: list_int] :
      ( nil_int
     != ( cons_int @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_501_list_Osel_I1_J,axiom,
    ! [X21: nat,X22: list_nat] :
      ( ( hd_nat @ ( cons_nat @ X21 @ X22 ) )
      = X21 ) ).

% list.sel(1)
thf(fact_502_list_Osel_I1_J,axiom,
    ! [X21: product_prod_nat_nat,X22: list_P6011104703257516679at_nat] :
      ( ( hd_Pro3460610213475200108at_nat @ ( cons_P6512896166579812791at_nat @ X21 @ X22 ) )
      = X21 ) ).

% list.sel(1)
thf(fact_503_list_Osel_I1_J,axiom,
    ! [X21: nat > int,X22: list_nat_int] :
      ( ( hd_nat_int @ ( cons_nat_int @ X21 @ X22 ) )
      = X21 ) ).

% list.sel(1)
thf(fact_504_list_Osel_I1_J,axiom,
    ! [X21: int,X22: list_int] :
      ( ( hd_int @ ( cons_int @ X21 @ X22 ) )
      = X21 ) ).

% list.sel(1)
thf(fact_505_list__induct4,axiom,
    ! [Xs: list_int,Ys: list_int,Zs: list_int,Ws: list_nat,P3: list_int > list_int > list_int > list_nat > $o] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( ( size_size_list_int @ Ys )
          = ( size_size_list_int @ Zs ) )
       => ( ( ( size_size_list_int @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P3 @ nil_int @ nil_int @ nil_int @ nil_nat )
           => ( ! [X: int,Xs2: list_int,Y2: int,Ys4: list_int,Z4: int,Zs2: list_int,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_int @ Xs2 )
                    = ( size_size_list_int @ Ys4 ) )
                 => ( ( ( size_size_list_int @ Ys4 )
                      = ( size_size_list_int @ Zs2 ) )
                   => ( ( ( size_size_list_int @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) @ ( cons_int @ Z4 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_506_list__induct4,axiom,
    ! [Xs: list_int,Ys: list_int,Zs: list_nat,Ws: list_int,P3: list_int > list_int > list_nat > list_int > $o] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( ( size_size_list_int @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_int @ Ws ) )
         => ( ( P3 @ nil_int @ nil_int @ nil_nat @ nil_int )
           => ( ! [X: int,Xs2: list_int,Y2: int,Ys4: list_int,Z4: nat,Zs2: list_nat,W: int,Ws2: list_int] :
                  ( ( ( size_size_list_int @ Xs2 )
                    = ( size_size_list_int @ Ys4 ) )
                 => ( ( ( size_size_list_int @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_int @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) @ ( cons_nat @ Z4 @ Zs2 ) @ ( cons_int @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_507_list__induct4,axiom,
    ! [Xs: list_int,Ys: list_int,Zs: list_nat,Ws: list_nat,P3: list_int > list_int > list_nat > list_nat > $o] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( ( size_size_list_int @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P3 @ nil_int @ nil_int @ nil_nat @ nil_nat )
           => ( ! [X: int,Xs2: list_int,Y2: int,Ys4: list_int,Z4: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_int @ Xs2 )
                    = ( size_size_list_int @ Ys4 ) )
                 => ( ( ( size_size_list_int @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) @ ( cons_nat @ Z4 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_508_list__induct4,axiom,
    ! [Xs: list_int,Ys: list_nat,Zs: list_int,Ws: list_int,P3: list_int > list_nat > list_int > list_int > $o] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_int @ Zs ) )
       => ( ( ( size_size_list_int @ Zs )
            = ( size_size_list_int @ Ws ) )
         => ( ( P3 @ nil_int @ nil_nat @ nil_int @ nil_int )
           => ( ! [X: int,Xs2: list_int,Y2: nat,Ys4: list_nat,Z4: int,Zs2: list_int,W: int,Ws2: list_int] :
                  ( ( ( size_size_list_int @ Xs2 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_int @ Zs2 ) )
                   => ( ( ( size_size_list_int @ Zs2 )
                        = ( size_size_list_int @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) @ ( cons_int @ Z4 @ Zs2 ) @ ( cons_int @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_509_list__induct4,axiom,
    ! [Xs: list_int,Ys: list_nat,Zs: list_int,Ws: list_nat,P3: list_int > list_nat > list_int > list_nat > $o] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_int @ Zs ) )
       => ( ( ( size_size_list_int @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P3 @ nil_int @ nil_nat @ nil_int @ nil_nat )
           => ( ! [X: int,Xs2: list_int,Y2: nat,Ys4: list_nat,Z4: int,Zs2: list_int,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_int @ Xs2 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_int @ Zs2 ) )
                   => ( ( ( size_size_list_int @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) @ ( cons_int @ Z4 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_510_list__induct4,axiom,
    ! [Xs: list_int,Ys: list_nat,Zs: list_nat,Ws: list_int,P3: list_int > list_nat > list_nat > list_int > $o] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_int @ Ws ) )
         => ( ( P3 @ nil_int @ nil_nat @ nil_nat @ nil_int )
           => ( ! [X: int,Xs2: list_int,Y2: nat,Ys4: list_nat,Z4: nat,Zs2: list_nat,W: int,Ws2: list_int] :
                  ( ( ( size_size_list_int @ Xs2 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_int @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) @ ( cons_nat @ Z4 @ Zs2 ) @ ( cons_int @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_511_list__induct4,axiom,
    ! [Xs: list_int,Ys: list_nat,Zs: list_nat,Ws: list_nat,P3: list_int > list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P3 @ nil_int @ nil_nat @ nil_nat @ nil_nat )
           => ( ! [X: int,Xs2: list_int,Y2: nat,Ys4: list_nat,Z4: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_int @ Xs2 )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_int @ X @ Xs2 ) @ ( cons_nat @ Y2 @ Ys4 ) @ ( cons_nat @ Z4 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_512_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_int,Zs: list_int,Ws: list_int,P3: list_nat > list_int > list_int > list_int > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( ( size_size_list_int @ Ys )
          = ( size_size_list_int @ Zs ) )
       => ( ( ( size_size_list_int @ Zs )
            = ( size_size_list_int @ Ws ) )
         => ( ( P3 @ nil_nat @ nil_int @ nil_int @ nil_int )
           => ( ! [X: nat,Xs2: list_nat,Y2: int,Ys4: list_int,Z4: int,Zs2: list_int,W: int,Ws2: list_int] :
                  ( ( ( size_size_list_nat @ Xs2 )
                    = ( size_size_list_int @ Ys4 ) )
                 => ( ( ( size_size_list_int @ Ys4 )
                      = ( size_size_list_int @ Zs2 ) )
                   => ( ( ( size_size_list_int @ Zs2 )
                        = ( size_size_list_int @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_nat @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) @ ( cons_int @ Z4 @ Zs2 ) @ ( cons_int @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_513_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_int,Zs: list_int,Ws: list_nat,P3: list_nat > list_int > list_int > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( ( size_size_list_int @ Ys )
          = ( size_size_list_int @ Zs ) )
       => ( ( ( size_size_list_int @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P3 @ nil_nat @ nil_int @ nil_int @ nil_nat )
           => ( ! [X: nat,Xs2: list_nat,Y2: int,Ys4: list_int,Z4: int,Zs2: list_int,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs2 )
                    = ( size_size_list_int @ Ys4 ) )
                 => ( ( ( size_size_list_int @ Ys4 )
                      = ( size_size_list_int @ Zs2 ) )
                   => ( ( ( size_size_list_int @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_nat @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) @ ( cons_int @ Z4 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_514_list__induct4,axiom,
    ! [Xs: list_nat,Ys: list_int,Zs: list_nat,Ws: list_int,P3: list_nat > list_int > list_nat > list_int > $o] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( ( size_size_list_int @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_int @ Ws ) )
         => ( ( P3 @ nil_nat @ nil_int @ nil_nat @ nil_int )
           => ( ! [X: nat,Xs2: list_nat,Y2: int,Ys4: list_int,Z4: nat,Zs2: list_nat,W: int,Ws2: list_int] :
                  ( ( ( size_size_list_nat @ Xs2 )
                    = ( size_size_list_int @ Ys4 ) )
                 => ( ( ( size_size_list_int @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_int @ Ws2 ) )
                     => ( ( P3 @ Xs2 @ Ys4 @ Zs2 @ Ws2 )
                       => ( P3 @ ( cons_nat @ X @ Xs2 ) @ ( cons_int @ Y2 @ Ys4 ) @ ( cons_nat @ Z4 @ Zs2 ) @ ( cons_int @ W @ Ws2 ) ) ) ) ) )
             => ( P3 @ Xs @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_515_pirreducible__degree,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_list_nat @ P @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
       => ( ( ring_r7080231636092395046t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) @ P )
         => ( ord_less_eq_nat @ one_one_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ one_one_nat ) ) ) ) ) ).

% pirreducible_degree
thf(fact_516_monoid__cancelI,axiom,
    ( ! [A4: nat,B5: nat,C4: nat] :
        ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ C4 @ A4 )
          = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ C4 @ B5 ) )
       => ( ( member_nat @ A4 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ B5 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( member_nat @ C4 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
             => ( A4 = B5 ) ) ) ) )
   => ( ! [A4: nat,B5: nat,C4: nat] :
          ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ A4 @ C4 )
            = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ B5 @ C4 ) )
         => ( ( member_nat @ A4 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( member_nat @ B5 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
             => ( ( member_nat @ C4 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
               => ( A4 = B5 ) ) ) ) )
     => ( monoid2713784563552164055t_unit @ ( mod_ring @ p ) ) ) ) ).

% monoid_cancelI
thf(fact_517_line__extension__smult__closed,axiom,
    ! [K: set_nat,E: set_nat,A: nat,K2: nat,U: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ! [K3: nat,V2: nat] :
            ( ( member_nat @ K3 @ K )
           => ( ( member_nat @ V2 @ E )
             => ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K3 @ V2 ) @ E ) ) )
       => ( ( ord_less_eq_set_nat @ E @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( member_nat @ K2 @ K )
             => ( ( member_nat @ U @ ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K @ A @ E ) )
               => ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ U ) @ ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K @ A @ E ) ) ) ) ) ) ) ) ).

% line_extension_smult_closed
thf(fact_518_coeff_Oelims,axiom,
    ! [X3: list_nat,Y: nat > nat] :
      ( ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ X3 )
        = Y )
     => ( ( ( X3 = nil_nat )
         => ( Y
           != ( ^ [Uu: nat] : ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) )
       => ~ ! [V2: nat,Va: list_nat] :
              ( ( X3
                = ( cons_nat @ V2 @ Va ) )
             => ( Y
               != ( ^ [I: nat] :
                      ( if_nat
                      @ ( I
                        = ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V2 @ Va ) ) @ one_one_nat ) )
                      @ ( hd_nat @ ( cons_nat @ V2 @ Va ) )
                      @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V2 @ Va ) ) @ I ) ) ) ) ) ) ) ).

% coeff.elims
thf(fact_519_line__extension__in__carrier,axiom,
    ! [K: set_nat,A: nat,E: set_nat] :
      ( ( ord_less_eq_set_nat @ K @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ E @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ord_less_eq_set_nat @ ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K @ A @ E ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% line_extension_in_carrier
thf(fact_520_normalize_Osimps_I2_J,axiom,
    ! [V3: nat,Va2: list_nat] :
      ( ( ( ( hd_nat @ ( cons_nat @ V3 @ Va2 ) )
         != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
       => ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( cons_nat @ V3 @ Va2 ) )
          = ( cons_nat @ V3 @ Va2 ) ) )
      & ( ( ( hd_nat @ ( cons_nat @ V3 @ Va2 ) )
          = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
       => ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( cons_nat @ V3 @ Va2 ) )
          = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V3 @ Va2 ) ) ) ) ) ) ).

% normalize.simps(2)
thf(fact_521_normalize_Oelims,axiom,
    ! [X3: list_nat,Y: list_nat] :
      ( ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ X3 )
        = Y )
     => ( ( ( X3 = nil_nat )
         => ( Y != nil_nat ) )
       => ~ ! [V2: nat,Va: list_nat] :
              ( ( X3
                = ( cons_nat @ V2 @ Va ) )
             => ~ ( ( ( ( hd_nat @ ( cons_nat @ V2 @ Va ) )
                     != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
                   => ( Y
                      = ( cons_nat @ V2 @ Va ) ) )
                  & ( ( ( hd_nat @ ( cons_nat @ V2 @ Va ) )
                      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
                   => ( Y
                      = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V2 @ Va ) ) ) ) ) ) ) ) ) ).

% normalize.elims
thf(fact_522_coeff_Osimps_I2_J,axiom,
    ! [V3: nat,Va2: list_nat] :
      ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( cons_nat @ V3 @ Va2 ) )
      = ( ^ [I: nat] :
            ( if_nat
            @ ( I
              = ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V3 @ Va2 ) ) @ one_one_nat ) )
            @ ( hd_nat @ ( cons_nat @ V3 @ Va2 ) )
            @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V3 @ Va2 ) ) @ I ) ) ) ) ).

% coeff.simps(2)
thf(fact_523_dense__repr_Oelims,axiom,
    ! [X3: list_nat,Y: list_P6011104703257516679at_nat] :
      ( ( ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ X3 )
        = Y )
     => ( ( ( X3 = nil_nat )
         => ( Y != nil_Pr5478986624290739719at_nat ) )
       => ~ ! [V2: nat,Va: list_nat] :
              ( ( X3
                = ( cons_nat @ V2 @ Va ) )
             => ~ ( ( ( ( hd_nat @ ( cons_nat @ V2 @ Va ) )
                     != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
                   => ( Y
                      = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ ( hd_nat @ ( cons_nat @ V2 @ Va ) ) @ ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V2 @ Va ) ) @ one_one_nat ) ) @ ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V2 @ Va ) ) ) ) ) )
                  & ( ( ( hd_nat @ ( cons_nat @ V2 @ Va ) )
                      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
                   => ( Y
                      = ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V2 @ Va ) ) ) ) ) ) ) ) ) ).

% dense_repr.elims
thf(fact_524_polynomial__dense__repr,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
     => ( ( P != nil_nat )
       => ( ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ P )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ ( hd_nat @ P ) @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ one_one_nat ) ) @ ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( tl_nat @ P ) ) ) ) ) ) ) ).

% polynomial_dense_repr
thf(fact_525_dense__repr_Osimps_I2_J,axiom,
    ! [V3: nat,Va2: list_nat] :
      ( ( ( ( hd_nat @ ( cons_nat @ V3 @ Va2 ) )
         != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
       => ( ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( cons_nat @ V3 @ Va2 ) )
          = ( cons_P6512896166579812791at_nat @ ( product_Pair_nat_nat @ ( hd_nat @ ( cons_nat @ V3 @ Va2 ) ) @ ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V3 @ Va2 ) ) @ one_one_nat ) ) @ ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V3 @ Va2 ) ) ) ) ) )
      & ( ( ( hd_nat @ ( cons_nat @ V3 @ Va2 ) )
          = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
       => ( ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( cons_nat @ V3 @ Va2 ) )
          = ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V3 @ Va2 ) ) ) ) ) ) ).

% dense_repr.simps(2)
thf(fact_526_subfield__long__division__theorem__shell,axiom,
    ! [K: set_nat,P: list_nat,B: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_list_nat @ P @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
       => ( ( member_list_nat @ B @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
         => ( ( B
             != ( zero_l6543981681483557223t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
           => ? [Q2: list_nat,R2: list_nat] :
                ( ( member_list_nat @ Q2 @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
                & ( member_list_nat @ R2 @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
                & ( P
                  = ( add_li7561029539577564902t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) @ ( mult_l3598037199710408769t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) @ B @ Q2 ) @ R2 ) )
                & ( ( R2
                    = ( zero_l6543981681483557223t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
                  | ( ord_less_nat @ ( minus_minus_nat @ ( size_size_list_nat @ R2 ) @ one_one_nat ) @ ( minus_minus_nat @ ( size_size_list_nat @ B ) @ one_one_nat ) ) ) ) ) ) ) ) ).

% subfield_long_division_theorem_shell
thf(fact_527_lead__coeff__in__carrier,axiom,
    ! [K: set_nat,A: nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ A @ P ) )
       => ( member_nat @ A @ ( minus_minus_set_nat @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ) ).

% lead_coeff_in_carrier
thf(fact_528_carrier__is__subring,axiom,
    subrin2893992908230074586t_unit @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) @ ( mod_ring @ p ) ).

% carrier_is_subring
thf(fact_529_poly__coeff__in__carrier,axiom,
    ! [K: set_nat,P: list_nat,I2: nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( member_nat @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P @ I2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% poly_coeff_in_carrier
thf(fact_530_degree__one,axiom,
    ! [K: set_nat] :
      ( ( minus_minus_nat @ ( size_size_list_nat @ ( one_li7624752283155684269t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) ) @ one_one_nat )
      = zero_zero_nat ) ).

% degree_one
thf(fact_531_carrier__polynomial,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) @ P ) ) ) ).

% carrier_polynomial
thf(fact_532_carrier__polynomial__shell,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_list_nat @ P @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
       => ( member_list_nat @ P @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ) ) ).

% carrier_polynomial_shell
thf(fact_533_monom__is__polynomial,axiom,
    ! [K: set_nat,A: nat,N: nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_nat @ A @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
       => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( monom_3085014561924103396t_unit @ ( mod_ring @ p ) @ A @ N ) ) ) ) ).

% monom_is_polynomial
thf(fact_534_monom__decomp,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( P
          = ( poly_o7905497302356279026t_unit @ ( mod_ring @ p ) @ ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ P ) ) ) ) ) ).

% monom_decomp
thf(fact_535_degree__add__distinct,axiom,
    ! [K: set_nat,F: list_nat,G2: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_list_nat @ F @ ( minus_7954133019191499631st_nat @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) @ ( insert_list_nat @ ( zero_l6543981681483557223t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) @ bot_bot_set_list_nat ) ) )
       => ( ( member_list_nat @ G2 @ ( minus_7954133019191499631st_nat @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) @ ( insert_list_nat @ ( zero_l6543981681483557223t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) @ bot_bot_set_list_nat ) ) )
         => ( ( ( minus_minus_nat @ ( size_size_list_nat @ F ) @ one_one_nat )
             != ( minus_minus_nat @ ( size_size_list_nat @ G2 ) @ one_one_nat ) )
           => ( ( minus_minus_nat @ ( size_size_list_nat @ ( add_li7561029539577564902t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) @ F @ G2 ) ) @ one_one_nat )
              = ( ord_max_nat @ ( minus_minus_nat @ ( size_size_list_nat @ F ) @ one_one_nat ) @ ( minus_minus_nat @ ( size_size_list_nat @ G2 ) @ one_one_nat ) ) ) ) ) ) ) ).

% degree_add_distinct
thf(fact_536_coeff__add,axiom,
    ! [K: set_nat,F: list_nat,G2: list_nat,I2: nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_list_nat @ F @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
       => ( ( member_list_nat @ G2 @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) ) )
         => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( add_li7561029539577564902t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ K ) @ F @ G2 ) @ I2 )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ F @ I2 ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ G2 @ I2 ) ) ) ) ) ) ).

% coeff_add
thf(fact_537_const__term__zero,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ( P != nil_nat )
         => ( ( ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ P )
              = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
           => ~ ! [P4: list_nat] :
                  ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P4 )
                 => ( ( P4 != nil_nat )
                   => ( P
                     != ( append_nat @ P4 @ ( cons_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ nil_nat ) ) ) ) ) ) ) ) ) ).

% const_term_zero
thf(fact_538_poly__add__coeff,axiom,
    ! [X3: list_nat,Y: list_nat,K2: nat] :
      ( ( member_list_nat @ X3 @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) )
     => ( ( member_list_nat @ Y @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) )
       => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( add_li7561029539577564902t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) @ X3 @ Y ) @ K2 )
          = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ X3 @ K2 ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ Y @ K2 ) ) ) ) ) ).

% poly_add_coeff
thf(fact_539_poly__of__const__in__carrier,axiom,
    ! [S: nat] :
      ( ( member_nat @ S @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( member_list_nat @ ( poly_o4757472714646995822t_unit @ ( mod_ring @ p ) @ S ) @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% poly_of_const_in_carrier
thf(fact_540_a__lcomm,axiom,
    ! [X3: nat,Y: nat,Z: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Z @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ Y @ Z ) )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ Y @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Z ) ) ) ) ) ) ).

% a_lcomm
thf(fact_541_a__comm,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Y )
          = ( add_nat_Product_unit @ ( mod_ring @ p ) @ Y @ X3 ) ) ) ) ).

% a_comm
thf(fact_542_a__assoc,axiom,
    ! [X3: nat,Y: nat,Z: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Z @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ Z )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ Y @ Z ) ) ) ) ) ) ).

% a_assoc
thf(fact_543_add_Or__cancel,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ A @ C )
        = ( add_nat_Product_unit @ ( mod_ring @ p ) @ B @ C ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ C @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( A = B ) ) ) ) ) ).

% add.r_cancel
thf(fact_544_add_Ol__cancel,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ C @ A )
        = ( add_nat_Product_unit @ ( mod_ring @ p ) @ C @ B ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ C @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( A = B ) ) ) ) ) ).

% add.l_cancel
thf(fact_545_subring__props_I7_J,axiom,
    ! [K: set_nat,H1: nat,H2: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_nat @ H1 @ K )
       => ( ( member_nat @ H2 @ K )
         => ( member_nat @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ H1 @ H2 ) @ K ) ) ) ) ).

% subring_props(7)
thf(fact_546_local_Onormalize__idem,axiom,
    ! [P: list_nat,Q3: list_nat] :
      ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) @ Q3 ) )
      = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ Q3 ) ) ) ).

% local.normalize_idem
thf(fact_547_local_Ominus__unique,axiom,
    ! [Y: nat,X3: nat,Y5: nat] :
      ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ Y @ X3 )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
     => ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Y5 )
          = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( member_nat @ Y5 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
             => ( Y = Y5 ) ) ) ) ) ) ).

% local.minus_unique
thf(fact_548_add_Or__inv__ex,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ? [X: nat] :
          ( ( member_nat @ X @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
          & ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ X )
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% add.r_inv_ex
thf(fact_549_add_Oone__unique,axiom,
    ! [U: nat] :
      ( ( member_nat @ U @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ! [X: nat] :
            ( ( member_nat @ X @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ U @ X )
              = X ) )
       => ( U
          = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% add.one_unique
thf(fact_550_add_Ol__inv__ex,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ? [X: nat] :
          ( ( member_nat @ X @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
          & ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X @ X3 )
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% add.l_inv_ex
thf(fact_551_add_Oinv__comm,axiom,
    ! [X3: nat,Y: nat] :
      ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Y )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ Y @ X3 )
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% add.inv_comm
thf(fact_552_r__distr,axiom,
    ! [X3: nat,Y: nat,Z: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Z @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Z @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Y ) )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Z @ X3 ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Z @ Y ) ) ) ) ) ) ).

% r_distr
thf(fact_553_l__distr,axiom,
    ! [X3: nat,Y: nat,Z: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Z @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ Z )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Z ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ Z ) ) ) ) ) ) ).

% l_distr
thf(fact_554_line__extension__mem__iff,axiom,
    ! [U: nat,K: set_nat,A: nat,E: set_nat] :
      ( ( member_nat @ U @ ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K @ A @ E ) )
      = ( ? [X2: nat] :
            ( ( member_nat @ X2 @ K )
            & ? [Y6: nat] :
                ( ( member_nat @ Y6 @ E )
                & ( U
                  = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X2 @ A ) @ Y6 ) ) ) ) ) ) ).

% line_extension_mem_iff
thf(fact_555_a__lcos__m__assoc,axiom,
    ! [M2: set_nat,G2: nat,H3: nat] :
      ( ( ord_less_eq_set_nat @ M2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ G2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ H3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( a_l_co3340896127261556338t_unit @ ( mod_ring @ p ) @ G2 @ ( a_l_co3340896127261556338t_unit @ ( mod_ring @ p ) @ H3 @ M2 ) )
            = ( a_l_co3340896127261556338t_unit @ ( mod_ring @ p ) @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ G2 @ H3 ) @ M2 ) ) ) ) ) ).

% a_lcos_m_assoc
thf(fact_556_poly__of__const__def,axiom,
    ( ( poly_o4757472714646995822t_unit @ ( mod_ring @ p ) )
    = ( ^ [K4: nat] : ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( cons_nat @ K4 @ nil_nat ) ) ) ) ).

% poly_of_const_def
thf(fact_557_append__coeff,axiom,
    ! [P: list_nat,Q3: list_nat] :
      ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ Q3 ) )
      = ( ^ [I: nat] : ( if_nat @ ( ord_less_nat @ I @ ( size_size_list_nat @ Q3 ) ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ Q3 @ I ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P @ ( minus_minus_nat @ I @ ( size_size_list_nat @ Q3 ) ) ) ) ) ) ).

% append_coeff
thf(fact_558_max__nat_Oeq__neutr__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ord_max_nat @ A @ B )
        = zero_zero_nat )
      = ( ( A = zero_zero_nat )
        & ( B = zero_zero_nat ) ) ) ).

% max_nat.eq_neutr_iff
thf(fact_559_max__nat_Oleft__neutral,axiom,
    ! [A: nat] :
      ( ( ord_max_nat @ zero_zero_nat @ A )
      = A ) ).

% max_nat.left_neutral
thf(fact_560_max__nat_Oneutr__eq__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( zero_zero_nat
        = ( ord_max_nat @ A @ B ) )
      = ( ( A = zero_zero_nat )
        & ( B = zero_zero_nat ) ) ) ).

% max_nat.neutr_eq_iff
thf(fact_561_max__nat_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( ord_max_nat @ A @ zero_zero_nat )
      = A ) ).

% max_nat.right_neutral
thf(fact_562_max__0L,axiom,
    ! [N: nat] :
      ( ( ord_max_nat @ zero_zero_nat @ N )
      = N ) ).

% max_0L
thf(fact_563_max__0R,axiom,
    ! [N: nat] :
      ( ( ord_max_nat @ N @ zero_zero_nat )
      = N ) ).

% max_0R
thf(fact_564_a__closed,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( member_nat @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% a_closed
thf(fact_565_local_Oadd_Oright__cancel,axiom,
    ! [X3: nat,Y: nat,Z: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Z @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ Y @ X3 )
              = ( add_nat_Product_unit @ ( mod_ring @ p ) @ Z @ X3 ) )
            = ( Y = Z ) ) ) ) ) ).

% local.add.right_cancel
thf(fact_566_r__zero,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
        = X3 ) ) ).

% r_zero
thf(fact_567_l__zero,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ X3 )
        = X3 ) ) ).

% l_zero
thf(fact_568_add_Or__cancel__one_H,axiom,
    ! [X3: nat,A: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( X3
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ A @ X3 ) )
          = ( A
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% add.r_cancel_one'
thf(fact_569_add_Or__cancel__one,axiom,
    ! [X3: nat,A: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ A @ X3 )
            = X3 )
          = ( A
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% add.r_cancel_one
thf(fact_570_add_Ol__cancel__one_H,axiom,
    ! [X3: nat,A: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( X3
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ A ) )
          = ( A
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% add.l_cancel_one'
thf(fact_571_add_Ol__cancel__one,axiom,
    ! [X3: nat,A: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ X3 @ A )
            = X3 )
          = ( A
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% add.l_cancel_one
thf(fact_572_INTEG_OP_Odense__repr_Ocases,axiom,
    ! [X3: list_nat_int] :
      ( ( X3 != nil_nat_int )
     => ~ ! [V2: nat > int,Va: list_nat_int] :
            ( X3
           != ( cons_nat_int @ V2 @ Va ) ) ) ).

% INTEG.P.dense_repr.cases
thf(fact_573_INTEG_OR_Odense__repr_Ocases,axiom,
    ! [X3: list_int] :
      ( ( X3 != nil_int )
     => ~ ! [V2: int,Va: list_int] :
            ( X3
           != ( cons_int @ V2 @ Va ) ) ) ).

% INTEG.R.dense_repr.cases
thf(fact_574_const__term__eq__last,axiom,
    ! [P: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ ( cons_nat @ A @ nil_nat ) ) )
          = A ) ) ) ).

% const_term_eq_last
thf(fact_575_const__term__explicit,axiom,
    ! [P: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( P != nil_nat )
       => ( ( ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ P )
            = A )
         => ~ ! [P4: list_nat] :
                ( ( ord_less_eq_set_nat @ ( set_nat2 @ P4 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
               => ( P
                 != ( append_nat @ P4 @ ( cons_nat @ A @ nil_nat ) ) ) ) ) ) ) ).

% const_term_explicit
thf(fact_576_subfield__m__inv_I2_J,axiom,
    ! [K: set_nat,K2: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_nat @ K2 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
       => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ ( m_inv_3931797133766013019t_unit @ ( mod_ring @ p ) @ K2 ) )
          = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% subfield_m_inv(2)
thf(fact_577_subfield__m__inv_I3_J,axiom,
    ! [K: set_nat,K2: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_nat @ K2 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
       => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( m_inv_3931797133766013019t_unit @ ( mod_ring @ p ) @ K2 ) @ K2 )
          = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% subfield_m_inv(3)
thf(fact_578_polynomial__incl,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ K ) ) ).

% polynomial_incl
thf(fact_579_normalize__in__carrier,axiom,
    ! [P: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% normalize_in_carrier
thf(fact_580_const__term__simprules_I1_J,axiom,
    ! [P: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( member_nat @ ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% const_term_simprules(1)
thf(fact_581_normalize__gives__polynomial,axiom,
    ! [P: list_nat,K: set_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ K )
     => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) ).

% normalize_gives_polynomial
thf(fact_582_comm__inv__char,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y )
            = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
         => ( ( m_inv_3931797133766013019t_unit @ ( mod_ring @ p ) @ X3 )
            = Y ) ) ) ) ).

% comm_inv_char
thf(fact_583_inv__char,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y )
            = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
         => ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ X3 )
              = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
           => ( ( m_inv_3931797133766013019t_unit @ ( mod_ring @ p ) @ X3 )
              = Y ) ) ) ) ) ).

% inv_char
thf(fact_584_inv__unique_H,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y )
            = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
         => ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ X3 )
              = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
           => ( Y
              = ( m_inv_3931797133766013019t_unit @ ( mod_ring @ p ) @ X3 ) ) ) ) ) ) ).

% inv_unique'
thf(fact_585_ee__sym,axiom,
    ! [As: list_nat,Bs: list_nat] :
      ( ( essent1469963903823369878t_unit @ ( mod_ring @ p ) @ As @ Bs )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ As ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Bs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( essent1469963903823369878t_unit @ ( mod_ring @ p ) @ Bs @ As ) ) ) ) ).

% ee_sym
thf(fact_586_ee__trans,axiom,
    ! [As: list_nat,Bs: list_nat,Cs: list_nat] :
      ( ( essent1469963903823369878t_unit @ ( mod_ring @ p ) @ As @ Bs )
     => ( ( essent1469963903823369878t_unit @ ( mod_ring @ p ) @ Bs @ Cs )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ As ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Bs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Cs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
             => ( essent1469963903823369878t_unit @ ( mod_ring @ p ) @ As @ Cs ) ) ) ) ) ) ).

% ee_trans
thf(fact_587_subfield__m__inv_I1_J,axiom,
    ! [K: set_nat,K2: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( member_nat @ K2 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
       => ( member_nat @ ( m_inv_3931797133766013019t_unit @ ( mod_ring @ p ) @ K2 ) @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ) ).

% subfield_m_inv(1)
thf(fact_588_inv__one,axiom,
    ( ( m_inv_3931797133766013019t_unit @ ( mod_ring @ p ) @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
    = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ).

% inv_one
thf(fact_589_ee__refl,axiom,
    ! [As: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ As ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( essent1469963903823369878t_unit @ ( mod_ring @ p ) @ As @ As ) ) ).

% ee_refl
thf(fact_590_monom__in__carrier,axiom,
    ! [A: nat,N: nat] :
      ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ ( monom_3085014561924103396t_unit @ ( mod_ring @ p ) @ A @ N ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% monom_in_carrier
thf(fact_591_polynomial__in__carrier,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% polynomial_in_carrier
thf(fact_592_polynomialI,axiom,
    ! [P: list_nat,K: set_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ K )
     => ( ( ( hd_nat @ P )
         != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
       => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P ) ) ) ).

% polynomialI
thf(fact_593_exp__base__closed,axiom,
    ! [X3: nat,N: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ ( polyno8921485606125069700t_unit @ ( mod_ring @ p ) @ X3 @ N ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% exp_base_closed
thf(fact_594_poly__add__monom,axiom,
    ! [P: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( minus_minus_set_nat @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( monom_3085014561924103396t_unit @ ( mod_ring @ p ) @ A @ ( size_size_list_nat @ P ) ) @ P )
          = ( cons_nat @ A @ P ) ) ) ) ).

% poly_add_monom
thf(fact_595_factors__mult,axiom,
    ! [Fa: list_nat,A: nat,Fb: list_nat,B: nat] :
      ( ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ Fa @ A )
     => ( ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ Fb @ B )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Fa ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Fb ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ ( append_nat @ Fa @ Fb ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ A @ B ) ) ) ) ) ) ).

% factors_mult
thf(fact_596_Span__m__inv__simprule,axiom,
    ! [K: set_nat,Us: list_nat,K2: nat,A: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ K2 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
         => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ A ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
             => ( member_nat @ A @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ) ) ) ).

% Span_m_inv_simprule
thf(fact_597_poly__add__closed,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P1 )
       => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P2 )
         => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) ) ) ) ).

% poly_add_closed
thf(fact_598_Span__in__carrier,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( ord_less_eq_set_nat @ K @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% Span_in_carrier
thf(fact_599_poly__add__in__carrier,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( set_nat2 @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% poly_add_in_carrier
thf(fact_600_poly__add__comm,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 )
          = ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P2 @ P1 ) ) ) ) ).

% poly_add_comm
thf(fact_601_poly__add__length__le,axiom,
    ! [P1: list_nat,P2: list_nat] : ( ord_less_eq_nat @ ( size_size_list_nat @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) @ ( ord_max_nat @ ( size_size_list_nat @ P1 ) @ ( size_size_list_nat @ P2 ) ) ) ).

% poly_add_length_le
thf(fact_602_factors__closed,axiom,
    ! [Fs: list_nat,A: nat] :
      ( ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ Fs @ A )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Fs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% factors_closed
thf(fact_603_poly__add__zero_I1_J,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ nil_nat )
          = P ) ) ) ).

% poly_add_zero(1)
thf(fact_604_poly__add__zero_I2_J,axiom,
    ! [K: set_nat,P: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ nil_nat @ P )
          = P ) ) ) ).

% poly_add_zero(2)
thf(fact_605_Span__strict__incl,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( ord_less_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) )
           => ? [X: nat] :
                ( ( member_nat @ X @ ( set_nat2 @ Vs ) )
                & ~ ( member_nat @ X @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ) ) ) ).

% Span_strict_incl
thf(fact_606_mono__Span__subset,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) ) ) ) ) ).

% mono_Span_subset
thf(fact_607_mono__Span__sublist,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( set_nat2 @ Vs ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) ) ) ) ) ).

% mono_Span_sublist
thf(fact_608_Span__same__set,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( set_nat2 @ Us )
            = ( set_nat2 @ Vs ) )
         => ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us )
            = ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) ) ) ) ) ).

% Span_same_set
thf(fact_609_Span__base__incl,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ).

% Span_base_incl
thf(fact_610_Span__subgroup__props_I1_J,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% Span_subgroup_props(1)
thf(fact_611_poly__add__normalize__aux,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 )
          = ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P1 ) @ P2 ) ) ) ) ).

% poly_add_normalize_aux
thf(fact_612_poly__add__normalize_I2_J,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 )
          = ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P2 ) ) ) ) ) ).

% poly_add_normalize(2)
thf(fact_613_poly__add__normalize_I3_J,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 )
          = ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P1 ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P2 ) ) ) ) ) ).

% poly_add_normalize(3)
thf(fact_614_poly__add__coeff__aux,axiom,
    ! [P2: list_nat,P1: list_nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ P2 ) @ ( size_size_list_nat @ P1 ) )
     => ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) )
        = ( ^ [I: nat] : ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P1 @ I ) @ ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P2 @ I ) ) ) ) ) ).

% poly_add_coeff_aux
thf(fact_615_poly__add__is__polynomial,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ K )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ K )
         => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) ) ) ) ).

% poly_add_is_polynomial
thf(fact_616_factors__dividesI,axiom,
    ! [Fs: list_nat,A: nat,F: nat] :
      ( ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ Fs @ A )
     => ( ( member_nat @ F @ ( set_nat2 @ Fs ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Fs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ F @ A ) ) ) ) ).

% factors_dividesI
thf(fact_617_subalgebra__Span__incl,axiom,
    ! [K: set_nat,V: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd2609395410403458802t_unit @ K @ V @ ( mod_ring @ p ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ V )
         => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ V ) ) ) ) ).

% subalgebra_Span_incl
thf(fact_618_Span__subalgebraI,axiom,
    ! [K: set_nat,E: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd2609395410403458802t_unit @ K @ E @ ( mod_ring @ p ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ E )
         => ( ! [V4: set_nat] :
                ( ( embedd2609395410403458802t_unit @ K @ V4 @ ( mod_ring @ p ) )
               => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ V4 )
                 => ( ord_less_eq_set_nat @ E @ V4 ) ) )
           => ( E
              = ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ) ) ).

% Span_subalgebraI
thf(fact_619_poly__add__length__eq,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P1 )
       => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P2 )
         => ( ( ( size_size_list_nat @ P1 )
             != ( size_size_list_nat @ P2 ) )
           => ( ( size_size_list_nat @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) )
              = ( ord_max_nat @ ( size_size_list_nat @ P1 ) @ ( size_size_list_nat @ P2 ) ) ) ) ) ) ) ).

% poly_add_length_eq
thf(fact_620_Span__subgroup__props_I2_J,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( member_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ).

% Span_subgroup_props(2)
thf(fact_621_Span__subgroup__props_I3_J,axiom,
    ! [K: set_nat,Us: list_nat,V1: nat,V22: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ V1 @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
         => ( ( member_nat @ V22 @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
           => ( member_nat @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ V1 @ V22 ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ) ) ).

% Span_subgroup_props(3)
thf(fact_622_poly__add__degree,axiom,
    ! [P1: list_nat,P2: list_nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ ( size_size_list_nat @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) @ one_one_nat ) @ ( ord_max_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P1 ) @ one_one_nat ) @ ( minus_minus_nat @ ( size_size_list_nat @ P2 ) @ one_one_nat ) ) ) ).

% poly_add_degree
thf(fact_623_mono__Span,axiom,
    ! [K: set_nat,Us: list_nat,U: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ U @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) ) ) ) ) ) ).

% mono_Span
thf(fact_624_Span__smult__closed,axiom,
    ! [K: set_nat,Us: list_nat,K2: nat,V3: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ K2 @ K )
         => ( ( member_nat @ V3 @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
           => ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ V3 ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ) ) ).

% Span_smult_closed
thf(fact_625_mono__Span__append_I2_J,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Vs @ Us ) ) ) ) ) ) ).

% mono_Span_append(2)
thf(fact_626_mono__Span__append_I1_J,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us @ Vs ) ) ) ) ) ) ).

% mono_Span_append(1)
thf(fact_627_poly__add__zero_H_I2_J,axiom,
    ! [P: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ nil_nat @ P )
        = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) ).

% poly_add_zero'(2)
thf(fact_628_poly__add__zero_H_I1_J,axiom,
    ! [P: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ nil_nat )
        = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) ).

% poly_add_zero'(1)
thf(fact_629_Span__finite__dimension,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ).

% Span_finite_dimension
thf(fact_630_const__term__simprules_I3_J,axiom,
    ! [P: list_nat,Q3: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ Q3 ) )
          = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ P ) @ ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ Q3 ) ) ) ) ) ).

% const_term_simprules(3)
thf(fact_631_Span__is__subalgebra,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( embedd2609395410403458802t_unit @ K @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( mod_ring @ p ) ) ) ) ).

% Span_is_subalgebra
thf(fact_632_poly__add__degree__eq,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P1 )
       => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P2 )
         => ( ( ( minus_minus_nat @ ( size_size_list_nat @ P1 ) @ one_one_nat )
             != ( minus_minus_nat @ ( size_size_list_nat @ P2 ) @ one_one_nat ) )
           => ( ( minus_minus_nat @ ( size_size_list_nat @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) @ one_one_nat )
              = ( ord_max_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P1 ) @ one_one_nat ) @ ( minus_minus_nat @ ( size_size_list_nat @ P2 ) @ one_one_nat ) ) ) ) ) ) ) ).

% poly_add_degree_eq
thf(fact_633_Span__append__eq__set__add,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us @ Vs ) )
            = ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) ) ) ) ) ) ).

% Span_append_eq_set_add
thf(fact_634_poly__add__append__zero,axiom,
    ! [P: list_nat,Q3: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ ( cons_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ nil_nat ) ) @ ( append_nat @ Q3 @ ( cons_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ nil_nat ) ) )
          = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ Q3 ) @ ( cons_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ nil_nat ) ) ) ) ) ) ).

% poly_add_append_zero
thf(fact_635_Span__mem__imp__non__trivial__combine,axiom,
    ! [K: set_nat,Us: list_nat,A: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ A @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
         => ~ ! [K3: nat] :
                ( ( member_nat @ K3 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
               => ! [Ks: list_nat] :
                    ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks ) @ K )
                   => ( ( ( size_size_list_nat @ Ks )
                        = ( size_size_list_nat @ Us ) )
                     => ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( cons_nat @ K3 @ Ks ) @ ( cons_nat @ A @ Us ) )
                       != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ) ) ) ).

% Span_mem_imp_non_trivial_combine
thf(fact_636_Span__mem__iff,axiom,
    ! [K: set_nat,Us: list_nat,A: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( member_nat @ A @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
            = ( ? [X2: nat] :
                  ( ( member_nat @ X2 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
                  & ? [Ks2: list_nat] :
                      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks2 ) @ K )
                      & ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( cons_nat @ X2 @ Ks2 ) @ ( cons_nat @ A @ Us ) )
                        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ) ) ) ) ).

% Span_mem_iff
thf(fact_637_poly__add__append__replicate,axiom,
    ! [P: list_nat,Q3: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ ( replicate_nat @ ( size_size_list_nat @ Q3 ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) @ Q3 )
          = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ Q3 ) ) ) ) ) ).

% poly_add_append_replicate
thf(fact_638_combine_Osimps_I3_J,axiom,
    ! [Ks3: list_nat] :
      ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ nil_nat )
      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ).

% combine.simps(3)
thf(fact_639_combine_Osimps_I2_J,axiom,
    ! [Us: list_nat] :
      ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ nil_nat @ Us )
      = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ).

% combine.simps(2)
thf(fact_640_combine_Osimps_I1_J,axiom,
    ! [K2: nat,Ks3: list_nat,U: nat,Us: list_nat] :
      ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( cons_nat @ K2 @ Ks3 ) @ ( cons_nat @ U @ Us ) )
      = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ U ) @ ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us ) ) ) ).

% combine.simps(1)
thf(fact_641_prefix__replicate__zero__coeff,axiom,
    ! [P: list_nat,N: nat] :
      ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ P )
      = ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ P ) ) ) ).

% prefix_replicate_zero_coeff
thf(fact_642_normalize__replicate__zero,axiom,
    ! [N: nat,P: list_nat] :
      ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ P ) )
      = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ).

% normalize_replicate_zero
thf(fact_643_dense__repr__replicate__zero,axiom,
    ! [N: nat,P: list_nat] :
      ( ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ P ) )
      = ( dense_1666442052194663994t_unit @ ( mod_ring @ p ) @ P ) ) ).

% dense_repr_replicate_zero
thf(fact_644_local_Omonom__def,axiom,
    ! [A: nat,N: nat] :
      ( ( monom_3085014561924103396t_unit @ ( mod_ring @ p ) @ A @ N )
      = ( cons_nat @ A @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% local.monom_def
thf(fact_645_poly__add__replicate__zero_I2_J,axiom,
    ! [K: set_nat,P: list_nat,N: nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ P )
          = P ) ) ) ).

% poly_add_replicate_zero(2)
thf(fact_646_poly__add__replicate__zero_I1_J,axiom,
    ! [K: set_nat,P: list_nat,N: nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
          = P ) ) ) ).

% poly_add_replicate_zero(1)
thf(fact_647_combine_Oelims,axiom,
    ! [X3: list_nat,Xa: list_nat,Y: nat] :
      ( ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ X3 @ Xa )
        = Y )
     => ( ! [K3: nat,Ks: list_nat] :
            ( ( X3
              = ( cons_nat @ K3 @ Ks ) )
           => ! [U2: nat,Us2: list_nat] :
                ( ( Xa
                  = ( cons_nat @ U2 @ Us2 ) )
               => ( Y
                 != ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K3 @ U2 ) @ ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks @ Us2 ) ) ) ) )
       => ( ( ( X3 = nil_nat )
           => ( Y
             != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
         => ~ ( ( Xa = nil_nat )
             => ( Y
               != ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ) ).

% combine.elims
thf(fact_648_normalize__trick,axiom,
    ! [P: list_nat] :
      ( P
      = ( append_nat @ ( replicate_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) ).

% normalize_trick
thf(fact_649_append__is__polynomial,axiom,
    ! [K: set_nat,P: list_nat,N: nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ( P != nil_nat )
         => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ P @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ) ) ).

% append_is_polynomial
thf(fact_650_combine__append,axiom,
    ! [Ks3: list_nat,Us: list_nat,Ks4: list_nat,Vs: list_nat] :
      ( ( ( size_size_list_nat @ Ks3 )
        = ( size_size_list_nat @ Us ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks4 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
             => ( ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us ) @ ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks4 @ Vs ) )
                = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( append_nat @ Ks3 @ Ks4 ) @ ( append_nat @ Us @ Vs ) ) ) ) ) ) ) ) ).

% combine_append
thf(fact_651_Span__mem__iff__length__version,axiom,
    ! [K: set_nat,Us: list_nat,A: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ A @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
          = ( ? [Ks2: list_nat] :
                ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks2 ) @ K )
                & ( ( size_size_list_nat @ Ks2 )
                  = ( size_size_list_nat @ Us ) )
                & ( A
                  = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks2 @ Us ) ) ) ) ) ) ) ).

% Span_mem_iff_length_version
thf(fact_652_combine__replicate,axiom,
    ! [Us: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( replicate_nat @ ( size_size_list_nat @ Us ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ Us )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% combine_replicate
thf(fact_653_combine__append__replicate,axiom,
    ! [Us: list_nat,Ks3: list_nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( append_nat @ Ks3 @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) @ Us )
        = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us ) ) ) ).

% combine_append_replicate
thf(fact_654_poly__add__replicate__zero_H_I2_J,axiom,
    ! [P: list_nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ P )
        = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) ).

% poly_add_replicate_zero'(2)
thf(fact_655_poly__add__replicate__zero_H_I1_J,axiom,
    ! [P: list_nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
        = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) ).

% poly_add_replicate_zero'(1)
thf(fact_656_combine__append__zero,axiom,
    ! [Us: list_nat,Ks3: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( append_nat @ Ks3 @ ( cons_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ nil_nat ) ) @ Us )
        = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us ) ) ) ).

% combine_append_zero
thf(fact_657_replicate__zero__coeff,axiom,
    ! [N: nat] :
      ( ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) )
      = ( ^ [Uu: nat] : ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% replicate_zero_coeff
thf(fact_658_combine__in__carrier,axiom,
    ! [Ks3: list_nat,Us: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( member_nat @ ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% combine_in_carrier
thf(fact_659_dependent__imp__non__trivial__combine,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ~ ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
         => ~ ! [Ks: list_nat] :
                ( ( ( size_size_list_nat @ Ks )
                  = ( size_size_list_nat @ Us ) )
               => ( ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks @ Us )
                    = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
                 => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks ) @ K )
                   => ( ( set_nat2 @ Ks )
                      = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ) ) ) ) ).

% dependent_imp_non_trivial_combine
thf(fact_660_poly__mult__append__zero,axiom,
    ! [P: list_nat,Q3: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ ( cons_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ nil_nat ) ) @ Q3 )
          = ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P @ Q3 ) @ ( cons_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ nil_nat ) ) ) ) ) ) ).

% poly_mult_append_zero
thf(fact_661_eval__append__aux,axiom,
    ! [P: list_nat,B: nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ ( cons_nat @ B @ nil_nat ) ) @ A )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ A ) @ A ) @ B ) ) ) ) ) ).

% eval_append_aux
thf(fact_662_independent__backwards_I2_J,axiom,
    ! [K: set_nat,U: nat,Us: list_nat] :
      ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) )
     => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ).

% independent_backwards(2)
thf(fact_663_li__Nil,axiom,
    ! [K: set_nat] : ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ nil_nat ) ).

% li_Nil
thf(fact_664_poly__mult_Osimps_I1_J,axiom,
    ! [P2: list_nat] :
      ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ nil_nat @ P2 )
      = nil_nat ) ).

% poly_mult.simps(1)
thf(fact_665_independent__backwards_I3_J,axiom,
    ! [K: set_nat,U: nat,Us: list_nat] :
      ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) )
     => ( member_nat @ U @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% independent_backwards(3)
thf(fact_666_eval_Osimps_I1_J,axiom,
    ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ nil_nat )
    = ( ^ [Uu: nat] : ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% eval.simps(1)
thf(fact_667_independent__backwards_I1_J,axiom,
    ! [K: set_nat,U: nat,Us: list_nat] :
      ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) )
     => ~ ( member_nat @ U @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ).

% independent_backwards(1)
thf(fact_668_independent__split_I1_J,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us @ Vs ) )
       => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs ) ) ) ).

% independent_split(1)
thf(fact_669_independent__split_I2_J,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us @ Vs ) )
       => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ).

% independent_split(2)
thf(fact_670_const__term__def,axiom,
    ! [P: list_nat] :
      ( ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ P )
      = ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% const_term_def
thf(fact_671_eval__poly__of__const,axiom,
    ! [X3: nat,Y: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( poly_o4757472714646995822t_unit @ ( mod_ring @ p ) @ X3 ) @ Y )
        = X3 ) ) ).

% eval_poly_of_const
thf(fact_672_poly__mult__closed,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P1 )
       => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P2 )
         => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) ) ) ) ).

% poly_mult_closed
thf(fact_673_eval__var,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( var_nat_Product_unit @ ( mod_ring @ p ) ) @ X3 )
        = X3 ) ) ).

% eval_var
thf(fact_674_independent__in__carrier,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
     => ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% independent_in_carrier
thf(fact_675_eval__in__carrier,axiom,
    ! [P: list_nat,X3: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( member_nat @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ X3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% eval_in_carrier
thf(fact_676_poly__mult__in__carrier,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( set_nat2 @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% poly_mult_in_carrier
thf(fact_677_li__Cons,axiom,
    ! [U: nat,K: set_nat,Us: list_nat] :
      ( ( member_nat @ U @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ~ ( member_nat @ U @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
         => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) ) ) ) ) ).

% li_Cons
thf(fact_678_independent__same__set,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ( set_nat2 @ Us )
          = ( set_nat2 @ Vs ) )
       => ( ( ( size_size_list_nat @ Us )
            = ( size_size_list_nat @ Vs ) )
         => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
           => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs ) ) ) ) ) ).

% independent_same_set
thf(fact_679_eval__poly__in__carrier,axiom,
    ! [K: set_nat,P: list_nat,X3: nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P )
       => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( member_nat @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ X3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% eval_poly_in_carrier
thf(fact_680_eval__in__carrier__2,axiom,
    ! [X3: list_nat,Y: nat] :
      ( ( member_list_nat @ X3 @ ( partia3149769786163120205t_unit @ ( univ_p6780865688651612086t_unit @ ( mod_ring @ p ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( member_nat @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% eval_in_carrier_2
thf(fact_681_poly__mult__l__distr,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat,P32: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P1 )
       => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P2 )
         => ( ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ P32 )
           => ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) @ P32 )
              = ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P1 @ P32 ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P2 @ P32 ) ) ) ) ) ) ) ).

% poly_mult_l_distr
thf(fact_682_combine__eq__eval,axiom,
    ! [Ks3: list_nat,X3: nat] :
      ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ ( polyno8921485606125069700t_unit @ ( mod_ring @ p ) @ X3 @ ( size_size_list_nat @ Ks3 ) ) )
      = ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ Ks3 @ X3 ) ) ).

% combine_eq_eval
thf(fact_683_poly__mult__zero_I1_J,axiom,
    ! [P: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ nil_nat @ P )
        = nil_nat ) ) ).

% poly_mult_zero(1)
thf(fact_684_poly__mult__zero_I2_J,axiom,
    ! [P: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P @ nil_nat )
        = nil_nat ) ) ).

% poly_mult_zero(2)
thf(fact_685_eval__normalize,axiom,
    ! [P: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) @ A )
          = ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ A ) ) ) ) ).

% eval_normalize
thf(fact_686_independent_Osimps,axiom,
    ! [A1: set_nat,A22: list_nat] :
      ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ A1 @ A22 )
      = ( ? [K5: set_nat] :
            ( ( A1 = K5 )
            & ( A22 = nil_nat ) )
        | ? [U3: nat,K5: set_nat,Us3: list_nat] :
            ( ( A1 = K5 )
            & ( A22
              = ( cons_nat @ U3 @ Us3 ) )
            & ( member_nat @ U3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
            & ~ ( member_nat @ U3 @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K5 @ Us3 ) )
            & ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K5 @ Us3 ) ) ) ) ).

% independent.simps
thf(fact_687_independent_Ocases,axiom,
    ! [A1: set_nat,A22: list_nat] :
      ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ A1 @ A22 )
     => ( ( A22 != nil_nat )
       => ~ ! [U2: nat,Us2: list_nat] :
              ( ( A22
                = ( cons_nat @ U2 @ Us2 ) )
             => ( ( member_nat @ U2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
               => ( ~ ( member_nat @ U2 @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ A1 @ Us2 ) )
                 => ~ ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ A1 @ Us2 ) ) ) ) ) ) ).

% independent.cases
thf(fact_688_poly__mult__l__distr_H,axiom,
    ! [P1: list_nat,P2: list_nat,P32: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P32 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) @ P32 )
            = ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P1 @ P32 ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P2 @ P32 ) ) ) ) ) ) ).

% poly_mult_l_distr'
thf(fact_689_poly__mult__normalize,axiom,
    ! [P1: list_nat,P2: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P1 @ P2 )
          = ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P1 ) @ P2 ) ) ) ) ).

% poly_mult_normalize
thf(fact_690_independent__rotate1__aux,axiom,
    ! [K: set_nat,U: nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ ( append_nat @ Us @ Vs ) ) )
       => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ ( append_nat @ Us @ ( cons_nat @ U @ nil_nat ) ) @ Vs ) ) ) ) ).

% independent_rotate1_aux
thf(fact_691_poly__mult__is__polynomial,axiom,
    ! [K: set_nat,P1: list_nat,P2: list_nat] :
      ( ( subrin2893992908230074586t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ K )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ K )
         => ( polyno706972469035745780t_unit @ ( mod_ring @ p ) @ K @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P1 @ P2 ) ) ) ) ) ).

% poly_mult_is_polynomial
thf(fact_692_independent__strict__incl,axiom,
    ! [K: set_nat,U: nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) )
       => ( ord_less_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) ) ) ) ) ).

% independent_strict_incl
thf(fact_693_eval__poly__add,axiom,
    ! [P: list_nat,Q3: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ Q3 ) @ A )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ A ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ Q3 @ A ) ) ) ) ) ) ).

% eval_poly_add
thf(fact_694_filter__base,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ~ ! [Vs2: list_nat] :
              ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
             => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs2 )
               => ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs2 )
                 != ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ) ) ).

% filter_base
thf(fact_695_independent__replacement,axiom,
    ! [K: set_nat,U: nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs )
         => ( ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ U @ Us ) ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) )
           => ? [X: nat] :
                ( ( member_nat @ X @ ( set_nat2 @ Vs ) )
                & ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( cons_nat @ X @ Us ) ) ) ) ) ) ) ).

% independent_replacement
thf(fact_696_eval__poly__mult,axiom,
    ! [P: list_nat,Q3: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P @ Q3 ) @ A )
            = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ A ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ Q3 @ A ) ) ) ) ) ) ).

% eval_poly_mult
thf(fact_697_const__term__simprules_I2_J,axiom,
    ! [P: list_nat,Q3: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P @ Q3 ) )
          = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ P ) @ ( const_5295138510841209215t_unit @ ( mod_ring @ p ) @ Q3 ) ) ) ) ) ).

% const_term_simprules(2)
thf(fact_698_eval__poly__add__aux,axiom,
    ! [P: list_nat,Q3: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( size_size_list_nat @ P )
            = ( size_size_list_nat @ Q3 ) )
         => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ P @ Q3 ) @ A )
              = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ A ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ Q3 @ A ) ) ) ) ) ) ) ).

% eval_poly_add_aux
thf(fact_699_independent__length__le,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs )
         => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) )
           => ( ord_less_eq_nat @ ( size_size_list_nat @ Us ) @ ( size_size_list_nat @ Vs ) ) ) ) ) ) ).

% independent_length_le
thf(fact_700_eval__replicate,axiom,
    ! [P: list_nat,A: nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ P ) @ A )
          = ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ A ) ) ) ) ).

% eval_replicate
thf(fact_701_poly__mult__prepend__replicate__zero,axiom,
    ! [P1: list_nat,P2: list_nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P1 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ P2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ P1 @ P2 )
          = ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ P1 ) @ P2 ) ) ) ) ).

% poly_mult_prepend_replicate_zero
thf(fact_702_replacement__theorem,axiom,
    ! [K: set_nat,Us4: list_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us4 @ Us ) )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs )
         => ( ( ord_less_eq_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us4 @ Us ) ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) )
           => ? [Vs3: list_nat] :
                ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs3 ) @ ( set_nat2 @ Vs ) )
                & ( ( size_size_list_nat @ Vs3 )
                  = ( size_size_list_nat @ Us4 ) )
                & ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Vs3 @ Us ) ) ) ) ) ) ) ).

% replacement_theorem
thf(fact_703_unique__decomposition,axiom,
    ! [K: set_nat,Us: list_nat,A: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
       => ( ( member_nat @ A @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) )
         => ? [X: list_nat] :
              ( ( ord_less_eq_set_nat @ ( set_nat2 @ X ) @ K )
              & ( ( size_size_list_nat @ X )
                = ( size_size_list_nat @ Us ) )
              & ( A
                = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ X @ Us ) )
              & ! [Y3: list_nat] :
                  ( ( ( ord_less_eq_set_nat @ ( set_nat2 @ Y3 ) @ K )
                    & ( ( size_size_list_nat @ Y3 )
                      = ( size_size_list_nat @ Us ) )
                    & ( A
                      = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Y3 @ Us ) ) )
                 => ( Y3 = X ) ) ) ) ) ) ).

% unique_decomposition
thf(fact_704_is__root__def,axiom,
    ! [P: list_nat,X3: nat] :
      ( ( polyno2849863809390331288t_unit @ ( mod_ring @ p ) @ P @ X3 )
      = ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
        & ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ X3 )
          = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
        & ( P != nil_nat ) ) ) ).

% is_root_def
thf(fact_705_independent__rotate1,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us @ Vs ) )
       => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ ( rotate1_nat @ Us ) @ Vs ) ) ) ) ).

% independent_rotate1
thf(fact_706_poly__mult_Oelims,axiom,
    ! [X3: list_nat,Xa: list_nat,Y: list_nat] :
      ( ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ X3 @ Xa )
        = Y )
     => ( ( ( X3 = nil_nat )
         => ( Y != nil_nat ) )
       => ~ ! [V2: nat,Va: list_nat] :
              ( ( X3
                = ( cons_nat @ V2 @ Va ) )
             => ( Y
               != ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( map_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( hd_nat @ ( cons_nat @ V2 @ Va ) ) ) @ Xa ) @ ( replicate_nat @ ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V2 @ Va ) ) @ one_one_nat ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V2 @ Va ) ) @ Xa ) ) ) ) ) ) ).

% poly_mult.elims
thf(fact_707_combine__r__distr,axiom,
    ! [Ks3: list_nat,Us: list_nat,K2: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ K2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us ) )
            = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( map_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 ) @ Ks3 ) @ Us ) ) ) ) ) ).

% combine_r_distr
thf(fact_708_poly__mult_Osimps_I2_J,axiom,
    ! [V3: nat,Va2: list_nat,P2: list_nat] :
      ( ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( cons_nat @ V3 @ Va2 ) @ P2 )
      = ( poly_a8260536851633033337t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( map_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( hd_nat @ ( cons_nat @ V3 @ Va2 ) ) ) @ P2 ) @ ( replicate_nat @ ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V3 @ Va2 ) ) @ one_one_nat ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) @ ( poly_m4675589478133533260t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V3 @ Va2 ) ) @ P2 ) ) ) ).

% poly_mult.simps(2)
thf(fact_709_eval_Oelims,axiom,
    ! [X3: list_nat,Y: nat > nat] :
      ( ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ X3 )
        = Y )
     => ( ( ( X3 = nil_nat )
         => ( Y
           != ( ^ [Uu: nat] : ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) )
       => ~ ! [V2: nat,Va: list_nat] :
              ( ( X3
                = ( cons_nat @ V2 @ Va ) )
             => ( Y
               != ( ^ [X2: nat] : ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( hd_nat @ ( cons_nat @ V2 @ Va ) ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X2 @ ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V2 @ Va ) ) @ one_one_nat ) ) ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V2 @ Va ) ) @ X2 ) ) ) ) ) ) ) ).

% eval.elims
thf(fact_710_trivial__combine__imp__independent,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ! [Ks: list_nat] :
              ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks ) @ K )
             => ( ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks @ Us )
                  = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
               => ( ord_less_eq_set_nat @ ( set_nat2 @ ( take_nat @ ( size_size_list_nat @ Us ) @ Ks ) ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) )
         => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ).

% trivial_combine_imp_independent
thf(fact_711_eval_Osimps_I2_J,axiom,
    ! [V3: nat,Va2: list_nat] :
      ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( cons_nat @ V3 @ Va2 ) )
      = ( ^ [X2: nat] : ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( hd_nat @ ( cons_nat @ V3 @ Va2 ) ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X2 @ ( minus_minus_nat @ ( size_size_list_nat @ ( cons_nat @ V3 @ Va2 ) ) @ one_one_nat ) ) ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( tl_nat @ ( cons_nat @ V3 @ Va2 ) ) @ X2 ) ) ) ) ).

% eval.simps(2)
thf(fact_712_nat__pow__zero,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ N )
        = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ).

% nat_pow_zero
thf(fact_713_pow__mult__distrib,axiom,
    ! [X3: nat,Y: nat,N: nat] :
      ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y )
        = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ X3 ) )
     => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ N )
            = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ Y @ N ) ) ) ) ) ) ).

% pow_mult_distrib
thf(fact_714_nat__pow__distrib,axiom,
    ! [X3: nat,Y: nat,N: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y ) @ N )
          = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ Y @ N ) ) ) ) ) ).

% nat_pow_distrib
thf(fact_715_nat__pow__comm,axiom,
    ! [X3: nat,N: nat,M: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ M ) )
        = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ M ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) ) ) ) ).

% nat_pow_comm
thf(fact_716_group__commutes__pow,axiom,
    ! [X3: nat,Y: nat,N: nat] :
      ( ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ Y )
        = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ X3 ) )
     => ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ Y @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) @ Y )
            = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ Y @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) ) ) ) ) ) ).

% group_commutes_pow
thf(fact_717_combine__take,axiom,
    ! [Us: list_nat,Ks3: list_nat] :
      ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( take_nat @ ( size_size_list_nat @ Us ) @ Ks3 ) @ Us )
      = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us ) ) ).

% combine_take
thf(fact_718_eval__monom,axiom,
    ! [B: nat,A: nat,N: nat] :
      ( ( member_nat @ B @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( monom_3085014561924103396t_unit @ ( mod_ring @ p ) @ B @ N ) @ A )
          = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ B @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ A @ N ) ) ) ) ) ).

% eval_monom
thf(fact_719_eval__append,axiom,
    ! [P: list_nat,Q3: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ P ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Q3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ ( append_nat @ P @ Q3 ) @ A )
            = ( add_nat_Product_unit @ ( mod_ring @ p ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ P @ A ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ A @ ( size_size_list_nat @ Q3 ) ) ) @ ( eval_n2036712413383885900t_unit @ ( mod_ring @ p ) @ Q3 @ A ) ) ) ) ) ) ).

% eval_append
thf(fact_720_independent__imp__trivial__combine,axiom,
    ! [K: set_nat,Us: list_nat,Ks3: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
       => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks3 ) @ K )
         => ( ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us )
              = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
           => ( ord_less_eq_set_nat @ ( set_nat2 @ ( take_nat @ ( size_size_list_nat @ Us ) @ Ks3 ) ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ) ) ).

% independent_imp_trivial_combine
thf(fact_721_non__trivial__combine__imp__dependent,axiom,
    ! [K: set_nat,Ks3: list_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks3 ) @ K )
       => ( ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us )
            = ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
         => ( ~ ( ord_less_eq_set_nat @ ( set_nat2 @ ( take_nat @ ( size_size_list_nat @ Us ) @ Ks3 ) ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
           => ~ ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ) ) ).

% non_trivial_combine_imp_dependent
thf(fact_722_nat__pow__closed,axiom,
    ! [X3: nat,N: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( member_nat @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% nat_pow_closed
thf(fact_723_nat__pow__one,axiom,
    ! [N: nat] :
      ( ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) @ N )
      = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ).

% nat_pow_one
thf(fact_724_nat__pow__eone,axiom,
    ! [X3: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ one_one_nat )
        = X3 ) ) ).

% nat_pow_eone
thf(fact_725_local_Onat__pow__0,axiom,
    ! [X3: nat] :
      ( ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ zero_zero_nat )
      = ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ).

% local.nat_pow_0
thf(fact_726_combine__normalize,axiom,
    ! [Ks3: list_nat,Us: list_nat,A: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ Us )
            = A )
         => ~ ! [Ks5: list_nat] :
                ( ( ord_less_eq_set_nat @ ( set_nat2 @ ( take_nat @ ( size_size_list_nat @ Us ) @ Ks3 ) ) @ ( set_nat2 @ Ks5 ) )
               => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks5 ) @ ( sup_sup_set_nat @ ( set_nat2 @ ( take_nat @ ( size_size_list_nat @ Us ) @ Ks3 ) ) @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
                 => ( ( ( size_size_list_nat @ Ks5 )
                      = ( size_size_list_nat @ Us ) )
                   => ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks5 @ Us )
                     != A ) ) ) ) ) ) ) ).

% combine_normalize
thf(fact_727_independent__split_I3_J,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us @ Vs ) )
       => ( ( inf_inf_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) )
          = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ).

% independent_split(3)
thf(fact_728_independent__append,axiom,
    ! [K: set_nat,Us: list_nat,Vs: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs )
         => ( ( ( inf_inf_set_nat @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs ) )
              = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
           => ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Us @ Vs ) ) ) ) ) ) ).

% independent_append
thf(fact_729_subring__inter,axiom,
    ! [I5: set_nat,J3: set_nat] :
      ( ( subrin2893992908230074586t_unit @ I5 @ ( mod_ring @ p ) )
     => ( ( subrin2893992908230074586t_unit @ J3 @ ( mod_ring @ p ) )
       => ( subrin2893992908230074586t_unit @ ( inf_inf_set_nat @ I5 @ J3 ) @ ( mod_ring @ p ) ) ) ) ).

% subring_inter
thf(fact_730_subalgebra__inter,axiom,
    ! [K: set_nat,V: set_nat,V5: set_nat] :
      ( ( embedd2609395410403458802t_unit @ K @ V @ ( mod_ring @ p ) )
     => ( ( embedd2609395410403458802t_unit @ K @ V5 @ ( mod_ring @ p ) )
       => ( embedd2609395410403458802t_unit @ K @ ( inf_inf_set_nat @ V @ V5 ) @ ( mod_ring @ p ) ) ) ) ).

% subalgebra_inter
thf(fact_731_Span_Osimps,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us )
      = ( foldr_nat_set_nat @ ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K ) @ Us @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ).

% Span.simps
thf(fact_732_Span_Oelims,axiom,
    ! [X3: set_nat,Xa: list_nat,Y: set_nat] :
      ( ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ X3 @ Xa )
        = Y )
     => ( Y
        = ( foldr_nat_set_nat @ ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ X3 ) @ Xa @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ).

% Span.elims
thf(fact_733_multlist__dividesI,axiom,
    ! [F: nat,Fs: list_nat] :
      ( ( member_nat @ F @ ( set_nat2 @ Fs ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Fs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( factor7017787129603596992t_unit @ ( mod_ring @ p ) @ F @ ( foldr_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) ) @ Fs @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% multlist_dividesI
thf(fact_734_combine__prepend__replicate,axiom,
    ! [Ks3: list_nat,Us: list_nat,N: nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Ks3 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ ( append_nat @ ( replicate_nat @ N @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ Ks3 ) @ Us )
          = ( embedd3488583633307166237t_unit @ ( mod_ring @ p ) @ Ks3 @ ( drop_nat @ N @ Us ) ) ) ) ) ).

% combine_prepend_replicate
thf(fact_735_drop__exp__base,axiom,
    ! [N: nat,X3: nat,M: nat] :
      ( ( drop_nat @ N @ ( polyno8921485606125069700t_unit @ ( mod_ring @ p ) @ X3 @ M ) )
      = ( polyno8921485606125069700t_unit @ ( mod_ring @ p ) @ X3 @ ( minus_minus_nat @ M @ N ) ) ) ).

% drop_exp_base
thf(fact_736_normalize__def_H_I2_J,axiom,
    ! [P: list_nat] :
      ( ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P )
      = ( drop_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) @ P ) ) ).

% normalize_def'(2)
thf(fact_737_normalize__def_H_I1_J,axiom,
    ! [P: list_nat] :
      ( P
      = ( append_nat @ ( replicate_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ ( drop_nat @ ( minus_minus_nat @ ( size_size_list_nat @ P ) @ ( size_size_list_nat @ ( normal7331864495608602945t_unit @ ( mod_ring @ p ) @ P ) ) ) @ P ) ) ) ).

% normalize_def'(1)
thf(fact_738_add_Omultlist__closed,axiom,
    ! [Fs: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Fs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( member_nat @ ( foldr_nat_nat @ ( add_nat_Product_unit @ ( mod_ring @ p ) ) @ Fs @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% add.multlist_closed
thf(fact_739_multlist__closed,axiom,
    ! [Fs: list_nat] :
      ( ( ord_less_eq_set_nat @ ( set_nat2 @ Fs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( member_nat @ ( foldr_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) ) @ Fs @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ).

% multlist_closed
thf(fact_740_factorsI,axiom,
    ! [Fs: list_nat,A: nat] :
      ( ! [X: nat] :
          ( ( member_nat @ X @ ( set_nat2 @ Fs ) )
         => ( irredu2811410805266234189t_unit @ ( mod_ring @ p ) @ X ) )
     => ( ( ( foldr_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) ) @ Fs @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
          = A )
       => ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ Fs @ A ) ) ) ).

% factorsI
thf(fact_741_multlist__perm__cong,axiom,
    ! [As: list_nat,Bs: list_nat] :
      ( ( ( mset_nat @ As )
        = ( mset_nat @ Bs ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ As ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( foldr_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) ) @ As @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) )
          = ( foldr_nat_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) ) @ Bs @ ( one_na902338870878123981t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% multlist_perm_cong
thf(fact_742_irrlist__perm__cong,axiom,
    ! [As: list_nat,Bs: list_nat] :
      ( ( ( mset_nat @ As )
        = ( mset_nat @ Bs ) )
     => ( ! [X: nat] :
            ( ( member_nat @ X @ ( set_nat2 @ As ) )
           => ( irredu2811410805266234189t_unit @ ( mod_ring @ p ) @ X ) )
       => ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_nat2 @ Bs ) )
           => ( irredu2811410805266234189t_unit @ ( mod_ring @ p ) @ X4 ) ) ) ) ).

% irrlist_perm_cong
thf(fact_743_perm__closed,axiom,
    ! [As: list_nat,Bs: list_nat] :
      ( ( ( mset_nat @ As )
        = ( mset_nat @ Bs ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ As ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ord_less_eq_set_nat @ ( set_nat2 @ Bs ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% perm_closed
thf(fact_744_factors__mult__single,axiom,
    ! [A: nat,Fb: list_nat,B: nat] :
      ( ( irredu2811410805266234189t_unit @ ( mod_ring @ p ) @ A )
     => ( ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ Fb @ B )
       => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
         => ( factor6197082534091422385t_unit @ ( mod_ring @ p ) @ ( cons_nat @ A @ Fb ) @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ A @ B ) ) ) ) ) ).

% factors_mult_single
thf(fact_745_add_Omultlist__perm__cong,axiom,
    ! [As: list_nat,Bs: list_nat] :
      ( ( ( mset_nat @ As )
        = ( mset_nat @ Bs ) )
     => ( ( ord_less_eq_set_nat @ ( set_nat2 @ As ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
       => ( ( foldr_nat_nat @ ( add_nat_Product_unit @ ( mod_ring @ p ) ) @ As @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) )
          = ( foldr_nat_nat @ ( add_nat_Product_unit @ ( mod_ring @ p ) ) @ Bs @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) ) ) ) ) ).

% add.multlist_perm_cong
thf(fact_746_complete__base,axiom,
    ! [K: set_nat,N: nat,E: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
         => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ E )
           => ? [Vs2: list_nat] :
                ( ( ( size_size_list_nat @ ( append_nat @ Vs2 @ Us ) )
                  = N )
                & ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Vs2 @ Us ) )
                & ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ ( append_nat @ Vs2 @ Us ) )
                  = E ) ) ) ) ) ) ).

% complete_base
thf(fact_747_space__subgroup__props_I6_J,axiom,
    ! [K: set_nat,N: nat,E: set_nat,K2: nat,A: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( member_nat @ K2 @ ( minus_minus_set_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
         => ( ( member_nat @ A @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
           => ( ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ A ) @ E )
             => ( member_nat @ A @ E ) ) ) ) ) ) ).

% space_subgroup_props(6)
thf(fact_748_dimension__is__inj,axiom,
    ! [K: set_nat,N: nat,E: set_nat,M: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ M @ K @ E )
         => ( N = M ) ) ) ) ).

% dimension_is_inj
thf(fact_749_finite__dimensionE_H,axiom,
    ! [K: set_nat,E: set_nat] :
      ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E )
     => ~ ! [N2: nat] :
            ~ ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N2 @ K @ E ) ) ).

% finite_dimensionE'
thf(fact_750_finite__dimensionI,axiom,
    ! [N: nat,K: set_nat,E: set_nat] :
      ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
     => ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E ) ) ).

% finite_dimensionI
thf(fact_751_finite__dimension__def,axiom,
    ! [K: set_nat,E: set_nat] :
      ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E )
      = ( ? [N3: nat] : ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N3 @ K @ E ) ) ) ).

% finite_dimension_def
thf(fact_752_telescopic__base__aux,axiom,
    ! [K: set_nat,F2: set_nat,N: nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( subfie4892355163478727762t_unit @ F2 @ ( mod_ring @ p ) )
       => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ F2 )
         => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ one_one_nat @ F2 @ E )
           => ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E ) ) ) ) ) ).

% telescopic_base_aux
thf(fact_753_space__subgroup__props_I2_J,axiom,
    ! [K: set_nat,N: nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( member_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ E ) ) ) ).

% space_subgroup_props(2)
thf(fact_754_space__subgroup__props_I3_J,axiom,
    ! [K: set_nat,N: nat,E: set_nat,V1: nat,V22: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( member_nat @ V1 @ E )
         => ( ( member_nat @ V22 @ E )
           => ( member_nat @ ( add_nat_Product_unit @ ( mod_ring @ p ) @ V1 @ V22 ) @ E ) ) ) ) ) ).

% space_subgroup_props(3)
thf(fact_755_space__subgroup__props_I5_J,axiom,
    ! [K: set_nat,N: nat,E: set_nat,K2: nat,V3: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( member_nat @ K2 @ K )
         => ( ( member_nat @ V3 @ E )
           => ( member_nat @ ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ K2 @ V3 ) @ E ) ) ) ) ) ).

% space_subgroup_props(5)
thf(fact_756_unique__dimension,axiom,
    ! [K: set_nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd6096501799845681477t_unit @ ( mod_ring @ p ) @ K @ E )
       => ? [X: nat] :
            ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ X @ K @ E )
            & ! [Y3: nat] :
                ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ Y3 @ K @ E )
               => ( Y3 = X ) ) ) ) ) ).

% unique_dimension
thf(fact_757_space__subgroup__props_I1_J,axiom,
    ! [K: set_nat,N: nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ord_less_eq_set_nat @ E @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) ) ) ) ).

% space_subgroup_props(1)
thf(fact_758_zero__dim,axiom,
    ! [K: set_nat] : ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ zero_zero_nat @ K @ ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ).

% zero_dim
thf(fact_759_dimensionI,axiom,
    ! [K: set_nat,Us: list_nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
       => ( ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us )
            = E )
         => ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ ( size_size_list_nat @ Us ) @ K @ E ) ) ) ) ).

% dimensionI
thf(fact_760_dimension__zero,axiom,
    ! [K: set_nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ zero_zero_nat @ K @ E )
       => ( E
          = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) ) ) ).

% dimension_zero
thf(fact_761_independent__length__le__dimension,axiom,
    ! [K: set_nat,N: nat,E: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
         => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ E )
           => ( ord_less_eq_nat @ ( size_size_list_nat @ Us ) @ N ) ) ) ) ) ).

% independent_length_le_dimension
thf(fact_762_independent__length__eq__dimension,axiom,
    ! [K: set_nat,N: nat,E: set_nat,Us: list_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
         => ( ( ord_less_eq_set_nat @ ( set_nat2 @ Us ) @ E )
           => ( ( ( size_size_list_nat @ Us )
                = N )
              = ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us )
                = E ) ) ) ) ) ) ).

% independent_length_eq_dimension
thf(fact_763_exists__base,axiom,
    ! [K: set_nat,N: nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ? [Vs2: list_nat] :
            ( ( ord_less_eq_set_nat @ ( set_nat2 @ Vs2 ) @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
            & ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Vs2 )
            & ( ( size_size_list_nat @ Vs2 )
              = N )
            & ( ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Vs2 )
              = E ) ) ) ) ).

% exists_base
thf(fact_764_dimension__one,axiom,
    ! [K: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ one_one_nat @ K @ K ) ) ).

% dimension_one
thf(fact_765_dimension__independent,axiom,
    ! [K: set_nat,Us: list_nat] :
      ( ( embedd118614884749572226t_unit @ ( mod_ring @ p ) @ K @ Us )
     => ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ ( size_size_list_nat @ Us ) @ K @ ( embedd8717632081033731216t_unit @ ( mod_ring @ p ) @ K @ Us ) ) ) ).

% dimension_independent
thf(fact_766_dimension__direct__sum__space,axiom,
    ! [K: set_nat,N: nat,E: set_nat,M: nat,F2: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ M @ K @ F2 )
         => ( ( ( inf_inf_set_nat @ E @ F2 )
              = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) )
           => ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ ( plus_plus_nat @ N @ M ) @ K @ ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ E @ F2 ) ) ) ) ) ) ).

% dimension_direct_sum_space
thf(fact_767_dimension_Ocases,axiom,
    ! [A1: nat,A22: set_nat,A32: set_nat] :
      ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ A1 @ A22 @ A32 )
     => ( ( ( A1 = zero_zero_nat )
         => ( A32
           != ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
       => ~ ! [V2: nat,E2: set_nat,N2: nat] :
              ( ( A1
                = ( suc @ N2 ) )
             => ( ( A32
                  = ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ A22 @ V2 @ E2 ) )
               => ( ( member_nat @ V2 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
                 => ( ~ ( member_nat @ V2 @ E2 )
                   => ~ ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N2 @ A22 @ E2 ) ) ) ) ) ) ) ).

% dimension.cases
thf(fact_768_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_769_nat_Oinject,axiom,
    ! [X23: nat,Y23: nat] :
      ( ( ( suc @ X23 )
        = ( suc @ Y23 ) )
      = ( X23 = Y23 ) ) ).

% nat.inject
thf(fact_770_nat__pow__Suc2,axiom,
    ! [X3: nat,N: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ ( suc @ N ) )
        = ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ X3 @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) ) ) ) ).

% nat_pow_Suc2
thf(fact_771_nat__pow__mult,axiom,
    ! [X3: nat,N: nat,M: nat] :
      ( ( member_nat @ X3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ( mult_n6028127365542633569t_unit @ ( mod_ring @ p ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ N ) @ ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ M ) )
        = ( pow_na2209934344815510974it_nat @ ( mod_ring @ p ) @ X3 @ ( plus_plus_nat @ N @ M ) ) ) ) ).

% nat_pow_mult
thf(fact_772_Suc__dim,axiom,
    ! [V3: nat,E: set_nat,N: nat,K: set_nat] :
      ( ( member_nat @ V3 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
     => ( ~ ( member_nat @ V3 @ E )
       => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
         => ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ ( suc @ N ) @ K @ ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K @ V3 @ E ) ) ) ) ) ).

% Suc_dim
thf(fact_773_dimension__backwards,axiom,
    ! [K: set_nat,N: nat,E: set_nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ ( suc @ N ) @ K @ E )
       => ? [X: nat] :
            ( ( member_nat @ X @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
            & ? [E3: set_nat] :
                ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E3 )
                & ~ ( member_nat @ X @ E3 )
                & ( E
                  = ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K @ X @ E3 ) ) ) ) ) ) ).

% dimension_backwards
thf(fact_774_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_775_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_776_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_777_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_778_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_779_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_780_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_781_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K2 ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K2 ) ) ).

% Suc_diff_diff
thf(fact_782_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_783_nat__add__left__cancel__less,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_784_nat__add__left__cancel__le,axiom,
    ! [K2: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K2 @ M ) @ ( plus_plus_nat @ K2 @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_785_diff__diff__left,axiom,
    ! [I2: nat,J: nat,K2: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I2 @ J ) @ K2 )
      = ( minus_minus_nat @ I2 @ ( plus_plus_nat @ J @ K2 ) ) ) ).

% diff_diff_left
thf(fact_786_max__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_max_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( suc @ ( ord_max_nat @ M @ N ) ) ) ).

% max_Suc_Suc
thf(fact_787_dimension__sum__space,axiom,
    ! [K: set_nat,N: nat,E: set_nat,M: nat,F2: set_nat,K2: nat] :
      ( ( subfie4892355163478727762t_unit @ K @ ( mod_ring @ p ) )
     => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N @ K @ E )
       => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ M @ K @ F2 )
         => ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ K2 @ K @ ( inf_inf_set_nat @ E @ F2 ) )
           => ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ K2 ) @ K @ ( set_ad320919470248169786t_unit @ ( mod_ring @ p ) @ E @ F2 ) ) ) ) ) ) ).

% dimension_sum_space
thf(fact_788_dimension_Osimps,axiom,
    ! [A1: nat,A22: set_nat,A32: set_nat] :
      ( ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ A1 @ A22 @ A32 )
      = ( ? [K5: set_nat] :
            ( ( A1 = zero_zero_nat )
            & ( A22 = K5 )
            & ( A32
              = ( insert_nat @ ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) ) @ bot_bot_set_nat ) ) )
        | ? [V6: nat,E4: set_nat,N3: nat,K5: set_nat] :
            ( ( A1
              = ( suc @ N3 ) )
            & ( A22 = K5 )
            & ( A32
              = ( embedd838748496991043025t_unit @ ( mod_ring @ p ) @ K5 @ V6 @ E4 ) )
            & ( member_nat @ V6 @ ( partia3499330772048238685t_unit @ ( mod_ring @ p ) ) )
            & ~ ( member_nat @ V6 @ E4 )
            & ( embedd5688180257602933782t_unit @ ( mod_ring @ p ) @ N3 @ K5 @ E4 ) ) ) ) ).

% dimension.simps
thf(fact_789_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_790_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_791_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_792_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_793_Nat_Odiff__diff__right,axiom,
    ! [K2: nat,J: nat,I2: nat] :
      ( ( ord_less_eq_nat @ K2 @ J )
     => ( ( minus_minus_nat @ I2 @ ( minus_minus_nat @ J @ K2 ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I2 @ K2 ) @ J ) ) ) ).

% Nat.diff_diff_right

% Helper facts (3)
thf(help_If_3_1_If_001t__Nat__Onat_T,axiom,
    ! [P3: $o] :
      ( ( P3 = $true )
      | ( P3 = $false ) ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y: nat] :
      ( ( if_nat @ $false @ X3 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y: nat] :
      ( ( if_nat @ $true @ X3 @ Y )
      = X3 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( zero_n5149899317435570679t_unit @ ( mod_ring @ p ) )
    = ( coeff_4949646838636212597t_unit @ ( mod_ring @ p ) @ y @ i ) ) ).

%------------------------------------------------------------------------------