TPTP Problem File: SLH0320^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    : Fishers_Inequality/0014_Set_Multiset_Extras/prob_00193_007424__27877972_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1491 ( 551 unt; 222 typ;   0 def)
%            Number of atoms       : 3500 (1597 equ;   0 cnn)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 11992 ( 343   ~;  88   |; 222   &;9749   @)
%                                         (   0 <=>;1590  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   29 (   7 avg)
%            Number of types       :   42 (  41 usr)
%            Number of type conns  :  594 ( 594   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  184 ( 181 usr;  14 con; 0-3 aty)
%            Number of variables   : 3771 ( 163   ^;3453   !; 155   ?;3771   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-18 15:42:23.300
%------------------------------------------------------------------------------
% Could-be-implicit typings (41)
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Multiset__Omultiset_Itf__a_J_Mt__Multiset__Omultiset_Itf__a_J_J_J,type,
    set_Pr79727621955416071iset_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J_J,type,
    set_Pr3451248702717554689st_nat: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J_J,type,
    multis8971261646039773677list_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J_J,type,
    list_P321204300973800749list_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J_J,type,
    set_Pr4048851178543822343list_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Multiset__Omultiset_Itf__a_J_Mt__Multiset__Omultiset_Itf__a_J_J,type,
    produc6518373309651786023iset_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    produc1828647624359046049st_nat: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    multis2468970476368604999at_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    produc9164743771328383783list_a: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    multis9080734170404008269_a_nat: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    multis8339640606882034547_nat_a: $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__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    set_Pr1261947904930325089at_nat: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    multis501812127501805293od_a_a: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    list_P3592885314253461005_a_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    list_P2851791750731487283_nat_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    set_Pr4934435412358123699_a_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    set_Pr4193341848836149977_nat_a: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Multiset__Omultiset_It__Nat__Onat_J_J,type,
    multis1201202736280713200et_nat: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    list_P1396940483166286381od_a_a: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    set_Product_prod_a_a: $tType ).

thf(ty_n_t__List__Olist_It__Multiset__Omultiset_It__Nat__Onat_J_J,type,
    list_multiset_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__Set__Oset_It__Multiset__Omultiset_It__Nat__Onat_J_J,type,
    set_multiset_nat: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__List__Olist_Itf__a_J_J,type,
    multiset_list_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    product_prod_a_nat: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    product_prod_nat_a: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Set__Oset_Itf__a_J_J,type,
    multiset_set_a: $tType ).

thf(ty_n_t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    product_prod_a_a: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_Itf__a_J_J,type,
    list_list_a: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_Itf__a_J_J,type,
    set_list_a: $tType ).

thf(ty_n_t__Multiset__Omultiset_It__Nat__Onat_J,type,
    multiset_nat: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_Itf__a_J_J,type,
    set_set_a: $tType ).

thf(ty_n_t__Multiset__Omultiset_Itf__a_J,type,
    multiset_a: $tType ).

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

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

thf(ty_n_t__List__Olist_Itf__a_J,type,
    list_a: $tType ).

thf(ty_n_t__Set__Oset_Itf__a_J,type,
    set_a: $tType ).

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

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

thf(ty_n_tf__a,type,
    a: $tType ).

% Explicit typings (181)
thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001tf__a,type,
    bNF_Greatest_Succ_a: set_list_a > list_a > set_a ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    minus_8522176038001411705et_nat: multiset_nat > multiset_nat > multiset_nat ).

thf(sy_c_Groups_Ominus__class_Ominus_001t__Multiset__Omultiset_Itf__a_J,type,
    minus_3765977307040488491iset_a: multiset_a > multiset_a > multiset_a ).

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

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_Itf__a_J,type,
    minus_minus_set_a: set_a > set_a > set_a ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Multiset__Omultiset_Itf__a_J,type,
    plus_plus_multiset_a: multiset_a > multiset_a > multiset_a ).

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__Multiset__Omultiset_It__Nat__Onat_J,type,
    zero_z7348594199698428585et_nat: multiset_nat ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Multiset__Omultiset_Itf__a_J,type,
    zero_zero_multiset_a: multiset_a ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

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

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

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    append985823374593552924at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    append1694031006427026248_nat_a: list_P2851791750731487283_nat_a > list_P2851791750731487283_nat_a > list_P2851791750731487283_nat_a ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    append7679239579558125090_a_nat: list_P3592885314253461005_a_nat > list_P3592885314253461005_a_nat > list_P3592885314253461005_a_nat ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    append5335208819046833346od_a_a: list_P1396940483166286381od_a_a > list_P1396940483166286381od_a_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Oappend_001tf__a,type,
    append_a: list_a > list_a > list_a ).

thf(sy_c_List_Obutlast_001t__Nat__Onat,type,
    butlast_nat: list_nat > list_nat ).

thf(sy_c_List_Obutlast_001tf__a,type,
    butlast_a: list_a > list_a ).

thf(sy_c_List_Odrop_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    drop_multiset_nat: nat > list_multiset_nat > list_multiset_nat ).

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

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    drop_P8868858903918902087at_nat: nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    drop_P6121829204935032541_nat_a: nat > list_P2851791750731487283_nat_a > list_P2851791750731487283_nat_a ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    drop_P2883665741211355575_a_nat: nat > list_P3592885314253461005_a_nat > list_P3592885314253461005_a_nat ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    drop_P8456769997282094189od_a_a: nat > list_P1396940483166286381od_a_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Odrop_001tf__a,type,
    drop_a: nat > list_a > list_a ).

thf(sy_c_List_Oenumerate_001t__Nat__Onat,type,
    enumerate_nat: nat > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Oenumerate_001tf__a,type,
    enumerate_a: nat > list_a > list_P2851791750731487283_nat_a ).

thf(sy_c_List_Ogen__length_001t__Nat__Onat,type,
    gen_length_nat: nat > list_nat > nat ).

thf(sy_c_List_Ogen__length_001tf__a,type,
    gen_length_a: nat > list_a > nat ).

thf(sy_c_List_Olast_001t__Nat__Onat,type,
    last_nat: list_nat > nat ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    last_P6484183829340986144at_nat: list_P6011104703257516679at_nat > product_prod_nat_nat ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    last_P5509911954246017860_nat_a: list_P2851791750731487283_nat_a > product_prod_nat_a ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    last_P2271748490522340894_a_nat: list_P3592885314253461005_a_nat > product_prod_a_nat ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    last_P8790725268278465478od_a_a: list_P1396940483166286381od_a_a > product_prod_a_a ).

thf(sy_c_List_Olast_001tf__a,type,
    last_a: list_a > a ).

thf(sy_c_List_Olenlex_001t__Nat__Onat,type,
    lenlex_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olenlex_001tf__a,type,
    lenlex_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

thf(sy_c_List_Olex_001t__Nat__Onat,type,
    lex_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olex_001tf__a,type,
    lex_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

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

thf(sy_c_List_Olist_OCons_001tf__a,type,
    cons_a: a > list_a > list_a ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001tf__a,type,
    nil_a: list_a ).

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

thf(sy_c_List_Olist_Ohd_001tf__a,type,
    hd_a: list_a > a ).

thf(sy_c_List_Olist__ex_001t__Nat__Onat,type,
    list_ex_nat: ( nat > $o ) > list_nat > $o ).

thf(sy_c_List_Olist__ex_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    list_e7689525607045846085at_nat: ( product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > $o ).

thf(sy_c_List_Olist__ex_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    list_e2871956900604422495_nat_a: ( product_prod_nat_a > $o ) > list_P2851791750731487283_nat_a > $o ).

thf(sy_c_List_Olist__ex_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    list_e8857165473735521337_a_nat: ( product_prod_a_nat > $o ) > list_P3592885314253461005_a_nat > $o ).

thf(sy_c_List_Olist__ex_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    list_e6552556518106193515od_a_a: ( product_prod_a_a > $o ) > list_P1396940483166286381od_a_a > $o ).

thf(sy_c_List_Olist__ex_001tf__a,type,
    list_ex_a: ( a > $o ) > list_a > $o ).

thf(sy_c_List_Olist__update_001t__Nat__Onat,type,
    list_update_nat: list_nat > nat > nat > list_nat ).

thf(sy_c_List_Olist__update_001tf__a,type,
    list_update_a: list_a > nat > a > list_a ).

thf(sy_c_List_Olistrel1_001t__Nat__Onat,type,
    listrel1_nat: set_Pr1261947904930325089at_nat > set_Pr3451248702717554689st_nat ).

thf(sy_c_List_Olistrel1_001tf__a,type,
    listrel1_a: set_Product_prod_a_a > set_Pr4048851178543822343list_a ).

thf(sy_c_List_Onth_001t__List__Olist_Itf__a_J,type,
    nth_list_a: list_list_a > nat > list_a ).

thf(sy_c_List_Onth_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    nth_multiset_nat: list_multiset_nat > nat > multiset_nat ).

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__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    nth_Pr5917933638979213230list_a: list_P321204300973800749list_a > nat > produc9164743771328383783list_a ).

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_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    nth_Pr2476257081389315164_nat_a: list_P2851791750731487283_nat_a > nat > product_prod_nat_a ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    nth_Pr8461465654520414006_a_nat: list_P3592885314253461005_a_nat > nat > product_prod_a_nat ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    nth_Product_prod_a_a: list_P1396940483166286381od_a_a > nat > product_prod_a_a ).

thf(sy_c_List_Onth_001tf__a,type,
    nth_a: list_a > nat > a ).

thf(sy_c_List_Orev_001t__Nat__Onat,type,
    rev_nat: list_nat > list_nat ).

thf(sy_c_List_Orev_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    rev_Pr6102188148953555047at_nat: list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Orev_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    rev_Pr4566615044306411965_nat_a: list_P2851791750731487283_nat_a > list_P2851791750731487283_nat_a ).

thf(sy_c_List_Orev_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    rev_Pr1328451580582734999_a_nat: list_P3592885314253461005_a_nat > list_P3592885314253461005_a_nat ).

thf(sy_c_List_Orev_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    rev_Product_prod_a_a: list_P1396940483166286381od_a_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Orev_001tf__a,type,
    rev_a: list_a > list_a ).

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

thf(sy_c_List_Orotate1_001tf__a,type,
    rotate1_a: list_a > list_a ).

thf(sy_c_List_Osorted__wrt_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    sorted7315179636655212147et_nat: ( multiset_nat > multiset_nat > $o ) > list_multiset_nat > $o ).

thf(sy_c_List_Osorted__wrt_001t__Nat__Onat,type,
    sorted_wrt_nat: ( nat > nat > $o ) > list_nat > $o ).

thf(sy_c_List_Osorted__wrt_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    sorted5214655850825725294at_nat: ( product_prod_nat_nat > product_prod_nat_nat > $o ) > list_P6011104703257516679at_nat > $o ).

thf(sy_c_List_Osorted__wrt_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    sorted1174810202189135990_nat_a: ( product_prod_nat_a > product_prod_nat_a > $o ) > list_P2851791750731487283_nat_a > $o ).

thf(sy_c_List_Osorted__wrt_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    sorted7160018775320234832_a_nat: ( product_prod_a_nat > product_prod_a_nat > $o ) > list_P3592885314253461005_a_nat > $o ).

thf(sy_c_List_Osorted__wrt_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    sorted7021363369600311060od_a_a: ( product_prod_a_a > product_prod_a_a > $o ) > list_P1396940483166286381od_a_a > $o ).

thf(sy_c_List_Osorted__wrt_001tf__a,type,
    sorted_wrt_a: ( a > a > $o ) > list_a > $o ).

thf(sy_c_List_Otake_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    take_multiset_nat: nat > list_multiset_nat > list_multiset_nat ).

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

thf(sy_c_List_Otake_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    take_P2173866234530122223at_nat: nat > list_P6011104703257516679at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    take_P1264513626771769909_nat_a: nat > list_P2851791750731487283_nat_a > list_P2851791750731487283_nat_a ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    take_P7249722199902868751_a_nat: nat > list_P3592885314253461005_a_nat > list_P3592885314253461005_a_nat ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    take_P1986783995523548949od_a_a: nat > list_P1396940483166286381od_a_a > list_P1396940483166286381od_a_a ).

thf(sy_c_List_Otake_001tf__a,type,
    take_a: nat > list_a > list_a ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__Nat__Onat,type,
    zip_nat_nat: list_nat > list_nat > list_P6011104703257516679at_nat ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001tf__a,type,
    zip_nat_a: list_nat > list_a > list_P2851791750731487283_nat_a ).

thf(sy_c_List_Ozip_001tf__a_001t__Nat__Onat,type,
    zip_a_nat: list_a > list_nat > list_P3592885314253461005_a_nat ).

thf(sy_c_List_Ozip_001tf__a_001tf__a,type,
    zip_a_a: list_a > list_a > list_P1396940483166286381od_a_a ).

thf(sy_c_Multiset_Oadd__mset_001t__Nat__Onat,type,
    add_mset_nat: nat > multiset_nat > multiset_nat ).

thf(sy_c_Multiset_Oadd__mset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    add_ms2612439473150266591at_nat: product_prod_nat_nat > multis2468970476368604999at_nat > multis2468970476368604999at_nat ).

thf(sy_c_Multiset_Oadd__mset_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    add_ms7446352367693587269_nat_a: product_prod_nat_a > multis8339640606882034547_nat_a > multis8339640606882034547_nat_a ).

thf(sy_c_Multiset_Oadd__mset_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    add_ms4208188903969910303_a_nat: product_prod_a_nat > multis9080734170404008269_a_nat > multis9080734170404008269_a_nat ).

thf(sy_c_Multiset_Oadd__mset_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    add_ms8655138167283798533od_a_a: product_prod_a_a > multis501812127501805293od_a_a > multis501812127501805293od_a_a ).

thf(sy_c_Multiset_Oadd__mset_001tf__a,type,
    add_mset_a: a > multiset_a > multiset_a ).

thf(sy_c_Multiset_Olinorder__class_Osorted__list__of__multiset_001t__Nat__Onat,type,
    linord3047872887403683810et_nat: multiset_nat > list_nat ).

thf(sy_c_Multiset_Omset_001t__List__Olist_Itf__a_J,type,
    mset_list_a: list_list_a > multiset_list_a ).

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

thf(sy_c_Multiset_Omset_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    mset_P3793804816179635644list_a: list_P321204300973800749list_a > multis8971261646039773677list_a ).

thf(sy_c_Multiset_Omset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    mset_P6383711406899277590at_nat: list_P6011104703257516679at_nat > multis2468970476368604999at_nat ).

thf(sy_c_Multiset_Omset_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    mset_P3740496182239305934_nat_a: list_P2851791750731487283_nat_a > multis8339640606882034547_nat_a ).

thf(sy_c_Multiset_Omset_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    mset_P502332718515628968_a_nat: list_P3592885314253461005_a_nat > multis9080734170404008269_a_nat ).

thf(sy_c_Multiset_Omset_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    mset_P3709024939784119484od_a_a: list_P1396940483166286381od_a_a > multis501812127501805293od_a_a ).

thf(sy_c_Multiset_Omset_001tf__a,type,
    mset_a: list_a > multiset_a ).

thf(sy_c_Multiset_Omult1_001tf__a,type,
    mult1_a: set_Product_prod_a_a > set_Pr79727621955416071iset_a ).

thf(sy_c_Multiset_Oset__mset_001t__List__Olist_Itf__a_J,type,
    set_mset_list_a: multiset_list_a > set_list_a ).

thf(sy_c_Multiset_Oset__mset_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    set_ms4188662328148412963et_nat: multis1201202736280713200et_nat > set_multiset_nat ).

thf(sy_c_Multiset_Oset__mset_001t__Nat__Onat,type,
    set_mset_nat: multiset_nat > set_nat ).

thf(sy_c_Multiset_Oset__mset_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    set_ms8322646222857877604list_a: multis8971261646039773677list_a > set_Pr4048851178543822343list_a ).

thf(sy_c_Multiset_Oset__mset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    set_ms8126754132646256062at_nat: multis2468970476368604999at_nat > set_Pr1261947904930325089at_nat ).

thf(sy_c_Multiset_Oset__mset_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    set_ms8747885372019199014_nat_a: multis8339640606882034547_nat_a > set_Pr4193341848836149977_nat_a ).

thf(sy_c_Multiset_Oset__mset_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    set_ms5509721908295522048_a_nat: multis9080734170404008269_a_nat > set_Pr4934435412358123699_a_nat ).

thf(sy_c_Multiset_Oset__mset_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    set_ms119794563918438244od_a_a: multis501812127501805293od_a_a > set_Product_prod_a_a ).

thf(sy_c_Multiset_Oset__mset_001t__Set__Oset_Itf__a_J,type,
    set_mset_set_a: multiset_set_a > set_set_a ).

thf(sy_c_Multiset_Oset__mset_001tf__a,type,
    set_mset_a: multiset_a > set_a ).

thf(sy_c_Multiset_Osubseteq__mset_001tf__a,type,
    subseteq_mset_a: multiset_a > multiset_a > $o ).

thf(sy_c_Multiset__More_Olist__of__mset_001t__Nat__Onat,type,
    multis105632648212199813et_nat: multiset_nat > list_nat ).

thf(sy_c_Multiset__More_Olist__of__mset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    multis6944752092658291980at_nat: multis2468970476368604999at_nat > list_P6011104703257516679at_nat ).

thf(sy_c_Multiset__More_Olist__of__mset_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    multis474690387593923672_nat_a: multis8339640606882034547_nat_a > list_P2851791750731487283_nat_a ).

thf(sy_c_Multiset__More_Olist__of__mset_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    multis6459898960725022514_a_nat: multis9080734170404008269_a_nat > list_P3592885314253461005_a_nat ).

thf(sy_c_Multiset__More_Olist__of__mset_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    multis3253216124731525042od_a_a: multis501812127501805293od_a_a > list_P1396940483166286381od_a_a ).

thf(sy_c_Multiset__More_Olist__of__mset_001tf__a,type,
    multis4723169673647964297mset_a: multiset_a > list_a ).

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

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_Itf__a_J_J,type,
    size_s349497388124573686list_a: list_list_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Multiset__Omultiset_It__Nat__Onat_J_J,type,
    size_s6386657463320973636et_nat: list_multiset_nat > 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__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J_J,type,
    size_s4944079540699745177list_a: list_P321204300973800749list_a > 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__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    size_s243904063682394823_nat_a: list_P2851791750731487283_nat_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    size_s984997627204368545_a_nat: list_P3592885314253461005_a_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    size_s3885678630836030617od_a_a: list_P1396940483166286381od_a_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_Itf__a_J,type,
    size_size_list_a: list_a > 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_Nat_Osize__class_Osize_001t__Multiset__Omultiset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_J,type,
    size_s8510653225128441779at_nat: multis2468970476368604999at_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Multiset__Omultiset_It__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J_J,type,
    size_s2341891585489317383_nat_a: multis8339640606882034547_nat_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Multiset__Omultiset_It__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J_J,type,
    size_s3082985149011291105_a_nat: multis9080734170404008269_a_nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Multiset__Omultiset_It__Product____Type__Oprod_Itf__a_Mtf__a_J_J,type,
    size_s781968976467208537od_a_a: multis501812127501805293od_a_a > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__Multiset__Omultiset_Itf__a_J,type,
    size_size_multiset_a: multiset_a > nat ).

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

thf(sy_c_Orderings_Oord__class_Oless_001t__Multiset__Omultiset_It__Multiset__Omultiset_It__Nat__Onat_J_J,type,
    ord_le7972675829976458820et_nat: multis1201202736280713200et_nat > multis1201202736280713200et_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    ord_le5777773500796000884et_nat: multiset_nat > multiset_nat > $o ).

thf(sy_c_Orderings_Oord__class_Oless_001t__Multiset__Omultiset_It__Set__Oset_Itf__a_J_J,type,
    ord_le5765082015083327056_set_a: multiset_set_a > multiset_set_a > $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_Itf__a_J,type,
    ord_less_set_a: set_a > set_a > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    ord_le6602235886369790592et_nat: multiset_nat > multiset_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_Itf__a_J,type,
    ord_less_eq_set_a: set_a > set_a > $o ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Nat__Onat_J_001t__List__Olist_It__Nat__Onat_J,type,
    produc2694037385005941721st_nat: list_nat > list_nat > produc1828647624359046049st_nat ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_Itf__a_J_001t__List__Olist_Itf__a_J,type,
    produc6837034575241423639list_a: list_a > list_a > produc9164743771328383783list_a ).

thf(sy_c_Product__Type_OPair_001t__Multiset__Omultiset_Itf__a_J_001t__Multiset__Omultiset_Itf__a_J,type,
    produc654756711066625303iset_a: multiset_a > multiset_a > produc6518373309651786023iset_a ).

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_Product__Type_OPair_001t__Nat__Onat_001tf__a,type,
    product_Pair_nat_a: nat > a > product_prod_nat_a ).

thf(sy_c_Product__Type_OPair_001tf__a_001t__Nat__Onat,type,
    product_Pair_a_nat: a > nat > product_prod_a_nat ).

thf(sy_c_Product__Type_OPair_001tf__a_001tf__a,type,
    product_Pair_a_a: a > a > product_prod_a_a ).

thf(sy_c_Set_OCollect_001t__List__Olist_Itf__a_J,type,
    collect_list_a: ( list_a > $o ) > set_list_a ).

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

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    collec943055143889122450list_a: ( produc9164743771328383783list_a > $o ) > set_Pr4048851178543822343list_a ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    collec3392354462482085612at_nat: ( product_prod_nat_nat > $o ) > set_Pr1261947904930325089at_nat ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    collec3336397797384452498od_a_a: ( product_prod_a_a > $o ) > set_Product_prod_a_a ).

thf(sy_c_Set_OCollect_001tf__a,type,
    collect_a: ( a > $o ) > set_a ).

thf(sy_c_member_001t__List__Olist_Itf__a_J,type,
    member_list_a: list_a > set_list_a > $o ).

thf(sy_c_member_001t__Multiset__Omultiset_It__Nat__Onat_J,type,
    member_multiset_nat: multiset_nat > set_multiset_nat > $o ).

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

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Nat__Onat_J_Mt__List__Olist_It__Nat__Onat_J_J,type,
    member7340969449405702474st_nat: produc1828647624359046049st_nat > set_Pr3451248702717554689st_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_Itf__a_J_Mt__List__Olist_Itf__a_J_J,type,
    member8191768239178080336list_a: produc9164743771328383783list_a > set_Pr4048851178543822343list_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Multiset__Omultiset_Itf__a_J_Mt__Multiset__Omultiset_Itf__a_J_J,type,
    member5199237121806060112iset_a: produc6518373309651786023iset_a > set_Pr79727621955416071iset_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    member8440522571783428010at_nat: product_prod_nat_nat > set_Pr1261947904930325089at_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mtf__a_J,type,
    member8962352052110095674_nat_a: product_prod_nat_a > set_Pr4193341848836149977_nat_a > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mt__Nat__Onat_J,type,
    member5724188588386418708_a_nat: product_prod_a_nat > set_Pr4934435412358123699_a_nat > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_Itf__a_Mtf__a_J,type,
    member1426531477525435216od_a_a: product_prod_a_a > set_Product_prod_a_a > $o ).

thf(sy_c_member_001t__Set__Oset_Itf__a_J,type,
    member_set_a: set_a > set_set_a > $o ).

thf(sy_c_member_001tf__a,type,
    member_a: a > set_a > $o ).

thf(sy_v_i1,type,
    i1: nat ).

thf(sy_v_i2,type,
    i2: nat ).

thf(sy_v_x,type,
    x: a ).

thf(sy_v_xs,type,
    xs: list_a ).

thf(sy_v_xs1____,type,
    xs1: list_a ).

thf(sy_v_xs2____,type,
    xs2: list_a ).

% Relevant facts (1265)
thf(fact_0__092_060open_062length_Axs1_A_092_060le_062_Ai2_092_060close_062,axiom,
    ord_less_eq_nat @ ( size_size_list_a @ xs1 ) @ i2 ).

% \<open>length xs1 \<le> i2\<close>
thf(fact_1_assms_I3_J,axiom,
    ( ( nth_a @ xs @ i2 )
    = x ) ).

% assms(3)
thf(fact_2_assms_I2_J,axiom,
    ( ( nth_a @ xs @ i1 )
    = x ) ).

% assms(2)
thf(fact_3_xs2,axiom,
    ( xs2
    = ( drop_a @ i2 @ xs ) ) ).

% xs2
thf(fact_4_xse,axiom,
    ( xs
    = ( append_a @ xs1 @ xs2 ) ) ).

% xse
thf(fact_5_assms_I5_J,axiom,
    ord_less_nat @ i2 @ ( size_size_list_a @ xs ) ).

% assms(5)
thf(fact_6_xs1in,axiom,
    member_a @ ( nth_a @ xs @ i1 ) @ ( set_mset_a @ ( mset_a @ xs1 ) ) ).

% xs1in
thf(fact_7_xs1,axiom,
    ( xs1
    = ( take_a @ i2 @ xs ) ) ).

% xs1
thf(fact_8_assms_I1_J,axiom,
    ord_less_nat @ i1 @ i2 ).

% assms(1)
thf(fact_9_ex__mset,axiom,
    ! [X: multiset_nat] :
    ? [Xs: list_nat] :
      ( ( mset_nat @ Xs )
      = X ) ).

% ex_mset
thf(fact_10_ex__mset,axiom,
    ! [X: multis2468970476368604999at_nat] :
    ? [Xs: list_P6011104703257516679at_nat] :
      ( ( mset_P6383711406899277590at_nat @ Xs )
      = X ) ).

% ex_mset
thf(fact_11_ex__mset,axiom,
    ! [X: multis8339640606882034547_nat_a] :
    ? [Xs: list_P2851791750731487283_nat_a] :
      ( ( mset_P3740496182239305934_nat_a @ Xs )
      = X ) ).

% ex_mset
thf(fact_12_ex__mset,axiom,
    ! [X: multis9080734170404008269_a_nat] :
    ? [Xs: list_P3592885314253461005_a_nat] :
      ( ( mset_P502332718515628968_a_nat @ Xs )
      = X ) ).

% ex_mset
thf(fact_13_ex__mset,axiom,
    ! [X: multis501812127501805293od_a_a] :
    ? [Xs: list_P1396940483166286381od_a_a] :
      ( ( mset_P3709024939784119484od_a_a @ Xs )
      = X ) ).

% ex_mset
thf(fact_14_ex__mset,axiom,
    ! [X: multiset_a] :
    ? [Xs: list_a] :
      ( ( mset_a @ Xs )
      = X ) ).

% ex_mset
thf(fact_15_list__of__mset__exi,axiom,
    ! [M: multiset_nat] :
    ? [L: list_nat] :
      ( M
      = ( mset_nat @ L ) ) ).

% list_of_mset_exi
thf(fact_16_list__of__mset__exi,axiom,
    ! [M: multis2468970476368604999at_nat] :
    ? [L: list_P6011104703257516679at_nat] :
      ( M
      = ( mset_P6383711406899277590at_nat @ L ) ) ).

% list_of_mset_exi
thf(fact_17_list__of__mset__exi,axiom,
    ! [M: multis8339640606882034547_nat_a] :
    ? [L: list_P2851791750731487283_nat_a] :
      ( M
      = ( mset_P3740496182239305934_nat_a @ L ) ) ).

% list_of_mset_exi
thf(fact_18_list__of__mset__exi,axiom,
    ! [M: multis9080734170404008269_a_nat] :
    ? [L: list_P3592885314253461005_a_nat] :
      ( M
      = ( mset_P502332718515628968_a_nat @ L ) ) ).

% list_of_mset_exi
thf(fact_19_list__of__mset__exi,axiom,
    ! [M: multis501812127501805293od_a_a] :
    ? [L: list_P1396940483166286381od_a_a] :
      ( M
      = ( mset_P3709024939784119484od_a_a @ L ) ) ).

% list_of_mset_exi
thf(fact_20_list__of__mset__exi,axiom,
    ! [M: multiset_a] :
    ? [L: list_a] :
      ( M
      = ( mset_a @ L ) ) ).

% list_of_mset_exi
thf(fact_21_assms_I4_J,axiom,
    ord_less_nat @ i1 @ ( size_size_list_a @ xs ) ).

% assms(4)
thf(fact_22_mset__list__of__mset,axiom,
    ! [M: multis2468970476368604999at_nat] :
      ( ( mset_P6383711406899277590at_nat @ ( multis6944752092658291980at_nat @ M ) )
      = M ) ).

% mset_list_of_mset
thf(fact_23_mset__list__of__mset,axiom,
    ! [M: multis8339640606882034547_nat_a] :
      ( ( mset_P3740496182239305934_nat_a @ ( multis474690387593923672_nat_a @ M ) )
      = M ) ).

% mset_list_of_mset
thf(fact_24_mset__list__of__mset,axiom,
    ! [M: multis9080734170404008269_a_nat] :
      ( ( mset_P502332718515628968_a_nat @ ( multis6459898960725022514_a_nat @ M ) )
      = M ) ).

% mset_list_of_mset
thf(fact_25_mset__list__of__mset,axiom,
    ! [M: multis501812127501805293od_a_a] :
      ( ( mset_P3709024939784119484od_a_a @ ( multis3253216124731525042od_a_a @ M ) )
      = M ) ).

% mset_list_of_mset
thf(fact_26_mset__list__of__mset,axiom,
    ! [M: multiset_nat] :
      ( ( mset_nat @ ( multis105632648212199813et_nat @ M ) )
      = M ) ).

% mset_list_of_mset
thf(fact_27_mset__list__of__mset,axiom,
    ! [M: multiset_a] :
      ( ( mset_a @ ( multis4723169673647964297mset_a @ M ) )
      = M ) ).

% mset_list_of_mset
thf(fact_28_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_P321204300973800749list_a] :
      ( ( ord_less_nat @ I @ ( size_s4944079540699745177list_a @ Ls ) )
     => ( member8191768239178080336list_a @ ( nth_Pr5917933638979213230list_a @ Ls @ I ) @ ( set_ms8322646222857877604list_a @ ( mset_P3793804816179635644list_a @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_29_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_list_a] :
      ( ( ord_less_nat @ I @ ( size_s349497388124573686list_a @ Ls ) )
     => ( member_list_a @ ( nth_list_a @ Ls @ I ) @ ( set_mset_list_a @ ( mset_list_a @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_30_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_P3592885314253461005_a_nat] :
      ( ( ord_less_nat @ I @ ( size_s984997627204368545_a_nat @ Ls ) )
     => ( member5724188588386418708_a_nat @ ( nth_Pr8461465654520414006_a_nat @ Ls @ I ) @ ( set_ms5509721908295522048_a_nat @ ( mset_P502332718515628968_a_nat @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_31_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_P1396940483166286381od_a_a] :
      ( ( ord_less_nat @ I @ ( size_s3885678630836030617od_a_a @ Ls ) )
     => ( member1426531477525435216od_a_a @ ( nth_Product_prod_a_a @ Ls @ I ) @ ( set_ms119794563918438244od_a_a @ ( mset_P3709024939784119484od_a_a @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_32_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ I @ ( size_s5460976970255530739at_nat @ Ls ) )
     => ( member8440522571783428010at_nat @ ( nth_Pr7617993195940197384at_nat @ Ls @ I ) @ ( set_ms8126754132646256062at_nat @ ( mset_P6383711406899277590at_nat @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_33_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_P2851791750731487283_nat_a] :
      ( ( ord_less_nat @ I @ ( size_s243904063682394823_nat_a @ Ls ) )
     => ( member8962352052110095674_nat_a @ ( nth_Pr2476257081389315164_nat_a @ Ls @ I ) @ ( set_ms8747885372019199014_nat_a @ ( mset_P3740496182239305934_nat_a @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_34_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Ls ) )
     => ( member_a @ ( nth_a @ Ls @ I ) @ ( set_mset_a @ ( mset_a @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_35_nth__mem__mset,axiom,
    ! [I: nat,Ls: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ls ) )
     => ( member_nat @ ( nth_nat @ Ls @ I ) @ ( set_mset_nat @ ( mset_nat @ Ls ) ) ) ) ).

% nth_mem_mset
thf(fact_36_in__mset__conv__nth,axiom,
    ! [X2: produc9164743771328383783list_a,Xs2: list_P321204300973800749list_a] :
      ( ( member8191768239178080336list_a @ X2 @ ( set_ms8322646222857877604list_a @ ( mset_P3793804816179635644list_a @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s4944079540699745177list_a @ Xs2 ) )
            & ( ( nth_Pr5917933638979213230list_a @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_37_in__mset__conv__nth,axiom,
    ! [X2: list_a,Xs2: list_list_a] :
      ( ( member_list_a @ X2 @ ( set_mset_list_a @ ( mset_list_a @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s349497388124573686list_a @ Xs2 ) )
            & ( ( nth_list_a @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_38_in__mset__conv__nth,axiom,
    ! [X2: product_prod_a_nat,Xs2: list_P3592885314253461005_a_nat] :
      ( ( member5724188588386418708_a_nat @ X2 @ ( set_ms5509721908295522048_a_nat @ ( mset_P502332718515628968_a_nat @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s984997627204368545_a_nat @ Xs2 ) )
            & ( ( nth_Pr8461465654520414006_a_nat @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_39_in__mset__conv__nth,axiom,
    ! [X2: product_prod_a_a,Xs2: list_P1396940483166286381od_a_a] :
      ( ( member1426531477525435216od_a_a @ X2 @ ( set_ms119794563918438244od_a_a @ ( mset_P3709024939784119484od_a_a @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s3885678630836030617od_a_a @ Xs2 ) )
            & ( ( nth_Product_prod_a_a @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_40_in__mset__conv__nth,axiom,
    ! [X2: product_prod_nat_nat,Xs2: list_P6011104703257516679at_nat] :
      ( ( member8440522571783428010at_nat @ X2 @ ( set_ms8126754132646256062at_nat @ ( mset_P6383711406899277590at_nat @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ Xs2 ) )
            & ( ( nth_Pr7617993195940197384at_nat @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_41_in__mset__conv__nth,axiom,
    ! [X2: product_prod_nat_a,Xs2: list_P2851791750731487283_nat_a] :
      ( ( member8962352052110095674_nat_a @ X2 @ ( set_ms8747885372019199014_nat_a @ ( mset_P3740496182239305934_nat_a @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_s243904063682394823_nat_a @ Xs2 ) )
            & ( ( nth_Pr2476257081389315164_nat_a @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_42_in__mset__conv__nth,axiom,
    ! [X2: a,Xs2: list_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ ( mset_a @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_a @ Xs2 ) )
            & ( ( nth_a @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_43_in__mset__conv__nth,axiom,
    ! [X2: nat,Xs2: list_nat] :
      ( ( member_nat @ X2 @ ( set_mset_nat @ ( mset_nat @ Xs2 ) ) )
      = ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs2 ) )
            & ( ( nth_nat @ Xs2 @ I2 )
              = X2 ) ) ) ) ).

% in_mset_conv_nth
thf(fact_44_mset__eq__length,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat] :
      ( ( ( mset_P502332718515628968_a_nat @ Xs2 )
        = ( mset_P502332718515628968_a_nat @ Ys ) )
     => ( ( size_s984997627204368545_a_nat @ Xs2 )
        = ( size_s984997627204368545_a_nat @ Ys ) ) ) ).

% mset_eq_length
thf(fact_45_mset__eq__length,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a] :
      ( ( ( mset_P3709024939784119484od_a_a @ Xs2 )
        = ( mset_P3709024939784119484od_a_a @ Ys ) )
     => ( ( size_s3885678630836030617od_a_a @ Xs2 )
        = ( size_s3885678630836030617od_a_a @ Ys ) ) ) ).

% mset_eq_length
thf(fact_46_mset__eq__length,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( mset_P6383711406899277590at_nat @ Xs2 )
        = ( mset_P6383711406899277590at_nat @ Ys ) )
     => ( ( size_s5460976970255530739at_nat @ Xs2 )
        = ( size_s5460976970255530739at_nat @ Ys ) ) ) ).

% mset_eq_length
thf(fact_47_mset__eq__length,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a] :
      ( ( ( mset_P3740496182239305934_nat_a @ Xs2 )
        = ( mset_P3740496182239305934_nat_a @ Ys ) )
     => ( ( size_s243904063682394823_nat_a @ Xs2 )
        = ( size_s243904063682394823_nat_a @ Ys ) ) ) ).

% mset_eq_length
thf(fact_48_mset__eq__length,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( mset_a @ Xs2 )
        = ( mset_a @ Ys ) )
     => ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) ) ) ).

% mset_eq_length
thf(fact_49_mset__eq__length,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( mset_nat @ Xs2 )
        = ( mset_nat @ Ys ) )
     => ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) ) ) ).

% mset_eq_length
thf(fact_50__092_060open_062i1_A_060_Alength_Axs1_092_060close_062,axiom,
    ord_less_nat @ i1 @ ( size_size_list_a @ xs1 ) ).

% \<open>i1 < length xs1\<close>
thf(fact_51__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062xs1_Axs2_O_A_092_060lbrakk_062xs_A_061_Axs1_A_064_Axs2_059_Axs1_A_061_Atake_Ai2_Axs_059_Axs2_A_061_Adrop_Ai2_Axs_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [Xs1: list_a,Xs22: list_a] :
        ( ( xs
          = ( append_a @ Xs1 @ Xs22 ) )
       => ( ( Xs1
            = ( take_a @ i2 @ xs ) )
         => ( Xs22
           != ( drop_a @ i2 @ xs ) ) ) ) ).

% \<open>\<And>thesis. (\<And>xs1 xs2. \<lbrakk>xs = xs1 @ xs2; xs1 = take i2 xs; xs2 = drop i2 xs\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_52_append__take__drop__id,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( append_nat @ ( take_nat @ N @ Xs2 ) @ ( drop_nat @ N @ Xs2 ) )
      = Xs2 ) ).

% append_take_drop_id
thf(fact_53_append__take__drop__id,axiom,
    ! [N: nat,Xs2: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ ( take_P2173866234530122223at_nat @ N @ Xs2 ) @ ( drop_P8868858903918902087at_nat @ N @ Xs2 ) )
      = Xs2 ) ).

% append_take_drop_id
thf(fact_54_append__take__drop__id,axiom,
    ! [N: nat,Xs2: list_P2851791750731487283_nat_a] :
      ( ( append1694031006427026248_nat_a @ ( take_P1264513626771769909_nat_a @ N @ Xs2 ) @ ( drop_P6121829204935032541_nat_a @ N @ Xs2 ) )
      = Xs2 ) ).

% append_take_drop_id
thf(fact_55_append__take__drop__id,axiom,
    ! [N: nat,Xs2: list_P3592885314253461005_a_nat] :
      ( ( append7679239579558125090_a_nat @ ( take_P7249722199902868751_a_nat @ N @ Xs2 ) @ ( drop_P2883665741211355575_a_nat @ N @ Xs2 ) )
      = Xs2 ) ).

% append_take_drop_id
thf(fact_56_append__take__drop__id,axiom,
    ! [N: nat,Xs2: list_P1396940483166286381od_a_a] :
      ( ( append5335208819046833346od_a_a @ ( take_P1986783995523548949od_a_a @ N @ Xs2 ) @ ( drop_P8456769997282094189od_a_a @ N @ Xs2 ) )
      = Xs2 ) ).

% append_take_drop_id
thf(fact_57_append__take__drop__id,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( append_a @ ( take_a @ N @ Xs2 ) @ ( drop_a @ N @ Xs2 ) )
      = Xs2 ) ).

% append_take_drop_id
thf(fact_58_nth__take,axiom,
    ! [I: nat,N: nat,Xs2: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Pr7617993195940197384at_nat @ ( take_P2173866234530122223at_nat @ N @ Xs2 ) @ I )
        = ( nth_Pr7617993195940197384at_nat @ Xs2 @ I ) ) ) ).

% nth_take
thf(fact_59_nth__take,axiom,
    ! [I: nat,N: nat,Xs2: list_P2851791750731487283_nat_a] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Pr2476257081389315164_nat_a @ ( take_P1264513626771769909_nat_a @ N @ Xs2 ) @ I )
        = ( nth_Pr2476257081389315164_nat_a @ Xs2 @ I ) ) ) ).

% nth_take
thf(fact_60_nth__take,axiom,
    ! [I: nat,N: nat,Xs2: list_P3592885314253461005_a_nat] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Pr8461465654520414006_a_nat @ ( take_P7249722199902868751_a_nat @ N @ Xs2 ) @ I )
        = ( nth_Pr8461465654520414006_a_nat @ Xs2 @ I ) ) ) ).

% nth_take
thf(fact_61_nth__take,axiom,
    ! [I: nat,N: nat,Xs2: list_P1396940483166286381od_a_a] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Product_prod_a_a @ ( take_P1986783995523548949od_a_a @ N @ Xs2 ) @ I )
        = ( nth_Product_prod_a_a @ Xs2 @ I ) ) ) ).

% nth_take
thf(fact_62_nth__take,axiom,
    ! [I: nat,N: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_nat @ ( take_nat @ N @ Xs2 ) @ I )
        = ( nth_nat @ Xs2 @ I ) ) ) ).

% nth_take
thf(fact_63_nth__take,axiom,
    ! [I: nat,N: nat,Xs2: list_a] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_a @ ( take_a @ N @ Xs2 ) @ I )
        = ( nth_a @ Xs2 @ I ) ) ) ).

% nth_take
thf(fact_64_take__all,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s3885678630836030617od_a_a @ Xs2 ) @ N )
     => ( ( take_P1986783995523548949od_a_a @ N @ Xs2 )
        = Xs2 ) ) ).

% take_all
thf(fact_65_take__all,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs2 ) @ N )
     => ( ( take_P2173866234530122223at_nat @ N @ Xs2 )
        = Xs2 ) ) ).

% take_all
thf(fact_66_take__all,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_s243904063682394823_nat_a @ Xs2 ) @ N )
     => ( ( take_P1264513626771769909_nat_a @ N @ Xs2 )
        = Xs2 ) ) ).

% take_all
thf(fact_67_take__all,axiom,
    ! [Xs2: list_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ N )
     => ( ( take_a @ N @ Xs2 )
        = Xs2 ) ) ).

% take_all
thf(fact_68_take__all,axiom,
    ! [Xs2: list_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ N )
     => ( ( take_nat @ N @ Xs2 )
        = Xs2 ) ) ).

% take_all
thf(fact_69_take__all__iff,axiom,
    ! [N: nat,Xs2: list_P1396940483166286381od_a_a] :
      ( ( ( take_P1986783995523548949od_a_a @ N @ Xs2 )
        = Xs2 )
      = ( ord_less_eq_nat @ ( size_s3885678630836030617od_a_a @ Xs2 ) @ N ) ) ).

% take_all_iff
thf(fact_70_take__all__iff,axiom,
    ! [N: nat,Xs2: list_P6011104703257516679at_nat] :
      ( ( ( take_P2173866234530122223at_nat @ N @ Xs2 )
        = Xs2 )
      = ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs2 ) @ N ) ) ).

% take_all_iff
thf(fact_71_take__all__iff,axiom,
    ! [N: nat,Xs2: list_P2851791750731487283_nat_a] :
      ( ( ( take_P1264513626771769909_nat_a @ N @ Xs2 )
        = Xs2 )
      = ( ord_less_eq_nat @ ( size_s243904063682394823_nat_a @ Xs2 ) @ N ) ) ).

% take_all_iff
thf(fact_72_take__all__iff,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ( take_a @ N @ Xs2 )
        = Xs2 )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ N ) ) ).

% take_all_iff
thf(fact_73_take__all__iff,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ( take_nat @ N @ Xs2 )
        = Xs2 )
      = ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ N ) ) ).

% take_all_iff
thf(fact_74_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_P3592885314253461005_a_nat,Xs_2: list_P3592885314253461005_a_nat,Ys_1: list_P3592885314253461005_a_nat,Ys_2: list_P3592885314253461005_a_nat] :
      ( ( ( append7679239579558125090_a_nat @ Xs_1 @ Xs_2 )
        = ( append7679239579558125090_a_nat @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_s984997627204368545_a_nat @ Xs_1 ) @ ( size_s984997627204368545_a_nat @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_P7249722199902868751_a_nat @ ( size_s984997627204368545_a_nat @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append7679239579558125090_a_nat @ ( drop_P2883665741211355575_a_nat @ ( size_s984997627204368545_a_nat @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_s984997627204368545_a_nat @ Xs_1 ) @ ( size_s984997627204368545_a_nat @ Ys_1 ) )
         => ( ( ( take_P7249722199902868751_a_nat @ ( size_s984997627204368545_a_nat @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append7679239579558125090_a_nat @ ( drop_P2883665741211355575_a_nat @ ( size_s984997627204368545_a_nat @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_75_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_P1396940483166286381od_a_a,Xs_2: list_P1396940483166286381od_a_a,Ys_1: list_P1396940483166286381od_a_a,Ys_2: list_P1396940483166286381od_a_a] :
      ( ( ( append5335208819046833346od_a_a @ Xs_1 @ Xs_2 )
        = ( append5335208819046833346od_a_a @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_s3885678630836030617od_a_a @ Xs_1 ) @ ( size_s3885678630836030617od_a_a @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_P1986783995523548949od_a_a @ ( size_s3885678630836030617od_a_a @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append5335208819046833346od_a_a @ ( drop_P8456769997282094189od_a_a @ ( size_s3885678630836030617od_a_a @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_s3885678630836030617od_a_a @ Xs_1 ) @ ( size_s3885678630836030617od_a_a @ Ys_1 ) )
         => ( ( ( take_P1986783995523548949od_a_a @ ( size_s3885678630836030617od_a_a @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append5335208819046833346od_a_a @ ( drop_P8456769997282094189od_a_a @ ( size_s3885678630836030617od_a_a @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_76_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_P6011104703257516679at_nat,Xs_2: list_P6011104703257516679at_nat,Ys_1: list_P6011104703257516679at_nat,Ys_2: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs_1 @ Xs_2 )
        = ( append985823374593552924at_nat @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs_1 ) @ ( size_s5460976970255530739at_nat @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_P2173866234530122223at_nat @ ( size_s5460976970255530739at_nat @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append985823374593552924at_nat @ ( drop_P8868858903918902087at_nat @ ( size_s5460976970255530739at_nat @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_s5460976970255530739at_nat @ Xs_1 ) @ ( size_s5460976970255530739at_nat @ Ys_1 ) )
         => ( ( ( take_P2173866234530122223at_nat @ ( size_s5460976970255530739at_nat @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append985823374593552924at_nat @ ( drop_P8868858903918902087at_nat @ ( size_s5460976970255530739at_nat @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_77_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_P2851791750731487283_nat_a,Xs_2: list_P2851791750731487283_nat_a,Ys_1: list_P2851791750731487283_nat_a,Ys_2: list_P2851791750731487283_nat_a] :
      ( ( ( append1694031006427026248_nat_a @ Xs_1 @ Xs_2 )
        = ( append1694031006427026248_nat_a @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_s243904063682394823_nat_a @ Xs_1 ) @ ( size_s243904063682394823_nat_a @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_P1264513626771769909_nat_a @ ( size_s243904063682394823_nat_a @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append1694031006427026248_nat_a @ ( drop_P6121829204935032541_nat_a @ ( size_s243904063682394823_nat_a @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_s243904063682394823_nat_a @ Xs_1 ) @ ( size_s243904063682394823_nat_a @ Ys_1 ) )
         => ( ( ( take_P1264513626771769909_nat_a @ ( size_s243904063682394823_nat_a @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append1694031006427026248_nat_a @ ( drop_P6121829204935032541_nat_a @ ( size_s243904063682394823_nat_a @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_78_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_a,Xs_2: list_a,Ys_1: list_a,Ys_2: list_a] :
      ( ( ( append_a @ Xs_1 @ Xs_2 )
        = ( append_a @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs_1 ) @ ( size_size_list_a @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_a @ ( size_size_list_a @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append_a @ ( drop_a @ ( size_size_list_a @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_size_list_a @ Xs_1 ) @ ( size_size_list_a @ Ys_1 ) )
         => ( ( ( take_a @ ( size_size_list_a @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append_a @ ( drop_a @ ( size_size_list_a @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_79_append__eq__append__conv__if,axiom,
    ! [Xs_1: list_nat,Xs_2: list_nat,Ys_1: list_nat,Ys_2: list_nat] :
      ( ( ( append_nat @ Xs_1 @ Xs_2 )
        = ( append_nat @ Ys_1 @ Ys_2 ) )
      = ( ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs_1 ) @ ( size_size_list_nat @ Ys_1 ) )
         => ( ( Xs_1
              = ( take_nat @ ( size_size_list_nat @ Xs_1 ) @ Ys_1 ) )
            & ( Xs_2
              = ( append_nat @ ( drop_nat @ ( size_size_list_nat @ Xs_1 ) @ Ys_1 ) @ Ys_2 ) ) ) )
        & ( ~ ( ord_less_eq_nat @ ( size_size_list_nat @ Xs_1 ) @ ( size_size_list_nat @ Ys_1 ) )
         => ( ( ( take_nat @ ( size_size_list_nat @ Ys_1 ) @ Xs_1 )
              = Ys_1 )
            & ( ( append_nat @ ( drop_nat @ ( size_size_list_nat @ Ys_1 ) @ Xs_1 ) @ Xs_2 )
              = Ys_2 ) ) ) ) ) ).

% append_eq_append_conv_if
thf(fact_80_nth__take__lemma,axiom,
    ! [K: nat,Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat] :
      ( ( ord_less_eq_nat @ K @ ( size_s984997627204368545_a_nat @ Xs2 ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s984997627204368545_a_nat @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_Pr8461465654520414006_a_nat @ Xs2 @ I3 )
                = ( nth_Pr8461465654520414006_a_nat @ Ys @ I3 ) ) )
         => ( ( take_P7249722199902868751_a_nat @ K @ Xs2 )
            = ( take_P7249722199902868751_a_nat @ K @ Ys ) ) ) ) ) ).

% nth_take_lemma
thf(fact_81_nth__take__lemma,axiom,
    ! [K: nat,Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a] :
      ( ( ord_less_eq_nat @ K @ ( size_s3885678630836030617od_a_a @ Xs2 ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s3885678630836030617od_a_a @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_Product_prod_a_a @ Xs2 @ I3 )
                = ( nth_Product_prod_a_a @ Ys @ I3 ) ) )
         => ( ( take_P1986783995523548949od_a_a @ K @ Xs2 )
            = ( take_P1986783995523548949od_a_a @ K @ Ys ) ) ) ) ) ).

% nth_take_lemma
thf(fact_82_nth__take__lemma,axiom,
    ! [K: nat,Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ord_less_eq_nat @ K @ ( size_s5460976970255530739at_nat @ Xs2 ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s5460976970255530739at_nat @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_Pr7617993195940197384at_nat @ Xs2 @ I3 )
                = ( nth_Pr7617993195940197384at_nat @ Ys @ I3 ) ) )
         => ( ( take_P2173866234530122223at_nat @ K @ Xs2 )
            = ( take_P2173866234530122223at_nat @ K @ Ys ) ) ) ) ) ).

% nth_take_lemma
thf(fact_83_nth__take__lemma,axiom,
    ! [K: nat,Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a] :
      ( ( ord_less_eq_nat @ K @ ( size_s243904063682394823_nat_a @ Xs2 ) )
     => ( ( ord_less_eq_nat @ K @ ( size_s243904063682394823_nat_a @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_Pr2476257081389315164_nat_a @ Xs2 @ I3 )
                = ( nth_Pr2476257081389315164_nat_a @ Ys @ I3 ) ) )
         => ( ( take_P1264513626771769909_nat_a @ K @ Xs2 )
            = ( take_P1264513626771769909_nat_a @ K @ Ys ) ) ) ) ) ).

% nth_take_lemma
thf(fact_84_nth__take__lemma,axiom,
    ! [K: nat,Xs2: list_a,Ys: list_a] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_a @ Xs2 ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_a @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_a @ Xs2 @ I3 )
                = ( nth_a @ Ys @ I3 ) ) )
         => ( ( take_a @ K @ Xs2 )
            = ( take_a @ K @ Ys ) ) ) ) ) ).

% nth_take_lemma
thf(fact_85_nth__take__lemma,axiom,
    ! [K: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( ord_less_eq_nat @ K @ ( size_size_list_nat @ Xs2 ) )
     => ( ( ord_less_eq_nat @ K @ ( size_size_list_nat @ Ys ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ K )
             => ( ( nth_nat @ Xs2 @ I3 )
                = ( nth_nat @ Ys @ I3 ) ) )
         => ( ( take_nat @ K @ Xs2 )
            = ( take_nat @ K @ Ys ) ) ) ) ) ).

% nth_take_lemma
thf(fact_86_append__eq__append__conv,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat,Us: list_P3592885314253461005_a_nat,Vs: list_P3592885314253461005_a_nat] :
      ( ( ( ( size_s984997627204368545_a_nat @ Xs2 )
          = ( size_s984997627204368545_a_nat @ Ys ) )
        | ( ( size_s984997627204368545_a_nat @ Us )
          = ( size_s984997627204368545_a_nat @ Vs ) ) )
     => ( ( ( append7679239579558125090_a_nat @ Xs2 @ Us )
          = ( append7679239579558125090_a_nat @ Ys @ Vs ) )
        = ( ( Xs2 = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_87_append__eq__append__conv,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a,Us: list_P1396940483166286381od_a_a,Vs: list_P1396940483166286381od_a_a] :
      ( ( ( ( size_s3885678630836030617od_a_a @ Xs2 )
          = ( size_s3885678630836030617od_a_a @ Ys ) )
        | ( ( size_s3885678630836030617od_a_a @ Us )
          = ( size_s3885678630836030617od_a_a @ Vs ) ) )
     => ( ( ( append5335208819046833346od_a_a @ Xs2 @ Us )
          = ( append5335208819046833346od_a_a @ Ys @ Vs ) )
        = ( ( Xs2 = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_88_append__eq__append__conv,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Us: list_P6011104703257516679at_nat,Vs: list_P6011104703257516679at_nat] :
      ( ( ( ( size_s5460976970255530739at_nat @ Xs2 )
          = ( size_s5460976970255530739at_nat @ Ys ) )
        | ( ( size_s5460976970255530739at_nat @ Us )
          = ( size_s5460976970255530739at_nat @ Vs ) ) )
     => ( ( ( append985823374593552924at_nat @ Xs2 @ Us )
          = ( append985823374593552924at_nat @ Ys @ Vs ) )
        = ( ( Xs2 = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_89_append__eq__append__conv,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a,Us: list_P2851791750731487283_nat_a,Vs: list_P2851791750731487283_nat_a] :
      ( ( ( ( size_s243904063682394823_nat_a @ Xs2 )
          = ( size_s243904063682394823_nat_a @ Ys ) )
        | ( ( size_s243904063682394823_nat_a @ Us )
          = ( size_s243904063682394823_nat_a @ Vs ) ) )
     => ( ( ( append1694031006427026248_nat_a @ Xs2 @ Us )
          = ( append1694031006427026248_nat_a @ Ys @ Vs ) )
        = ( ( Xs2 = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_90_append__eq__append__conv,axiom,
    ! [Xs2: list_a,Ys: list_a,Us: list_a,Vs: list_a] :
      ( ( ( ( size_size_list_a @ Xs2 )
          = ( size_size_list_a @ Ys ) )
        | ( ( size_size_list_a @ Us )
          = ( size_size_list_a @ Vs ) ) )
     => ( ( ( append_a @ Xs2 @ Us )
          = ( append_a @ Ys @ Vs ) )
        = ( ( Xs2 = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_91_append__eq__append__conv,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Us: list_nat,Vs: list_nat] :
      ( ( ( ( size_size_list_nat @ Xs2 )
          = ( size_size_list_nat @ Ys ) )
        | ( ( size_size_list_nat @ Us )
          = ( size_size_list_nat @ Vs ) ) )
     => ( ( ( append_nat @ Xs2 @ Us )
          = ( append_nat @ Ys @ Vs ) )
        = ( ( Xs2 = Ys )
          & ( Us = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_92_append__eq__conv__conj,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat,Zs: list_P3592885314253461005_a_nat] :
      ( ( ( append7679239579558125090_a_nat @ Xs2 @ Ys )
        = Zs )
      = ( ( Xs2
          = ( take_P7249722199902868751_a_nat @ ( size_s984997627204368545_a_nat @ Xs2 ) @ Zs ) )
        & ( Ys
          = ( drop_P2883665741211355575_a_nat @ ( size_s984997627204368545_a_nat @ Xs2 ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_93_append__eq__conv__conj,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a,Zs: list_P1396940483166286381od_a_a] :
      ( ( ( append5335208819046833346od_a_a @ Xs2 @ Ys )
        = Zs )
      = ( ( Xs2
          = ( take_P1986783995523548949od_a_a @ ( size_s3885678630836030617od_a_a @ Xs2 ) @ Zs ) )
        & ( Ys
          = ( drop_P8456769997282094189od_a_a @ ( size_s3885678630836030617od_a_a @ Xs2 ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_94_append__eq__conv__conj,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs2 @ Ys )
        = Zs )
      = ( ( Xs2
          = ( take_P2173866234530122223at_nat @ ( size_s5460976970255530739at_nat @ Xs2 ) @ Zs ) )
        & ( Ys
          = ( drop_P8868858903918902087at_nat @ ( size_s5460976970255530739at_nat @ Xs2 ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_95_append__eq__conv__conj,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a,Zs: list_P2851791750731487283_nat_a] :
      ( ( ( append1694031006427026248_nat_a @ Xs2 @ Ys )
        = Zs )
      = ( ( Xs2
          = ( take_P1264513626771769909_nat_a @ ( size_s243904063682394823_nat_a @ Xs2 ) @ Zs ) )
        & ( Ys
          = ( drop_P6121829204935032541_nat_a @ ( size_s243904063682394823_nat_a @ Xs2 ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_96_append__eq__conv__conj,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ( ( append_a @ Xs2 @ Ys )
        = Zs )
      = ( ( Xs2
          = ( take_a @ ( size_size_list_a @ Xs2 ) @ Zs ) )
        & ( Ys
          = ( drop_a @ ( size_size_list_a @ Xs2 ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_97_append__eq__conv__conj,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = Zs )
      = ( ( Xs2
          = ( take_nat @ ( size_size_list_nat @ Xs2 ) @ Zs ) )
        & ( Ys
          = ( drop_nat @ ( size_size_list_nat @ Xs2 ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_98_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_P3592885314253461005_a_nat,Z: list_P3592885314253461005_a_nat] : ( Y = Z ) )
    = ( ^ [Xs3: list_P3592885314253461005_a_nat,Ys2: list_P3592885314253461005_a_nat] :
          ( ( ( size_s984997627204368545_a_nat @ Xs3 )
            = ( size_s984997627204368545_a_nat @ Ys2 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s984997627204368545_a_nat @ Xs3 ) )
             => ( ( nth_Pr8461465654520414006_a_nat @ Xs3 @ I2 )
                = ( nth_Pr8461465654520414006_a_nat @ Ys2 @ I2 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_99_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_P1396940483166286381od_a_a,Z: list_P1396940483166286381od_a_a] : ( Y = Z ) )
    = ( ^ [Xs3: list_P1396940483166286381od_a_a,Ys2: list_P1396940483166286381od_a_a] :
          ( ( ( size_s3885678630836030617od_a_a @ Xs3 )
            = ( size_s3885678630836030617od_a_a @ Ys2 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s3885678630836030617od_a_a @ Xs3 ) )
             => ( ( nth_Product_prod_a_a @ Xs3 @ I2 )
                = ( nth_Product_prod_a_a @ Ys2 @ I2 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_100_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_P6011104703257516679at_nat,Z: list_P6011104703257516679at_nat] : ( Y = Z ) )
    = ( ^ [Xs3: list_P6011104703257516679at_nat,Ys2: list_P6011104703257516679at_nat] :
          ( ( ( size_s5460976970255530739at_nat @ Xs3 )
            = ( size_s5460976970255530739at_nat @ Ys2 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s5460976970255530739at_nat @ Xs3 ) )
             => ( ( nth_Pr7617993195940197384at_nat @ Xs3 @ I2 )
                = ( nth_Pr7617993195940197384at_nat @ Ys2 @ I2 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_101_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_P2851791750731487283_nat_a,Z: list_P2851791750731487283_nat_a] : ( Y = Z ) )
    = ( ^ [Xs3: list_P2851791750731487283_nat_a,Ys2: list_P2851791750731487283_nat_a] :
          ( ( ( size_s243904063682394823_nat_a @ Xs3 )
            = ( size_s243904063682394823_nat_a @ Ys2 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_s243904063682394823_nat_a @ Xs3 ) )
             => ( ( nth_Pr2476257081389315164_nat_a @ Xs3 @ I2 )
                = ( nth_Pr2476257081389315164_nat_a @ Ys2 @ I2 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_102_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_a,Z: list_a] : ( Y = Z ) )
    = ( ^ [Xs3: list_a,Ys2: list_a] :
          ( ( ( size_size_list_a @ Xs3 )
            = ( size_size_list_a @ Ys2 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_size_list_a @ Xs3 ) )
             => ( ( nth_a @ Xs3 @ I2 )
                = ( nth_a @ Ys2 @ I2 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_103_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_nat,Z: list_nat] : ( Y = Z ) )
    = ( ^ [Xs3: list_nat,Ys2: list_nat] :
          ( ( ( size_size_list_nat @ Xs3 )
            = ( size_size_list_nat @ Ys2 ) )
          & ! [I2: nat] :
              ( ( ord_less_nat @ I2 @ ( size_size_list_nat @ Xs3 ) )
             => ( ( nth_nat @ Xs3 @ I2 )
                = ( nth_nat @ Ys2 @ I2 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_104_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_a_nat > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ K )
           => ? [X3: product_prod_a_nat] : ( P @ I2 @ X3 ) ) )
      = ( ? [Xs3: list_P3592885314253461005_a_nat] :
            ( ( ( size_s984997627204368545_a_nat @ Xs3 )
              = K )
            & ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ K )
               => ( P @ I2 @ ( nth_Pr8461465654520414006_a_nat @ Xs3 @ I2 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_105_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_a_a > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ K )
           => ? [X3: product_prod_a_a] : ( P @ I2 @ X3 ) ) )
      = ( ? [Xs3: list_P1396940483166286381od_a_a] :
            ( ( ( size_s3885678630836030617od_a_a @ Xs3 )
              = K )
            & ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ K )
               => ( P @ I2 @ ( nth_Product_prod_a_a @ Xs3 @ I2 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_106_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_nat_nat > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ K )
           => ? [X3: product_prod_nat_nat] : ( P @ I2 @ X3 ) ) )
      = ( ? [Xs3: list_P6011104703257516679at_nat] :
            ( ( ( size_s5460976970255530739at_nat @ Xs3 )
              = K )
            & ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ K )
               => ( P @ I2 @ ( nth_Pr7617993195940197384at_nat @ Xs3 @ I2 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_107_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_nat_a > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ K )
           => ? [X3: product_prod_nat_a] : ( P @ I2 @ X3 ) ) )
      = ( ? [Xs3: list_P2851791750731487283_nat_a] :
            ( ( ( size_s243904063682394823_nat_a @ Xs3 )
              = K )
            & ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ K )
               => ( P @ I2 @ ( nth_Pr2476257081389315164_nat_a @ Xs3 @ I2 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_108_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > a > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ K )
           => ? [X3: a] : ( P @ I2 @ X3 ) ) )
      = ( ? [Xs3: list_a] :
            ( ( ( size_size_list_a @ Xs3 )
              = K )
            & ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ K )
               => ( P @ I2 @ ( nth_a @ Xs3 @ I2 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_109_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > nat > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ K )
           => ? [X3: nat] : ( P @ I2 @ X3 ) ) )
      = ( ? [Xs3: list_nat] :
            ( ( ( size_size_list_nat @ Xs3 )
              = K )
            & ! [I2: nat] :
                ( ( ord_less_nat @ I2 @ K )
               => ( P @ I2 @ ( nth_nat @ Xs3 @ I2 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_110_nth__equalityI,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat] :
      ( ( ( size_s984997627204368545_a_nat @ Xs2 )
        = ( size_s984997627204368545_a_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s984997627204368545_a_nat @ Xs2 ) )
           => ( ( nth_Pr8461465654520414006_a_nat @ Xs2 @ I3 )
              = ( nth_Pr8461465654520414006_a_nat @ Ys @ I3 ) ) )
       => ( Xs2 = Ys ) ) ) ).

% nth_equalityI
thf(fact_111_nth__equalityI,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a] :
      ( ( ( size_s3885678630836030617od_a_a @ Xs2 )
        = ( size_s3885678630836030617od_a_a @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s3885678630836030617od_a_a @ Xs2 ) )
           => ( ( nth_Product_prod_a_a @ Xs2 @ I3 )
              = ( nth_Product_prod_a_a @ Ys @ I3 ) ) )
       => ( Xs2 = Ys ) ) ) ).

% nth_equalityI
thf(fact_112_nth__equalityI,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( size_s5460976970255530739at_nat @ Xs2 )
        = ( size_s5460976970255530739at_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s5460976970255530739at_nat @ Xs2 ) )
           => ( ( nth_Pr7617993195940197384at_nat @ Xs2 @ I3 )
              = ( nth_Pr7617993195940197384at_nat @ Ys @ I3 ) ) )
       => ( Xs2 = Ys ) ) ) ).

% nth_equalityI
thf(fact_113_nth__equalityI,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a] :
      ( ( ( size_s243904063682394823_nat_a @ Xs2 )
        = ( size_s243904063682394823_nat_a @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s243904063682394823_nat_a @ Xs2 ) )
           => ( ( nth_Pr2476257081389315164_nat_a @ Xs2 @ I3 )
              = ( nth_Pr2476257081389315164_nat_a @ Ys @ I3 ) ) )
       => ( Xs2 = Ys ) ) ) ).

% nth_equalityI
thf(fact_114_nth__equalityI,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_a @ Xs2 ) )
           => ( ( nth_a @ Xs2 @ I3 )
              = ( nth_a @ Ys @ I3 ) ) )
       => ( Xs2 = Ys ) ) ) ).

% nth_equalityI
thf(fact_115_nth__equalityI,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs2 ) )
           => ( ( nth_nat @ Xs2 @ I3 )
              = ( nth_nat @ Ys @ I3 ) ) )
       => ( Xs2 = Ys ) ) ) ).

% nth_equalityI
thf(fact_116_append_Oassoc,axiom,
    ! [A: list_nat,B: list_nat,C: list_nat] :
      ( ( append_nat @ ( append_nat @ A @ B ) @ C )
      = ( append_nat @ A @ ( append_nat @ B @ C ) ) ) ).

% append.assoc
thf(fact_117_append_Oassoc,axiom,
    ! [A: list_P6011104703257516679at_nat,B: list_P6011104703257516679at_nat,C: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ ( append985823374593552924at_nat @ A @ B ) @ C )
      = ( append985823374593552924at_nat @ A @ ( append985823374593552924at_nat @ B @ C ) ) ) ).

% append.assoc
thf(fact_118_append_Oassoc,axiom,
    ! [A: list_P2851791750731487283_nat_a,B: list_P2851791750731487283_nat_a,C: list_P2851791750731487283_nat_a] :
      ( ( append1694031006427026248_nat_a @ ( append1694031006427026248_nat_a @ A @ B ) @ C )
      = ( append1694031006427026248_nat_a @ A @ ( append1694031006427026248_nat_a @ B @ C ) ) ) ).

% append.assoc
thf(fact_119_append_Oassoc,axiom,
    ! [A: list_P3592885314253461005_a_nat,B: list_P3592885314253461005_a_nat,C: list_P3592885314253461005_a_nat] :
      ( ( append7679239579558125090_a_nat @ ( append7679239579558125090_a_nat @ A @ B ) @ C )
      = ( append7679239579558125090_a_nat @ A @ ( append7679239579558125090_a_nat @ B @ C ) ) ) ).

% append.assoc
thf(fact_120_append_Oassoc,axiom,
    ! [A: list_P1396940483166286381od_a_a,B: list_P1396940483166286381od_a_a,C: list_P1396940483166286381od_a_a] :
      ( ( append5335208819046833346od_a_a @ ( append5335208819046833346od_a_a @ A @ B ) @ C )
      = ( append5335208819046833346od_a_a @ A @ ( append5335208819046833346od_a_a @ B @ C ) ) ) ).

% append.assoc
thf(fact_121_append_Oassoc,axiom,
    ! [A: list_a,B: list_a,C: list_a] :
      ( ( append_a @ ( append_a @ A @ B ) @ C )
      = ( append_a @ A @ ( append_a @ B @ C ) ) ) ).

% append.assoc
thf(fact_122_same__append__eq,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = ( append_nat @ Xs2 @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_123_same__append__eq,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs2 @ Ys )
        = ( append985823374593552924at_nat @ Xs2 @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_124_same__append__eq,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a,Zs: list_P2851791750731487283_nat_a] :
      ( ( ( append1694031006427026248_nat_a @ Xs2 @ Ys )
        = ( append1694031006427026248_nat_a @ Xs2 @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_125_same__append__eq,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat,Zs: list_P3592885314253461005_a_nat] :
      ( ( ( append7679239579558125090_a_nat @ Xs2 @ Ys )
        = ( append7679239579558125090_a_nat @ Xs2 @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_126_same__append__eq,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a,Zs: list_P1396940483166286381od_a_a] :
      ( ( ( append5335208819046833346od_a_a @ Xs2 @ Ys )
        = ( append5335208819046833346od_a_a @ Xs2 @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_127_same__append__eq,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ( ( append_a @ Xs2 @ Ys )
        = ( append_a @ Xs2 @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_128_append__same__eq,axiom,
    ! [Ys: list_nat,Xs2: list_nat,Zs: list_nat] :
      ( ( ( append_nat @ Ys @ Xs2 )
        = ( append_nat @ Zs @ Xs2 ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_129_append__same__eq,axiom,
    ! [Ys: list_P6011104703257516679at_nat,Xs2: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Ys @ Xs2 )
        = ( append985823374593552924at_nat @ Zs @ Xs2 ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_130_append__same__eq,axiom,
    ! [Ys: list_P2851791750731487283_nat_a,Xs2: list_P2851791750731487283_nat_a,Zs: list_P2851791750731487283_nat_a] :
      ( ( ( append1694031006427026248_nat_a @ Ys @ Xs2 )
        = ( append1694031006427026248_nat_a @ Zs @ Xs2 ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_131_append__same__eq,axiom,
    ! [Ys: list_P3592885314253461005_a_nat,Xs2: list_P3592885314253461005_a_nat,Zs: list_P3592885314253461005_a_nat] :
      ( ( ( append7679239579558125090_a_nat @ Ys @ Xs2 )
        = ( append7679239579558125090_a_nat @ Zs @ Xs2 ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_132_append__same__eq,axiom,
    ! [Ys: list_P1396940483166286381od_a_a,Xs2: list_P1396940483166286381od_a_a,Zs: list_P1396940483166286381od_a_a] :
      ( ( ( append5335208819046833346od_a_a @ Ys @ Xs2 )
        = ( append5335208819046833346od_a_a @ Zs @ Xs2 ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_133_append__same__eq,axiom,
    ! [Ys: list_a,Xs2: list_a,Zs: list_a] :
      ( ( ( append_a @ Ys @ Xs2 )
        = ( append_a @ Zs @ Xs2 ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_134_append__assoc,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs: list_nat] :
      ( ( append_nat @ ( append_nat @ Xs2 @ Ys ) @ Zs )
      = ( append_nat @ Xs2 @ ( append_nat @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_135_append__assoc,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat] :
      ( ( append985823374593552924at_nat @ ( append985823374593552924at_nat @ Xs2 @ Ys ) @ Zs )
      = ( append985823374593552924at_nat @ Xs2 @ ( append985823374593552924at_nat @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_136_append__assoc,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a,Zs: list_P2851791750731487283_nat_a] :
      ( ( append1694031006427026248_nat_a @ ( append1694031006427026248_nat_a @ Xs2 @ Ys ) @ Zs )
      = ( append1694031006427026248_nat_a @ Xs2 @ ( append1694031006427026248_nat_a @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_137_append__assoc,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat,Zs: list_P3592885314253461005_a_nat] :
      ( ( append7679239579558125090_a_nat @ ( append7679239579558125090_a_nat @ Xs2 @ Ys ) @ Zs )
      = ( append7679239579558125090_a_nat @ Xs2 @ ( append7679239579558125090_a_nat @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_138_append__assoc,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a,Zs: list_P1396940483166286381od_a_a] :
      ( ( append5335208819046833346od_a_a @ ( append5335208819046833346od_a_a @ Xs2 @ Ys ) @ Zs )
      = ( append5335208819046833346od_a_a @ Xs2 @ ( append5335208819046833346od_a_a @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_139_append__assoc,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ( append_a @ ( append_a @ Xs2 @ Ys ) @ Zs )
      = ( append_a @ Xs2 @ ( append_a @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_140_neq__if__length__neq,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( ( size_s5460976970255530739at_nat @ Xs2 )
       != ( size_s5460976970255530739at_nat @ Ys ) )
     => ( Xs2 != Ys ) ) ).

% neq_if_length_neq
thf(fact_141_neq__if__length__neq,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a] :
      ( ( ( size_s243904063682394823_nat_a @ Xs2 )
       != ( size_s243904063682394823_nat_a @ Ys ) )
     => ( Xs2 != Ys ) ) ).

% neq_if_length_neq
thf(fact_142_neq__if__length__neq,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( size_size_list_a @ Xs2 )
       != ( size_size_list_a @ Ys ) )
     => ( Xs2 != Ys ) ) ).

% neq_if_length_neq
thf(fact_143_neq__if__length__neq,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs2 )
       != ( size_size_list_nat @ Ys ) )
     => ( Xs2 != Ys ) ) ).

% neq_if_length_neq
thf(fact_144_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs: list_P6011104703257516679at_nat] :
      ( ( size_s5460976970255530739at_nat @ Xs )
      = N ) ).

% Ex_list_of_length
thf(fact_145_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs: list_P2851791750731487283_nat_a] :
      ( ( size_s243904063682394823_nat_a @ Xs )
      = N ) ).

% Ex_list_of_length
thf(fact_146_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs: list_a] :
      ( ( size_size_list_a @ Xs )
      = N ) ).

% Ex_list_of_length
thf(fact_147_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs: list_nat] :
      ( ( size_size_list_nat @ Xs )
      = N ) ).

% Ex_list_of_length
thf(fact_148_append__eq__append__conv2,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs: list_nat,Ts: list_nat] :
      ( ( ( append_nat @ Xs2 @ Ys )
        = ( append_nat @ Zs @ Ts ) )
      = ( ? [Us2: list_nat] :
            ( ( ( Xs2
                = ( append_nat @ Zs @ Us2 ) )
              & ( ( append_nat @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append_nat @ Xs2 @ Us2 )
                = Zs )
              & ( Ys
                = ( append_nat @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_149_append__eq__append__conv2,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat,Ts: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs2 @ Ys )
        = ( append985823374593552924at_nat @ Zs @ Ts ) )
      = ( ? [Us2: list_P6011104703257516679at_nat] :
            ( ( ( Xs2
                = ( append985823374593552924at_nat @ Zs @ Us2 ) )
              & ( ( append985823374593552924at_nat @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append985823374593552924at_nat @ Xs2 @ Us2 )
                = Zs )
              & ( Ys
                = ( append985823374593552924at_nat @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_150_append__eq__append__conv2,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a,Zs: list_P2851791750731487283_nat_a,Ts: list_P2851791750731487283_nat_a] :
      ( ( ( append1694031006427026248_nat_a @ Xs2 @ Ys )
        = ( append1694031006427026248_nat_a @ Zs @ Ts ) )
      = ( ? [Us2: list_P2851791750731487283_nat_a] :
            ( ( ( Xs2
                = ( append1694031006427026248_nat_a @ Zs @ Us2 ) )
              & ( ( append1694031006427026248_nat_a @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append1694031006427026248_nat_a @ Xs2 @ Us2 )
                = Zs )
              & ( Ys
                = ( append1694031006427026248_nat_a @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_151_append__eq__append__conv2,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat,Zs: list_P3592885314253461005_a_nat,Ts: list_P3592885314253461005_a_nat] :
      ( ( ( append7679239579558125090_a_nat @ Xs2 @ Ys )
        = ( append7679239579558125090_a_nat @ Zs @ Ts ) )
      = ( ? [Us2: list_P3592885314253461005_a_nat] :
            ( ( ( Xs2
                = ( append7679239579558125090_a_nat @ Zs @ Us2 ) )
              & ( ( append7679239579558125090_a_nat @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append7679239579558125090_a_nat @ Xs2 @ Us2 )
                = Zs )
              & ( Ys
                = ( append7679239579558125090_a_nat @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_152_append__eq__append__conv2,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a,Zs: list_P1396940483166286381od_a_a,Ts: list_P1396940483166286381od_a_a] :
      ( ( ( append5335208819046833346od_a_a @ Xs2 @ Ys )
        = ( append5335208819046833346od_a_a @ Zs @ Ts ) )
      = ( ? [Us2: list_P1396940483166286381od_a_a] :
            ( ( ( Xs2
                = ( append5335208819046833346od_a_a @ Zs @ Us2 ) )
              & ( ( append5335208819046833346od_a_a @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append5335208819046833346od_a_a @ Xs2 @ Us2 )
                = Zs )
              & ( Ys
                = ( append5335208819046833346od_a_a @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_153_append__eq__append__conv2,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a,Ts: list_a] :
      ( ( ( append_a @ Xs2 @ Ys )
        = ( append_a @ Zs @ Ts ) )
      = ( ? [Us2: list_a] :
            ( ( ( Xs2
                = ( append_a @ Zs @ Us2 ) )
              & ( ( append_a @ Us2 @ Ys )
                = Ts ) )
            | ( ( ( append_a @ Xs2 @ Us2 )
                = Zs )
              & ( Ys
                = ( append_a @ Us2 @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_154_append__eq__appendI,axiom,
    ! [Xs2: list_nat,Xs12: list_nat,Zs: list_nat,Ys: list_nat,Us: list_nat] :
      ( ( ( append_nat @ Xs2 @ Xs12 )
        = Zs )
     => ( ( Ys
          = ( append_nat @ Xs12 @ Us ) )
       => ( ( append_nat @ Xs2 @ Ys )
          = ( append_nat @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_155_append__eq__appendI,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Xs12: list_P6011104703257516679at_nat,Zs: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,Us: list_P6011104703257516679at_nat] :
      ( ( ( append985823374593552924at_nat @ Xs2 @ Xs12 )
        = Zs )
     => ( ( Ys
          = ( append985823374593552924at_nat @ Xs12 @ Us ) )
       => ( ( append985823374593552924at_nat @ Xs2 @ Ys )
          = ( append985823374593552924at_nat @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_156_append__eq__appendI,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Xs12: list_P2851791750731487283_nat_a,Zs: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a,Us: list_P2851791750731487283_nat_a] :
      ( ( ( append1694031006427026248_nat_a @ Xs2 @ Xs12 )
        = Zs )
     => ( ( Ys
          = ( append1694031006427026248_nat_a @ Xs12 @ Us ) )
       => ( ( append1694031006427026248_nat_a @ Xs2 @ Ys )
          = ( append1694031006427026248_nat_a @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_157_append__eq__appendI,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Xs12: list_P3592885314253461005_a_nat,Zs: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat,Us: list_P3592885314253461005_a_nat] :
      ( ( ( append7679239579558125090_a_nat @ Xs2 @ Xs12 )
        = Zs )
     => ( ( Ys
          = ( append7679239579558125090_a_nat @ Xs12 @ Us ) )
       => ( ( append7679239579558125090_a_nat @ Xs2 @ Ys )
          = ( append7679239579558125090_a_nat @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_158_append__eq__appendI,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Xs12: list_P1396940483166286381od_a_a,Zs: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a,Us: list_P1396940483166286381od_a_a] :
      ( ( ( append5335208819046833346od_a_a @ Xs2 @ Xs12 )
        = Zs )
     => ( ( Ys
          = ( append5335208819046833346od_a_a @ Xs12 @ Us ) )
       => ( ( append5335208819046833346od_a_a @ Xs2 @ Ys )
          = ( append5335208819046833346od_a_a @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_159_append__eq__appendI,axiom,
    ! [Xs2: list_a,Xs12: list_a,Zs: list_a,Ys: list_a,Us: list_a] :
      ( ( ( append_a @ Xs2 @ Xs12 )
        = Zs )
     => ( ( Ys
          = ( append_a @ Xs12 @ Us ) )
       => ( ( append_a @ Xs2 @ Ys )
          = ( append_a @ Zs @ Us ) ) ) ) ).

% append_eq_appendI
thf(fact_160_take__equalityI,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ! [I3: nat] :
          ( ( take_nat @ I3 @ Xs2 )
          = ( take_nat @ I3 @ Ys ) )
     => ( Xs2 = Ys ) ) ).

% take_equalityI
thf(fact_161_take__equalityI,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a] :
      ( ! [I3: nat] :
          ( ( take_P1986783995523548949od_a_a @ I3 @ Xs2 )
          = ( take_P1986783995523548949od_a_a @ I3 @ Ys ) )
     => ( Xs2 = Ys ) ) ).

% take_equalityI
thf(fact_162_take__equalityI,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ! [I3: nat] :
          ( ( take_a @ I3 @ Xs2 )
          = ( take_a @ I3 @ Ys ) )
     => ( Xs2 = Ys ) ) ).

% take_equalityI
thf(fact_163_length__induct,axiom,
    ! [P: list_P6011104703257516679at_nat > $o,Xs2: list_P6011104703257516679at_nat] :
      ( ! [Xs: list_P6011104703257516679at_nat] :
          ( ! [Ys3: list_P6011104703257516679at_nat] :
              ( ( ord_less_nat @ ( size_s5460976970255530739at_nat @ Ys3 ) @ ( size_s5460976970255530739at_nat @ Xs ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs ) )
     => ( P @ Xs2 ) ) ).

% length_induct
thf(fact_164_length__induct,axiom,
    ! [P: list_P2851791750731487283_nat_a > $o,Xs2: list_P2851791750731487283_nat_a] :
      ( ! [Xs: list_P2851791750731487283_nat_a] :
          ( ! [Ys3: list_P2851791750731487283_nat_a] :
              ( ( ord_less_nat @ ( size_s243904063682394823_nat_a @ Ys3 ) @ ( size_s243904063682394823_nat_a @ Xs ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs ) )
     => ( P @ Xs2 ) ) ).

% length_induct
thf(fact_165_length__induct,axiom,
    ! [P: list_a > $o,Xs2: list_a] :
      ( ! [Xs: list_a] :
          ( ! [Ys3: list_a] :
              ( ( ord_less_nat @ ( size_size_list_a @ Ys3 ) @ ( size_size_list_a @ Xs ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs ) )
     => ( P @ Xs2 ) ) ).

% length_induct
thf(fact_166_length__induct,axiom,
    ! [P: list_nat > $o,Xs2: list_nat] :
      ( ! [Xs: list_nat] :
          ( ! [Ys3: list_nat] :
              ( ( ord_less_nat @ ( size_size_list_nat @ Ys3 ) @ ( size_size_list_nat @ Xs ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs ) )
     => ( P @ Xs2 ) ) ).

% length_induct
thf(fact_167_dual__order_Orefl,axiom,
    ! [A: multiset_nat] : ( ord_le6602235886369790592et_nat @ A @ A ) ).

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

% dual_order.refl
thf(fact_169_order__refl,axiom,
    ! [X2: multiset_nat] : ( ord_le6602235886369790592et_nat @ X2 @ X2 ) ).

% order_refl
thf(fact_170_order__refl,axiom,
    ! [X2: nat] : ( ord_less_eq_nat @ X2 @ X2 ) ).

% order_refl
thf(fact_171_nat__descend__induct,axiom,
    ! [N: nat,P: nat > $o,M: nat] :
      ( ! [K2: nat] :
          ( ( ord_less_nat @ N @ K2 )
         => ( P @ K2 ) )
     => ( ! [K2: nat] :
            ( ( ord_less_eq_nat @ K2 @ N )
           => ( ! [I4: nat] :
                  ( ( ord_less_nat @ K2 @ I4 )
                 => ( P @ I4 ) )
             => ( P @ K2 ) ) )
       => ( P @ M ) ) ) ).

% nat_descend_induct
thf(fact_172_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I3: nat,J2: nat] :
          ( ( ord_less_nat @ I3 @ J2 )
         => ( ord_less_nat @ ( F @ I3 ) @ ( F @ J2 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_173_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_174_mem__Collect__eq,axiom,
    ! [A: produc9164743771328383783list_a,P: produc9164743771328383783list_a > $o] :
      ( ( member8191768239178080336list_a @ A @ ( collec943055143889122450list_a @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_175_mem__Collect__eq,axiom,
    ! [A: product_prod_nat_nat,P: product_prod_nat_nat > $o] :
      ( ( member8440522571783428010at_nat @ A @ ( collec3392354462482085612at_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_176_mem__Collect__eq,axiom,
    ! [A: product_prod_a_a,P: product_prod_a_a > $o] :
      ( ( member1426531477525435216od_a_a @ A @ ( collec3336397797384452498od_a_a @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_177_mem__Collect__eq,axiom,
    ! [A: list_a,P: list_a > $o] :
      ( ( member_list_a @ A @ ( collect_list_a @ P ) )
      = ( P @ A ) ) ).

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

% mem_Collect_eq
thf(fact_179_mem__Collect__eq,axiom,
    ! [A: a,P: a > $o] :
      ( ( member_a @ A @ ( collect_a @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_180_Collect__mem__eq,axiom,
    ! [A2: set_Pr4048851178543822343list_a] :
      ( ( collec943055143889122450list_a
        @ ^ [X4: produc9164743771328383783list_a] : ( member8191768239178080336list_a @ X4 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_181_Collect__mem__eq,axiom,
    ! [A2: set_Pr1261947904930325089at_nat] :
      ( ( collec3392354462482085612at_nat
        @ ^ [X4: product_prod_nat_nat] : ( member8440522571783428010at_nat @ X4 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_182_Collect__mem__eq,axiom,
    ! [A2: set_Product_prod_a_a] :
      ( ( collec3336397797384452498od_a_a
        @ ^ [X4: product_prod_a_a] : ( member1426531477525435216od_a_a @ X4 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_183_Collect__mem__eq,axiom,
    ! [A2: set_list_a] :
      ( ( collect_list_a
        @ ^ [X4: list_a] : ( member_list_a @ X4 @ A2 ) )
      = A2 ) ).

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

% Collect_mem_eq
thf(fact_185_Collect__mem__eq,axiom,
    ! [A2: set_a] :
      ( ( collect_a
        @ ^ [X4: a] : ( member_a @ X4 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_186_Collect__cong,axiom,
    ! [P: a > $o,Q: a > $o] :
      ( ! [X5: a] :
          ( ( P @ X5 )
          = ( Q @ X5 ) )
     => ( ( collect_a @ P )
        = ( collect_a @ Q ) ) ) ).

% Collect_cong
thf(fact_187_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_188_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M2: nat,N2: nat] :
          ( ( ord_less_nat @ M2 @ N2 )
          | ( M2 = N2 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_189_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_190_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M2: nat,N2: nat] :
          ( ( ord_less_eq_nat @ M2 @ N2 )
          & ( M2 != N2 ) ) ) ) ).

% nat_less_le
thf(fact_191_ex__gt__imp__less__multiset,axiom,
    ! [N3: multis1201202736280713200et_nat,M3: multis1201202736280713200et_nat] :
      ( ? [Y2: multiset_nat] :
          ( ( member_multiset_nat @ Y2 @ ( set_ms4188662328148412963et_nat @ N3 ) )
          & ! [X5: multiset_nat] :
              ( ( member_multiset_nat @ X5 @ ( set_ms4188662328148412963et_nat @ M3 ) )
             => ( ord_le5777773500796000884et_nat @ X5 @ Y2 ) ) )
     => ( ord_le7972675829976458820et_nat @ M3 @ N3 ) ) ).

% ex_gt_imp_less_multiset
thf(fact_192_ex__gt__imp__less__multiset,axiom,
    ! [N3: multiset_set_a,M3: multiset_set_a] :
      ( ? [Y2: set_a] :
          ( ( member_set_a @ Y2 @ ( set_mset_set_a @ N3 ) )
          & ! [X5: set_a] :
              ( ( member_set_a @ X5 @ ( set_mset_set_a @ M3 ) )
             => ( ord_less_set_a @ X5 @ Y2 ) ) )
     => ( ord_le5765082015083327056_set_a @ M3 @ N3 ) ) ).

% ex_gt_imp_less_multiset
thf(fact_193_ex__gt__imp__less__multiset,axiom,
    ! [N3: multiset_nat,M3: multiset_nat] :
      ( ? [Y2: nat] :
          ( ( member_nat @ Y2 @ ( set_mset_nat @ N3 ) )
          & ! [X5: nat] :
              ( ( member_nat @ X5 @ ( set_mset_nat @ M3 ) )
             => ( ord_less_nat @ X5 @ Y2 ) ) )
     => ( ord_le5777773500796000884et_nat @ M3 @ N3 ) ) ).

% ex_gt_imp_less_multiset
thf(fact_194_less__eq__multiset__def,axiom,
    ( ord_le6602235886369790592et_nat
    = ( ^ [M4: multiset_nat,N4: multiset_nat] :
          ( ( ord_le5777773500796000884et_nat @ M4 @ N4 )
          | ( M4 = N4 ) ) ) ) ).

% less_eq_multiset_def
thf(fact_195_mset__le__not__refl,axiom,
    ! [M3: multiset_nat] :
      ~ ( ord_le5777773500796000884et_nat @ M3 @ M3 ) ).

% mset_le_not_refl
thf(fact_196_mset__le__not__sym,axiom,
    ! [M3: multiset_nat,N3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ M3 @ N3 )
     => ~ ( ord_le5777773500796000884et_nat @ N3 @ M3 ) ) ).

% mset_le_not_sym
thf(fact_197_mset__le__irrefl,axiom,
    ! [M3: multiset_nat] :
      ~ ( ord_le5777773500796000884et_nat @ M3 @ M3 ) ).

% mset_le_irrefl
thf(fact_198_mset__le__trans,axiom,
    ! [K3: multiset_nat,M3: multiset_nat,N3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ K3 @ M3 )
     => ( ( ord_le5777773500796000884et_nat @ M3 @ N3 )
       => ( ord_le5777773500796000884et_nat @ K3 @ N3 ) ) ) ).

% mset_le_trans
thf(fact_199_mset__le__asym,axiom,
    ! [M3: multiset_nat,N3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ M3 @ N3 )
     => ~ ( ord_le5777773500796000884et_nat @ N3 @ M3 ) ) ).

% mset_le_asym
thf(fact_200_nle__le,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ~ ( ord_le6602235886369790592et_nat @ A @ B ) )
      = ( ( ord_le6602235886369790592et_nat @ B @ A )
        & ( B != A ) ) ) ).

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

% nle_le
thf(fact_202_le__cases3,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat,Z2: multiset_nat] :
      ( ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
       => ~ ( ord_le6602235886369790592et_nat @ Y3 @ Z2 ) )
     => ( ( ( ord_le6602235886369790592et_nat @ Y3 @ X2 )
         => ~ ( ord_le6602235886369790592et_nat @ X2 @ Z2 ) )
       => ( ( ( ord_le6602235886369790592et_nat @ X2 @ Z2 )
           => ~ ( ord_le6602235886369790592et_nat @ Z2 @ Y3 ) )
         => ( ( ( ord_le6602235886369790592et_nat @ Z2 @ Y3 )
             => ~ ( ord_le6602235886369790592et_nat @ Y3 @ X2 ) )
           => ( ( ( ord_le6602235886369790592et_nat @ Y3 @ Z2 )
               => ~ ( ord_le6602235886369790592et_nat @ Z2 @ X2 ) )
             => ~ ( ( ord_le6602235886369790592et_nat @ Z2 @ X2 )
                 => ~ ( ord_le6602235886369790592et_nat @ X2 @ Y3 ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_203_le__cases3,axiom,
    ! [X2: nat,Y3: nat,Z2: nat] :
      ( ( ( ord_less_eq_nat @ X2 @ Y3 )
       => ~ ( ord_less_eq_nat @ Y3 @ Z2 ) )
     => ( ( ( ord_less_eq_nat @ Y3 @ X2 )
         => ~ ( ord_less_eq_nat @ X2 @ Z2 ) )
       => ( ( ( ord_less_eq_nat @ X2 @ Z2 )
           => ~ ( ord_less_eq_nat @ Z2 @ Y3 ) )
         => ( ( ( ord_less_eq_nat @ Z2 @ Y3 )
             => ~ ( ord_less_eq_nat @ Y3 @ X2 ) )
           => ( ( ( ord_less_eq_nat @ Y3 @ Z2 )
               => ~ ( ord_less_eq_nat @ Z2 @ X2 ) )
             => ~ ( ( ord_less_eq_nat @ Z2 @ X2 )
                 => ~ ( ord_less_eq_nat @ X2 @ Y3 ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_204_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y: multiset_nat,Z: multiset_nat] : ( Y = Z ) )
    = ( ^ [X4: multiset_nat,Y4: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ X4 @ Y4 )
          & ( ord_le6602235886369790592et_nat @ Y4 @ X4 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_205_order__class_Oorder__eq__iff,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [X4: nat,Y4: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y4 )
          & ( ord_less_eq_nat @ Y4 @ X4 ) ) ) ) ).

% order_class.order_eq_iff
thf(fact_206_ord__eq__le__trans,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( A = B )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ord_le6602235886369790592et_nat @ A @ C ) ) ) ).

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

% ord_eq_le_trans
thf(fact_208_ord__le__eq__trans,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( B = C )
       => ( ord_le6602235886369790592et_nat @ A @ C ) ) ) ).

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

% ord_le_eq_trans
thf(fact_210_order__antisym,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
     => ( ( ord_le6602235886369790592et_nat @ Y3 @ X2 )
       => ( X2 = Y3 ) ) ) ).

% order_antisym
thf(fact_211_order__antisym,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y3 )
     => ( ( ord_less_eq_nat @ Y3 @ X2 )
       => ( X2 = Y3 ) ) ) ).

% order_antisym
thf(fact_212_order_Otrans,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ord_le6602235886369790592et_nat @ A @ C ) ) ) ).

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

% order.trans
thf(fact_214_order__trans,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat,Z2: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
     => ( ( ord_le6602235886369790592et_nat @ Y3 @ Z2 )
       => ( ord_le6602235886369790592et_nat @ X2 @ Z2 ) ) ) ).

% order_trans
thf(fact_215_order__trans,axiom,
    ! [X2: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y3 )
     => ( ( ord_less_eq_nat @ Y3 @ Z2 )
       => ( ord_less_eq_nat @ X2 @ Z2 ) ) ) ).

% order_trans
thf(fact_216_linorder__wlog,axiom,
    ! [P: multiset_nat > multiset_nat > $o,A: multiset_nat,B: multiset_nat] :
      ( ! [A3: multiset_nat,B2: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ A3 @ B2 )
         => ( P @ A3 @ B2 ) )
     => ( ! [A3: multiset_nat,B2: multiset_nat] :
            ( ( P @ B2 @ A3 )
           => ( P @ A3 @ B2 ) )
       => ( P @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_217_linorder__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B2: nat] :
          ( ( ord_less_eq_nat @ A3 @ B2 )
         => ( P @ A3 @ B2 ) )
     => ( ! [A3: nat,B2: nat] :
            ( ( P @ B2 @ A3 )
           => ( P @ A3 @ B2 ) )
       => ( P @ A @ B ) ) ) ).

% linorder_wlog
thf(fact_218_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y: multiset_nat,Z: multiset_nat] : ( Y = Z ) )
    = ( ^ [A4: multiset_nat,B3: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ B3 @ A4 )
          & ( ord_le6602235886369790592et_nat @ A4 @ B3 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_219_dual__order_Oeq__iff,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [A4: nat,B3: nat] :
          ( ( ord_less_eq_nat @ B3 @ A4 )
          & ( ord_less_eq_nat @ A4 @ B3 ) ) ) ) ).

% dual_order.eq_iff
thf(fact_220_dual__order_Oantisym,axiom,
    ! [B: multiset_nat,A: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ B @ A )
     => ( ( ord_le6602235886369790592et_nat @ A @ B )
       => ( A = B ) ) ) ).

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

% dual_order.antisym
thf(fact_222_dual__order_Otrans,axiom,
    ! [B: multiset_nat,A: multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ B @ A )
     => ( ( ord_le6602235886369790592et_nat @ C @ B )
       => ( ord_le6602235886369790592et_nat @ C @ A ) ) ) ).

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

% dual_order.trans
thf(fact_224_antisym,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ B @ A )
       => ( A = B ) ) ) ).

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

% antisym
thf(fact_226_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y: multiset_nat,Z: multiset_nat] : ( Y = Z ) )
    = ( ^ [A4: multiset_nat,B3: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ A4 @ B3 )
          & ( ord_le6602235886369790592et_nat @ B3 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_227_Orderings_Oorder__eq__iff,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [A4: nat,B3: nat] :
          ( ( ord_less_eq_nat @ A4 @ B3 )
          & ( ord_less_eq_nat @ B3 @ A4 ) ) ) ) ).

% Orderings.order_eq_iff
thf(fact_228_order__subst1,axiom,
    ! [A: nat,F: multiset_nat > nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_229_order__subst1,axiom,
    ! [A: multiset_nat,F: nat > multiset_nat,B: nat,C: nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_230_order__subst1,axiom,
    ! [A: multiset_nat,F: multiset_nat > multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ ( F @ B ) )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_231_order__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_subst1
thf(fact_232_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > multiset_nat,C: multiset_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_233_order__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > nat,C: nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_234_order__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_235_order__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_subst2
thf(fact_236_order__eq__refl,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( X2 = Y3 )
     => ( ord_le6602235886369790592et_nat @ X2 @ Y3 ) ) ).

% order_eq_refl
thf(fact_237_order__eq__refl,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( X2 = Y3 )
     => ( ord_less_eq_nat @ X2 @ Y3 ) ) ).

% order_eq_refl
thf(fact_238_linorder__linear,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
      | ( ord_le6602235886369790592et_nat @ Y3 @ X2 ) ) ).

% linorder_linear
thf(fact_239_linorder__linear,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y3 )
      | ( ord_less_eq_nat @ Y3 @ X2 ) ) ).

% linorder_linear
thf(fact_240_ord__eq__le__subst,axiom,
    ! [A: multiset_nat,F: nat > multiset_nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_241_ord__eq__le__subst,axiom,
    ! [A: nat,F: multiset_nat > nat,B: multiset_nat,C: multiset_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_242_ord__eq__le__subst,axiom,
    ! [A: multiset_nat,F: multiset_nat > multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_243_ord__eq__le__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_244_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > multiset_nat,C: multiset_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_245_ord__le__eq__subst,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > nat,C: nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_246_ord__le__eq__subst,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le6602235886369790592et_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_247_ord__le__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_eq_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_le_eq_subst
thf(fact_248_linorder__le__cases,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ~ ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
     => ( ord_le6602235886369790592et_nat @ Y3 @ X2 ) ) ).

% linorder_le_cases
thf(fact_249_linorder__le__cases,axiom,
    ! [X2: nat,Y3: nat] :
      ( ~ ( ord_less_eq_nat @ X2 @ Y3 )
     => ( ord_less_eq_nat @ Y3 @ X2 ) ) ).

% linorder_le_cases
thf(fact_250_order__antisym__conv,axiom,
    ! [Y3: multiset_nat,X2: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ Y3 @ X2 )
     => ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
        = ( X2 = Y3 ) ) ) ).

% order_antisym_conv
thf(fact_251_order__antisym__conv,axiom,
    ! [Y3: nat,X2: nat] :
      ( ( ord_less_eq_nat @ Y3 @ X2 )
     => ( ( ord_less_eq_nat @ X2 @ Y3 )
        = ( X2 = Y3 ) ) ) ).

% order_antisym_conv
thf(fact_252_gt__ex,axiom,
    ! [X2: multiset_nat] :
    ? [X_1: multiset_nat] : ( ord_le5777773500796000884et_nat @ X2 @ X_1 ) ).

% gt_ex
thf(fact_253_gt__ex,axiom,
    ! [X2: nat] :
    ? [X_1: nat] : ( ord_less_nat @ X2 @ X_1 ) ).

% gt_ex
thf(fact_254_less__imp__neq,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( X2 != Y3 ) ) ).

% less_imp_neq
thf(fact_255_less__imp__neq,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ( X2 != Y3 ) ) ).

% less_imp_neq
thf(fact_256_less__imp__neq,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ( X2 != Y3 ) ) ).

% less_imp_neq
thf(fact_257_order_Oasym,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ~ ( ord_le5777773500796000884et_nat @ B @ A ) ) ).

% order.asym
thf(fact_258_order_Oasym,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ~ ( ord_less_set_a @ B @ A ) ) ).

% order.asym
thf(fact_259_order_Oasym,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order.asym
thf(fact_260_ord__eq__less__trans,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( A = B )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ord_le5777773500796000884et_nat @ A @ C ) ) ) ).

% ord_eq_less_trans
thf(fact_261_ord__eq__less__trans,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( A = B )
     => ( ( ord_less_set_a @ B @ C )
       => ( ord_less_set_a @ A @ C ) ) ) ).

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

% ord_eq_less_trans
thf(fact_263_ord__less__eq__trans,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( B = C )
       => ( ord_le5777773500796000884et_nat @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_264_ord__less__eq__trans,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( B = C )
       => ( ord_less_set_a @ A @ C ) ) ) ).

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

% ord_less_eq_trans
thf(fact_266_less__induct,axiom,
    ! [P: multiset_nat > $o,A: multiset_nat] :
      ( ! [X5: multiset_nat] :
          ( ! [Y2: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ Y2 @ X5 )
             => ( P @ Y2 ) )
         => ( P @ X5 ) )
     => ( P @ A ) ) ).

% less_induct
thf(fact_267_less__induct,axiom,
    ! [P: nat > $o,A: nat] :
      ( ! [X5: nat] :
          ( ! [Y2: nat] :
              ( ( ord_less_nat @ Y2 @ X5 )
             => ( P @ Y2 ) )
         => ( P @ X5 ) )
     => ( P @ A ) ) ).

% less_induct
thf(fact_268_antisym__conv3,axiom,
    ! [Y3: multiset_nat,X2: multiset_nat] :
      ( ~ ( ord_le5777773500796000884et_nat @ Y3 @ X2 )
     => ( ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 ) )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv3
thf(fact_269_antisym__conv3,axiom,
    ! [Y3: nat,X2: nat] :
      ( ~ ( ord_less_nat @ Y3 @ X2 )
     => ( ( ~ ( ord_less_nat @ X2 @ Y3 ) )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv3
thf(fact_270_linorder__cases,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( ( X2 != Y3 )
       => ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ) ).

% linorder_cases
thf(fact_271_linorder__cases,axiom,
    ! [X2: nat,Y3: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y3 )
     => ( ( X2 != Y3 )
       => ( ord_less_nat @ Y3 @ X2 ) ) ) ).

% linorder_cases
thf(fact_272_dual__order_Oasym,axiom,
    ! [B: multiset_nat,A: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ B @ A )
     => ~ ( ord_le5777773500796000884et_nat @ A @ B ) ) ).

% dual_order.asym
thf(fact_273_dual__order_Oasym,axiom,
    ! [B: set_a,A: set_a] :
      ( ( ord_less_set_a @ B @ A )
     => ~ ( ord_less_set_a @ A @ B ) ) ).

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

% dual_order.asym
thf(fact_275_dual__order_Oirrefl,axiom,
    ! [A: multiset_nat] :
      ~ ( ord_le5777773500796000884et_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_276_dual__order_Oirrefl,axiom,
    ! [A: set_a] :
      ~ ( ord_less_set_a @ A @ A ) ).

% dual_order.irrefl
thf(fact_277_dual__order_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% dual_order.irrefl
thf(fact_278_exists__least__iff,axiom,
    ( ( ^ [P2: multiset_nat > $o] :
        ? [X6: multiset_nat] : ( P2 @ X6 ) )
    = ( ^ [P3: multiset_nat > $o] :
        ? [N2: multiset_nat] :
          ( ( P3 @ N2 )
          & ! [M2: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ M2 @ N2 )
             => ~ ( P3 @ M2 ) ) ) ) ) ).

% exists_least_iff
thf(fact_279_exists__least__iff,axiom,
    ( ( ^ [P2: nat > $o] :
        ? [X6: nat] : ( P2 @ X6 ) )
    = ( ^ [P3: nat > $o] :
        ? [N2: nat] :
          ( ( P3 @ N2 )
          & ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N2 )
             => ~ ( P3 @ M2 ) ) ) ) ) ).

% exists_least_iff
thf(fact_280_linorder__less__wlog,axiom,
    ! [P: multiset_nat > multiset_nat > $o,A: multiset_nat,B: multiset_nat] :
      ( ! [A3: multiset_nat,B2: multiset_nat] :
          ( ( ord_le5777773500796000884et_nat @ A3 @ B2 )
         => ( P @ A3 @ B2 ) )
     => ( ! [A3: multiset_nat] : ( P @ A3 @ A3 )
       => ( ! [A3: multiset_nat,B2: multiset_nat] :
              ( ( P @ B2 @ A3 )
             => ( P @ A3 @ B2 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_281_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B2: nat] :
          ( ( ord_less_nat @ A3 @ B2 )
         => ( P @ A3 @ B2 ) )
     => ( ! [A3: nat] : ( P @ A3 @ A3 )
       => ( ! [A3: nat,B2: nat] :
              ( ( P @ B2 @ A3 )
             => ( P @ A3 @ B2 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_282_order_Ostrict__trans,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ord_le5777773500796000884et_nat @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_283_order_Ostrict__trans,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_less_set_a @ B @ C )
       => ( ord_less_set_a @ A @ C ) ) ) ).

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

% order.strict_trans
thf(fact_285_not__less__iff__gr__or__eq,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 ) )
      = ( ( ord_le5777773500796000884et_nat @ Y3 @ X2 )
        | ( X2 = Y3 ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_286_not__less__iff__gr__or__eq,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ~ ( ord_less_nat @ X2 @ Y3 ) )
      = ( ( ord_less_nat @ Y3 @ X2 )
        | ( X2 = Y3 ) ) ) ).

% not_less_iff_gr_or_eq
thf(fact_287_dual__order_Ostrict__trans,axiom,
    ! [B: multiset_nat,A: multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ B @ A )
     => ( ( ord_le5777773500796000884et_nat @ C @ B )
       => ( ord_le5777773500796000884et_nat @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_288_dual__order_Ostrict__trans,axiom,
    ! [B: set_a,A: set_a,C: set_a] :
      ( ( ord_less_set_a @ B @ A )
     => ( ( ord_less_set_a @ C @ B )
       => ( ord_less_set_a @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_289_dual__order_Ostrict__trans,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_less_nat @ C @ B )
       => ( ord_less_nat @ C @ A ) ) ) ).

% dual_order.strict_trans
thf(fact_290_order_Ostrict__implies__not__eq,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( A != B ) ) ).

% order.strict_implies_not_eq
thf(fact_291_order_Ostrict__implies__not__eq,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( A != B ) ) ).

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

% order.strict_implies_not_eq
thf(fact_293_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: multiset_nat,A: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ B @ A )
     => ( A != B ) ) ).

% dual_order.strict_implies_not_eq
thf(fact_294_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: set_a,A: set_a] :
      ( ( ord_less_set_a @ B @ A )
     => ( A != B ) ) ).

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

% dual_order.strict_implies_not_eq
thf(fact_296_linorder__neqE,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( X2 != Y3 )
     => ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
       => ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ) ).

% linorder_neqE
thf(fact_297_linorder__neqE,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( X2 != Y3 )
     => ( ~ ( ord_less_nat @ X2 @ Y3 )
       => ( ord_less_nat @ Y3 @ X2 ) ) ) ).

% linorder_neqE
thf(fact_298_order__less__asym,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ~ ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ).

% order_less_asym
thf(fact_299_order__less__asym,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ~ ( ord_less_set_a @ Y3 @ X2 ) ) ).

% order_less_asym
thf(fact_300_order__less__asym,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ~ ( ord_less_nat @ Y3 @ X2 ) ) ).

% order_less_asym
thf(fact_301_linorder__neq__iff,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( X2 != Y3 )
      = ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
        | ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ) ).

% linorder_neq_iff
thf(fact_302_linorder__neq__iff,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( X2 != Y3 )
      = ( ( ord_less_nat @ X2 @ Y3 )
        | ( ord_less_nat @ Y3 @ X2 ) ) ) ).

% linorder_neq_iff
thf(fact_303_order__less__asym_H,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ~ ( ord_le5777773500796000884et_nat @ B @ A ) ) ).

% order_less_asym'
thf(fact_304_order__less__asym_H,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ~ ( ord_less_set_a @ B @ A ) ) ).

% order_less_asym'
thf(fact_305_order__less__asym_H,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ( ord_less_nat @ B @ A ) ) ).

% order_less_asym'
thf(fact_306_order__less__trans,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat,Z2: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( ( ord_le5777773500796000884et_nat @ Y3 @ Z2 )
       => ( ord_le5777773500796000884et_nat @ X2 @ Z2 ) ) ) ).

% order_less_trans
thf(fact_307_order__less__trans,axiom,
    ! [X2: set_a,Y3: set_a,Z2: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ( ( ord_less_set_a @ Y3 @ Z2 )
       => ( ord_less_set_a @ X2 @ Z2 ) ) ) ).

% order_less_trans
thf(fact_308_order__less__trans,axiom,
    ! [X2: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ( ( ord_less_nat @ Y3 @ Z2 )
       => ( ord_less_nat @ X2 @ Z2 ) ) ) ).

% order_less_trans
thf(fact_309_ord__eq__less__subst,axiom,
    ! [A: multiset_nat,F: nat > multiset_nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_310_ord__eq__less__subst,axiom,
    ! [A: set_a,F: nat > set_a,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_311_ord__eq__less__subst,axiom,
    ! [A: nat,F: multiset_nat > nat,B: multiset_nat,C: multiset_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_312_ord__eq__less__subst,axiom,
    ! [A: multiset_nat,F: multiset_nat > multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_313_ord__eq__less__subst,axiom,
    ! [A: set_a,F: multiset_nat > set_a,B: multiset_nat,C: multiset_nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_314_ord__eq__less__subst,axiom,
    ! [A: nat,F: set_a > nat,B: set_a,C: set_a] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_315_ord__eq__less__subst,axiom,
    ! [A: multiset_nat,F: set_a > multiset_nat,B: set_a,C: set_a] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_316_ord__eq__less__subst,axiom,
    ! [A: set_a,F: set_a > set_a,B: set_a,C: set_a] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_317_ord__eq__less__subst,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( A
        = ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% ord_eq_less_subst
thf(fact_318_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > multiset_nat,C: multiset_nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_319_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > set_a,C: set_a] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_320_ord__less__eq__subst,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > nat,C: nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_321_ord__less__eq__subst,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_322_ord__less__eq__subst,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > set_a,C: set_a] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_323_ord__less__eq__subst,axiom,
    ! [A: set_a,B: set_a,F: set_a > nat,C: nat] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_324_ord__less__eq__subst,axiom,
    ! [A: set_a,B: set_a,F: set_a > multiset_nat,C: multiset_nat] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_325_ord__less__eq__subst,axiom,
    ! [A: set_a,B: set_a,F: set_a > set_a,C: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_326_ord__less__eq__subst,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ( F @ B )
          = C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% ord_less_eq_subst
thf(fact_327_order__less__irrefl,axiom,
    ! [X2: multiset_nat] :
      ~ ( ord_le5777773500796000884et_nat @ X2 @ X2 ) ).

% order_less_irrefl
thf(fact_328_order__less__irrefl,axiom,
    ! [X2: set_a] :
      ~ ( ord_less_set_a @ X2 @ X2 ) ).

% order_less_irrefl
thf(fact_329_order__less__irrefl,axiom,
    ! [X2: nat] :
      ~ ( ord_less_nat @ X2 @ X2 ) ).

% order_less_irrefl
thf(fact_330_order__less__subst1,axiom,
    ! [A: nat,F: multiset_nat > nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_331_order__less__subst1,axiom,
    ! [A: nat,F: set_a > nat,B: set_a,C: set_a] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_332_order__less__subst1,axiom,
    ! [A: multiset_nat,F: nat > multiset_nat,B: nat,C: nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_333_order__less__subst1,axiom,
    ! [A: multiset_nat,F: multiset_nat > multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_334_order__less__subst1,axiom,
    ! [A: multiset_nat,F: set_a > multiset_nat,B: set_a,C: set_a] :
      ( ( ord_le5777773500796000884et_nat @ A @ ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_335_order__less__subst1,axiom,
    ! [A: set_a,F: nat > set_a,B: nat,C: nat] :
      ( ( ord_less_set_a @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_336_order__less__subst1,axiom,
    ! [A: set_a,F: multiset_nat > set_a,B: multiset_nat,C: multiset_nat] :
      ( ( ord_less_set_a @ A @ ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_337_order__less__subst1,axiom,
    ! [A: set_a,F: set_a > set_a,B: set_a,C: set_a] :
      ( ( ord_less_set_a @ A @ ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_338_order__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_subst1
thf(fact_339_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > multiset_nat,C: multiset_nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_le5777773500796000884et_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_340_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_a,C: set_a] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_set_a @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_341_order__less__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > nat,C: nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_342_order__less__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_le5777773500796000884et_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_343_order__less__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > set_a,C: set_a] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_less_set_a @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_344_order__less__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > nat,C: nat] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_345_order__less__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > multiset_nat,C: multiset_nat] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_le5777773500796000884et_nat @ ( F @ B ) @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_346_order__less__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > set_a,C: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_less_set_a @ ( F @ B ) @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_347_order__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_subst2
thf(fact_348_order__less__not__sym,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ~ ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ).

% order_less_not_sym
thf(fact_349_order__less__not__sym,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ~ ( ord_less_set_a @ Y3 @ X2 ) ) ).

% order_less_not_sym
thf(fact_350_order__less__not__sym,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ~ ( ord_less_nat @ Y3 @ X2 ) ) ).

% order_less_not_sym
thf(fact_351_order__less__imp__triv,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat,P: $o] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( ( ord_le5777773500796000884et_nat @ Y3 @ X2 )
       => P ) ) ).

% order_less_imp_triv
thf(fact_352_order__less__imp__triv,axiom,
    ! [X2: set_a,Y3: set_a,P: $o] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ( ( ord_less_set_a @ Y3 @ X2 )
       => P ) ) ).

% order_less_imp_triv
thf(fact_353_order__less__imp__triv,axiom,
    ! [X2: nat,Y3: nat,P: $o] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ( ( ord_less_nat @ Y3 @ X2 )
       => P ) ) ).

% order_less_imp_triv
thf(fact_354_linorder__less__linear,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
      | ( X2 = Y3 )
      | ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ).

% linorder_less_linear
thf(fact_355_linorder__less__linear,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
      | ( X2 = Y3 )
      | ( ord_less_nat @ Y3 @ X2 ) ) ).

% linorder_less_linear
thf(fact_356_order__less__imp__not__eq,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( X2 != Y3 ) ) ).

% order_less_imp_not_eq
thf(fact_357_order__less__imp__not__eq,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ( X2 != Y3 ) ) ).

% order_less_imp_not_eq
thf(fact_358_order__less__imp__not__eq,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ( X2 != Y3 ) ) ).

% order_less_imp_not_eq
thf(fact_359_order__less__imp__not__eq2,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( Y3 != X2 ) ) ).

% order_less_imp_not_eq2
thf(fact_360_order__less__imp__not__eq2,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ( Y3 != X2 ) ) ).

% order_less_imp_not_eq2
thf(fact_361_order__less__imp__not__eq2,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ( Y3 != X2 ) ) ).

% order_less_imp_not_eq2
thf(fact_362_order__less__imp__not__less,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ~ ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ).

% order_less_imp_not_less
thf(fact_363_order__less__imp__not__less,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ~ ( ord_less_set_a @ Y3 @ X2 ) ) ).

% order_less_imp_not_less
thf(fact_364_order__less__imp__not__less,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ~ ( ord_less_nat @ Y3 @ X2 ) ) ).

% order_less_imp_not_less
thf(fact_365_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_366_less__not__refl,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

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

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

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

% less_irrefl_nat
thf(fact_370_nat__less__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N5: nat] :
          ( ! [M5: nat] :
              ( ( ord_less_nat @ M5 @ N5 )
             => ( P @ M5 ) )
         => ( P @ N5 ) )
     => ( P @ N ) ) ).

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

% infinite_descent
thf(fact_372_linorder__neqE__nat,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( X2 != Y3 )
     => ( ~ ( ord_less_nat @ X2 @ Y3 )
       => ( ord_less_nat @ Y3 @ X2 ) ) ) ).

% linorder_neqE_nat
thf(fact_373_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

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

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

% eq_imp_le
thf(fact_376_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_377_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_378_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y5: nat] :
            ( ( P @ Y5 )
           => ( ord_less_eq_nat @ Y5 @ B ) )
       => ? [X5: nat] :
            ( ( P @ X5 )
            & ! [Y2: nat] :
                ( ( P @ Y2 )
               => ( ord_less_eq_nat @ Y2 @ X5 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_379_size__neq__size__imp__neq,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ( size_s5917832649809541300et_nat @ X2 )
       != ( size_s5917832649809541300et_nat @ Y3 ) )
     => ( X2 != Y3 ) ) ).

% size_neq_size_imp_neq
thf(fact_380_size__neq__size__imp__neq,axiom,
    ! [X2: multiset_a,Y3: multiset_a] :
      ( ( ( size_size_multiset_a @ X2 )
       != ( size_size_multiset_a @ Y3 ) )
     => ( X2 != Y3 ) ) ).

% size_neq_size_imp_neq
thf(fact_381_size__neq__size__imp__neq,axiom,
    ! [X2: list_P6011104703257516679at_nat,Y3: list_P6011104703257516679at_nat] :
      ( ( ( size_s5460976970255530739at_nat @ X2 )
       != ( size_s5460976970255530739at_nat @ Y3 ) )
     => ( X2 != Y3 ) ) ).

% size_neq_size_imp_neq
thf(fact_382_size__neq__size__imp__neq,axiom,
    ! [X2: list_P2851791750731487283_nat_a,Y3: list_P2851791750731487283_nat_a] :
      ( ( ( size_s243904063682394823_nat_a @ X2 )
       != ( size_s243904063682394823_nat_a @ Y3 ) )
     => ( X2 != Y3 ) ) ).

% size_neq_size_imp_neq
thf(fact_383_size__neq__size__imp__neq,axiom,
    ! [X2: list_a,Y3: list_a] :
      ( ( ( size_size_list_a @ X2 )
       != ( size_size_list_a @ Y3 ) )
     => ( X2 != Y3 ) ) ).

% size_neq_size_imp_neq
thf(fact_384_size__neq__size__imp__neq,axiom,
    ! [X2: list_nat,Y3: list_nat] :
      ( ( ( size_size_list_nat @ X2 )
       != ( size_size_list_nat @ Y3 ) )
     => ( X2 != Y3 ) ) ).

% size_neq_size_imp_neq
thf(fact_385_size__neq__size__imp__neq,axiom,
    ! [X2: char,Y3: char] :
      ( ( ( size_size_char @ X2 )
       != ( size_size_char @ Y3 ) )
     => ( X2 != Y3 ) ) ).

% size_neq_size_imp_neq
thf(fact_386_leD,axiom,
    ! [Y3: set_a,X2: set_a] :
      ( ( ord_less_eq_set_a @ Y3 @ X2 )
     => ~ ( ord_less_set_a @ X2 @ Y3 ) ) ).

% leD
thf(fact_387_leD,axiom,
    ! [Y3: multiset_nat,X2: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ Y3 @ X2 )
     => ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 ) ) ).

% leD
thf(fact_388_leD,axiom,
    ! [Y3: nat,X2: nat] :
      ( ( ord_less_eq_nat @ Y3 @ X2 )
     => ~ ( ord_less_nat @ X2 @ Y3 ) ) ).

% leD
thf(fact_389_leI,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( ord_le6602235886369790592et_nat @ Y3 @ X2 ) ) ).

% leI
thf(fact_390_leI,axiom,
    ! [X2: nat,Y3: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y3 )
     => ( ord_less_eq_nat @ Y3 @ X2 ) ) ).

% leI
thf(fact_391_nless__le,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ~ ( ord_less_set_a @ A @ B ) )
      = ( ~ ( ord_less_eq_set_a @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_392_nless__le,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ~ ( ord_le5777773500796000884et_nat @ A @ B ) )
      = ( ~ ( ord_le6602235886369790592et_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_393_nless__le,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( ord_less_nat @ A @ B ) )
      = ( ~ ( ord_less_eq_nat @ A @ B )
        | ( A = B ) ) ) ).

% nless_le
thf(fact_394_antisym__conv1,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ~ ( ord_less_set_a @ X2 @ Y3 )
     => ( ( ord_less_eq_set_a @ X2 @ Y3 )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv1
thf(fact_395_antisym__conv1,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv1
thf(fact_396_antisym__conv1,axiom,
    ! [X2: nat,Y3: nat] :
      ( ~ ( ord_less_nat @ X2 @ Y3 )
     => ( ( ord_less_eq_nat @ X2 @ Y3 )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv1
thf(fact_397_antisym__conv2,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_eq_set_a @ X2 @ Y3 )
     => ( ( ~ ( ord_less_set_a @ X2 @ Y3 ) )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv2
thf(fact_398_antisym__conv2,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
     => ( ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 ) )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv2
thf(fact_399_antisym__conv2,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y3 )
     => ( ( ~ ( ord_less_nat @ X2 @ Y3 ) )
        = ( X2 = Y3 ) ) ) ).

% antisym_conv2
thf(fact_400_less__le__not__le,axiom,
    ( ord_less_set_a
    = ( ^ [X4: set_a,Y4: set_a] :
          ( ( ord_less_eq_set_a @ X4 @ Y4 )
          & ~ ( ord_less_eq_set_a @ Y4 @ X4 ) ) ) ) ).

% less_le_not_le
thf(fact_401_less__le__not__le,axiom,
    ( ord_le5777773500796000884et_nat
    = ( ^ [X4: multiset_nat,Y4: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ X4 @ Y4 )
          & ~ ( ord_le6602235886369790592et_nat @ Y4 @ X4 ) ) ) ) ).

% less_le_not_le
thf(fact_402_less__le__not__le,axiom,
    ( ord_less_nat
    = ( ^ [X4: nat,Y4: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y4 )
          & ~ ( ord_less_eq_nat @ Y4 @ X4 ) ) ) ) ).

% less_le_not_le
thf(fact_403_not__le__imp__less,axiom,
    ! [Y3: multiset_nat,X2: multiset_nat] :
      ( ~ ( ord_le6602235886369790592et_nat @ Y3 @ X2 )
     => ( ord_le5777773500796000884et_nat @ X2 @ Y3 ) ) ).

% not_le_imp_less
thf(fact_404_not__le__imp__less,axiom,
    ! [Y3: nat,X2: nat] :
      ( ~ ( ord_less_eq_nat @ Y3 @ X2 )
     => ( ord_less_nat @ X2 @ Y3 ) ) ).

% not_le_imp_less
thf(fact_405_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_set_a
    = ( ^ [A4: set_a,B3: set_a] :
          ( ( ord_less_set_a @ A4 @ B3 )
          | ( A4 = B3 ) ) ) ) ).

% order.order_iff_strict
thf(fact_406_order_Oorder__iff__strict,axiom,
    ( ord_le6602235886369790592et_nat
    = ( ^ [A4: multiset_nat,B3: multiset_nat] :
          ( ( ord_le5777773500796000884et_nat @ A4 @ B3 )
          | ( A4 = B3 ) ) ) ) ).

% order.order_iff_strict
thf(fact_407_order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B3: nat] :
          ( ( ord_less_nat @ A4 @ B3 )
          | ( A4 = B3 ) ) ) ) ).

% order.order_iff_strict
thf(fact_408_order_Ostrict__iff__order,axiom,
    ( ord_less_set_a
    = ( ^ [A4: set_a,B3: set_a] :
          ( ( ord_less_eq_set_a @ A4 @ B3 )
          & ( A4 != B3 ) ) ) ) ).

% order.strict_iff_order
thf(fact_409_order_Ostrict__iff__order,axiom,
    ( ord_le5777773500796000884et_nat
    = ( ^ [A4: multiset_nat,B3: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ A4 @ B3 )
          & ( A4 != B3 ) ) ) ) ).

% order.strict_iff_order
thf(fact_410_order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [A4: nat,B3: nat] :
          ( ( ord_less_eq_nat @ A4 @ B3 )
          & ( A4 != B3 ) ) ) ) ).

% order.strict_iff_order
thf(fact_411_order_Ostrict__trans1,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( ord_less_set_a @ B @ C )
       => ( ord_less_set_a @ A @ C ) ) ) ).

% order.strict_trans1
thf(fact_412_order_Ostrict__trans1,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ord_le5777773500796000884et_nat @ A @ C ) ) ) ).

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

% order.strict_trans1
thf(fact_414_order_Ostrict__trans2,axiom,
    ! [A: set_a,B: set_a,C: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_less_eq_set_a @ B @ C )
       => ( ord_less_set_a @ A @ C ) ) ) ).

% order.strict_trans2
thf(fact_415_order_Ostrict__trans2,axiom,
    ! [A: multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ord_le5777773500796000884et_nat @ A @ C ) ) ) ).

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

% order.strict_trans2
thf(fact_417_order_Ostrict__iff__not,axiom,
    ( ord_less_set_a
    = ( ^ [A4: set_a,B3: set_a] :
          ( ( ord_less_eq_set_a @ A4 @ B3 )
          & ~ ( ord_less_eq_set_a @ B3 @ A4 ) ) ) ) ).

% order.strict_iff_not
thf(fact_418_order_Ostrict__iff__not,axiom,
    ( ord_le5777773500796000884et_nat
    = ( ^ [A4: multiset_nat,B3: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ A4 @ B3 )
          & ~ ( ord_le6602235886369790592et_nat @ B3 @ A4 ) ) ) ) ).

% order.strict_iff_not
thf(fact_419_order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [A4: nat,B3: nat] :
          ( ( ord_less_eq_nat @ A4 @ B3 )
          & ~ ( ord_less_eq_nat @ B3 @ A4 ) ) ) ) ).

% order.strict_iff_not
thf(fact_420_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_set_a
    = ( ^ [B3: set_a,A4: set_a] :
          ( ( ord_less_set_a @ B3 @ A4 )
          | ( A4 = B3 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_421_dual__order_Oorder__iff__strict,axiom,
    ( ord_le6602235886369790592et_nat
    = ( ^ [B3: multiset_nat,A4: multiset_nat] :
          ( ( ord_le5777773500796000884et_nat @ B3 @ A4 )
          | ( A4 = B3 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_422_dual__order_Oorder__iff__strict,axiom,
    ( ord_less_eq_nat
    = ( ^ [B3: nat,A4: nat] :
          ( ( ord_less_nat @ B3 @ A4 )
          | ( A4 = B3 ) ) ) ) ).

% dual_order.order_iff_strict
thf(fact_423_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_set_a
    = ( ^ [B3: set_a,A4: set_a] :
          ( ( ord_less_eq_set_a @ B3 @ A4 )
          & ( A4 != B3 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_424_dual__order_Ostrict__iff__order,axiom,
    ( ord_le5777773500796000884et_nat
    = ( ^ [B3: multiset_nat,A4: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ B3 @ A4 )
          & ( A4 != B3 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_425_dual__order_Ostrict__iff__order,axiom,
    ( ord_less_nat
    = ( ^ [B3: nat,A4: nat] :
          ( ( ord_less_eq_nat @ B3 @ A4 )
          & ( A4 != B3 ) ) ) ) ).

% dual_order.strict_iff_order
thf(fact_426_dual__order_Ostrict__trans1,axiom,
    ! [B: set_a,A: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ B @ A )
     => ( ( ord_less_set_a @ C @ B )
       => ( ord_less_set_a @ C @ A ) ) ) ).

% dual_order.strict_trans1
thf(fact_427_dual__order_Ostrict__trans1,axiom,
    ! [B: multiset_nat,A: multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ B @ A )
     => ( ( ord_le5777773500796000884et_nat @ C @ B )
       => ( ord_le5777773500796000884et_nat @ C @ A ) ) ) ).

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

% dual_order.strict_trans1
thf(fact_429_dual__order_Ostrict__trans2,axiom,
    ! [B: set_a,A: set_a,C: set_a] :
      ( ( ord_less_set_a @ B @ A )
     => ( ( ord_less_eq_set_a @ C @ B )
       => ( ord_less_set_a @ C @ A ) ) ) ).

% dual_order.strict_trans2
thf(fact_430_dual__order_Ostrict__trans2,axiom,
    ! [B: multiset_nat,A: multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ B @ A )
     => ( ( ord_le6602235886369790592et_nat @ C @ B )
       => ( ord_le5777773500796000884et_nat @ C @ A ) ) ) ).

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

% dual_order.strict_trans2
thf(fact_432_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_set_a
    = ( ^ [B3: set_a,A4: set_a] :
          ( ( ord_less_eq_set_a @ B3 @ A4 )
          & ~ ( ord_less_eq_set_a @ A4 @ B3 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_433_dual__order_Ostrict__iff__not,axiom,
    ( ord_le5777773500796000884et_nat
    = ( ^ [B3: multiset_nat,A4: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ B3 @ A4 )
          & ~ ( ord_le6602235886369790592et_nat @ A4 @ B3 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_434_dual__order_Ostrict__iff__not,axiom,
    ( ord_less_nat
    = ( ^ [B3: nat,A4: nat] :
          ( ( ord_less_eq_nat @ B3 @ A4 )
          & ~ ( ord_less_eq_nat @ A4 @ B3 ) ) ) ) ).

% dual_order.strict_iff_not
thf(fact_435_order_Ostrict__implies__order,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( ord_less_eq_set_a @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_436_order_Ostrict__implies__order,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ord_le6602235886369790592et_nat @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_437_order_Ostrict__implies__order,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% order.strict_implies_order
thf(fact_438_dual__order_Ostrict__implies__order,axiom,
    ! [B: set_a,A: set_a] :
      ( ( ord_less_set_a @ B @ A )
     => ( ord_less_eq_set_a @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_439_dual__order_Ostrict__implies__order,axiom,
    ! [B: multiset_nat,A: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ B @ A )
     => ( ord_le6602235886369790592et_nat @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_440_dual__order_Ostrict__implies__order,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ord_less_eq_nat @ B @ A ) ) ).

% dual_order.strict_implies_order
thf(fact_441_order__le__less,axiom,
    ( ord_less_eq_set_a
    = ( ^ [X4: set_a,Y4: set_a] :
          ( ( ord_less_set_a @ X4 @ Y4 )
          | ( X4 = Y4 ) ) ) ) ).

% order_le_less
thf(fact_442_order__le__less,axiom,
    ( ord_le6602235886369790592et_nat
    = ( ^ [X4: multiset_nat,Y4: multiset_nat] :
          ( ( ord_le5777773500796000884et_nat @ X4 @ Y4 )
          | ( X4 = Y4 ) ) ) ) ).

% order_le_less
thf(fact_443_order__le__less,axiom,
    ( ord_less_eq_nat
    = ( ^ [X4: nat,Y4: nat] :
          ( ( ord_less_nat @ X4 @ Y4 )
          | ( X4 = Y4 ) ) ) ) ).

% order_le_less
thf(fact_444_order__less__le,axiom,
    ( ord_less_set_a
    = ( ^ [X4: set_a,Y4: set_a] :
          ( ( ord_less_eq_set_a @ X4 @ Y4 )
          & ( X4 != Y4 ) ) ) ) ).

% order_less_le
thf(fact_445_order__less__le,axiom,
    ( ord_le5777773500796000884et_nat
    = ( ^ [X4: multiset_nat,Y4: multiset_nat] :
          ( ( ord_le6602235886369790592et_nat @ X4 @ Y4 )
          & ( X4 != Y4 ) ) ) ) ).

% order_less_le
thf(fact_446_order__less__le,axiom,
    ( ord_less_nat
    = ( ^ [X4: nat,Y4: nat] :
          ( ( ord_less_eq_nat @ X4 @ Y4 )
          & ( X4 != Y4 ) ) ) ) ).

% order_less_le
thf(fact_447_linorder__not__le,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ~ ( ord_le6602235886369790592et_nat @ X2 @ Y3 ) )
      = ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ).

% linorder_not_le
thf(fact_448_linorder__not__le,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ~ ( ord_less_eq_nat @ X2 @ Y3 ) )
      = ( ord_less_nat @ Y3 @ X2 ) ) ).

% linorder_not_le
thf(fact_449_linorder__not__less,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ~ ( ord_le5777773500796000884et_nat @ X2 @ Y3 ) )
      = ( ord_le6602235886369790592et_nat @ Y3 @ X2 ) ) ).

% linorder_not_less
thf(fact_450_linorder__not__less,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ~ ( ord_less_nat @ X2 @ Y3 ) )
      = ( ord_less_eq_nat @ Y3 @ X2 ) ) ).

% linorder_not_less
thf(fact_451_order__less__imp__le,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ( ord_less_eq_set_a @ X2 @ Y3 ) ) ).

% order_less_imp_le
thf(fact_452_order__less__imp__le,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( ord_le6602235886369790592et_nat @ X2 @ Y3 ) ) ).

% order_less_imp_le
thf(fact_453_order__less__imp__le,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ( ord_less_eq_nat @ X2 @ Y3 ) ) ).

% order_less_imp_le
thf(fact_454_order__le__neq__trans,axiom,
    ! [A: set_a,B: set_a] :
      ( ( ord_less_eq_set_a @ A @ B )
     => ( ( A != B )
       => ( ord_less_set_a @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_455_order__le__neq__trans,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( A != B )
       => ( ord_le5777773500796000884et_nat @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_456_order__le__neq__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( A != B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_le_neq_trans
thf(fact_457_order__neq__le__trans,axiom,
    ! [A: set_a,B: set_a] :
      ( ( A != B )
     => ( ( ord_less_eq_set_a @ A @ B )
       => ( ord_less_set_a @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_458_order__neq__le__trans,axiom,
    ! [A: multiset_nat,B: multiset_nat] :
      ( ( A != B )
     => ( ( ord_le6602235886369790592et_nat @ A @ B )
       => ( ord_le5777773500796000884et_nat @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_459_order__neq__le__trans,axiom,
    ! [A: nat,B: nat] :
      ( ( A != B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% order_neq_le_trans
thf(fact_460_order__le__less__trans,axiom,
    ! [X2: set_a,Y3: set_a,Z2: set_a] :
      ( ( ord_less_eq_set_a @ X2 @ Y3 )
     => ( ( ord_less_set_a @ Y3 @ Z2 )
       => ( ord_less_set_a @ X2 @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_461_order__le__less__trans,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat,Z2: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
     => ( ( ord_le5777773500796000884et_nat @ Y3 @ Z2 )
       => ( ord_le5777773500796000884et_nat @ X2 @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_462_order__le__less__trans,axiom,
    ! [X2: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y3 )
     => ( ( ord_less_nat @ Y3 @ Z2 )
       => ( ord_less_nat @ X2 @ Z2 ) ) ) ).

% order_le_less_trans
thf(fact_463_order__less__le__trans,axiom,
    ! [X2: set_a,Y3: set_a,Z2: set_a] :
      ( ( ord_less_set_a @ X2 @ Y3 )
     => ( ( ord_less_eq_set_a @ Y3 @ Z2 )
       => ( ord_less_set_a @ X2 @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_464_order__less__le__trans,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat,Z2: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
     => ( ( ord_le6602235886369790592et_nat @ Y3 @ Z2 )
       => ( ord_le5777773500796000884et_nat @ X2 @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_465_order__less__le__trans,axiom,
    ! [X2: nat,Y3: nat,Z2: nat] :
      ( ( ord_less_nat @ X2 @ Y3 )
     => ( ( ord_less_eq_nat @ Y3 @ Z2 )
       => ( ord_less_nat @ X2 @ Z2 ) ) ) ).

% order_less_le_trans
thf(fact_466_order__le__less__subst1,axiom,
    ! [A: set_a,F: nat > set_a,B: nat,C: nat] :
      ( ( ord_less_eq_set_a @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_467_order__le__less__subst1,axiom,
    ! [A: set_a,F: multiset_nat > set_a,B: multiset_nat,C: multiset_nat] :
      ( ( ord_less_eq_set_a @ A @ ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_468_order__le__less__subst1,axiom,
    ! [A: set_a,F: set_a > set_a,B: set_a,C: set_a] :
      ( ( ord_less_eq_set_a @ A @ ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_469_order__le__less__subst1,axiom,
    ! [A: nat,F: multiset_nat > nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_470_order__le__less__subst1,axiom,
    ! [A: nat,F: set_a > nat,B: set_a,C: set_a] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_471_order__le__less__subst1,axiom,
    ! [A: multiset_nat,F: nat > multiset_nat,B: nat,C: nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_472_order__le__less__subst1,axiom,
    ! [A: multiset_nat,F: multiset_nat > multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ ( F @ B ) )
     => ( ( ord_le5777773500796000884et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_473_order__le__less__subst1,axiom,
    ! [A: multiset_nat,F: set_a > multiset_nat,B: set_a,C: set_a] :
      ( ( ord_le6602235886369790592et_nat @ A @ ( F @ B ) )
     => ( ( ord_less_set_a @ B @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_474_order__le__less__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( F @ B ) )
     => ( ( ord_less_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_le_less_subst1
thf(fact_475_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_a,C: set_a] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_set_a @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_476_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > multiset_nat,C: multiset_nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_le5777773500796000884et_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_477_order__le__less__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > set_a,C: set_a] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_less_set_a @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_478_order__le__less__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > nat,C: nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_479_order__le__less__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > multiset_nat,C: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ A @ B )
     => ( ( ord_le5777773500796000884et_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_480_order__le__less__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_le_less_subst2
thf(fact_481_order__less__le__subst1,axiom,
    ! [A: set_a,F: nat > set_a,B: nat,C: nat] :
      ( ( ord_less_set_a @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_482_order__less__le__subst1,axiom,
    ! [A: multiset_nat,F: nat > multiset_nat,B: nat,C: nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_483_order__less__le__subst1,axiom,
    ! [A: set_a,F: multiset_nat > set_a,B: multiset_nat,C: multiset_nat] :
      ( ( ord_less_set_a @ A @ ( F @ B ) )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_484_order__less__le__subst1,axiom,
    ! [A: nat,F: multiset_nat > nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_485_order__less__le__subst1,axiom,
    ! [A: multiset_nat,F: multiset_nat > multiset_nat,B: multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ ( F @ B ) )
     => ( ( ord_le6602235886369790592et_nat @ B @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le6602235886369790592et_nat @ X5 @ Y5 )
             => ( ord_le6602235886369790592et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_486_order__less__le__subst1,axiom,
    ! [A: nat,F: nat > nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( F @ B ) )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_eq_nat @ X5 @ Y5 )
             => ( ord_less_eq_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ A @ ( F @ C ) ) ) ) ) ).

% order_less_le_subst1
thf(fact_487_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > set_a,C: set_a] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_set_a @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_488_order__less__le__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > set_a,C: set_a] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_less_eq_set_a @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_489_order__less__le__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > set_a,C: set_a] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_less_eq_set_a @ ( F @ B ) @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_set_a @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_set_a @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_490_order__less__le__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > nat,C: nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_491_order__less__le__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > nat,C: nat] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_492_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > multiset_nat,C: multiset_nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_493_order__less__le__subst2,axiom,
    ! [A: multiset_nat,B: multiset_nat,F: multiset_nat > multiset_nat,C: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ ( F @ B ) @ C )
       => ( ! [X5: multiset_nat,Y5: multiset_nat] :
              ( ( ord_le5777773500796000884et_nat @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_494_order__less__le__subst2,axiom,
    ! [A: set_a,B: set_a,F: set_a > multiset_nat,C: multiset_nat] :
      ( ( ord_less_set_a @ A @ B )
     => ( ( ord_le6602235886369790592et_nat @ ( F @ B ) @ C )
       => ( ! [X5: set_a,Y5: set_a] :
              ( ( ord_less_set_a @ X5 @ Y5 )
             => ( ord_le5777773500796000884et_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_le5777773500796000884et_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_495_order__less__le__subst2,axiom,
    ! [A: nat,B: nat,F: nat > nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ ( F @ B ) @ C )
       => ( ! [X5: nat,Y5: nat] :
              ( ( ord_less_nat @ X5 @ Y5 )
             => ( ord_less_nat @ ( F @ X5 ) @ ( F @ Y5 ) ) )
         => ( ord_less_nat @ ( F @ A ) @ C ) ) ) ) ).

% order_less_le_subst2
thf(fact_496_linorder__le__less__linear,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
      | ( ord_le5777773500796000884et_nat @ Y3 @ X2 ) ) ).

% linorder_le_less_linear
thf(fact_497_linorder__le__less__linear,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y3 )
      | ( ord_less_nat @ Y3 @ X2 ) ) ).

% linorder_le_less_linear
thf(fact_498_order__le__imp__less__or__eq,axiom,
    ! [X2: set_a,Y3: set_a] :
      ( ( ord_less_eq_set_a @ X2 @ Y3 )
     => ( ( ord_less_set_a @ X2 @ Y3 )
        | ( X2 = Y3 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_499_order__le__imp__less__or__eq,axiom,
    ! [X2: multiset_nat,Y3: multiset_nat] :
      ( ( ord_le6602235886369790592et_nat @ X2 @ Y3 )
     => ( ( ord_le5777773500796000884et_nat @ X2 @ Y3 )
        | ( X2 = Y3 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_500_order__le__imp__less__or__eq,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X2 @ Y3 )
     => ( ( ord_less_nat @ X2 @ Y3 )
        | ( X2 = Y3 ) ) ) ).

% order_le_imp_less_or_eq
thf(fact_501_minf_I8_J,axiom,
    ! [T: multiset_nat] :
    ? [Z3: multiset_nat] :
    ! [X7: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X7 @ Z3 )
     => ~ ( ord_le6602235886369790592et_nat @ T @ X7 ) ) ).

% minf(8)
thf(fact_502_minf_I8_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z3 )
     => ~ ( ord_less_eq_nat @ T @ X7 ) ) ).

% minf(8)
thf(fact_503_minf_I6_J,axiom,
    ! [T: multiset_nat] :
    ? [Z3: multiset_nat] :
    ! [X7: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ X7 @ Z3 )
     => ( ord_le6602235886369790592et_nat @ X7 @ T ) ) ).

% minf(6)
thf(fact_504_minf_I6_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z3 )
     => ( ord_less_eq_nat @ X7 @ T ) ) ).

% minf(6)
thf(fact_505_pinf_I8_J,axiom,
    ! [T: multiset_nat] :
    ? [Z3: multiset_nat] :
    ! [X7: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ Z3 @ X7 )
     => ( ord_le6602235886369790592et_nat @ T @ X7 ) ) ).

% pinf(8)
thf(fact_506_pinf_I8_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z3 @ X7 )
     => ( ord_less_eq_nat @ T @ X7 ) ) ).

% pinf(8)
thf(fact_507_pinf_I6_J,axiom,
    ! [T: multiset_nat] :
    ? [Z3: multiset_nat] :
    ! [X7: multiset_nat] :
      ( ( ord_le5777773500796000884et_nat @ Z3 @ X7 )
     => ~ ( ord_le6602235886369790592et_nat @ X7 @ T ) ) ).

% pinf(6)
thf(fact_508_pinf_I6_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z3 @ X7 )
     => ~ ( ord_less_eq_nat @ X7 @ T ) ) ).

% pinf(6)
thf(fact_509_verit__comp__simplify1_I3_J,axiom,
    ! [B4: multiset_nat,A5: multiset_nat] :
      ( ( ~ ( ord_le6602235886369790592et_nat @ B4 @ A5 ) )
      = ( ord_le5777773500796000884et_nat @ A5 @ B4 ) ) ).

% verit_comp_simplify1(3)
thf(fact_510_verit__comp__simplify1_I3_J,axiom,
    ! [B4: nat,A5: nat] :
      ( ( ~ ( ord_less_eq_nat @ B4 @ A5 ) )
      = ( ord_less_nat @ A5 @ B4 ) ) ).

% verit_comp_simplify1(3)
thf(fact_511_complete__interval,axiom,
    ! [A: nat,B: nat,P: nat > $o] :
      ( ( ord_less_nat @ A @ B )
     => ( ( P @ A )
       => ( ~ ( P @ B )
         => ? [C2: nat] :
              ( ( ord_less_eq_nat @ A @ C2 )
              & ( ord_less_eq_nat @ C2 @ B )
              & ! [X7: nat] :
                  ( ( ( ord_less_eq_nat @ A @ X7 )
                    & ( ord_less_nat @ X7 @ C2 ) )
                 => ( P @ X7 ) )
              & ! [D: nat] :
                  ( ! [X5: nat] :
                      ( ( ( ord_less_eq_nat @ A @ X5 )
                        & ( ord_less_nat @ X5 @ D ) )
                     => ( P @ X5 ) )
                 => ( ord_less_eq_nat @ D @ C2 ) ) ) ) ) ) ).

% complete_interval
thf(fact_512_nth__drop,axiom,
    ! [N: nat,Xs2: list_P3592885314253461005_a_nat,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_s984997627204368545_a_nat @ Xs2 ) )
     => ( ( nth_Pr8461465654520414006_a_nat @ ( drop_P2883665741211355575_a_nat @ N @ Xs2 ) @ I )
        = ( nth_Pr8461465654520414006_a_nat @ Xs2 @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_513_nth__drop,axiom,
    ! [N: nat,Xs2: list_P1396940483166286381od_a_a,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_s3885678630836030617od_a_a @ Xs2 ) )
     => ( ( nth_Product_prod_a_a @ ( drop_P8456769997282094189od_a_a @ N @ Xs2 ) @ I )
        = ( nth_Product_prod_a_a @ Xs2 @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_514_nth__drop,axiom,
    ! [N: nat,Xs2: list_P6011104703257516679at_nat,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_s5460976970255530739at_nat @ Xs2 ) )
     => ( ( nth_Pr7617993195940197384at_nat @ ( drop_P8868858903918902087at_nat @ N @ Xs2 ) @ I )
        = ( nth_Pr7617993195940197384at_nat @ Xs2 @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_515_nth__drop,axiom,
    ! [N: nat,Xs2: list_P2851791750731487283_nat_a,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_s243904063682394823_nat_a @ Xs2 ) )
     => ( ( nth_Pr2476257081389315164_nat_a @ ( drop_P6121829204935032541_nat_a @ N @ Xs2 ) @ I )
        = ( nth_Pr2476257081389315164_nat_a @ Xs2 @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_516_nth__drop,axiom,
    ! [N: nat,Xs2: list_a,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_a @ Xs2 ) )
     => ( ( nth_a @ ( drop_a @ N @ Xs2 ) @ I )
        = ( nth_a @ Xs2 @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_517_nth__drop,axiom,
    ! [N: nat,Xs2: list_nat,I: nat] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Xs2 ) )
     => ( ( nth_nat @ ( drop_nat @ N @ Xs2 ) @ I )
        = ( nth_nat @ Xs2 @ ( plus_plus_nat @ N @ I ) ) ) ) ).

% nth_drop
thf(fact_518_list__ex__length,axiom,
    ( list_e8857165473735521337_a_nat
    = ( ^ [P3: product_prod_a_nat > $o,Xs3: list_P3592885314253461005_a_nat] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_s984997627204368545_a_nat @ Xs3 ) )
          & ( P3 @ ( nth_Pr8461465654520414006_a_nat @ Xs3 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_519_list__ex__length,axiom,
    ( list_e6552556518106193515od_a_a
    = ( ^ [P3: product_prod_a_a > $o,Xs3: list_P1396940483166286381od_a_a] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_s3885678630836030617od_a_a @ Xs3 ) )
          & ( P3 @ ( nth_Product_prod_a_a @ Xs3 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_520_list__ex__length,axiom,
    ( list_e7689525607045846085at_nat
    = ( ^ [P3: product_prod_nat_nat > $o,Xs3: list_P6011104703257516679at_nat] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_s5460976970255530739at_nat @ Xs3 ) )
          & ( P3 @ ( nth_Pr7617993195940197384at_nat @ Xs3 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_521_list__ex__length,axiom,
    ( list_e2871956900604422495_nat_a
    = ( ^ [P3: product_prod_nat_a > $o,Xs3: list_P2851791750731487283_nat_a] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_s243904063682394823_nat_a @ Xs3 ) )
          & ( P3 @ ( nth_Pr2476257081389315164_nat_a @ Xs3 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_522_list__ex__length,axiom,
    ( list_ex_a
    = ( ^ [P3: a > $o,Xs3: list_a] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_size_list_a @ Xs3 ) )
          & ( P3 @ ( nth_a @ Xs3 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_523_list__ex__length,axiom,
    ( list_ex_nat
    = ( ^ [P3: nat > $o,Xs3: list_nat] :
        ? [N2: nat] :
          ( ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs3 ) )
          & ( P3 @ ( nth_nat @ Xs3 @ N2 ) ) ) ) ) ).

% list_ex_length
thf(fact_524_last__drop,axiom,
    ! [N: nat,Xs2: list_P3592885314253461005_a_nat] :
      ( ( ord_less_nat @ N @ ( size_s984997627204368545_a_nat @ Xs2 ) )
     => ( ( last_P2271748490522340894_a_nat @ ( drop_P2883665741211355575_a_nat @ N @ Xs2 ) )
        = ( last_P2271748490522340894_a_nat @ Xs2 ) ) ) ).

% last_drop
thf(fact_525_last__drop,axiom,
    ! [N: nat,Xs2: list_P1396940483166286381od_a_a] :
      ( ( ord_less_nat @ N @ ( size_s3885678630836030617od_a_a @ Xs2 ) )
     => ( ( last_P8790725268278465478od_a_a @ ( drop_P8456769997282094189od_a_a @ N @ Xs2 ) )
        = ( last_P8790725268278465478od_a_a @ Xs2 ) ) ) ).

% last_drop
thf(fact_526_last__drop,axiom,
    ! [N: nat,Xs2: list_P6011104703257516679at_nat] :
      ( ( ord_less_nat @ N @ ( size_s5460976970255530739at_nat @ Xs2 ) )
     => ( ( last_P6484183829340986144at_nat @ ( drop_P8868858903918902087at_nat @ N @ Xs2 ) )
        = ( last_P6484183829340986144at_nat @ Xs2 ) ) ) ).

% last_drop
thf(fact_527_last__drop,axiom,
    ! [N: nat,Xs2: list_P2851791750731487283_nat_a] :
      ( ( ord_less_nat @ N @ ( size_s243904063682394823_nat_a @ Xs2 ) )
     => ( ( last_P5509911954246017860_nat_a @ ( drop_P6121829204935032541_nat_a @ N @ Xs2 ) )
        = ( last_P5509911954246017860_nat_a @ Xs2 ) ) ) ).

% last_drop
thf(fact_528_last__drop,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
     => ( ( last_a @ ( drop_a @ N @ Xs2 ) )
        = ( last_a @ Xs2 ) ) ) ).

% last_drop
thf(fact_529_last__drop,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
     => ( ( last_nat @ ( drop_nat @ N @ Xs2 ) )
        = ( last_nat @ Xs2 ) ) ) ).

% last_drop
thf(fact_530_sorted__nth__mono,axiom,
    ! [Xs2: list_multiset_nat,I: nat,J: nat] :
      ( ( sorted7315179636655212147et_nat @ ord_le6602235886369790592et_nat @ Xs2 )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_s6386657463320973636et_nat @ Xs2 ) )
         => ( ord_le6602235886369790592et_nat @ ( nth_multiset_nat @ Xs2 @ I ) @ ( nth_multiset_nat @ Xs2 @ J ) ) ) ) ) ).

% sorted_nth_mono
thf(fact_531_sorted__nth__mono,axiom,
    ! [Xs2: list_nat,I: nat,J: nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Xs2 ) )
         => ( ord_less_eq_nat @ ( nth_nat @ Xs2 @ I ) @ ( nth_nat @ Xs2 @ J ) ) ) ) ) ).

% sorted_nth_mono
thf(fact_532_sorted__iff__nth__mono,axiom,
    ! [Xs2: list_multiset_nat] :
      ( ( sorted7315179636655212147et_nat @ ord_le6602235886369790592et_nat @ Xs2 )
      = ( ! [I2: nat,J3: nat] :
            ( ( ord_less_eq_nat @ I2 @ J3 )
           => ( ( ord_less_nat @ J3 @ ( size_s6386657463320973636et_nat @ Xs2 ) )
             => ( ord_le6602235886369790592et_nat @ ( nth_multiset_nat @ Xs2 @ I2 ) @ ( nth_multiset_nat @ Xs2 @ J3 ) ) ) ) ) ) ).

% sorted_iff_nth_mono
thf(fact_533_sorted__iff__nth__mono,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
      = ( ! [I2: nat,J3: nat] :
            ( ( ord_less_eq_nat @ I2 @ J3 )
           => ( ( ord_less_nat @ J3 @ ( size_size_list_nat @ Xs2 ) )
             => ( ord_less_eq_nat @ ( nth_nat @ Xs2 @ I2 ) @ ( nth_nat @ Xs2 @ J3 ) ) ) ) ) ) ).

% sorted_iff_nth_mono
thf(fact_534_nat__add__left__cancel__less,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% nat_add_left_cancel_less
thf(fact_535_nat__add__left__cancel__le,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% nat_add_left_cancel_le
thf(fact_536_size__mset,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat] :
      ( ( size_s3082985149011291105_a_nat @ ( mset_P502332718515628968_a_nat @ Xs2 ) )
      = ( size_s984997627204368545_a_nat @ Xs2 ) ) ).

% size_mset
thf(fact_537_size__mset,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a] :
      ( ( size_s781968976467208537od_a_a @ ( mset_P3709024939784119484od_a_a @ Xs2 ) )
      = ( size_s3885678630836030617od_a_a @ Xs2 ) ) ).

% size_mset
thf(fact_538_size__mset,axiom,
    ! [Xs2: list_P6011104703257516679at_nat] :
      ( ( size_s8510653225128441779at_nat @ ( mset_P6383711406899277590at_nat @ Xs2 ) )
      = ( size_s5460976970255530739at_nat @ Xs2 ) ) ).

% size_mset
thf(fact_539_size__mset,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a] :
      ( ( size_s2341891585489317383_nat_a @ ( mset_P3740496182239305934_nat_a @ Xs2 ) )
      = ( size_s243904063682394823_nat_a @ Xs2 ) ) ).

% size_mset
thf(fact_540_size__mset,axiom,
    ! [Xs2: list_a] :
      ( ( size_size_multiset_a @ ( mset_a @ Xs2 ) )
      = ( size_size_list_a @ Xs2 ) ) ).

% size_mset
thf(fact_541_size__mset,axiom,
    ! [Xs2: list_nat] :
      ( ( size_s5917832649809541300et_nat @ ( mset_nat @ Xs2 ) )
      = ( size_size_list_nat @ Xs2 ) ) ).

% size_mset
thf(fact_542_drop__drop,axiom,
    ! [N: nat,M: nat,Xs2: list_nat] :
      ( ( drop_nat @ N @ ( drop_nat @ M @ Xs2 ) )
      = ( drop_nat @ ( plus_plus_nat @ N @ M ) @ Xs2 ) ) ).

% drop_drop
thf(fact_543_drop__drop,axiom,
    ! [N: nat,M: nat,Xs2: list_P1396940483166286381od_a_a] :
      ( ( drop_P8456769997282094189od_a_a @ N @ ( drop_P8456769997282094189od_a_a @ M @ Xs2 ) )
      = ( drop_P8456769997282094189od_a_a @ ( plus_plus_nat @ N @ M ) @ Xs2 ) ) ).

% drop_drop
thf(fact_544_drop__drop,axiom,
    ! [N: nat,M: nat,Xs2: list_a] :
      ( ( drop_a @ N @ ( drop_a @ M @ Xs2 ) )
      = ( drop_a @ ( plus_plus_nat @ N @ M ) @ Xs2 ) ) ).

% drop_drop
thf(fact_545_list__ex__append,axiom,
    ! [P: product_prod_nat_nat > $o,Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( list_e7689525607045846085at_nat @ P @ ( append985823374593552924at_nat @ Xs2 @ Ys ) )
      = ( ( list_e7689525607045846085at_nat @ P @ Xs2 )
        | ( list_e7689525607045846085at_nat @ P @ Ys ) ) ) ).

% list_ex_append
thf(fact_546_list__ex__append,axiom,
    ! [P: product_prod_nat_a > $o,Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a] :
      ( ( list_e2871956900604422495_nat_a @ P @ ( append1694031006427026248_nat_a @ Xs2 @ Ys ) )
      = ( ( list_e2871956900604422495_nat_a @ P @ Xs2 )
        | ( list_e2871956900604422495_nat_a @ P @ Ys ) ) ) ).

% list_ex_append
thf(fact_547_list__ex__append,axiom,
    ! [P: product_prod_a_nat > $o,Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat] :
      ( ( list_e8857165473735521337_a_nat @ P @ ( append7679239579558125090_a_nat @ Xs2 @ Ys ) )
      = ( ( list_e8857165473735521337_a_nat @ P @ Xs2 )
        | ( list_e8857165473735521337_a_nat @ P @ Ys ) ) ) ).

% list_ex_append
thf(fact_548_list__ex__append,axiom,
    ! [P: product_prod_a_a > $o,Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a] :
      ( ( list_e6552556518106193515od_a_a @ P @ ( append5335208819046833346od_a_a @ Xs2 @ Ys ) )
      = ( ( list_e6552556518106193515od_a_a @ P @ Xs2 )
        | ( list_e6552556518106193515od_a_a @ P @ Ys ) ) ) ).

% list_ex_append
thf(fact_549_list__ex__append,axiom,
    ! [P: nat > $o,Xs2: list_nat,Ys: list_nat] :
      ( ( list_ex_nat @ P @ ( append_nat @ Xs2 @ Ys ) )
      = ( ( list_ex_nat @ P @ Xs2 )
        | ( list_ex_nat @ P @ Ys ) ) ) ).

% list_ex_append
thf(fact_550_list__ex__append,axiom,
    ! [P: a > $o,Xs2: list_a,Ys: list_a] :
      ( ( list_ex_a @ P @ ( append_a @ Xs2 @ Ys ) )
      = ( ( list_ex_a @ P @ Xs2 )
        | ( list_ex_a @ P @ Ys ) ) ) ).

% list_ex_append
thf(fact_551_length__list__of__mset,axiom,
    ! [A2: multis2468970476368604999at_nat] :
      ( ( size_s5460976970255530739at_nat @ ( multis6944752092658291980at_nat @ A2 ) )
      = ( size_s8510653225128441779at_nat @ A2 ) ) ).

% length_list_of_mset
thf(fact_552_length__list__of__mset,axiom,
    ! [A2: multis8339640606882034547_nat_a] :
      ( ( size_s243904063682394823_nat_a @ ( multis474690387593923672_nat_a @ A2 ) )
      = ( size_s2341891585489317383_nat_a @ A2 ) ) ).

% length_list_of_mset
thf(fact_553_length__list__of__mset,axiom,
    ! [A2: multiset_a] :
      ( ( size_size_list_a @ ( multis4723169673647964297mset_a @ A2 ) )
      = ( size_size_multiset_a @ A2 ) ) ).

% length_list_of_mset
thf(fact_554_length__list__of__mset,axiom,
    ! [A2: multiset_nat] :
      ( ( size_size_list_nat @ ( multis105632648212199813et_nat @ A2 ) )
      = ( size_s5917832649809541300et_nat @ A2 ) ) ).

% length_list_of_mset
thf(fact_555_length__append,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat] :
      ( ( size_s984997627204368545_a_nat @ ( append7679239579558125090_a_nat @ Xs2 @ Ys ) )
      = ( plus_plus_nat @ ( size_s984997627204368545_a_nat @ Xs2 ) @ ( size_s984997627204368545_a_nat @ Ys ) ) ) ).

% length_append
thf(fact_556_length__append,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a] :
      ( ( size_s3885678630836030617od_a_a @ ( append5335208819046833346od_a_a @ Xs2 @ Ys ) )
      = ( plus_plus_nat @ ( size_s3885678630836030617od_a_a @ Xs2 ) @ ( size_s3885678630836030617od_a_a @ Ys ) ) ) ).

% length_append
thf(fact_557_length__append,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat] :
      ( ( size_s5460976970255530739at_nat @ ( append985823374593552924at_nat @ Xs2 @ Ys ) )
      = ( plus_plus_nat @ ( size_s5460976970255530739at_nat @ Xs2 ) @ ( size_s5460976970255530739at_nat @ Ys ) ) ) ).

% length_append
thf(fact_558_length__append,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a] :
      ( ( size_s243904063682394823_nat_a @ ( append1694031006427026248_nat_a @ Xs2 @ Ys ) )
      = ( plus_plus_nat @ ( size_s243904063682394823_nat_a @ Xs2 ) @ ( size_s243904063682394823_nat_a @ Ys ) ) ) ).

% length_append
thf(fact_559_length__append,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( size_size_list_a @ ( append_a @ Xs2 @ Ys ) )
      = ( plus_plus_nat @ ( size_size_list_a @ Xs2 ) @ ( size_size_list_a @ Ys ) ) ) ).

% length_append
thf(fact_560_length__append,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( size_size_list_nat @ ( append_nat @ Xs2 @ Ys ) )
      = ( plus_plus_nat @ ( size_size_list_nat @ Xs2 ) @ ( size_size_list_nat @ Ys ) ) ) ).

% length_append
thf(fact_561_nth__append__length__plus,axiom,
    ! [Xs2: list_P3592885314253461005_a_nat,Ys: list_P3592885314253461005_a_nat,N: nat] :
      ( ( nth_Pr8461465654520414006_a_nat @ ( append7679239579558125090_a_nat @ Xs2 @ Ys ) @ ( plus_plus_nat @ ( size_s984997627204368545_a_nat @ Xs2 ) @ N ) )
      = ( nth_Pr8461465654520414006_a_nat @ Ys @ N ) ) ).

% nth_append_length_plus
thf(fact_562_nth__append__length__plus,axiom,
    ! [Xs2: list_P1396940483166286381od_a_a,Ys: list_P1396940483166286381od_a_a,N: nat] :
      ( ( nth_Product_prod_a_a @ ( append5335208819046833346od_a_a @ Xs2 @ Ys ) @ ( plus_plus_nat @ ( size_s3885678630836030617od_a_a @ Xs2 ) @ N ) )
      = ( nth_Product_prod_a_a @ Ys @ N ) ) ).

% nth_append_length_plus
thf(fact_563_nth__append__length__plus,axiom,
    ! [Xs2: list_P6011104703257516679at_nat,Ys: list_P6011104703257516679at_nat,N: nat] :
      ( ( nth_Pr7617993195940197384at_nat @ ( append985823374593552924at_nat @ Xs2 @ Ys ) @ ( plus_plus_nat @ ( size_s5460976970255530739at_nat @ Xs2 ) @ N ) )
      = ( nth_Pr7617993195940197384at_nat @ Ys @ N ) ) ).

% nth_append_length_plus
thf(fact_564_nth__append__length__plus,axiom,
    ! [Xs2: list_P2851791750731487283_nat_a,Ys: list_P2851791750731487283_nat_a,N: nat] :
      ( ( nth_Pr2476257081389315164_nat_a @ ( append1694031006427026248_nat_a @ Xs2 @ Ys ) @ ( plus_plus_nat @ ( size_s243904063682394823_nat_a @ Xs2 ) @ N ) )
      = ( nth_Pr2476257081389315164_nat_a @ Ys @ N ) ) ).

% nth_append_length_plus
thf(fact_565_nth__append__length__plus,axiom,
    ! [Xs2: list_a,Ys: list_a,N: nat] :
      ( ( nth_a @ ( append_a @ Xs2 @ Ys ) @ ( plus_plus_nat @ ( size_size_list_a @ Xs2 ) @ N ) )
      = ( nth_a @ Ys @ N ) ) ).

% nth_append_length_plus
thf(fact_566_nth__append__length__plus,axiom,
    ! [Xs2: list_nat,Ys: list_nat,N: nat] :
      ( ( nth_nat @ ( append_nat @ Xs2 @ Ys ) @ ( plus_plus_nat @ ( size_size_list_nat @ Xs2 ) @ N ) )
      = ( nth_nat @ Ys @ N ) ) ).

% nth_append_length_plus
thf(fact_567_less__eq__multiset__total,axiom,
    ! [M3: multiset_nat,N3: multiset_nat] :
      ( ~ ( ord_le6602235886369790592et_nat @ M3 @ N3 )
     => ( ord_le6602235886369790592et_nat @ N3 @ M3 ) ) ).

% less_eq_multiset_total
thf(fact_568_sorted__wrt__take,axiom,
    ! [F: product_prod_a_a > product_prod_a_a > $o,Xs2: list_P1396940483166286381od_a_a,N: nat] :
      ( ( sorted7021363369600311060od_a_a @ F @ Xs2 )
     => ( sorted7021363369600311060od_a_a @ F @ ( take_P1986783995523548949od_a_a @ N @ Xs2 ) ) ) ).

% sorted_wrt_take
thf(fact_569_sorted__wrt__take,axiom,
    ! [F: a > a > $o,Xs2: list_a,N: nat] :
      ( ( sorted_wrt_a @ F @ Xs2 )
     => ( sorted_wrt_a @ F @ ( take_a @ N @ Xs2 ) ) ) ).

% sorted_wrt_take
thf(fact_570_sorted__wrt__take,axiom,
    ! [F: nat > nat > $o,Xs2: list_nat,N: nat] :
      ( ( sorted_wrt_nat @ F @ Xs2 )
     => ( sorted_wrt_nat @ F @ ( take_nat @ N @ Xs2 ) ) ) ).

% sorted_wrt_take
thf(fact_571_sorted__wrt__drop,axiom,
    ! [F: product_prod_a_a > product_prod_a_a > $o,Xs2: list_P1396940483166286381od_a_a,N: nat] :
      ( ( sorted7021363369600311060od_a_a @ F @ Xs2 )
     => ( sorted7021363369600311060od_a_a @ F @ ( drop_P8456769997282094189od_a_a @ N @ Xs2 ) ) ) ).

% sorted_wrt_drop
thf(fact_572_sorted__wrt__drop,axiom,
    ! [F: a > a > $o,Xs2: list_a,N: nat] :
      ( ( sorted_wrt_a @ F @ Xs2 )
     => ( sorted_wrt_a @ F @ ( drop_a @ N @ Xs2 ) ) ) ).

% sorted_wrt_drop
thf(fact_573_sorted__wrt__drop,axiom,
    ! [F: nat > nat > $o,Xs2: list_nat,N: nat] :
      ( ( sorted_wrt_nat @ F @ Xs2 )
     => ( sorted_wrt_nat @ F @ ( drop_nat @ N @ Xs2 ) ) ) ).

% sorted_wrt_drop
thf(fact_574_less__add__eq__less,axiom,
    ! [K: nat,L2: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ K @ L2 )
     => ( ( ( plus_plus_nat @ M @ L2 )
          = ( plus_plus_nat @ K @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% less_add_eq_less
thf(fact_575_trans__less__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_less_add2
thf(fact_576_trans__less__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_less_add1
thf(fact_577_add__less__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ K ) ) ) ).

% add_less_mono1
thf(fact_578_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

% not_add_less2
thf(fact_579_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

% not_add_less1
thf(fact_580_add__less__mono,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ K @ L2 )
       => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ) ).

% add_less_mono
thf(fact_581_add__lessD1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ K )
     => ( ord_less_nat @ I @ K ) ) ).

% add_lessD1
thf(fact_582_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M2: nat,N2: nat] :
        ? [K4: nat] :
          ( N2
          = ( plus_plus_nat @ M2 @ K4 ) ) ) ) ).

% nat_le_iff_add
thf(fact_583_trans__le__add2,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ M @ J ) ) ) ).

% trans_le_add2
thf(fact_584_trans__le__add1,axiom,
    ! [I: nat,J: nat,M: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ I @ ( plus_plus_nat @ J @ M ) ) ) ).

% trans_le_add1
thf(fact_585_add__le__mono1,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ K ) ) ) ).

% add_le_mono1
thf(fact_586_add__le__mono,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ord_less_eq_nat @ K @ L2 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ) ).

% add_le_mono
thf(fact_587_le__Suc__ex,axiom,
    ! [K: nat,L2: nat] :
      ( ( ord_less_eq_nat @ K @ L2 )
     => ? [N5: nat] :
          ( L2
          = ( plus_plus_nat @ K @ N5 ) ) ) ).

% le_Suc_ex
thf(fact_588_add__leD2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ K @ N ) ) ).

% add_leD2
thf(fact_589_add__leD1,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% add_leD1
thf(fact_590_le__add2,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ M @ N ) ) ).

% le_add2
thf(fact_591_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

% le_add1
thf(fact_592_add__leE,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ M @ K ) @ N )
     => ~ ( ( ord_less_eq_nat @ M @ N )
         => ~ ( ord_less_eq_nat @ K @ N ) ) ) ).

% add_leE
thf(fact_593_strict__sorted__imp__sorted,axiom,
    ! [Xs2: list_multiset_nat] :
      ( ( sorted7315179636655212147et_nat @ ord_le5777773500796000884et_nat @ Xs2 )
     => ( sorted7315179636655212147et_nat @ ord_le6602235886369790592et_nat @ Xs2 ) ) ).

% strict_sorted_imp_sorted
thf(fact_594_strict__sorted__imp__sorted,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_nat @ Xs2 )
     => ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 ) ) ).

% strict_sorted_imp_sorted
thf(fact_595_sorted__wrt__less__idx,axiom,
    ! [Ns: list_nat,I: nat] :
      ( ( sorted_wrt_nat @ ord_less_nat @ Ns )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ns ) )
       => ( ord_less_eq_nat @ I @ ( nth_nat @ Ns @ I ) ) ) ) ).

% sorted_wrt_less_idx
thf(fact_596_sorted__take,axiom,
    ! [Xs2: list_multiset_nat,N: nat] :
      ( ( sorted7315179636655212147et_nat @ ord_le6602235886369790592et_nat @ Xs2 )
     => ( sorted7315179636655212147et_nat @ ord_le6602235886369790592et_nat @ ( take_multiset_nat @ N @ Xs2 ) ) ) ).

% sorted_take
thf(fact_597_sorted__take,axiom,
    ! [Xs2: list_nat,N: nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( sorted_wrt_nat @ ord_less_eq_nat @ ( take_nat @ N @ Xs2 ) ) ) ).

% sorted_take
thf(fact_598_sorted__drop,axiom,
    ! [Xs2: list_multiset_nat,N: nat] :
      ( ( sorted7315179636655212147et_nat @ ord_le6602235886369790592et_nat @ Xs2 )
     => ( sorted7315179636655212147et_nat @ ord_le6602235886369790592et_nat @ ( drop_multiset_nat @ N @ Xs2 ) ) ) ).

% sorted_drop
thf(fact_599_sorted__drop,axiom,
    ! [Xs2: list_nat,N: nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
     => ( sorted_wrt_nat @ ord_less_eq_nat @ ( drop_nat @ N @ Xs2 ) ) ) ).

% sorted_drop
thf(fact_600_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K: nat] :
      ( ! [M6: nat,N5: nat] :
          ( ( ord_less_nat @ M6 @ N5 )
         => ( ord_less_nat @ ( F @ M6 ) @ ( F @ N5 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K ) @ ( F @ ( plus_plus_nat @ M @ K ) ) ) ) ).

% mono_nat_linear_lb
thf(fact_601_take__drop,axiom,
    ! [N: nat,M: nat,Xs2: list_nat] :
      ( ( take_nat @ N @ ( drop_nat @ M @ Xs2 ) )
      = ( drop_nat @ M @ ( take_nat @ ( plus_plus_nat @ N @ M ) @ Xs2 ) ) ) ).

% take_drop
thf(fact_602_take__drop,axiom,
    ! [N: nat,M: nat,Xs2: list_P1396940483166286381od_a_a] :
      ( ( take_P1986783995523548949od_a_a @ N @ ( drop_P8456769997282094189od_a_a @ M @ Xs2 ) )
      = ( drop_P8456769997282094189od_a_a @ M @ ( take_P1986783995523548949od_a_a @ ( plus_plus_nat @ N @ M ) @ Xs2 ) ) ) ).

% take_drop
thf(fact_603_take__drop,axiom,
    ! [N: nat,M: nat,Xs2: list_a] :
      ( ( take_a @ N @ ( drop_a @ M @ Xs2 ) )
      = ( drop_a @ M @ ( take_a @ ( plus_plus_nat @ N @ M ) @ Xs2 ) ) ) ).

% take_drop
thf(fact_604_sorted__wrt__iff__nth__less,axiom,
    ( sorted7160018775320234832_a_nat
    = ( ^ [P3: product_prod_a_nat > product_prod_a_nat > $o,Xs3: list_P3592885314253461005_a_nat] :
        ! [I2: nat,J3: nat] :
          ( ( ord_less_nat @ I2 @ J3 )
         => ( ( ord_less_nat @ J3 @ ( size_s984997627204368545_a_nat @ Xs3 ) )
           => ( P3 @ ( nth_Pr8461465654520414006_a_nat @ Xs3 @ I2 ) @ ( nth_Pr8461465654520414006_a_nat @ Xs3 @ J3 ) ) ) ) ) ) ).

% sorted_wrt_iff_nth_less
thf(fact_605_sorted__wrt__iff__nth__less,axiom,
    ( sorted7021363369600311060od_a_a
    = ( ^ [P3: product_prod_a_a > product_prod_a_a > $o,Xs3: list_P1396940483166286381od_a_a] :
        ! [I2: nat,J3: nat] :
          ( ( ord_less_nat @ I2 @ J3 )
         => ( ( ord_less_nat @ J3 @ ( size_s3885678630836030617od_a_a @ Xs3 ) )
           => ( P3 @ ( nth_Product_prod_a_a @ Xs3 @ I2 ) @ ( nth_Product_prod_a_a @ Xs3 @ J3 ) ) ) ) ) ) ).

% sorted_wrt_iff_nth_less
thf(fact_606_sorted__wrt__iff__nth__less,axiom,
    ( sorted5214655850825725294at_nat
    = ( ^ [P3: product_prod_nat_nat > product_prod_nat_nat > $o,Xs3: list_P6011104703257516679at_nat] :
        ! [I2: nat,J3: nat] :
          ( ( ord_less_nat @ I2 @ J3 )
         => ( ( ord_less_nat @ J3 @ ( size_s5460976970255530739at_nat @ Xs3 ) )
           => ( P3 @ ( nth_Pr7617993195940197384at_nat @ Xs3 @ I2 ) @ ( nth_Pr7617993195940197384at_nat @ Xs3 @ J3 ) ) ) ) ) ) ).

% sorted_wrt_iff_nth_less
thf(fact_607_sorted__wrt__iff__nth__less,axiom,
    ( sorted1174810202189135990_nat_a
    = ( ^ [P3: product_prod_nat_a > product_prod_nat_a > $o,Xs3: list_P2851791750731487283_nat_a] :
        ! [I2: nat,J3: nat] :
          ( ( ord_less_nat @ I2 @ J3 )
         => ( ( ord_less_nat @ J3 @ ( size_s243904063682394823_nat_a @ Xs3 ) )
           => ( P3 @ ( nth_Pr2476257081389315164_nat_a @ Xs3 @ I2 ) @ ( nth_Pr2476257081389315164_nat_a @ Xs3 @ J3 ) ) ) ) ) ) ).

% sorted_wrt_iff_nth_less
thf(fact_608_sorted__wrt__iff__nth__less,axiom,
    ( sorted_wrt_a
    = ( ^ [P3: a > a > $o,Xs3: list_a] :
        ! [I2: nat,J3: nat] :
          ( ( ord_less_nat @ I2 @ J3 )
         => ( ( ord_less_nat @ J3 @ ( size_size_list_a @ Xs3 ) )
           => ( P3 @ ( nth_a @ Xs3 @ I2 ) @ ( nth_a @ Xs3 @ J3 ) ) ) ) ) ) ).

% sorted_wrt_iff_nth_less
thf(fact_609_sorted__wrt__iff__nth__less,axiom,
    ( sorted_wrt_nat
    = ( ^ [P3: nat > nat > $o,Xs3: list_nat] :
        ! [I2: nat,J3: nat] :
          ( ( ord_less_nat @ I2 @ J3 )
         => ( ( ord_less_nat @ J3 @ ( size_size_list_nat @ Xs3 ) )
           => ( P3 @ ( nth_nat @ Xs3 @ I2 ) @ ( nth_nat @ Xs3 @ J3 ) ) ) ) ) ) ).

% sorted_wrt_iff_nth_less
thf(fact_610_sorted__wrt__nth__less,axiom,
    ! [P: a > a > $o,Xs2: list_a,I: nat,J: nat] :
      ( ( sorted_wrt_a @ P @ Xs2 )
     => ( ( ord_less_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_a @ Xs2 ) )
         => ( P @ ( nth_a @ Xs2 @ I ) @ ( nth_a @ Xs2 @ J ) ) ) ) ) ).

% sorted_wrt_nth_less
thf(fact_611_sorted__wrt__nth__less,axiom,
    ! [P: nat > nat > $o,Xs2: list_nat,I: nat,J: nat] :
      ( ( sorted_wrt_nat @ P @ Xs2 )
     => ( ( ord_less_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Xs2 ) )
         => ( P @ ( nth_nat @ Xs2 @ I ) @ ( nth_nat @ Xs2 @ J ) ) ) ) ) ).

% sorted_wrt_nth_less
thf(fact_612_verit__la__disequality,axiom,
    ! [A: nat,B: nat] :
      ( ( A = B )
      | ~ ( ord_less_eq_nat @ A @ B )
      | ~ ( ord_less_eq_nat @ B @ A ) ) ).

% verit_la_disequality
thf(fact_613_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_614_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_615_pinf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X5: nat] :
          ( ( ord_less_nat @ Z4 @ X5 )
         => ( ( P @ X5 )
            = ( P4 @ X5 ) ) )
     => ( ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ Z4 @ X5 )
           => ( ( Q @ X5 )
              = ( Q2 @ X5 ) ) )
       => ? [Z3: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ Z3 @ X7 )
           => ( ( ( P @ X7 )
                & ( Q @ X7 ) )
              = ( ( P4 @ X7 )
                & ( Q2 @ X7 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_616_pinf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X5: nat] :
          ( ( ord_less_nat @ Z4 @ X5 )
         => ( ( P @ X5 )
            = ( P4 @ X5 ) ) )
     => ( ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ Z4 @ X5 )
           => ( ( Q @ X5 )
              = ( Q2 @ X5 ) ) )
       => ? [Z3: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ Z3 @ X7 )
           => ( ( ( P @ X7 )
                | ( Q @ X7 ) )
              = ( ( P4 @ X7 )
                | ( Q2 @ X7 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_617_pinf_I3_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z3 @ X7 )
     => ( X7 != T ) ) ).

% pinf(3)
thf(fact_618_pinf_I4_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z3 @ X7 )
     => ( X7 != T ) ) ).

% pinf(4)
thf(fact_619_pinf_I5_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z3 @ X7 )
     => ~ ( ord_less_nat @ X7 @ T ) ) ).

% pinf(5)
thf(fact_620_pinf_I7_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ Z3 @ X7 )
     => ( ord_less_nat @ T @ X7 ) ) ).

% pinf(7)
thf(fact_621_minf_I1_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X5: nat] :
          ( ( ord_less_nat @ X5 @ Z4 )
         => ( ( P @ X5 )
            = ( P4 @ X5 ) ) )
     => ( ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ X5 @ Z4 )
           => ( ( Q @ X5 )
              = ( Q2 @ X5 ) ) )
       => ? [Z3: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ X7 @ Z3 )
           => ( ( ( P @ X7 )
                & ( Q @ X7 ) )
              = ( ( P4 @ X7 )
                & ( Q2 @ X7 ) ) ) ) ) ) ).

% minf(1)
thf(fact_622_minf_I2_J,axiom,
    ! [P: nat > $o,P4: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z4: nat] :
        ! [X5: nat] :
          ( ( ord_less_nat @ X5 @ Z4 )
         => ( ( P @ X5 )
            = ( P4 @ X5 ) ) )
     => ( ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ X5 @ Z4 )
           => ( ( Q @ X5 )
              = ( Q2 @ X5 ) ) )
       => ? [Z3: nat] :
          ! [X7: nat] :
            ( ( ord_less_nat @ X7 @ Z3 )
           => ( ( ( P @ X7 )
                | ( Q @ X7 ) )
              = ( ( P4 @ X7 )
                | ( Q2 @ X7 ) ) ) ) ) ) ).

% minf(2)
thf(fact_623_minf_I3_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z3 )
     => ( X7 != T ) ) ).

% minf(3)
thf(fact_624_minf_I4_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z3 )
     => ( X7 != T ) ) ).

% minf(4)
thf(fact_625_minf_I5_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z3 )
     => ( ord_less_nat @ X7 @ T ) ) ).

% minf(5)
thf(fact_626_minf_I7_J,axiom,
    ! [T: nat] :
    ? [Z3: nat] :
    ! [X7: nat] :
      ( ( ord_less_nat @ X7 @ Z3 )
     => ~ ( ord_less_nat @ T @ X7 ) ) ).

% minf(7)
thf(fact_627_take__add,axiom,
    ! [I: nat,J: nat,Xs2: list_a] :
      ( ( take_a @ ( plus_plus_nat @ I @ J ) @ Xs2 )
      = ( append_a @ ( take_a @ I @ Xs2 ) @ ( take_a @ J @ ( drop_a @ I @ Xs2 ) ) ) ) ).

% take_add
thf(fact_628_sorted__iff__nth__mono__less,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
      = ( ! [I2: nat,J3: nat] :
            ( ( ord_less_nat @ I2 @ J3 )
           => ( ( ord_less_nat @ J3 @ ( size_size_list_nat @ Xs2 ) )
             => ( ord_less_eq_nat @ ( nth_nat @ Xs2 @ I2 ) @ ( nth_nat @ Xs2 @ J3 ) ) ) ) ) ) ).

% sorted_iff_nth_mono_less
thf(fact_629_add__less__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_630_add__less__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_nat @ A @ B ) ) ).

% add_less_cancel_left
thf(fact_631_add__le__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_632_add__le__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_633_add__less__le__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_less_le_mono
thf(fact_634_add__le__less__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_le_less_mono
thf(fact_635_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(3)
thf(fact_636_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(4)
thf(fact_637_add__left__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( plus_plus_nat @ A @ B )
        = ( plus_plus_nat @ A @ C ) )
      = ( B = C ) ) ).

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

% add_right_cancel
thf(fact_639_mset__append,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( mset_a @ ( append_a @ Xs2 @ Ys ) )
      = ( plus_plus_multiset_a @ ( mset_a @ Xs2 ) @ ( mset_a @ Ys ) ) ) ).

% mset_append
thf(fact_640_union__iff,axiom,
    ! [A: a,A2: multiset_a,B5: multiset_a] :
      ( ( member_a @ A @ ( set_mset_a @ ( plus_plus_multiset_a @ A2 @ B5 ) ) )
      = ( ( member_a @ A @ ( set_mset_a @ A2 ) )
        | ( member_a @ A @ ( set_mset_a @ B5 ) ) ) ) ).

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

% ab_semigroup_add_class.add_ac(1)
thf(fact_642_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( I = J )
        & ( K = L2 ) )
     => ( ( plus_plus_nat @ I @ K )
        = ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_643_group__cancel_Oadd1,axiom,
    ! [A2: nat,K: nat,A: nat,B: nat] :
      ( ( A2
        = ( plus_plus_nat @ K @ A ) )
     => ( ( plus_plus_nat @ A2 @ B )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_644_group__cancel_Oadd2,axiom,
    ! [B5: nat,K: nat,B: nat,A: nat] :
      ( ( B5
        = ( plus_plus_nat @ K @ B ) )
     => ( ( plus_plus_nat @ A @ B5 )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_645_add_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( plus_plus_nat @ ( plus_plus_nat @ A @ B ) @ C )
      = ( plus_plus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% add.assoc
thf(fact_646_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A4: nat,B3: nat] : ( plus_plus_nat @ B3 @ A4 ) ) ) ).

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

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

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

% add_right_imp_eq
thf(fact_650_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( K = L2 ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_651_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( I = J )
        & ( ord_less_eq_nat @ K @ L2 ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_652_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L2 ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_653_add__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D2 )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_mono
thf(fact_654_add__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_left_mono
thf(fact_655_less__eqE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ~ ! [C2: nat] :
            ( B
           != ( plus_plus_nat @ A @ C2 ) ) ) ).

% less_eqE
thf(fact_656_add__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_right_mono
thf(fact_657_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B3: nat] :
        ? [C3: nat] :
          ( B3
          = ( plus_plus_nat @ A4 @ C3 ) ) ) ) ).

% le_iff_add
thf(fact_658_add__le__imp__le__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_659_add__le__imp__le__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_660_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_661_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K @ L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_662_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L2: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K = L2 ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L2 ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_663_add__strict__mono,axiom,
    ! [A: nat,B: nat,C: nat,D2: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D2 )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D2 ) ) ) ) ).

% add_strict_mono
thf(fact_664_add__strict__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_strict_left_mono
thf(fact_665_add__strict__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_strict_right_mono
thf(fact_666_add__less__imp__less__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_667_add__less__imp__less__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_nat @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_668_sorted__rev__nth__mono,axiom,
    ! [Xs2: list_nat,I: nat,J: nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( rev_nat @ Xs2 ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Xs2 ) )
         => ( ord_less_eq_nat @ ( nth_nat @ Xs2 @ J ) @ ( nth_nat @ Xs2 @ I ) ) ) ) ) ).

% sorted_rev_nth_mono
thf(fact_669_sorted__rev__iff__nth__mono,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( rev_nat @ Xs2 ) )
      = ( ! [I2: nat,J3: nat] :
            ( ( ord_less_eq_nat @ I2 @ J3 )
           => ( ( ord_less_nat @ J3 @ ( size_size_list_nat @ Xs2 ) )
             => ( ord_less_eq_nat @ ( nth_nat @ Xs2 @ J3 ) @ ( nth_nat @ Xs2 @ I2 ) ) ) ) ) ) ).

% sorted_rev_iff_nth_mono
thf(fact_670_gen__length__def,axiom,
    ( gen_length_a
    = ( ^ [N2: nat,Xs3: list_a] : ( plus_plus_nat @ N2 @ ( size_size_list_a @ Xs3 ) ) ) ) ).

% gen_length_def
thf(fact_671_gen__length__def,axiom,
    ( gen_length_nat
    = ( ^ [N2: nat,Xs3: list_nat] : ( plus_plus_nat @ N2 @ ( size_size_list_nat @ Xs3 ) ) ) ) ).

% gen_length_def
thf(fact_672_sorted__iff__nth__Suc,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
      = ( ! [I2: nat] :
            ( ( ord_less_nat @ ( suc @ I2 ) @ ( size_size_list_nat @ Xs2 ) )
           => ( ord_less_eq_nat @ ( nth_nat @ Xs2 @ I2 ) @ ( nth_nat @ Xs2 @ ( suc @ I2 ) ) ) ) ) ) ).

% sorted_iff_nth_Suc
thf(fact_673_length__sorted__list__of__multiset,axiom,
    ! [A2: multiset_nat] :
      ( ( size_size_list_nat @ ( linord3047872887403683810et_nat @ A2 ) )
      = ( size_s5917832649809541300et_nat @ A2 ) ) ).

% length_sorted_list_of_multiset
thf(fact_674_enumerate__append__eq,axiom,
    ! [N: nat,Xs2: list_a,Ys: list_a] :
      ( ( enumerate_a @ N @ ( append_a @ Xs2 @ Ys ) )
      = ( append1694031006427026248_nat_a @ ( enumerate_a @ N @ Xs2 ) @ ( enumerate_a @ ( plus_plus_nat @ N @ ( size_size_list_a @ Xs2 ) ) @ Ys ) ) ) ).

% enumerate_append_eq
thf(fact_675_enumerate__append__eq,axiom,
    ! [N: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( enumerate_nat @ N @ ( append_nat @ Xs2 @ Ys ) )
      = ( append985823374593552924at_nat @ ( enumerate_nat @ N @ Xs2 ) @ ( enumerate_nat @ ( plus_plus_nat @ N @ ( size_size_list_nat @ Xs2 ) ) @ Ys ) ) ) ).

% enumerate_append_eq
thf(fact_676_sorted01,axiom,
    ! [Xs2: list_nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat )
     => ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 ) ) ).

% sorted01
thf(fact_677_nat_Oinject,axiom,
    ! [X22: nat,Y22: nat] :
      ( ( ( suc @ X22 )
        = ( suc @ Y22 ) )
      = ( X22 = Y22 ) ) ).

% nat.inject
thf(fact_678_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_679_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_680_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_681_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_682_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_683_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_684_length__rev,axiom,
    ! [Xs2: list_a] :
      ( ( size_size_list_a @ ( rev_a @ Xs2 ) )
      = ( size_size_list_a @ Xs2 ) ) ).

% length_rev
thf(fact_685_length__rev,axiom,
    ! [Xs2: list_nat] :
      ( ( size_size_list_nat @ ( rev_nat @ Xs2 ) )
      = ( size_size_list_nat @ Xs2 ) ) ).

% length_rev
thf(fact_686_rev__append,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( rev_a @ ( append_a @ Xs2 @ Ys ) )
      = ( append_a @ ( rev_a @ Ys ) @ ( rev_a @ Xs2 ) ) ) ).

% rev_append
thf(fact_687_mset__rev,axiom,
    ! [Xs2: list_a] :
      ( ( mset_a @ ( rev_a @ Xs2 ) )
      = ( mset_a @ Xs2 ) ) ).

% mset_rev
thf(fact_688_length__enumerate,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( size_s243904063682394823_nat_a @ ( enumerate_a @ N @ Xs2 ) )
      = ( size_size_list_a @ Xs2 ) ) ).

% length_enumerate
thf(fact_689_length__enumerate,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( size_s5460976970255530739at_nat @ ( enumerate_nat @ N @ Xs2 ) )
      = ( size_size_list_nat @ Xs2 ) ) ).

% length_enumerate
thf(fact_690_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N2: nat] : ( plus_plus_nat @ N2 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_691_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_692_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_693_one__reorient,axiom,
    ! [X2: nat] :
      ( ( one_one_nat = X2 )
      = ( X2 = one_one_nat ) ) ).

% one_reorient
thf(fact_694_Suc__inject,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y3 ) )
     => ( X2 = Y3 ) ) ).

% Suc_inject
thf(fact_695_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_696_not__less__less__Suc__eq,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% not_less_less_Suc_eq
thf(fact_697_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I3: nat] :
            ( ( J
              = ( suc @ I3 ) )
           => ( P @ I3 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ J )
             => ( ( P @ ( suc @ I3 ) )
               => ( P @ I3 ) ) )
         => ( P @ I ) ) ) ) ).

% strict_inc_induct
thf(fact_698_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I3: nat] : ( P @ I3 @ ( suc @ I3 ) )
       => ( ! [I3: nat,J2: nat,K2: nat] :
              ( ( ord_less_nat @ I3 @ J2 )
             => ( ( ord_less_nat @ J2 @ K2 )
               => ( ( P @ I3 @ J2 )
                 => ( ( P @ J2 @ K2 )
                   => ( P @ I3 @ K2 ) ) ) ) )
         => ( P @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_699_less__trans__Suc,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ J @ K )
       => ( ord_less_nat @ ( suc @ I ) @ K ) ) ) ).

% less_trans_Suc
thf(fact_700_Suc__less__SucD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_less_SucD
thf(fact_701_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_702_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M7: nat] :
            ( ( M
              = ( suc @ M7 ) )
            & ( ord_less_nat @ N @ M7 ) ) ) ) ).

% Suc_less_eq2
thf(fact_703_All__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( suc @ N ) )
           => ( P @ I2 ) ) )
      = ( ( P @ N )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ N )
           => ( P @ I2 ) ) ) ) ).

% All_less_Suc
thf(fact_704_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_705_less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_nat @ M @ N )
        | ( M = N ) ) ) ).

% less_Suc_eq
thf(fact_706_Ex__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( suc @ N ) )
            & ( P @ I2 ) ) )
      = ( ( P @ N )
        | ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ N )
            & ( P @ I2 ) ) ) ) ).

% Ex_less_Suc
thf(fact_707_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_708_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_709_Suc__lessI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ( suc @ M )
         != N )
       => ( ord_less_nat @ ( suc @ M ) @ N ) ) ) ).

% Suc_lessI
thf(fact_710_Suc__lessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K )
     => ~ ! [J2: nat] :
            ( ( ord_less_nat @ I @ J2 )
           => ( K
             != ( suc @ J2 ) ) ) ) ).

% Suc_lessE
thf(fact_711_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_712_Nat_OlessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ I @ K )
     => ( ( K
         != ( suc @ I ) )
       => ~ ! [J2: nat] :
              ( ( ord_less_nat @ I @ J2 )
             => ( K
               != ( suc @ J2 ) ) ) ) ) ).

% Nat.lessE
thf(fact_713_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X5: nat] : ( R @ X5 @ X5 )
       => ( ! [X5: nat,Y5: nat,Z3: nat] :
              ( ( R @ X5 @ Y5 )
             => ( ( R @ Y5 @ Z3 )
               => ( R @ X5 @ Z3 ) ) )
         => ( ! [N5: nat] : ( R @ N5 @ ( suc @ N5 ) )
           => ( R @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_714_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P @ M )
       => ( ! [N5: nat] :
              ( ( ord_less_eq_nat @ M @ N5 )
             => ( ( P @ N5 )
               => ( P @ ( suc @ N5 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_715_full__nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N5: nat] :
          ( ! [M5: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M5 ) @ N5 )
             => ( P @ M5 ) )
         => ( P @ N5 ) )
     => ( P @ N ) ) ).

% full_nat_induct
thf(fact_716_not__less__eq__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M ) ) ).

% not_less_eq_eq
thf(fact_717_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_718_le__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M @ N )
        | ( M
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_719_Suc__le__D,axiom,
    ! [N: nat,M8: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M8 )
     => ? [M6: nat] :
          ( M8
          = ( suc @ M6 ) ) ) ).

% Suc_le_D
thf(fact_720_le__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ ( suc @ N ) ) ) ).

% le_SucI
thf(fact_721_le__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M @ N )
       => ( M
          = ( suc @ N ) ) ) ) ).

% le_SucE
thf(fact_722_Suc__leD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_leD
thf(fact_723_nat__arith_Osuc1,axiom,
    ! [A2: nat,K: nat,A: nat] :
      ( ( A2
        = ( plus_plus_nat @ K @ A ) )
     => ( ( suc @ A2 )
        = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_724_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_725_add__Suc__shift,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ M @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_726_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat,N: nat,N6: nat] :
      ( ! [N5: nat] : ( ord_less_eq_nat @ ( F @ ( suc @ N5 ) ) @ ( F @ N5 ) )
     => ( ( ord_less_eq_nat @ N @ N6 )
       => ( ord_less_eq_nat @ ( F @ N6 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_727_lift__Suc__mono__le,axiom,
    ! [F: nat > nat,N: nat,N6: nat] :
      ( ! [N5: nat] : ( ord_less_eq_nat @ ( F @ N5 ) @ ( F @ ( suc @ N5 ) ) )
     => ( ( ord_less_eq_nat @ N @ N6 )
       => ( ord_less_eq_nat @ ( F @ N ) @ ( F @ N6 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_728_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat,N: nat,M: nat] :
      ( ! [N5: nat] : ( ord_less_nat @ ( F @ N5 ) @ ( F @ ( suc @ N5 ) ) )
     => ( ( ord_less_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_729_lift__Suc__mono__less,axiom,
    ! [F: nat > nat,N: nat,N6: nat] :
      ( ! [N5: nat] : ( ord_less_nat @ ( F @ N5 ) @ ( F @ ( suc @ N5 ) ) )
     => ( ( ord_less_nat @ N @ N6 )
       => ( ord_less_nat @ ( F @ N ) @ ( F @ N6 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_730_le__imp__less__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_731_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N2: nat] : ( ord_less_eq_nat @ ( suc @ N2 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_732_less__Suc__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% less_Suc_eq_le
thf(fact_733_le__less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% le_less_Suc_eq
thf(fact_734_Suc__le__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_le_lessD
thf(fact_735_inc__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ J )
       => ( ! [N5: nat] :
              ( ( ord_less_eq_nat @ I @ N5 )
             => ( ( ord_less_nat @ N5 @ J )
               => ( ( P @ ( suc @ N5 ) )
                 => ( P @ N5 ) ) ) )
         => ( P @ I ) ) ) ) ).

% inc_induct
thf(fact_736_dec__induct,axiom,
    ! [I: nat,J: nat,P: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P @ I )
       => ( ! [N5: nat] :
              ( ( ord_less_eq_nat @ I @ N5 )
             => ( ( ord_less_nat @ N5 @ J )
               => ( ( P @ N5 )
                 => ( P @ ( suc @ N5 ) ) ) ) )
         => ( P @ J ) ) ) ) ).

% dec_induct
thf(fact_737_Suc__le__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_le_eq
thf(fact_738_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_739_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q3: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q3 ) ) ) ) ).

% less_natE
thf(fact_740_less__add__Suc1,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M ) ) ) ).

% less_add_Suc1
thf(fact_741_less__add__Suc2,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M @ I ) ) ) ).

% less_add_Suc2
thf(fact_742_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M2: nat,N2: nat] :
        ? [K4: nat] :
          ( N2
          = ( suc @ ( plus_plus_nat @ M2 @ K4 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_743_less__imp__Suc__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ? [K2: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M @ K2 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_744_size__eq__Suc__imp__elem,axiom,
    ! [M3: multiset_a,N: nat] :
      ( ( ( size_size_multiset_a @ M3 )
        = ( suc @ N ) )
     => ? [A3: a] : ( member_a @ A3 @ ( set_mset_a @ M3 ) ) ) ).

% size_eq_Suc_imp_elem
thf(fact_745_sorted__rev__iff__nth__Suc,axiom,
    ! [Xs2: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( rev_nat @ Xs2 ) )
      = ( ! [I2: nat] :
            ( ( ord_less_nat @ ( suc @ I2 ) @ ( size_size_list_nat @ Xs2 ) )
           => ( ord_less_eq_nat @ ( nth_nat @ Xs2 @ ( suc @ I2 ) ) @ ( nth_nat @ Xs2 @ I2 ) ) ) ) ) ).

% sorted_rev_iff_nth_Suc
thf(fact_746_sorted__wrt01,axiom,
    ! [Xs2: list_a,P: a > a > $o] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat )
     => ( sorted_wrt_a @ P @ Xs2 ) ) ).

% sorted_wrt01
thf(fact_747_sorted__wrt01,axiom,
    ! [Xs2: list_nat,P: nat > nat > $o] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat )
     => ( sorted_wrt_nat @ P @ Xs2 ) ) ).

% sorted_wrt01
thf(fact_748_sorted__sorted__list__of__multiset,axiom,
    ! [M3: multiset_nat] : ( sorted_wrt_nat @ ord_less_eq_nat @ ( linord3047872887403683810et_nat @ M3 ) ) ).

% sorted_sorted_list_of_multiset
thf(fact_749_add__mono1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ord_less_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ ( plus_plus_nat @ B @ one_one_nat ) ) ) ).

% add_mono1
thf(fact_750_less__add__one,axiom,
    ! [A: nat] : ( ord_less_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% less_add_one
thf(fact_751_id__take__nth__drop,axiom,
    ! [I: nat,Xs2: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( Xs2
        = ( append_a @ ( take_a @ I @ Xs2 ) @ ( cons_a @ ( nth_a @ Xs2 @ I ) @ ( drop_a @ ( suc @ I ) @ Xs2 ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_752_id__take__nth__drop,axiom,
    ! [I: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( Xs2
        = ( append_nat @ ( take_nat @ I @ Xs2 ) @ ( cons_nat @ ( nth_nat @ Xs2 @ I ) @ ( drop_nat @ ( suc @ I ) @ Xs2 ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_753_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_754_le__numeral__extra_I4_J,axiom,
    ord_less_eq_nat @ one_one_nat @ one_one_nat ).

% le_numeral_extra(4)
thf(fact_755_nth__Cons__Suc,axiom,
    ! [X2: a,Xs2: list_a,N: nat] :
      ( ( nth_a @ ( cons_a @ X2 @ Xs2 ) @ ( suc @ N ) )
      = ( nth_a @ Xs2 @ N ) ) ).

% nth_Cons_Suc
thf(fact_756_nth__Cons__Suc,axiom,
    ! [X2: nat,Xs2: list_nat,N: nat] :
      ( ( nth_nat @ ( cons_nat @ X2 @ Xs2 ) @ ( suc @ N ) )
      = ( nth_nat @ Xs2 @ N ) ) ).

% nth_Cons_Suc
thf(fact_757_take__Suc__Cons,axiom,
    ! [N: nat,X2: a,Xs2: list_a] :
      ( ( take_a @ ( suc @ N ) @ ( cons_a @ X2 @ Xs2 ) )
      = ( cons_a @ X2 @ ( take_a @ N @ Xs2 ) ) ) ).

% take_Suc_Cons
thf(fact_758_drop__Suc__Cons,axiom,
    ! [N: nat,X2: a,Xs2: list_a] :
      ( ( drop_a @ ( suc @ N ) @ ( cons_a @ X2 @ Xs2 ) )
      = ( drop_a @ N @ Xs2 ) ) ).

% drop_Suc_Cons
thf(fact_759_nth__append__length,axiom,
    ! [Xs2: list_a,X2: a,Ys: list_a] :
      ( ( nth_a @ ( append_a @ Xs2 @ ( cons_a @ X2 @ Ys ) ) @ ( size_size_list_a @ Xs2 ) )
      = X2 ) ).

% nth_append_length
thf(fact_760_nth__append__length,axiom,
    ! [Xs2: list_nat,X2: nat,Ys: list_nat] :
      ( ( nth_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X2 @ Ys ) ) @ ( size_size_list_nat @ Xs2 ) )
      = X2 ) ).

% nth_append_length
thf(fact_761_append__Cons,axiom,
    ! [X2: a,Xs2: list_a,Ys: list_a] :
      ( ( append_a @ ( cons_a @ X2 @ Xs2 ) @ Ys )
      = ( cons_a @ X2 @ ( append_a @ Xs2 @ Ys ) ) ) ).

% append_Cons
thf(fact_762_Cons__eq__appendI,axiom,
    ! [X2: a,Xs12: list_a,Ys: list_a,Xs2: list_a,Zs: list_a] :
      ( ( ( cons_a @ X2 @ Xs12 )
        = Ys )
     => ( ( Xs2
          = ( append_a @ Xs12 @ Zs ) )
       => ( ( cons_a @ X2 @ Xs2 )
          = ( append_a @ Ys @ Zs ) ) ) ) ).

% Cons_eq_appendI
thf(fact_763_length__Suc__conv,axiom,
    ! [Xs2: list_a,N: nat] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( suc @ N ) )
      = ( ? [Y4: a,Ys2: list_a] :
            ( ( Xs2
              = ( cons_a @ Y4 @ Ys2 ) )
            & ( ( size_size_list_a @ Ys2 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_764_length__Suc__conv,axiom,
    ! [Xs2: list_nat,N: nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( suc @ N ) )
      = ( ? [Y4: nat,Ys2: list_nat] :
            ( ( Xs2
              = ( cons_nat @ Y4 @ Ys2 ) )
            & ( ( size_size_list_nat @ Ys2 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_765_Suc__length__conv,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ( suc @ N )
        = ( size_size_list_a @ Xs2 ) )
      = ( ? [Y4: a,Ys2: list_a] :
            ( ( Xs2
              = ( cons_a @ Y4 @ Ys2 ) )
            & ( ( size_size_list_a @ Ys2 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_766_Suc__length__conv,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ( suc @ N )
        = ( size_size_list_nat @ Xs2 ) )
      = ( ? [Y4: nat,Ys2: list_nat] :
            ( ( Xs2
              = ( cons_nat @ Y4 @ Ys2 ) )
            & ( ( size_size_list_nat @ Ys2 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_767_impossible__Cons,axiom,
    ! [Xs2: list_a,Ys: list_a,X2: a] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ ( size_size_list_a @ Ys ) )
     => ( Xs2
       != ( cons_a @ X2 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_768_impossible__Cons,axiom,
    ! [Xs2: list_nat,Ys: list_nat,X2: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ ( size_size_list_nat @ Ys ) )
     => ( Xs2
       != ( cons_nat @ X2 @ Ys ) ) ) ).

% impossible_Cons
thf(fact_769_sorted2,axiom,
    ! [X2: nat,Y3: nat,Zs: list_nat] :
      ( ( sorted_wrt_nat @ ord_less_eq_nat @ ( cons_nat @ X2 @ ( cons_nat @ Y3 @ Zs ) ) )
      = ( ( ord_less_eq_nat @ X2 @ Y3 )
        & ( sorted_wrt_nat @ ord_less_eq_nat @ ( cons_nat @ Y3 @ Zs ) ) ) ) ).

% sorted2
thf(fact_770_nth__via__drop,axiom,
    ! [N: nat,Xs2: list_nat,Y3: nat,Ys: list_nat] :
      ( ( ( drop_nat @ N @ Xs2 )
        = ( cons_nat @ Y3 @ Ys ) )
     => ( ( nth_nat @ Xs2 @ N )
        = Y3 ) ) ).

% nth_via_drop
thf(fact_771_nth__via__drop,axiom,
    ! [N: nat,Xs2: list_a,Y3: a,Ys: list_a] :
      ( ( ( drop_a @ N @ Xs2 )
        = ( cons_a @ Y3 @ Ys ) )
     => ( ( nth_a @ Xs2 @ N )
        = Y3 ) ) ).

% nth_via_drop
thf(fact_772_Suc__le__length__iff,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( size_size_list_a @ Xs2 ) )
      = ( ? [X4: a,Ys2: list_a] :
            ( ( Xs2
              = ( cons_a @ X4 @ Ys2 ) )
            & ( ord_less_eq_nat @ N @ ( size_size_list_a @ Ys2 ) ) ) ) ) ).

% Suc_le_length_iff
thf(fact_773_Suc__le__length__iff,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( size_size_list_nat @ Xs2 ) )
      = ( ? [X4: nat,Ys2: list_nat] :
            ( ( Xs2
              = ( cons_nat @ X4 @ Ys2 ) )
            & ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Ys2 ) ) ) ) ) ).

% Suc_le_length_iff
thf(fact_774_bounded__Max__nat,axiom,
    ! [P: nat > $o,X2: nat,M3: nat] :
      ( ( P @ X2 )
     => ( ! [X5: nat] :
            ( ( P @ X5 )
           => ( ord_less_eq_nat @ X5 @ M3 ) )
       => ~ ! [M6: nat] :
              ( ( P @ M6 )
             => ~ ! [X7: nat] :
                    ( ( P @ X7 )
                   => ( ord_less_eq_nat @ X7 @ M6 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_775_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs2: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( cons_a @ ( nth_a @ Xs2 @ I ) @ ( drop_a @ ( suc @ I ) @ Xs2 ) )
        = ( drop_a @ I @ Xs2 ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_776_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( cons_nat @ ( nth_nat @ Xs2 @ I ) @ ( drop_nat @ ( suc @ I ) @ Xs2 ) )
        = ( drop_nat @ I @ Xs2 ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_777_length__Cons,axiom,
    ! [X2: a,Xs2: list_a] :
      ( ( size_size_list_a @ ( cons_a @ X2 @ Xs2 ) )
      = ( suc @ ( size_size_list_a @ Xs2 ) ) ) ).

% length_Cons
thf(fact_778_length__Cons,axiom,
    ! [X2: nat,Xs2: list_nat] :
      ( ( size_size_list_nat @ ( cons_nat @ X2 @ Xs2 ) )
      = ( suc @ ( size_size_list_nat @ Xs2 ) ) ) ).

% length_Cons
thf(fact_779_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs2: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( take_a @ ( suc @ I ) @ Xs2 )
        = ( append_a @ ( take_a @ I @ Xs2 ) @ ( cons_a @ ( nth_a @ Xs2 @ I ) @ nil_a ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_780_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( take_nat @ ( suc @ I ) @ Xs2 )
        = ( append_nat @ ( take_nat @ I @ Xs2 ) @ ( cons_nat @ ( nth_nat @ Xs2 @ I ) @ nil_nat ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_781_upd__conv__take__nth__drop,axiom,
    ! [I: nat,Xs2: list_a,A: a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( list_update_a @ Xs2 @ I @ A )
        = ( append_a @ ( take_a @ I @ Xs2 ) @ ( cons_a @ A @ ( drop_a @ ( suc @ I ) @ Xs2 ) ) ) ) ) ).

% upd_conv_take_nth_drop
thf(fact_782_upd__conv__take__nth__drop,axiom,
    ! [I: nat,Xs2: list_nat,A: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( list_update_nat @ Xs2 @ I @ A )
        = ( append_nat @ ( take_nat @ I @ Xs2 ) @ ( cons_nat @ A @ ( drop_nat @ ( suc @ I ) @ Xs2 ) ) ) ) ) ).

% upd_conv_take_nth_drop
thf(fact_783_rotate1__length01,axiom,
    ! [Xs2: list_a] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat )
     => ( ( rotate1_a @ Xs2 )
        = Xs2 ) ) ).

% rotate1_length01
thf(fact_784_rotate1__length01,axiom,
    ! [Xs2: list_nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat )
     => ( ( rotate1_nat @ Xs2 )
        = Xs2 ) ) ).

% rotate1_length01
thf(fact_785_nth__enumerate__eq,axiom,
    ! [M: nat,Xs2: list_a,N: nat] :
      ( ( ord_less_nat @ M @ ( size_size_list_a @ Xs2 ) )
     => ( ( nth_Pr2476257081389315164_nat_a @ ( enumerate_a @ N @ Xs2 ) @ M )
        = ( product_Pair_nat_a @ ( plus_plus_nat @ N @ M ) @ ( nth_a @ Xs2 @ M ) ) ) ) ).

% nth_enumerate_eq
thf(fact_786_nth__enumerate__eq,axiom,
    ! [M: nat,Xs2: list_nat,N: nat] :
      ( ( ord_less_nat @ M @ ( size_size_list_nat @ Xs2 ) )
     => ( ( nth_Pr7617993195940197384at_nat @ ( enumerate_nat @ N @ Xs2 ) @ M )
        = ( product_Pair_nat_nat @ ( plus_plus_nat @ N @ M ) @ ( nth_nat @ Xs2 @ M ) ) ) ) ).

% nth_enumerate_eq
thf(fact_787_append__is__Nil__conv,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( append_a @ Xs2 @ Ys )
        = nil_a )
      = ( ( Xs2 = nil_a )
        & ( Ys = nil_a ) ) ) ).

% append_is_Nil_conv
thf(fact_788_Nil__is__append__conv,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( nil_a
        = ( append_a @ Xs2 @ Ys ) )
      = ( ( Xs2 = nil_a )
        & ( Ys = nil_a ) ) ) ).

% Nil_is_append_conv
thf(fact_789_self__append__conv2,axiom,
    ! [Y3: list_a,Xs2: list_a] :
      ( ( Y3
        = ( append_a @ Xs2 @ Y3 ) )
      = ( Xs2 = nil_a ) ) ).

% self_append_conv2
thf(fact_790_append__self__conv2,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( append_a @ Xs2 @ Ys )
        = Ys )
      = ( Xs2 = nil_a ) ) ).

% append_self_conv2
thf(fact_791_self__append__conv,axiom,
    ! [Y3: list_a,Ys: list_a] :
      ( ( Y3
        = ( append_a @ Y3 @ Ys ) )
      = ( Ys = nil_a ) ) ).

% self_append_conv
thf(fact_792_append__self__conv,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( append_a @ Xs2 @ Ys )
        = Xs2 )
      = ( Ys = nil_a ) ) ).

% append_self_conv
thf(fact_793_append__Nil2,axiom,
    ! [Xs2: list_a] :
      ( ( append_a @ Xs2 @ nil_a )
      = Xs2 ) ).

% append_Nil2
thf(fact_794_append_Oright__neutral,axiom,
    ! [A: list_a] :
      ( ( append_a @ A @ nil_a )
      = A ) ).

% append.right_neutral
thf(fact_795_length__list__update,axiom,
    ! [Xs2: list_a,I: nat,X2: a] :
      ( ( size_size_list_a @ ( list_update_a @ Xs2 @ I @ X2 ) )
      = ( size_size_list_a @ Xs2 ) ) ).

% length_list_update
thf(fact_796_length__list__update,axiom,
    ! [Xs2: list_nat,I: nat,X2: nat] :
      ( ( size_size_list_nat @ ( list_update_nat @ Xs2 @ I @ X2 ) )
      = ( size_size_list_nat @ Xs2 ) ) ).

% length_list_update
thf(fact_797_list__update__id,axiom,
    ! [Xs2: list_a,I: nat] :
      ( ( list_update_a @ Xs2 @ I @ ( nth_a @ Xs2 @ I ) )
      = Xs2 ) ).

% list_update_id
thf(fact_798_list__update__id,axiom,
    ! [Xs2: list_nat,I: nat] :
      ( ( list_update_nat @ Xs2 @ I @ ( nth_nat @ Xs2 @ I ) )
      = Xs2 ) ).

% list_update_id
thf(fact_799_nth__list__update__neq,axiom,
    ! [I: nat,J: nat,Xs2: list_a,X2: a] :
      ( ( I != J )
     => ( ( nth_a @ ( list_update_a @ Xs2 @ I @ X2 ) @ J )
        = ( nth_a @ Xs2 @ J ) ) ) ).

% nth_list_update_neq
thf(fact_800_nth__list__update__neq,axiom,
    ! [I: nat,J: nat,Xs2: list_nat,X2: nat] :
      ( ( I != J )
     => ( ( nth_nat @ ( list_update_nat @ Xs2 @ I @ X2 ) @ J )
        = ( nth_nat @ Xs2 @ J ) ) ) ).

% nth_list_update_neq
thf(fact_801_length__rotate1,axiom,
    ! [Xs2: list_a] :
      ( ( size_size_list_a @ ( rotate1_a @ Xs2 ) )
      = ( size_size_list_a @ Xs2 ) ) ).

% length_rotate1
thf(fact_802_length__rotate1,axiom,
    ! [Xs2: list_nat] :
      ( ( size_size_list_nat @ ( rotate1_nat @ Xs2 ) )
      = ( size_size_list_nat @ Xs2 ) ) ).

% length_rotate1
thf(fact_803_append1__eq__conv,axiom,
    ! [Xs2: list_a,X2: a,Ys: list_a,Y3: a] :
      ( ( ( append_a @ Xs2 @ ( cons_a @ X2 @ nil_a ) )
        = ( append_a @ Ys @ ( cons_a @ Y3 @ nil_a ) ) )
      = ( ( Xs2 = Ys )
        & ( X2 = Y3 ) ) ) ).

% append1_eq_conv
thf(fact_804_list__update__beyond,axiom,
    ! [Xs2: list_a,I: nat,X2: a] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ I )
     => ( ( list_update_a @ Xs2 @ I @ X2 )
        = Xs2 ) ) ).

% list_update_beyond
thf(fact_805_list__update__beyond,axiom,
    ! [Xs2: list_nat,I: nat,X2: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ I )
     => ( ( list_update_nat @ Xs2 @ I @ X2 )
        = Xs2 ) ) ).

% list_update_beyond
thf(fact_806_last__appendL,axiom,
    ! [Ys: list_a,Xs2: list_a] :
      ( ( Ys = nil_a )
     => ( ( last_a @ ( append_a @ Xs2 @ Ys ) )
        = ( last_a @ Xs2 ) ) ) ).

% last_appendL
thf(fact_807_last__appendR,axiom,
    ! [Ys: list_a,Xs2: list_a] :
      ( ( Ys != nil_a )
     => ( ( last_a @ ( append_a @ Xs2 @ Ys ) )
        = ( last_a @ Ys ) ) ) ).

% last_appendR
thf(fact_808_take__update__cancel,axiom,
    ! [N: nat,M: nat,Xs2: list_a,Y3: a] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( take_a @ N @ ( list_update_a @ Xs2 @ M @ Y3 ) )
        = ( take_a @ N @ Xs2 ) ) ) ).

% take_update_cancel
thf(fact_809_drop__update__cancel,axiom,
    ! [N: nat,M: nat,Xs2: list_a,X2: a] :
      ( ( ord_less_nat @ N @ M )
     => ( ( drop_a @ M @ ( list_update_a @ Xs2 @ N @ X2 ) )
        = ( drop_a @ M @ Xs2 ) ) ) ).

% drop_update_cancel
thf(fact_810_rev__eq__Cons__iff,axiom,
    ! [Xs2: list_a,Y3: a,Ys: list_a] :
      ( ( ( rev_a @ Xs2 )
        = ( cons_a @ Y3 @ Ys ) )
      = ( Xs2
        = ( append_a @ ( rev_a @ Ys ) @ ( cons_a @ Y3 @ nil_a ) ) ) ) ).

% rev_eq_Cons_iff
thf(fact_811_drop__eq__Nil2,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( nil_a
        = ( drop_a @ N @ Xs2 ) )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_812_drop__eq__Nil2,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( nil_nat
        = ( drop_nat @ N @ Xs2 ) )
      = ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ N ) ) ).

% drop_eq_Nil2
thf(fact_813_drop__eq__Nil,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ( drop_a @ N @ Xs2 )
        = nil_a )
      = ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ N ) ) ).

% drop_eq_Nil
thf(fact_814_drop__eq__Nil,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ( drop_nat @ N @ Xs2 )
        = nil_nat )
      = ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ N ) ) ).

% drop_eq_Nil
thf(fact_815_drop__all,axiom,
    ! [Xs2: list_a,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_a @ Xs2 ) @ N )
     => ( ( drop_a @ N @ Xs2 )
        = nil_a ) ) ).

% drop_all
thf(fact_816_drop__all,axiom,
    ! [Xs2: list_nat,N: nat] :
      ( ( ord_less_eq_nat @ ( size_size_list_nat @ Xs2 ) @ N )
     => ( ( drop_nat @ N @ Xs2 )
        = nil_nat ) ) ).

% drop_all
thf(fact_817_list__update__length,axiom,
    ! [Xs2: list_a,X2: a,Ys: list_a,Y3: a] :
      ( ( list_update_a @ ( append_a @ Xs2 @ ( cons_a @ X2 @ Ys ) ) @ ( size_size_list_a @ Xs2 ) @ Y3 )
      = ( append_a @ Xs2 @ ( cons_a @ Y3 @ Ys ) ) ) ).

% list_update_length
thf(fact_818_list__update__length,axiom,
    ! [Xs2: list_nat,X2: nat,Ys: list_nat,Y3: nat] :
      ( ( list_update_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X2 @ Ys ) ) @ ( size_size_list_nat @ Xs2 ) @ Y3 )
      = ( append_nat @ Xs2 @ ( cons_nat @ Y3 @ Ys ) ) ) ).

% list_update_length
thf(fact_819_last__snoc,axiom,
    ! [Xs2: list_a,X2: a] :
      ( ( last_a @ ( append_a @ Xs2 @ ( cons_a @ X2 @ nil_a ) ) )
      = X2 ) ).

% last_snoc
thf(fact_820_nth__list__update__eq,axiom,
    ! [I: nat,Xs2: list_a,X2: a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( nth_a @ ( list_update_a @ Xs2 @ I @ X2 ) @ I )
        = X2 ) ) ).

% nth_list_update_eq
thf(fact_821_nth__list__update__eq,axiom,
    ! [I: nat,Xs2: list_nat,X2: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( nth_nat @ ( list_update_nat @ Xs2 @ I @ X2 ) @ I )
        = X2 ) ) ).

% nth_list_update_eq
thf(fact_822_rotate1_Osimps_I2_J,axiom,
    ! [X2: a,Xs2: list_a] :
      ( ( rotate1_a @ ( cons_a @ X2 @ Xs2 ) )
      = ( append_a @ Xs2 @ ( cons_a @ X2 @ nil_a ) ) ) ).

% rotate1.simps(2)
thf(fact_823_eq__Nil__appendI,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( Xs2 = Ys )
     => ( Xs2
        = ( append_a @ nil_a @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_824_append_Oleft__neutral,axiom,
    ! [A: list_a] :
      ( ( append_a @ nil_a @ A )
      = A ) ).

% append.left_neutral
thf(fact_825_append__Nil,axiom,
    ! [Ys: list_a] :
      ( ( append_a @ nil_a @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_826_take__update__swap,axiom,
    ! [M: nat,Xs2: list_a,N: nat,X2: a] :
      ( ( take_a @ M @ ( list_update_a @ Xs2 @ N @ X2 ) )
      = ( list_update_a @ ( take_a @ M @ Xs2 ) @ N @ X2 ) ) ).

% take_update_swap
thf(fact_827_sorted__wrt_Osimps_I1_J,axiom,
    ! [P: nat > nat > $o] : ( sorted_wrt_nat @ P @ nil_nat ) ).

% sorted_wrt.simps(1)
thf(fact_828_take__Nil,axiom,
    ! [N: nat] :
      ( ( take_a @ N @ nil_a )
      = nil_a ) ).

% take_Nil
thf(fact_829_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_a @ N @ nil_a )
      = nil_a ) ).

% drop_Nil
thf(fact_830_list__induct2,axiom,
    ! [Xs2: list_a,Ys: list_a,P: list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( P @ nil_a @ nil_a )
       => ( ! [X5: a,Xs: list_a,Y5: a,Ys4: list_a] :
              ( ( ( size_size_list_a @ Xs )
                = ( size_size_list_a @ Ys4 ) )
             => ( ( P @ Xs @ Ys4 )
               => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) ) ) )
         => ( P @ Xs2 @ Ys ) ) ) ) ).

% list_induct2
thf(fact_831_list__induct2,axiom,
    ! [Xs2: list_a,Ys: list_nat,P: list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P @ nil_a @ nil_nat )
       => ( ! [X5: a,Xs: list_a,Y5: nat,Ys4: list_nat] :
              ( ( ( size_size_list_a @ Xs )
                = ( size_size_list_nat @ Ys4 ) )
             => ( ( P @ Xs @ Ys4 )
               => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) ) ) )
         => ( P @ Xs2 @ Ys ) ) ) ) ).

% list_induct2
thf(fact_832_list__induct2,axiom,
    ! [Xs2: list_nat,Ys: list_a,P: list_nat > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( P @ nil_nat @ nil_a )
       => ( ! [X5: nat,Xs: list_nat,Y5: a,Ys4: list_a] :
              ( ( ( size_size_list_nat @ Xs )
                = ( size_size_list_a @ Ys4 ) )
             => ( ( P @ Xs @ Ys4 )
               => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) ) ) )
         => ( P @ Xs2 @ Ys ) ) ) ) ).

% list_induct2
thf(fact_833_list__induct2,axiom,
    ! [Xs2: list_nat,Ys: list_nat,P: list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( P @ nil_nat @ nil_nat )
       => ( ! [X5: nat,Xs: list_nat,Y5: nat,Ys4: list_nat] :
              ( ( ( size_size_list_nat @ Xs )
                = ( size_size_list_nat @ Ys4 ) )
             => ( ( P @ Xs @ Ys4 )
               => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) ) ) )
         => ( P @ Xs2 @ Ys ) ) ) ) ).

% list_induct2
thf(fact_834_list__induct3,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a,P: list_a > list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P @ nil_a @ nil_a @ nil_a )
         => ( ! [X5: a,Xs: list_a,Y5: a,Ys4: list_a,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_a @ Xs )
                  = ( size_size_list_a @ Ys4 ) )
               => ( ( ( size_size_list_a @ Ys4 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_835_list__induct3,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_nat,P: list_a > list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P @ nil_a @ nil_a @ nil_nat )
         => ( ! [X5: a,Xs: list_a,Y5: a,Ys4: list_a,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_a @ Xs )
                  = ( size_size_list_a @ Ys4 ) )
               => ( ( ( size_size_list_a @ Ys4 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_836_list__induct3,axiom,
    ! [Xs2: list_a,Ys: list_nat,Zs: list_a,P: list_a > list_nat > list_a > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P @ nil_a @ nil_nat @ nil_a )
         => ( ! [X5: a,Xs: list_a,Y5: nat,Ys4: list_nat,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_a @ Xs )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_837_list__induct3,axiom,
    ! [Xs2: list_a,Ys: list_nat,Zs: list_nat,P: list_a > list_nat > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P @ nil_a @ nil_nat @ nil_nat )
         => ( ! [X5: a,Xs: list_a,Y5: nat,Ys4: list_nat,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_a @ Xs )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_838_list__induct3,axiom,
    ! [Xs2: list_nat,Ys: list_a,Zs: list_a,P: list_nat > list_a > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P @ nil_nat @ nil_a @ nil_a )
         => ( ! [X5: nat,Xs: list_nat,Y5: a,Ys4: list_a,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_nat @ Xs )
                  = ( size_size_list_a @ Ys4 ) )
               => ( ( ( size_size_list_a @ Ys4 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_839_list__induct3,axiom,
    ! [Xs2: list_nat,Ys: list_a,Zs: list_nat,P: list_nat > list_a > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P @ nil_nat @ nil_a @ nil_nat )
         => ( ! [X5: nat,Xs: list_nat,Y5: a,Ys4: list_a,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_nat @ Xs )
                  = ( size_size_list_a @ Ys4 ) )
               => ( ( ( size_size_list_a @ Ys4 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_840_list__induct3,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs: list_a,P: list_nat > list_nat > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( P @ nil_nat @ nil_nat @ nil_a )
         => ( ! [X5: nat,Xs: list_nat,Y5: nat,Ys4: list_nat,Z3: a,Zs2: list_a] :
                ( ( ( size_size_list_nat @ Xs )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_a @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_841_list__induct3,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs: list_nat,P: list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( P @ nil_nat @ nil_nat @ nil_nat )
         => ( ! [X5: nat,Xs: list_nat,Y5: nat,Ys4: list_nat,Z3: nat,Zs2: list_nat] :
                ( ( ( size_size_list_nat @ Xs )
                  = ( size_size_list_nat @ Ys4 ) )
               => ( ( ( size_size_list_nat @ Ys4 )
                    = ( size_size_list_nat @ Zs2 ) )
                 => ( ( P @ Xs @ Ys4 @ Zs2 )
                   => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs2 @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_842_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a,Ws: list_a,P: list_a > list_a > list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P @ nil_a @ nil_a @ nil_a @ nil_a )
           => ( ! [X5: a,Xs: list_a,Y5: a,Ys4: list_a,Z3: a,Zs2: list_a,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( size_size_list_a @ Ys4 ) )
                 => ( ( ( size_size_list_a @ Ys4 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_843_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a,Ws: list_nat,P: list_a > list_a > list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_a @ nil_a @ nil_a @ nil_nat )
           => ( ! [X5: a,Xs: list_a,Y5: a,Ys4: list_a,Z3: a,Zs2: list_a,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( size_size_list_a @ Ys4 ) )
                 => ( ( ( size_size_list_a @ Ys4 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_844_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_nat,Ws: list_a,P: list_a > list_a > list_nat > list_a > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P @ nil_a @ nil_a @ nil_nat @ nil_a )
           => ( ! [X5: a,Xs: list_a,Y5: a,Ys4: list_a,Z3: nat,Zs2: list_nat,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( size_size_list_a @ Ys4 ) )
                 => ( ( ( size_size_list_a @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_845_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_nat,Ws: list_nat,P: list_a > list_a > list_nat > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_a @ nil_a @ nil_nat @ nil_nat )
           => ( ! [X5: a,Xs: list_a,Y5: a,Ys4: list_a,Z3: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( size_size_list_a @ Ys4 ) )
                 => ( ( ( size_size_list_a @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_846_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_nat,Zs: list_a,Ws: list_a,P: list_a > list_nat > list_a > list_a > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P @ nil_a @ nil_nat @ nil_a @ nil_a )
           => ( ! [X5: a,Xs: list_a,Y5: nat,Ys4: list_nat,Z3: a,Zs2: list_a,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_847_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_nat,Zs: list_a,Ws: list_nat,P: list_a > list_nat > list_a > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_a @ nil_nat @ nil_a @ nil_nat )
           => ( ! [X5: a,Xs: list_a,Y5: nat,Ys4: list_nat,Z3: a,Zs2: list_a,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_848_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_nat,Zs: list_nat,Ws: list_a,P: list_a > list_nat > list_nat > list_a > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( size_size_list_nat @ Ys )
          = ( size_size_list_nat @ Zs ) )
       => ( ( ( size_size_list_nat @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P @ nil_a @ nil_nat @ nil_nat @ nil_a )
           => ( ! [X5: a,Xs: list_a,Y5: nat,Ys4: list_nat,Z3: nat,Zs2: list_nat,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( size_size_list_nat @ Ys4 ) )
                 => ( ( ( size_size_list_nat @ Ys4 )
                      = ( size_size_list_nat @ Zs2 ) )
                   => ( ( ( size_size_list_nat @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_849_list__induct4,axiom,
    ! [Xs2: list_a,Ys: list_nat,Zs: list_nat,Ws: list_nat,P: list_a > list_nat > list_nat > list_nat > $o] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( 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 ) )
         => ( ( P @ nil_a @ nil_nat @ nil_nat @ nil_nat )
           => ( ! [X5: a,Xs: list_a,Y5: nat,Ys4: list_nat,Z3: nat,Zs2: list_nat,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_a @ Xs )
                    = ( 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 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_a @ X5 @ Xs ) @ ( cons_nat @ Y5 @ Ys4 ) @ ( cons_nat @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_850_list__induct4,axiom,
    ! [Xs2: list_nat,Ys: list_a,Zs: list_a,Ws: list_a,P: list_nat > list_a > list_a > list_a > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_a @ Ws ) )
         => ( ( P @ nil_nat @ nil_a @ nil_a @ nil_a )
           => ( ! [X5: nat,Xs: list_nat,Y5: a,Ys4: list_a,Z3: a,Zs2: list_a,W: a,Ws2: list_a] :
                  ( ( ( size_size_list_nat @ Xs )
                    = ( size_size_list_a @ Ys4 ) )
                 => ( ( ( size_size_list_a @ Ys4 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_a @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_a @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_851_list__induct4,axiom,
    ! [Xs2: list_nat,Ys: list_a,Zs: list_a,Ws: list_nat,P: list_nat > list_a > list_a > list_nat > $o] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( size_size_list_a @ Ys )
          = ( size_size_list_a @ Zs ) )
       => ( ( ( size_size_list_a @ Zs )
            = ( size_size_list_nat @ Ws ) )
         => ( ( P @ nil_nat @ nil_a @ nil_a @ nil_nat )
           => ( ! [X5: nat,Xs: list_nat,Y5: a,Ys4: list_a,Z3: a,Zs2: list_a,W: nat,Ws2: list_nat] :
                  ( ( ( size_size_list_nat @ Xs )
                    = ( size_size_list_a @ Ys4 ) )
                 => ( ( ( size_size_list_a @ Ys4 )
                      = ( size_size_list_a @ Zs2 ) )
                   => ( ( ( size_size_list_a @ Zs2 )
                        = ( size_size_list_nat @ Ws2 ) )
                     => ( ( P @ Xs @ Ys4 @ Zs2 @ Ws2 )
                       => ( P @ ( cons_nat @ X5 @ Xs ) @ ( cons_a @ Y5 @ Ys4 ) @ ( cons_a @ Z3 @ Zs2 ) @ ( cons_nat @ W @ Ws2 ) ) ) ) ) )
             => ( P @ Xs2 @ Ys @ Zs @ Ws ) ) ) ) ) ) ).

% list_induct4
thf(fact_852_rev__induct,axiom,
    ! [P: list_a > $o,Xs2: list_a] :
      ( ( P @ nil_a )
     => ( ! [X5: a,Xs: list_a] :
            ( ( P @ Xs )
           => ( P @ ( append_a @ Xs @ ( cons_a @ X5 @ nil_a ) ) ) )
       => ( P @ Xs2 ) ) ) ).

% rev_induct
thf(fact_853_rev__exhaust,axiom,
    ! [Xs2: list_a] :
      ( ( Xs2 != nil_a )
     => ~ ! [Ys4: list_a,Y5: a] :
            ( Xs2
           != ( append_a @ Ys4 @ ( cons_a @ Y5 @ nil_a ) ) ) ) ).

% rev_exhaust
thf(fact_854_Cons__eq__append__conv,axiom,
    ! [X2: a,Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ( ( cons_a @ X2 @ Xs2 )
        = ( append_a @ Ys @ Zs ) )
      = ( ( ( Ys = nil_a )
          & ( ( cons_a @ X2 @ Xs2 )
            = Zs ) )
        | ? [Ys5: list_a] :
            ( ( ( cons_a @ X2 @ Ys5 )
              = Ys )
            & ( Xs2
              = ( append_a @ Ys5 @ Zs ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_855_append__eq__Cons__conv,axiom,
    ! [Ys: list_a,Zs: list_a,X2: a,Xs2: list_a] :
      ( ( ( append_a @ Ys @ Zs )
        = ( cons_a @ X2 @ Xs2 ) )
      = ( ( ( Ys = nil_a )
          & ( Zs
            = ( cons_a @ X2 @ Xs2 ) ) )
        | ? [Ys5: list_a] :
            ( ( Ys
              = ( cons_a @ X2 @ Ys5 ) )
            & ( ( append_a @ Ys5 @ Zs )
              = Xs2 ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_856_rev__nonempty__induct,axiom,
    ! [Xs2: list_a,P: list_a > $o] :
      ( ( Xs2 != nil_a )
     => ( ! [X5: a] : ( P @ ( cons_a @ X5 @ nil_a ) )
       => ( ! [X5: a,Xs: list_a] :
              ( ( Xs != nil_a )
             => ( ( P @ Xs )
               => ( P @ ( append_a @ Xs @ ( cons_a @ X5 @ nil_a ) ) ) ) )
         => ( P @ Xs2 ) ) ) ) ).

% rev_nonempty_induct
thf(fact_857_sorted0,axiom,
    sorted_wrt_nat @ ord_less_eq_nat @ nil_nat ).

% sorted0
thf(fact_858_strict__sorted__simps_I1_J,axiom,
    sorted_wrt_nat @ ord_less_nat @ nil_nat ).

% strict_sorted_simps(1)
thf(fact_859_sorted__wrt1,axiom,
    ! [P: nat > nat > $o,X2: nat] : ( sorted_wrt_nat @ P @ ( cons_nat @ X2 @ nil_nat ) ) ).

% sorted_wrt1
thf(fact_860_last__append,axiom,
    ! [Ys: list_a,Xs2: list_a] :
      ( ( ( Ys = nil_a )
       => ( ( last_a @ ( append_a @ Xs2 @ Ys ) )
          = ( last_a @ Xs2 ) ) )
      & ( ( Ys != nil_a )
       => ( ( last_a @ ( append_a @ Xs2 @ Ys ) )
          = ( last_a @ Ys ) ) ) ) ).

% last_append
thf(fact_861_longest__common__suffix,axiom,
    ! [Xs2: list_a,Ys: list_a] :
    ? [Ss: list_a,Xs4: list_a,Ys6: list_a] :
      ( ( Xs2
        = ( append_a @ Xs4 @ Ss ) )
      & ( Ys
        = ( append_a @ Ys6 @ Ss ) )
      & ( ( Xs4 = nil_a )
        | ( Ys6 = nil_a )
        | ( ( last_a @ Xs4 )
         != ( last_a @ Ys6 ) ) ) ) ).

% longest_common_suffix
thf(fact_862_length__append__singleton,axiom,
    ! [Xs2: list_a,X2: a] :
      ( ( size_size_list_a @ ( append_a @ Xs2 @ ( cons_a @ X2 @ nil_a ) ) )
      = ( suc @ ( size_size_list_a @ Xs2 ) ) ) ).

% length_append_singleton
thf(fact_863_length__append__singleton,axiom,
    ! [Xs2: list_nat,X2: nat] :
      ( ( size_size_list_nat @ ( append_nat @ Xs2 @ ( cons_nat @ X2 @ nil_nat ) ) )
      = ( suc @ ( size_size_list_nat @ Xs2 ) ) ) ).

% length_append_singleton
thf(fact_864_list__update__append1,axiom,
    ! [I: nat,Xs2: list_a,Ys: list_a,X2: a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( list_update_a @ ( append_a @ Xs2 @ Ys ) @ I @ X2 )
        = ( append_a @ ( list_update_a @ Xs2 @ I @ X2 ) @ Ys ) ) ) ).

% list_update_append1
thf(fact_865_list__update__append1,axiom,
    ! [I: nat,Xs2: list_nat,Ys: list_nat,X2: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( list_update_nat @ ( append_nat @ Xs2 @ Ys ) @ I @ X2 )
        = ( append_nat @ ( list_update_nat @ Xs2 @ I @ X2 ) @ Ys ) ) ) ).

% list_update_append1
thf(fact_866_list__update__same__conv,axiom,
    ! [I: nat,Xs2: list_a,X2: a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( ( list_update_a @ Xs2 @ I @ X2 )
          = Xs2 )
        = ( ( nth_a @ Xs2 @ I )
          = X2 ) ) ) ).

% list_update_same_conv
thf(fact_867_list__update__same__conv,axiom,
    ! [I: nat,Xs2: list_nat,X2: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( ( list_update_nat @ Xs2 @ I @ X2 )
          = Xs2 )
        = ( ( nth_nat @ Xs2 @ I )
          = X2 ) ) ) ).

% list_update_same_conv
thf(fact_868_nth__list__update,axiom,
    ! [I: nat,Xs2: list_a,J: nat,X2: a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( ( I = J )
         => ( ( nth_a @ ( list_update_a @ Xs2 @ I @ X2 ) @ J )
            = X2 ) )
        & ( ( I != J )
         => ( ( nth_a @ ( list_update_a @ Xs2 @ I @ X2 ) @ J )
            = ( nth_a @ Xs2 @ J ) ) ) ) ) ).

% nth_list_update
thf(fact_869_nth__list__update,axiom,
    ! [I: nat,Xs2: list_nat,J: nat,X2: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( ( I = J )
         => ( ( nth_nat @ ( list_update_nat @ Xs2 @ I @ X2 ) @ J )
            = X2 ) )
        & ( ( I != J )
         => ( ( nth_nat @ ( list_update_nat @ Xs2 @ I @ X2 ) @ J )
            = ( nth_nat @ Xs2 @ J ) ) ) ) ) ).

% nth_list_update
thf(fact_870_sorted1,axiom,
    ! [X2: nat] : ( sorted_wrt_nat @ ord_less_eq_nat @ ( cons_nat @ X2 @ nil_nat ) ) ).

% sorted1
thf(fact_871_same__length__different,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( Xs2 != Ys )
     => ( ( ( size_size_list_a @ Xs2 )
          = ( size_size_list_a @ Ys ) )
       => ? [Pre: list_a,X5: a,Xs4: list_a,Y5: a,Ys6: list_a] :
            ( ( X5 != Y5 )
            & ( Xs2
              = ( append_a @ Pre @ ( append_a @ ( cons_a @ X5 @ nil_a ) @ Xs4 ) ) )
            & ( Ys
              = ( append_a @ Pre @ ( append_a @ ( cons_a @ Y5 @ nil_a ) @ Ys6 ) ) ) ) ) ) ).

% same_length_different
thf(fact_872_same__length__different,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( Xs2 != Ys )
     => ( ( ( size_size_list_nat @ Xs2 )
          = ( size_size_list_nat @ Ys ) )
       => ? [Pre: list_nat,X5: nat,Xs4: list_nat,Y5: nat,Ys6: list_nat] :
            ( ( X5 != Y5 )
            & ( Xs2
              = ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ X5 @ nil_nat ) @ Xs4 ) ) )
            & ( Ys
              = ( append_nat @ Pre @ ( append_nat @ ( cons_nat @ Y5 @ nil_nat ) @ Ys6 ) ) ) ) ) ) ).

% same_length_different
thf(fact_873_rev_Osimps_I2_J,axiom,
    ! [X2: a,Xs2: list_a] :
      ( ( rev_a @ ( cons_a @ X2 @ Xs2 ) )
      = ( append_a @ ( rev_a @ Xs2 ) @ ( cons_a @ X2 @ nil_a ) ) ) ).

% rev.simps(2)
thf(fact_874_mset__swap,axiom,
    ! [I: nat,Ls: list_a,J: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Ls ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_a @ Ls ) )
       => ( ( mset_a @ ( list_update_a @ ( list_update_a @ Ls @ J @ ( nth_a @ Ls @ I ) ) @ I @ ( nth_a @ Ls @ J ) ) )
          = ( mset_a @ Ls ) ) ) ) ).

% mset_swap
thf(fact_875_mset__swap,axiom,
    ! [I: nat,Ls: list_nat,J: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ls ) )
     => ( ( ord_less_nat @ J @ ( size_size_list_nat @ Ls ) )
       => ( ( mset_nat @ ( list_update_nat @ ( list_update_nat @ Ls @ J @ ( nth_nat @ Ls @ I ) ) @ I @ ( nth_nat @ Ls @ J ) ) )
          = ( mset_nat @ Ls ) ) ) ) ).

% mset_swap
thf(fact_876_length__Suc__conv__rev,axiom,
    ! [Xs2: list_a,N: nat] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( suc @ N ) )
      = ( ? [Y4: a,Ys2: list_a] :
            ( ( Xs2
              = ( append_a @ Ys2 @ ( cons_a @ Y4 @ nil_a ) ) )
            & ( ( size_size_list_a @ Ys2 )
              = N ) ) ) ) ).

% length_Suc_conv_rev
thf(fact_877_length__Suc__conv__rev,axiom,
    ! [Xs2: list_nat,N: nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( suc @ N ) )
      = ( ? [Y4: nat,Ys2: list_nat] :
            ( ( Xs2
              = ( append_nat @ Ys2 @ ( cons_nat @ Y4 @ nil_nat ) ) )
            & ( ( size_size_list_nat @ Ys2 )
              = N ) ) ) ) ).

% length_Suc_conv_rev
thf(fact_878_take__hd__drop,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
     => ( ( append_a @ ( take_a @ N @ Xs2 ) @ ( cons_a @ ( hd_a @ ( drop_a @ N @ Xs2 ) ) @ nil_a ) )
        = ( take_a @ ( suc @ N ) @ Xs2 ) ) ) ).

% take_hd_drop
thf(fact_879_take__hd__drop,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
     => ( ( append_nat @ ( take_nat @ N @ Xs2 ) @ ( cons_nat @ ( hd_nat @ ( drop_nat @ N @ Xs2 ) ) @ nil_nat ) )
        = ( take_nat @ ( suc @ N ) @ Xs2 ) ) ) ).

% take_hd_drop
thf(fact_880_SuccI,axiom,
    ! [Kl: list_a,K: a,Kl2: set_list_a] :
      ( ( member_list_a @ ( append_a @ Kl @ ( cons_a @ K @ nil_a ) ) @ Kl2 )
     => ( member_a @ K @ ( bNF_Greatest_Succ_a @ Kl2 @ Kl ) ) ) ).

% SuccI
thf(fact_881_SuccD,axiom,
    ! [K: a,Kl2: set_list_a,Kl: list_a] :
      ( ( member_a @ K @ ( bNF_Greatest_Succ_a @ Kl2 @ Kl ) )
     => ( member_list_a @ ( append_a @ Kl @ ( cons_a @ K @ nil_a ) ) @ Kl2 ) ) ).

% SuccD
thf(fact_882_lex__take__index,axiom,
    ! [Xs2: list_a,Ys: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( lex_a @ R2 ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_a @ Xs2 ) )
           => ( ( ord_less_nat @ I3 @ ( size_size_list_a @ Ys ) )
             => ( ( ( take_a @ I3 @ Xs2 )
                  = ( take_a @ I3 @ Ys ) )
               => ~ ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ ( nth_a @ Xs2 @ I3 ) @ ( nth_a @ Ys @ I3 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_883_lex__take__index,axiom,
    ! [Xs2: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys ) @ ( lex_nat @ R2 ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Xs2 ) )
           => ( ( ord_less_nat @ I3 @ ( size_size_list_nat @ Ys ) )
             => ( ( ( take_nat @ I3 @ Xs2 )
                  = ( take_nat @ I3 @ Ys ) )
               => ~ ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs2 @ I3 ) @ ( nth_nat @ Ys @ I3 ) ) @ R2 ) ) ) ) ) ).

% lex_take_index
thf(fact_884_nth__zip,axiom,
    ! [I: nat,Xs2: list_a,Ys: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_a @ Ys ) )
       => ( ( nth_Product_prod_a_a @ ( zip_a_a @ Xs2 @ Ys ) @ I )
          = ( product_Pair_a_a @ ( nth_a @ Xs2 @ I ) @ ( nth_a @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_885_nth__zip,axiom,
    ! [I: nat,Xs2: list_a,Ys: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
       => ( ( nth_Pr8461465654520414006_a_nat @ ( zip_a_nat @ Xs2 @ Ys ) @ I )
          = ( product_Pair_a_nat @ ( nth_a @ Xs2 @ I ) @ ( nth_nat @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_886_nth__zip,axiom,
    ! [I: nat,Xs2: list_nat,Ys: list_a] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_a @ Ys ) )
       => ( ( nth_Pr2476257081389315164_nat_a @ ( zip_nat_a @ Xs2 @ Ys ) @ I )
          = ( product_Pair_nat_a @ ( nth_nat @ Xs2 @ I ) @ ( nth_a @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_887_nth__zip,axiom,
    ! [I: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs2 ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ys ) )
       => ( ( nth_Pr7617993195940197384at_nat @ ( zip_nat_nat @ Xs2 @ Ys ) @ I )
          = ( product_Pair_nat_nat @ ( nth_nat @ Xs2 @ I ) @ ( nth_nat @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_888_hd__append2,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( Xs2 != nil_a )
     => ( ( hd_a @ ( append_a @ Xs2 @ Ys ) )
        = ( hd_a @ Xs2 ) ) ) ).

% hd_append2
thf(fact_889_zip__append,axiom,
    ! [Xs2: list_a,Us: list_a,Ys: list_a,Vs: list_a] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Us ) )
     => ( ( zip_a_a @ ( append_a @ Xs2 @ Ys ) @ ( append_a @ Us @ Vs ) )
        = ( append5335208819046833346od_a_a @ ( zip_a_a @ Xs2 @ Us ) @ ( zip_a_a @ Ys @ Vs ) ) ) ) ).

% zip_append
thf(fact_890_zip__append,axiom,
    ! [Xs2: list_a,Us: list_nat,Ys: list_a,Vs: list_nat] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Us ) )
     => ( ( zip_a_nat @ ( append_a @ Xs2 @ Ys ) @ ( append_nat @ Us @ Vs ) )
        = ( append7679239579558125090_a_nat @ ( zip_a_nat @ Xs2 @ Us ) @ ( zip_a_nat @ Ys @ Vs ) ) ) ) ).

% zip_append
thf(fact_891_zip__append,axiom,
    ! [Xs2: list_nat,Us: list_a,Ys: list_nat,Vs: list_a] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Us ) )
     => ( ( zip_nat_a @ ( append_nat @ Xs2 @ Ys ) @ ( append_a @ Us @ Vs ) )
        = ( append1694031006427026248_nat_a @ ( zip_nat_a @ Xs2 @ Us ) @ ( zip_nat_a @ Ys @ Vs ) ) ) ) ).

% zip_append
thf(fact_892_zip__append,axiom,
    ! [Xs2: list_nat,Us: list_nat,Ys: list_nat,Vs: list_nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Us ) )
     => ( ( zip_nat_nat @ ( append_nat @ Xs2 @ Ys ) @ ( append_nat @ Us @ Vs ) )
        = ( append985823374593552924at_nat @ ( zip_nat_nat @ Xs2 @ Us ) @ ( zip_nat_nat @ Ys @ Vs ) ) ) ) ).

% zip_append
thf(fact_893_Cons__in__lex,axiom,
    ! [X2: a,Xs2: list_a,Y3: a,Ys: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( cons_a @ X2 @ Xs2 ) @ ( cons_a @ Y3 @ Ys ) ) @ ( lex_a @ R2 ) )
      = ( ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X2 @ Y3 ) @ R2 )
          & ( ( size_size_list_a @ Xs2 )
            = ( size_size_list_a @ Ys ) ) )
        | ( ( X2 = Y3 )
          & ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( lex_a @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_894_Cons__in__lex,axiom,
    ! [X2: nat,Xs2: list_nat,Y3: nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ X2 @ Xs2 ) @ ( cons_nat @ Y3 @ Ys ) ) @ ( lex_nat @ R2 ) )
      = ( ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ X2 @ Y3 ) @ R2 )
          & ( ( size_size_list_nat @ Xs2 )
            = ( size_size_list_nat @ Ys ) ) )
        | ( ( X2 = Y3 )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys ) @ ( lex_nat @ R2 ) ) ) ) ) ).

% Cons_in_lex
thf(fact_895_lex__append__leftI,axiom,
    ! [Ys: list_a,Zs: list_a,R2: set_Product_prod_a_a,Xs2: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ys @ Zs ) @ ( lex_a @ R2 ) )
     => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs2 @ Ys ) @ ( append_a @ Xs2 @ Zs ) ) @ ( lex_a @ R2 ) ) ) ).

% lex_append_leftI
thf(fact_896_drop__zip,axiom,
    ! [N: nat,Xs2: list_a,Ys: list_a] :
      ( ( drop_P8456769997282094189od_a_a @ N @ ( zip_a_a @ Xs2 @ Ys ) )
      = ( zip_a_a @ ( drop_a @ N @ Xs2 ) @ ( drop_a @ N @ Ys ) ) ) ).

% drop_zip
thf(fact_897_lex__append__rightI,axiom,
    ! [Xs2: list_a,Ys: list_a,R2: set_Product_prod_a_a,Vs: list_a,Us: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( lex_a @ R2 ) )
     => ( ( ( size_size_list_a @ Vs )
          = ( size_size_list_a @ Us ) )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs2 @ Us ) @ ( append_a @ Ys @ Vs ) ) @ ( lex_a @ R2 ) ) ) ) ).

% lex_append_rightI
thf(fact_898_lex__append__rightI,axiom,
    ! [Xs2: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat,Vs: list_nat,Us: list_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys ) @ ( lex_nat @ R2 ) )
     => ( ( ( size_size_list_nat @ Vs )
          = ( size_size_list_nat @ Us ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Xs2 @ Us ) @ ( append_nat @ Ys @ Vs ) ) @ ( lex_nat @ R2 ) ) ) ) ).

% lex_append_rightI
thf(fact_899_take__zip,axiom,
    ! [N: nat,Xs2: list_a,Ys: list_a] :
      ( ( take_P1986783995523548949od_a_a @ N @ ( zip_a_a @ Xs2 @ Ys ) )
      = ( zip_a_a @ ( take_a @ N @ Xs2 ) @ ( take_a @ N @ Ys ) ) ) ).

% take_zip
thf(fact_900_ex__mset__zip__left,axiom,
    ! [Xs2: list_a,Ys: list_a,Xs5: list_a] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( mset_a @ Xs5 )
          = ( mset_a @ Xs2 ) )
       => ? [Ys6: list_a] :
            ( ( ( size_size_list_a @ Ys6 )
              = ( size_size_list_a @ Xs5 ) )
            & ( ( mset_P3709024939784119484od_a_a @ ( zip_a_a @ Xs5 @ Ys6 ) )
              = ( mset_P3709024939784119484od_a_a @ ( zip_a_a @ Xs2 @ Ys ) ) ) ) ) ) ).

% ex_mset_zip_left
thf(fact_901_ex__mset__zip__left,axiom,
    ! [Xs2: list_a,Ys: list_nat,Xs5: list_a] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( mset_a @ Xs5 )
          = ( mset_a @ Xs2 ) )
       => ? [Ys6: list_nat] :
            ( ( ( size_size_list_nat @ Ys6 )
              = ( size_size_list_a @ Xs5 ) )
            & ( ( mset_P502332718515628968_a_nat @ ( zip_a_nat @ Xs5 @ Ys6 ) )
              = ( mset_P502332718515628968_a_nat @ ( zip_a_nat @ Xs2 @ Ys ) ) ) ) ) ) ).

% ex_mset_zip_left
thf(fact_902_ex__mset__zip__left,axiom,
    ! [Xs2: list_nat,Ys: list_a,Xs5: list_nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ( mset_nat @ Xs5 )
          = ( mset_nat @ Xs2 ) )
       => ? [Ys6: list_a] :
            ( ( ( size_size_list_a @ Ys6 )
              = ( size_size_list_nat @ Xs5 ) )
            & ( ( mset_P3740496182239305934_nat_a @ ( zip_nat_a @ Xs5 @ Ys6 ) )
              = ( mset_P3740496182239305934_nat_a @ ( zip_nat_a @ Xs2 @ Ys ) ) ) ) ) ) ).

% ex_mset_zip_left
thf(fact_903_ex__mset__zip__left,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Xs5: list_nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ( mset_nat @ Xs5 )
          = ( mset_nat @ Xs2 ) )
       => ? [Ys6: list_nat] :
            ( ( ( size_size_list_nat @ Ys6 )
              = ( size_size_list_nat @ Xs5 ) )
            & ( ( mset_P6383711406899277590at_nat @ ( zip_nat_nat @ Xs5 @ Ys6 ) )
              = ( mset_P6383711406899277590at_nat @ ( zip_nat_nat @ Xs2 @ Ys ) ) ) ) ) ) ).

% ex_mset_zip_left
thf(fact_904_zip__rev,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( zip_a_a @ ( rev_a @ Xs2 ) @ ( rev_a @ Ys ) )
        = ( rev_Product_prod_a_a @ ( zip_a_a @ Xs2 @ Ys ) ) ) ) ).

% zip_rev
thf(fact_905_zip__rev,axiom,
    ! [Xs2: list_a,Ys: list_nat] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( zip_a_nat @ ( rev_a @ Xs2 ) @ ( rev_nat @ Ys ) )
        = ( rev_Pr1328451580582734999_a_nat @ ( zip_a_nat @ Xs2 @ Ys ) ) ) ) ).

% zip_rev
thf(fact_906_zip__rev,axiom,
    ! [Xs2: list_nat,Ys: list_a] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( zip_nat_a @ ( rev_nat @ Xs2 ) @ ( rev_a @ Ys ) )
        = ( rev_Pr4566615044306411965_nat_a @ ( zip_nat_a @ Xs2 @ Ys ) ) ) ) ).

% zip_rev
thf(fact_907_zip__rev,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( zip_nat_nat @ ( rev_nat @ Xs2 ) @ ( rev_nat @ Ys ) )
        = ( rev_Pr6102188148953555047at_nat @ ( zip_nat_nat @ Xs2 @ Ys ) ) ) ) ).

% zip_rev
thf(fact_908_longest__common__prefix,axiom,
    ! [Xs2: list_a,Ys: list_a] :
    ? [Ps: list_a,Xs4: list_a,Ys6: list_a] :
      ( ( Xs2
        = ( append_a @ Ps @ Xs4 ) )
      & ( Ys
        = ( append_a @ Ps @ Ys6 ) )
      & ( ( Xs4 = nil_a )
        | ( Ys6 = nil_a )
        | ( ( hd_a @ Xs4 )
         != ( hd_a @ Ys6 ) ) ) ) ).

% longest_common_prefix
thf(fact_909_hd__append,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( ( Xs2 = nil_a )
       => ( ( hd_a @ ( append_a @ Xs2 @ Ys ) )
          = ( hd_a @ Ys ) ) )
      & ( ( Xs2 != nil_a )
       => ( ( hd_a @ ( append_a @ Xs2 @ Ys ) )
          = ( hd_a @ Xs2 ) ) ) ) ).

% hd_append
thf(fact_910_lex__append__left__iff,axiom,
    ! [R2: set_Product_prod_a_a,Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ! [X5: a] :
          ~ ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X5 @ X5 ) @ R2 )
     => ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs2 @ Ys ) @ ( append_a @ Xs2 @ Zs ) ) @ ( lex_a @ R2 ) )
        = ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ys @ Zs ) @ ( lex_a @ R2 ) ) ) ) ).

% lex_append_left_iff
thf(fact_911_lex__append__leftD,axiom,
    ! [R2: set_Product_prod_a_a,Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ! [X5: a] :
          ~ ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X5 @ X5 ) @ R2 )
     => ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs2 @ Ys ) @ ( append_a @ Xs2 @ Zs ) ) @ ( lex_a @ R2 ) )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ys @ Zs ) @ ( lex_a @ R2 ) ) ) ) ).

% lex_append_leftD
thf(fact_912_last__zip,axiom,
    ! [Xs2: list_a,Ys: list_a] :
      ( ( Xs2 != nil_a )
     => ( ( Ys != nil_a )
       => ( ( ( size_size_list_a @ Xs2 )
            = ( size_size_list_a @ Ys ) )
         => ( ( last_P8790725268278465478od_a_a @ ( zip_a_a @ Xs2 @ Ys ) )
            = ( product_Pair_a_a @ ( last_a @ Xs2 ) @ ( last_a @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_913_last__zip,axiom,
    ! [Xs2: list_a,Ys: list_nat] :
      ( ( Xs2 != nil_a )
     => ( ( Ys != nil_nat )
       => ( ( ( size_size_list_a @ Xs2 )
            = ( size_size_list_nat @ Ys ) )
         => ( ( last_P2271748490522340894_a_nat @ ( zip_a_nat @ Xs2 @ Ys ) )
            = ( product_Pair_a_nat @ ( last_a @ Xs2 ) @ ( last_nat @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_914_last__zip,axiom,
    ! [Xs2: list_nat,Ys: list_a] :
      ( ( Xs2 != nil_nat )
     => ( ( Ys != nil_a )
       => ( ( ( size_size_list_nat @ Xs2 )
            = ( size_size_list_a @ Ys ) )
         => ( ( last_P5509911954246017860_nat_a @ ( zip_nat_a @ Xs2 @ Ys ) )
            = ( product_Pair_nat_a @ ( last_nat @ Xs2 ) @ ( last_a @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_915_last__zip,axiom,
    ! [Xs2: list_nat,Ys: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( Ys != nil_nat )
       => ( ( ( size_size_list_nat @ Xs2 )
            = ( size_size_list_nat @ Ys ) )
         => ( ( last_P6484183829340986144at_nat @ ( zip_nat_nat @ Xs2 @ Ys ) )
            = ( product_Pair_nat_nat @ ( last_nat @ Xs2 ) @ ( last_nat @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_916_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
     => ( ( hd_a @ ( drop_a @ N @ Xs2 ) )
        = ( nth_a @ Xs2 @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_917_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
     => ( ( hd_nat @ ( drop_nat @ N @ Xs2 ) )
        = ( nth_nat @ Xs2 @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_918_zip__append1,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ( zip_a_a @ ( append_a @ Xs2 @ Ys ) @ Zs )
      = ( append5335208819046833346od_a_a @ ( zip_a_a @ Xs2 @ ( take_a @ ( size_size_list_a @ Xs2 ) @ Zs ) ) @ ( zip_a_a @ Ys @ ( drop_a @ ( size_size_list_a @ Xs2 ) @ Zs ) ) ) ) ).

% zip_append1
thf(fact_919_zip__append1,axiom,
    ! [Xs2: list_nat,Ys: list_nat,Zs: list_a] :
      ( ( zip_nat_a @ ( append_nat @ Xs2 @ Ys ) @ Zs )
      = ( append1694031006427026248_nat_a @ ( zip_nat_a @ Xs2 @ ( take_a @ ( size_size_list_nat @ Xs2 ) @ Zs ) ) @ ( zip_nat_a @ Ys @ ( drop_a @ ( size_size_list_nat @ Xs2 ) @ Zs ) ) ) ) ).

% zip_append1
thf(fact_920_zip__append2,axiom,
    ! [Xs2: list_a,Ys: list_a,Zs: list_a] :
      ( ( zip_a_a @ Xs2 @ ( append_a @ Ys @ Zs ) )
      = ( append5335208819046833346od_a_a @ ( zip_a_a @ ( take_a @ ( size_size_list_a @ Ys ) @ Xs2 ) @ Ys ) @ ( zip_a_a @ ( drop_a @ ( size_size_list_a @ Ys ) @ Xs2 ) @ Zs ) ) ) ).

% zip_append2
thf(fact_921_zip__append2,axiom,
    ! [Xs2: list_a,Ys: list_nat,Zs: list_nat] :
      ( ( zip_a_nat @ Xs2 @ ( append_nat @ Ys @ Zs ) )
      = ( append7679239579558125090_a_nat @ ( zip_a_nat @ ( take_a @ ( size_size_list_nat @ Ys ) @ Xs2 ) @ Ys ) @ ( zip_a_nat @ ( drop_a @ ( size_size_list_nat @ Ys ) @ Xs2 ) @ Zs ) ) ) ).

% zip_append2
thf(fact_922_mset__zip__take__Cons__drop__twice,axiom,
    ! [Xs2: list_a,Ys: list_a,J: nat,X2: a,Y3: a] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_a @ Xs2 ) )
       => ( ( mset_P3709024939784119484od_a_a @ ( zip_a_a @ ( append_a @ ( take_a @ J @ Xs2 ) @ ( cons_a @ X2 @ ( drop_a @ J @ Xs2 ) ) ) @ ( append_a @ ( take_a @ J @ Ys ) @ ( cons_a @ Y3 @ ( drop_a @ J @ Ys ) ) ) ) )
          = ( add_ms8655138167283798533od_a_a @ ( product_Pair_a_a @ X2 @ Y3 ) @ ( mset_P3709024939784119484od_a_a @ ( zip_a_a @ Xs2 @ Ys ) ) ) ) ) ) ).

% mset_zip_take_Cons_drop_twice
thf(fact_923_mset__zip__take__Cons__drop__twice,axiom,
    ! [Xs2: list_a,Ys: list_nat,J: nat,X2: a,Y3: nat] :
      ( ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_a @ Xs2 ) )
       => ( ( mset_P502332718515628968_a_nat @ ( zip_a_nat @ ( append_a @ ( take_a @ J @ Xs2 ) @ ( cons_a @ X2 @ ( drop_a @ J @ Xs2 ) ) ) @ ( append_nat @ ( take_nat @ J @ Ys ) @ ( cons_nat @ Y3 @ ( drop_nat @ J @ Ys ) ) ) ) )
          = ( add_ms4208188903969910303_a_nat @ ( product_Pair_a_nat @ X2 @ Y3 ) @ ( mset_P502332718515628968_a_nat @ ( zip_a_nat @ Xs2 @ Ys ) ) ) ) ) ) ).

% mset_zip_take_Cons_drop_twice
thf(fact_924_mset__zip__take__Cons__drop__twice,axiom,
    ! [Xs2: list_nat,Ys: list_a,J: nat,X2: nat,Y3: a] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_a @ Ys ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_nat @ Xs2 ) )
       => ( ( mset_P3740496182239305934_nat_a @ ( zip_nat_a @ ( append_nat @ ( take_nat @ J @ Xs2 ) @ ( cons_nat @ X2 @ ( drop_nat @ J @ Xs2 ) ) ) @ ( append_a @ ( take_a @ J @ Ys ) @ ( cons_a @ Y3 @ ( drop_a @ J @ Ys ) ) ) ) )
          = ( add_ms7446352367693587269_nat_a @ ( product_Pair_nat_a @ X2 @ Y3 ) @ ( mset_P3740496182239305934_nat_a @ ( zip_nat_a @ Xs2 @ Ys ) ) ) ) ) ) ).

% mset_zip_take_Cons_drop_twice
thf(fact_925_mset__zip__take__Cons__drop__twice,axiom,
    ! [Xs2: list_nat,Ys: list_nat,J: nat,X2: nat,Y3: nat] :
      ( ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) )
     => ( ( ord_less_eq_nat @ J @ ( size_size_list_nat @ Xs2 ) )
       => ( ( mset_P6383711406899277590at_nat @ ( zip_nat_nat @ ( append_nat @ ( take_nat @ J @ Xs2 ) @ ( cons_nat @ X2 @ ( drop_nat @ J @ Xs2 ) ) ) @ ( append_nat @ ( take_nat @ J @ Ys ) @ ( cons_nat @ Y3 @ ( drop_nat @ J @ Ys ) ) ) ) )
          = ( add_ms2612439473150266591at_nat @ ( product_Pair_nat_nat @ X2 @ Y3 ) @ ( mset_P6383711406899277590at_nat @ ( zip_nat_nat @ Xs2 @ Ys ) ) ) ) ) ) ).

% mset_zip_take_Cons_drop_twice
thf(fact_926_Cons__lenlex__iff,axiom,
    ! [M: a,Ms: list_a,N: a,Ns: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( cons_a @ M @ Ms ) @ ( cons_a @ N @ Ns ) ) @ ( lenlex_a @ R2 ) )
      = ( ( ord_less_nat @ ( size_size_list_a @ Ms ) @ ( size_size_list_a @ Ns ) )
        | ( ( ( size_size_list_a @ Ms )
            = ( size_size_list_a @ Ns ) )
          & ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ M @ N ) @ R2 ) )
        | ( ( M = N )
          & ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ms @ Ns ) @ ( lenlex_a @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_927_Cons__lenlex__iff,axiom,
    ! [M: nat,Ms: list_nat,N: nat,Ns: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( cons_nat @ M @ Ms ) @ ( cons_nat @ N @ Ns ) ) @ ( lenlex_nat @ R2 ) )
      = ( ( ord_less_nat @ ( size_size_list_nat @ Ms ) @ ( size_size_list_nat @ Ns ) )
        | ( ( ( size_size_list_nat @ Ms )
            = ( size_size_list_nat @ Ns ) )
          & ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ M @ N ) @ R2 ) )
        | ( ( M = N )
          & ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ms @ Ns ) @ ( lenlex_nat @ R2 ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_928_listrel1__iff__update,axiom,
    ! [Xs2: list_a,Ys: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( listrel1_a @ R2 ) )
      = ( ? [Y4: a,N2: nat] :
            ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ ( nth_a @ Xs2 @ N2 ) @ Y4 ) @ R2 )
            & ( ord_less_nat @ N2 @ ( size_size_list_a @ Xs2 ) )
            & ( Ys
              = ( list_update_a @ Xs2 @ N2 @ Y4 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_929_listrel1__iff__update,axiom,
    ! [Xs2: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys ) @ ( listrel1_nat @ R2 ) )
      = ( ? [Y4: nat,N2: nat] :
            ( ( member8440522571783428010at_nat @ ( product_Pair_nat_nat @ ( nth_nat @ Xs2 @ N2 ) @ Y4 ) @ R2 )
            & ( ord_less_nat @ N2 @ ( size_size_list_nat @ Xs2 ) )
            & ( Ys
              = ( list_update_nat @ Xs2 @ N2 @ Y4 ) ) ) ) ) ).

% listrel1_iff_update
thf(fact_930_append__butlast__last__id,axiom,
    ! [Xs2: list_a] :
      ( ( Xs2 != nil_a )
     => ( ( append_a @ ( butlast_a @ Xs2 ) @ ( cons_a @ ( last_a @ Xs2 ) @ nil_a ) )
        = Xs2 ) ) ).

% append_butlast_last_id
thf(fact_931_butlast__snoc,axiom,
    ! [Xs2: list_a,X2: a] :
      ( ( butlast_a @ ( append_a @ Xs2 @ ( cons_a @ X2 @ nil_a ) ) )
      = Xs2 ) ).

% butlast_snoc
thf(fact_932_union__single__eq__member,axiom,
    ! [X2: a,M3: multiset_a,N3: multiset_a] :
      ( ( ( add_mset_a @ X2 @ M3 )
        = N3 )
     => ( member_a @ X2 @ ( set_mset_a @ N3 ) ) ) ).

% union_single_eq_member
thf(fact_933_insert__noteq__member,axiom,
    ! [B: a,B5: multiset_a,C: a,C4: multiset_a] :
      ( ( ( add_mset_a @ B @ B5 )
        = ( add_mset_a @ C @ C4 ) )
     => ( ( B != C )
       => ( member_a @ C @ ( set_mset_a @ B5 ) ) ) ) ).

% insert_noteq_member
thf(fact_934_multi__member__split,axiom,
    ! [X2: a,M3: multiset_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ? [A6: multiset_a] :
          ( M3
          = ( add_mset_a @ X2 @ A6 ) ) ) ).

% multi_member_split
thf(fact_935_mset__add,axiom,
    ! [A: a,A2: multiset_a] :
      ( ( member_a @ A @ ( set_mset_a @ A2 ) )
     => ~ ! [B6: multiset_a] :
            ( A2
           != ( add_mset_a @ A @ B6 ) ) ) ).

% mset_add
thf(fact_936_drop__butlast,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( drop_a @ N @ ( butlast_a @ Xs2 ) )
      = ( butlast_a @ ( drop_a @ N @ Xs2 ) ) ) ).

% drop_butlast
thf(fact_937_mset_Osimps_I2_J,axiom,
    ! [A: a,X2: list_a] :
      ( ( mset_a @ ( cons_a @ A @ X2 ) )
      = ( add_mset_a @ A @ ( mset_a @ X2 ) ) ) ).

% mset.simps(2)
thf(fact_938_listrel1__eq__len,axiom,
    ! [Xs2: list_a,Ys: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( listrel1_a @ R2 ) )
     => ( ( size_size_list_a @ Xs2 )
        = ( size_size_list_a @ Ys ) ) ) ).

% listrel1_eq_len
thf(fact_939_listrel1__eq__len,axiom,
    ! [Xs2: list_nat,Ys: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Xs2 @ Ys ) @ ( listrel1_nat @ R2 ) )
     => ( ( size_size_list_nat @ Xs2 )
        = ( size_size_list_nat @ Ys ) ) ) ).

% listrel1_eq_len
thf(fact_940_append__listrel1I,axiom,
    ! [Xs2: list_a,Ys: list_a,R2: set_Product_prod_a_a,Us: list_a,Vs: list_a] :
      ( ( ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( listrel1_a @ R2 ) )
          & ( Us = Vs ) )
        | ( ( Xs2 = Ys )
          & ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Us @ Vs ) @ ( listrel1_a @ R2 ) ) ) )
     => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs2 @ Us ) @ ( append_a @ Ys @ Vs ) ) @ ( listrel1_a @ R2 ) ) ) ).

% append_listrel1I
thf(fact_941_butlast__append,axiom,
    ! [Ys: list_a,Xs2: list_a] :
      ( ( ( Ys = nil_a )
       => ( ( butlast_a @ ( append_a @ Xs2 @ Ys ) )
          = ( butlast_a @ Xs2 ) ) )
      & ( ( Ys != nil_a )
       => ( ( butlast_a @ ( append_a @ Xs2 @ Ys ) )
          = ( append_a @ Xs2 @ ( butlast_a @ Ys ) ) ) ) ) ).

% butlast_append
thf(fact_942_sorted__butlast,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( sorted_wrt_nat @ ord_less_eq_nat @ Xs2 )
       => ( sorted_wrt_nat @ ord_less_eq_nat @ ( butlast_nat @ Xs2 ) ) ) ) ).

% sorted_butlast
thf(fact_943_nth__butlast,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ ( butlast_a @ Xs2 ) ) )
     => ( ( nth_a @ ( butlast_a @ Xs2 ) @ N )
        = ( nth_a @ Xs2 @ N ) ) ) ).

% nth_butlast
thf(fact_944_nth__butlast,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ ( butlast_nat @ Xs2 ) ) )
     => ( ( nth_nat @ ( butlast_nat @ Xs2 ) @ N )
        = ( nth_nat @ Xs2 @ N ) ) ) ).

% nth_butlast
thf(fact_945_take__butlast,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
     => ( ( take_a @ N @ ( butlast_a @ Xs2 ) )
        = ( take_a @ N @ Xs2 ) ) ) ).

% take_butlast
thf(fact_946_take__butlast,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
     => ( ( take_nat @ N @ ( butlast_nat @ Xs2 ) )
        = ( take_nat @ N @ Xs2 ) ) ) ).

% take_butlast
thf(fact_947_lenlex__length,axiom,
    ! [Ms: list_a,Ns: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Ms @ Ns ) @ ( lenlex_a @ R2 ) )
     => ( ord_less_eq_nat @ ( size_size_list_a @ Ms ) @ ( size_size_list_a @ Ns ) ) ) ).

% lenlex_length
thf(fact_948_lenlex__length,axiom,
    ! [Ms: list_nat,Ns: list_nat,R2: set_Pr1261947904930325089at_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Ms @ Ns ) @ ( lenlex_nat @ R2 ) )
     => ( ord_less_eq_nat @ ( size_size_list_nat @ Ms ) @ ( size_size_list_nat @ Ns ) ) ) ).

% lenlex_length
thf(fact_949_listrel1I,axiom,
    ! [X2: a,Y3: a,R2: set_Product_prod_a_a,Xs2: list_a,Us: list_a,Vs: list_a,Ys: list_a] :
      ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X2 @ Y3 ) @ R2 )
     => ( ( Xs2
          = ( append_a @ Us @ ( cons_a @ X2 @ Vs ) ) )
       => ( ( Ys
            = ( append_a @ Us @ ( cons_a @ Y3 @ Vs ) ) )
         => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( listrel1_a @ R2 ) ) ) ) ) ).

% listrel1I
thf(fact_950_listrel1E,axiom,
    ! [Xs2: list_a,Ys: list_a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( listrel1_a @ R2 ) )
     => ~ ! [X5: a,Y5: a] :
            ( ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X5 @ Y5 ) @ R2 )
           => ! [Us3: list_a,Vs2: list_a] :
                ( ( Xs2
                  = ( append_a @ Us3 @ ( cons_a @ X5 @ Vs2 ) ) )
               => ( Ys
                 != ( append_a @ Us3 @ ( cons_a @ Y5 @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_951_lenlex__append1,axiom,
    ! [Us: list_a,Xs2: list_a,R: set_Product_prod_a_a,Vs: list_a,Ys: list_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Us @ Xs2 ) @ ( lenlex_a @ R ) )
     => ( ( ( size_size_list_a @ Vs )
          = ( size_size_list_a @ Ys ) )
       => ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Us @ Vs ) @ ( append_a @ Xs2 @ Ys ) ) @ ( lenlex_a @ R ) ) ) ) ).

% lenlex_append1
thf(fact_952_lenlex__append1,axiom,
    ! [Us: list_nat,Xs2: list_nat,R: set_Pr1261947904930325089at_nat,Vs: list_nat,Ys: list_nat] :
      ( ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ Us @ Xs2 ) @ ( lenlex_nat @ R ) )
     => ( ( ( size_size_list_nat @ Vs )
          = ( size_size_list_nat @ Ys ) )
       => ( member7340969449405702474st_nat @ ( produc2694037385005941721st_nat @ ( append_nat @ Us @ Vs ) @ ( append_nat @ Xs2 @ Ys ) ) @ ( lenlex_nat @ R ) ) ) ) ).

% lenlex_append1
thf(fact_953_snoc__eq__iff__butlast,axiom,
    ! [Xs2: list_a,X2: a,Ys: list_a] :
      ( ( ( append_a @ Xs2 @ ( cons_a @ X2 @ nil_a ) )
        = Ys )
      = ( ( Ys != nil_a )
        & ( ( butlast_a @ Ys )
          = Xs2 )
        & ( ( last_a @ Ys )
          = X2 ) ) ) ).

% snoc_eq_iff_butlast
thf(fact_954_snoc__listrel1__snoc__iff,axiom,
    ! [Xs2: list_a,X2: a,Ys: list_a,Y3: a,R2: set_Product_prod_a_a] :
      ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ ( append_a @ Xs2 @ ( cons_a @ X2 @ nil_a ) ) @ ( append_a @ Ys @ ( cons_a @ Y3 @ nil_a ) ) ) @ ( listrel1_a @ R2 ) )
      = ( ( ( member8191768239178080336list_a @ ( produc6837034575241423639list_a @ Xs2 @ Ys ) @ ( listrel1_a @ R2 ) )
          & ( X2 = Y3 ) )
        | ( ( Xs2 = Ys )
          & ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ X2 @ Y3 ) @ R2 ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_955_less__add,axiom,
    ! [N3: multiset_a,A: a,M0: multiset_a,R2: set_Product_prod_a_a] :
      ( ( member5199237121806060112iset_a @ ( produc654756711066625303iset_a @ N3 @ ( add_mset_a @ A @ M0 ) ) @ ( mult1_a @ R2 ) )
     => ( ? [M9: multiset_a] :
            ( ( member5199237121806060112iset_a @ ( produc654756711066625303iset_a @ M9 @ M0 ) @ ( mult1_a @ R2 ) )
            & ( N3
              = ( add_mset_a @ A @ M9 ) ) )
        | ? [K5: multiset_a] :
            ( ! [B7: a] :
                ( ( member_a @ B7 @ ( set_mset_a @ K5 ) )
               => ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ B7 @ A ) @ R2 ) )
            & ( N3
              = ( plus_plus_multiset_a @ M0 @ K5 ) ) ) ) ) ).

% less_add
thf(fact_956_mult1I,axiom,
    ! [M3: multiset_a,A: a,M0: multiset_a,N3: multiset_a,K3: multiset_a,R2: set_Product_prod_a_a] :
      ( ( M3
        = ( add_mset_a @ A @ M0 ) )
     => ( ( N3
          = ( plus_plus_multiset_a @ M0 @ K3 ) )
       => ( ! [B2: a] :
              ( ( member_a @ B2 @ ( set_mset_a @ K3 ) )
             => ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ B2 @ A ) @ R2 ) )
         => ( member5199237121806060112iset_a @ ( produc654756711066625303iset_a @ N3 @ M3 ) @ ( mult1_a @ R2 ) ) ) ) ) ).

% mult1I
thf(fact_957_mult1E,axiom,
    ! [N3: multiset_a,M3: multiset_a,R2: set_Product_prod_a_a] :
      ( ( member5199237121806060112iset_a @ ( produc654756711066625303iset_a @ N3 @ M3 ) @ ( mult1_a @ R2 ) )
     => ~ ! [A3: a,M02: multiset_a] :
            ( ( M3
              = ( add_mset_a @ A3 @ M02 ) )
           => ! [K5: multiset_a] :
                ( ( N3
                  = ( plus_plus_multiset_a @ M02 @ K5 ) )
               => ~ ! [B7: a] :
                      ( ( member_a @ B7 @ ( set_mset_a @ K5 ) )
                     => ( member1426531477525435216od_a_a @ ( product_Pair_a_a @ B7 @ A3 ) @ R2 ) ) ) ) ) ).

% mult1E
thf(fact_958_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

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

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

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

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

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

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

% add_cancel_right_right
thf(fact_965_add__eq__0__iff__both__eq__0,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ( plus_plus_nat @ X2 @ Y3 )
        = zero_zero_nat )
      = ( ( X2 = zero_zero_nat )
        & ( Y3 = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_966_zero__eq__add__iff__both__eq__0,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X2 @ Y3 ) )
      = ( ( X2 = zero_zero_nat )
        & ( Y3 = zero_zero_nat ) ) ) ).

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

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

% le_add_same_cancel2
thf(fact_969_le__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel1
thf(fact_970_add__le__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel2
thf(fact_971_add__le__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel1
thf(fact_972_less__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel2
thf(fact_973_less__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_nat @ zero_zero_nat @ B ) ) ).

% less_add_same_cancel1
thf(fact_974_add__less__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel2
thf(fact_975_add__less__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_nat @ A @ zero_zero_nat ) ) ).

% add_less_same_cancel1
thf(fact_976_mset__zero__iff,axiom,
    ! [X2: list_a] :
      ( ( ( mset_a @ X2 )
        = zero_zero_multiset_a )
      = ( X2 = nil_a ) ) ).

% mset_zero_iff
thf(fact_977_mset__zero__iff__right,axiom,
    ! [X2: list_a] :
      ( ( zero_zero_multiset_a
        = ( mset_a @ X2 ) )
      = ( X2 = nil_a ) ) ).

% mset_zero_iff_right
thf(fact_978_mset__lt__single__iff,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_le5777773500796000884et_nat @ ( add_mset_nat @ X2 @ zero_z7348594199698428585et_nat ) @ ( add_mset_nat @ Y3 @ zero_z7348594199698428585et_nat ) )
      = ( ord_less_nat @ X2 @ Y3 ) ) ).

% mset_lt_single_iff
thf(fact_979_mset__le__single__iff,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_le6602235886369790592et_nat @ ( add_mset_nat @ X2 @ zero_z7348594199698428585et_nat ) @ ( add_mset_nat @ Y3 @ zero_z7348594199698428585et_nat ) )
      = ( ord_less_eq_nat @ X2 @ Y3 ) ) ).

% mset_le_single_iff
thf(fact_980_mset__single__iff__right,axiom,
    ! [X2: a,Xs2: list_a] :
      ( ( ( add_mset_a @ X2 @ zero_zero_multiset_a )
        = ( mset_a @ Xs2 ) )
      = ( Xs2
        = ( cons_a @ X2 @ nil_a ) ) ) ).

% mset_single_iff_right
thf(fact_981_mset__single__iff,axiom,
    ! [Xs2: list_a,X2: a] :
      ( ( ( mset_a @ Xs2 )
        = ( add_mset_a @ X2 @ zero_zero_multiset_a ) )
      = ( Xs2
        = ( cons_a @ X2 @ nil_a ) ) ) ).

% mset_single_iff
thf(fact_982_mset__lt__single__right__iff,axiom,
    ! [M3: multiset_nat,Y3: nat] :
      ( ( ord_le5777773500796000884et_nat @ M3 @ ( add_mset_nat @ Y3 @ zero_z7348594199698428585et_nat ) )
      = ( ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_mset_nat @ M3 ) )
           => ( ord_less_nat @ X4 @ Y3 ) ) ) ) ).

% mset_lt_single_right_iff
thf(fact_983_mset__le__single__right__iff,axiom,
    ! [M3: multiset_nat,Y3: nat] :
      ( ( ord_le6602235886369790592et_nat @ M3 @ ( add_mset_nat @ Y3 @ zero_z7348594199698428585et_nat ) )
      = ( ( M3
          = ( add_mset_nat @ Y3 @ zero_z7348594199698428585et_nat ) )
        | ! [X4: nat] :
            ( ( member_nat @ X4 @ ( set_mset_nat @ M3 ) )
           => ( ord_less_nat @ X4 @ Y3 ) ) ) ) ).

% mset_le_single_right_iff
thf(fact_984_zero__le,axiom,
    ! [X2: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X2 ) ).

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

% le_numeral_extra(3)
thf(fact_986_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_987_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_988_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

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

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

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

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

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

% verit_sum_simplify
thf(fact_994_multiset__nonemptyE,axiom,
    ! [A2: multiset_a] :
      ( ( A2 != zero_zero_multiset_a )
     => ~ ! [X5: a] :
            ~ ( member_a @ X5 @ ( set_mset_a @ A2 ) ) ) ).

% multiset_nonemptyE
thf(fact_995_zero__reorient,axiom,
    ! [X2: nat] :
      ( ( zero_zero_nat = X2 )
      = ( X2 = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_996_psubsetD,axiom,
    ! [A2: set_a,B5: set_a,C: a] :
      ( ( ord_less_set_a @ A2 @ B5 )
     => ( ( member_a @ C @ A2 )
       => ( member_a @ C @ B5 ) ) ) ).

% psubsetD
thf(fact_997_add__nonpos__eq__0__iff,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ X2 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y3 @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X2 @ Y3 )
            = zero_zero_nat )
          = ( ( X2 = zero_zero_nat )
            & ( Y3 = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_998_add__nonneg__eq__0__iff,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X2 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y3 )
       => ( ( ( plus_plus_nat @ X2 @ Y3 )
            = zero_zero_nat )
          = ( ( X2 = zero_zero_nat )
            & ( Y3 = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_999_add__nonpos__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_nonpos
thf(fact_1000_add__nonneg__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_1001_add__increasing2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_1002_add__decreasing2,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_1003_add__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_1004_add__decreasing,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_1005_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one_class.zero_le_one
thf(fact_1006_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_1007_not__one__le__zero,axiom,
    ~ ( ord_less_eq_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_le_zero
thf(fact_1008_pos__add__strict,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% pos_add_strict
thf(fact_1009_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C2: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C2 ) )
           => ( C2 = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_1010_add__pos__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_pos
thf(fact_1011_add__neg__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_neg
thf(fact_1012_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_1013_zero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one
thf(fact_1014_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_1015_multi__member__last,axiom,
    ! [X2: a] : ( member_a @ X2 @ ( set_mset_a @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) ) ).

% multi_member_last
thf(fact_1016_mset_Osimps_I1_J,axiom,
    ( ( mset_a @ nil_a )
    = zero_zero_multiset_a ) ).

% mset.simps(1)
thf(fact_1017_add__strict__increasing2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing2
thf(fact_1018_add__strict__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing
thf(fact_1019_add__pos__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_nonneg
thf(fact_1020_add__nonpos__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_neg
thf(fact_1021_add__nonneg__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_pos
thf(fact_1022_add__neg__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_nonpos
thf(fact_1023_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

% zero_less_two
thf(fact_1024_multiset__induct__max,axiom,
    ! [P: multiset_nat > $o,M3: multiset_nat] :
      ( ( P @ zero_z7348594199698428585et_nat )
     => ( ! [X5: nat,M9: multiset_nat] :
            ( ( P @ M9 )
           => ( ! [Xa: nat] :
                  ( ( member_nat @ Xa @ ( set_mset_nat @ M9 ) )
                 => ( ord_less_eq_nat @ Xa @ X5 ) )
             => ( P @ ( add_mset_nat @ X5 @ M9 ) ) ) )
       => ( P @ M3 ) ) ) ).

% multiset_induct_max
thf(fact_1025_multiset__induct__min,axiom,
    ! [P: multiset_nat > $o,M3: multiset_nat] :
      ( ( P @ zero_z7348594199698428585et_nat )
     => ( ! [X5: nat,M9: multiset_nat] :
            ( ( P @ M9 )
           => ( ! [Xa: nat] :
                  ( ( member_nat @ Xa @ ( set_mset_nat @ M9 ) )
                 => ( ord_less_eq_nat @ X5 @ Xa ) )
             => ( P @ ( add_mset_nat @ X5 @ M9 ) ) ) )
       => ( P @ M3 ) ) ) ).

% multiset_induct_min
thf(fact_1026_multi__member__this,axiom,
    ! [X2: a,XS: multiset_a] : ( member_a @ X2 @ ( set_mset_a @ ( plus_plus_multiset_a @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) @ XS ) ) ) ).

% multi_member_this
thf(fact_1027_multi__member__skip,axiom,
    ! [X2: a,XS: multiset_a,Y3: a] :
      ( ( member_a @ X2 @ ( set_mset_a @ XS ) )
     => ( member_a @ X2 @ ( set_mset_a @ ( plus_plus_multiset_a @ ( add_mset_a @ Y3 @ zero_zero_multiset_a ) @ XS ) ) ) ) ).

% multi_member_skip
thf(fact_1028_less__multiset__doubletons,axiom,
    ! [Y3: nat,T: nat,S: nat,X2: nat] :
      ( ( ( ord_less_nat @ Y3 @ T )
        | ( ord_less_nat @ Y3 @ S ) )
     => ( ( ( ord_less_nat @ X2 @ T )
          | ( ord_less_nat @ X2 @ S ) )
       => ( ord_le5777773500796000884et_nat @ ( add_mset_nat @ Y3 @ ( add_mset_nat @ X2 @ zero_z7348594199698428585et_nat ) ) @ ( add_mset_nat @ T @ ( add_mset_nat @ S @ zero_z7348594199698428585et_nat ) ) ) ) ) ).

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

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

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

% bot_nat_0.extremum
thf(fact_1033_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% le0
thf(fact_1034_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_1035_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_1036_drop0,axiom,
    ( ( drop_a @ zero_zero_nat )
    = ( ^ [X4: list_a] : X4 ) ) ).

% drop0
thf(fact_1037_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_1038_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_1039_length__0__conv,axiom,
    ! [Xs2: list_a] :
      ( ( ( size_size_list_a @ Xs2 )
        = zero_zero_nat )
      = ( Xs2 = nil_a ) ) ).

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

% length_0_conv
thf(fact_1041_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_1042_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_1043_nth__Cons__0,axiom,
    ! [X2: a,Xs2: list_a] :
      ( ( nth_a @ ( cons_a @ X2 @ Xs2 ) @ zero_zero_nat )
      = X2 ) ).

% nth_Cons_0
thf(fact_1044_nth__Cons__0,axiom,
    ! [X2: nat,Xs2: list_nat] :
      ( ( nth_nat @ ( cons_nat @ X2 @ Xs2 ) @ zero_zero_nat )
      = X2 ) ).

% nth_Cons_0
thf(fact_1045_take0,axiom,
    ( ( take_a @ zero_zero_nat )
    = ( ^ [Xs3: list_a] : nil_a ) ) ).

% take0
thf(fact_1046_take__eq__Nil,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ( take_a @ N @ Xs2 )
        = nil_a )
      = ( ( N = zero_zero_nat )
        | ( Xs2 = nil_a ) ) ) ).

% take_eq_Nil
thf(fact_1047_take__eq__Nil2,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( nil_a
        = ( take_a @ N @ Xs2 ) )
      = ( ( N = zero_zero_nat )
        | ( Xs2 = nil_a ) ) ) ).

% take_eq_Nil2
thf(fact_1048_length__greater__0__conv,axiom,
    ! [Xs2: list_a] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_size_list_a @ Xs2 ) )
      = ( Xs2 != nil_a ) ) ).

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

% length_greater_0_conv
thf(fact_1050_hd__take,axiom,
    ! [J: nat,Xs2: list_a] :
      ( ( ord_less_nat @ zero_zero_nat @ J )
     => ( ( hd_a @ ( take_a @ J @ Xs2 ) )
        = ( hd_a @ Xs2 ) ) ) ).

% hd_take
thf(fact_1051_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

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

% less_eq_nat.simps(1)
thf(fact_1055_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M6: nat] :
          ( N
          = ( suc @ M6 ) ) ) ).

% not0_implies_Suc
thf(fact_1056_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_1057_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_1058_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_1059_zero__induct,axiom,
    ! [P: nat > $o,K: nat] :
      ( ( P @ K )
     => ( ! [N5: nat] :
            ( ( P @ ( suc @ N5 ) )
           => ( P @ N5 ) )
       => ( P @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_1060_diff__induct,axiom,
    ! [P: nat > nat > $o,M: nat,N: nat] :
      ( ! [X5: nat] : ( P @ X5 @ zero_zero_nat )
     => ( ! [Y5: nat] : ( P @ zero_zero_nat @ ( suc @ Y5 ) )
       => ( ! [X5: nat,Y5: nat] :
              ( ( P @ X5 @ Y5 )
             => ( P @ ( suc @ X5 ) @ ( suc @ Y5 ) ) )
         => ( P @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_1061_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N5: nat] :
            ( ( P @ N5 )
           => ( P @ ( suc @ N5 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_1062_old_Onat_Oexhaust,axiom,
    ! [Y3: nat] :
      ( ( Y3 != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y3
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_1063_nat_OdiscI,axiom,
    ! [Nat: nat,X22: nat] :
      ( ( Nat
        = ( suc @ X22 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_1064_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_1065_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_1066_nat_Odistinct_I1_J,axiom,
    ! [X22: nat] :
      ( zero_zero_nat
     != ( suc @ X22 ) ) ).

% nat.distinct(1)
thf(fact_1067_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_1068_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

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

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

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

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

% gr_implies_not0
thf(fact_1073_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N5: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N5 )
           => ( ~ ( P @ N5 )
             => ? [M5: nat] :
                  ( ( ord_less_nat @ M5 @ N5 )
                  & ~ ( P @ M5 ) ) ) )
       => ( P @ N ) ) ) ).

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

% add_eq_self_zero
thf(fact_1075_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_1076_drop__0,axiom,
    ! [Xs2: list_a] :
      ( ( drop_a @ zero_zero_nat @ Xs2 )
      = Xs2 ) ).

% drop_0
thf(fact_1077_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J3: nat] :
            ( ( M
              = ( suc @ J3 ) )
            & ( ord_less_nat @ J3 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_1078_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M6: nat] :
          ( N
          = ( suc @ M6 ) ) ) ).

% gr0_implies_Suc
thf(fact_1079_All__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( suc @ N ) )
           => ( P @ I2 ) ) )
      = ( ( P @ zero_zero_nat )
        & ! [I2: nat] :
            ( ( ord_less_nat @ I2 @ N )
           => ( P @ ( suc @ I2 ) ) ) ) ) ).

% All_less_Suc2
thf(fact_1080_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M2: nat] :
            ( N
            = ( suc @ M2 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_1081_Ex__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ ( suc @ N ) )
            & ( P @ I2 ) ) )
      = ( ( P @ zero_zero_nat )
        | ? [I2: nat] :
            ( ( ord_less_nat @ I2 @ N )
            & ( P @ ( suc @ I2 ) ) ) ) ) ).

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

% ex_least_nat_le
thf(fact_1083_list_Osize_I3_J,axiom,
    ( ( size_size_list_a @ nil_a )
    = zero_zero_nat ) ).

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

% list.size(3)
thf(fact_1085_one__is__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( plus_plus_nat @ M @ N ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% one_is_add
thf(fact_1086_add__is__1,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% add_is_1
thf(fact_1087_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K2 )
          & ( ( plus_plus_nat @ I @ K2 )
            = J ) ) ) ).

% less_imp_add_positive
thf(fact_1088_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

% One_nat_def
thf(fact_1089_take__0,axiom,
    ! [Xs2: list_a] :
      ( ( take_a @ zero_zero_nat @ Xs2 )
      = nil_a ) ).

% take_0
thf(fact_1090_length__code,axiom,
    ( size_size_list_a
    = ( gen_length_a @ zero_zero_nat ) ) ).

% length_code
thf(fact_1091_length__code,axiom,
    ( size_size_list_nat
    = ( gen_length_nat @ zero_zero_nat ) ) ).

% length_code
thf(fact_1092_ex__least__nat__less,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K2: nat] :
            ( ( ord_less_nat @ K2 @ N )
            & ! [I4: nat] :
                ( ( ord_less_eq_nat @ I4 @ K2 )
               => ~ ( P @ I4 ) )
            & ( P @ ( suc @ K2 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_1093_nat__induct__non__zero,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P @ one_one_nat )
       => ( ! [N5: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N5 )
             => ( ( P @ N5 )
               => ( P @ ( suc @ N5 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_1094_hd__conv__nth,axiom,
    ! [Xs2: list_a] :
      ( ( Xs2 != nil_a )
     => ( ( hd_a @ Xs2 )
        = ( nth_a @ Xs2 @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_1095_hd__conv__nth,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( hd_nat @ Xs2 )
        = ( nth_nat @ Xs2 @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_1096_list_Osize_I4_J,axiom,
    ! [X21: a,X222: list_a] :
      ( ( size_size_list_a @ ( cons_a @ X21 @ X222 ) )
      = ( plus_plus_nat @ ( size_size_list_a @ X222 ) @ ( suc @ zero_zero_nat ) ) ) ).

% list.size(4)
thf(fact_1097_list_Osize_I4_J,axiom,
    ! [X21: nat,X222: list_nat] :
      ( ( size_size_list_nat @ ( cons_nat @ X21 @ X222 ) )
      = ( plus_plus_nat @ ( size_size_list_nat @ X222 ) @ ( suc @ zero_zero_nat ) ) ) ).

% list.size(4)
thf(fact_1098_mset__update,axiom,
    ! [I: nat,Ls: list_a,V: a] :
      ( ( ord_less_nat @ I @ ( size_size_list_a @ Ls ) )
     => ( ( mset_a @ ( list_update_a @ Ls @ I @ V ) )
        = ( add_mset_a @ V @ ( minus_3765977307040488491iset_a @ ( mset_a @ Ls ) @ ( add_mset_a @ ( nth_a @ Ls @ I ) @ zero_zero_multiset_a ) ) ) ) ) ).

% mset_update
thf(fact_1099_mset__update,axiom,
    ! [I: nat,Ls: list_nat,V: nat] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Ls ) )
     => ( ( mset_nat @ ( list_update_nat @ Ls @ I @ V ) )
        = ( add_mset_nat @ V @ ( minus_8522176038001411705et_nat @ ( mset_nat @ Ls ) @ ( add_mset_nat @ ( nth_nat @ Ls @ I ) @ zero_z7348594199698428585et_nat ) ) ) ) ) ).

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

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

% diff_zero
thf(fact_1102_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_1103_add__diff__cancel__right_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_1104_add__diff__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_1105_add__diff__cancel__left_H,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_1106_add__diff__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( minus_minus_nat @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_1107_le__add__diff__inverse2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_1108_le__add__diff__inverse,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_1109_diff__add__zero,axiom,
    ! [A: nat,B: nat] :
      ( ( minus_minus_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = zero_zero_nat ) ).

% diff_add_zero
thf(fact_1110_diff__add__mset__swap,axiom,
    ! [B: a,A2: multiset_a,M3: multiset_a] :
      ( ~ ( member_a @ B @ ( set_mset_a @ A2 ) )
     => ( ( minus_3765977307040488491iset_a @ ( add_mset_a @ B @ M3 ) @ A2 )
        = ( add_mset_a @ B @ ( minus_3765977307040488491iset_a @ M3 @ A2 ) ) ) ) ).

% diff_add_mset_swap
thf(fact_1111_remove__diff__multiset,axiom,
    ! [X13: a,A2: multiset_a,B5: multiset_a] :
      ( ~ ( member_a @ X13 @ ( set_mset_a @ A2 ) )
     => ( ( minus_3765977307040488491iset_a @ A2 @ ( add_mset_a @ X13 @ B5 ) )
        = ( minus_3765977307040488491iset_a @ A2 @ B5 ) ) ) ).

% remove_diff_multiset
thf(fact_1112_insert__DiffM,axiom,
    ! [X2: a,M3: multiset_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ( add_mset_a @ X2 @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) )
        = M3 ) ) ).

% insert_DiffM
thf(fact_1113_diff__union__swap2,axiom,
    ! [Y3: a,M3: multiset_a,X2: a] :
      ( ( member_a @ Y3 @ ( set_mset_a @ M3 ) )
     => ( ( minus_3765977307040488491iset_a @ ( add_mset_a @ X2 @ M3 ) @ ( add_mset_a @ Y3 @ zero_zero_multiset_a ) )
        = ( add_mset_a @ X2 @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ Y3 @ zero_zero_multiset_a ) ) ) ) ) ).

% diff_union_swap2
thf(fact_1114_diff__single__trivial,axiom,
    ! [X2: a,M3: multiset_a] :
      ( ~ ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) )
        = M3 ) ) ).

% diff_single_trivial
thf(fact_1115_in__diffD,axiom,
    ! [A: a,M3: multiset_a,N3: multiset_a] :
      ( ( member_a @ A @ ( set_mset_a @ ( minus_3765977307040488491iset_a @ M3 @ N3 ) ) )
     => ( member_a @ A @ ( set_mset_a @ M3 ) ) ) ).

% in_diffD
thf(fact_1116_add__le__imp__le__diff,axiom,
    ! [I: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ord_less_eq_nat @ I @ ( minus_minus_nat @ N @ K ) ) ) ).

% add_le_imp_le_diff
thf(fact_1117_add__le__add__imp__diff__le,axiom,
    ! [I: nat,K: nat,N: nat,J: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
       => ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
         => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
           => ( ord_less_eq_nat @ ( minus_minus_nat @ N @ K ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_1118_ordered__cancel__comm__monoid__diff__class_Odiff__add,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ A )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add
thf(fact_1119_le__add__diff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ C @ ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

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

% ordered_cancel_comm_monoid_diff_class.le_diff_conv2
thf(fact_1121_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc
thf(fact_1122_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A )
        = ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc
thf(fact_1123_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C )
        = ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc2
thf(fact_1124_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A )
        = ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc2
thf(fact_1125_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_diff_right
thf(fact_1126_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ A @ ( minus_minus_nat @ B @ A ) )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_inverse
thf(fact_1127_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ( ( minus_minus_nat @ B @ A )
            = C )
          = ( B
            = ( plus_plus_nat @ C @ A ) ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_imp_diff_is_add
thf(fact_1128_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ~ ( ord_less_nat @ A @ B )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_1129_diff__diff__eq,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ A @ B ) @ C )
      = ( minus_minus_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ).

% diff_diff_eq
thf(fact_1130_add__implies__diff,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ( plus_plus_nat @ C @ B )
        = A )
     => ( C
        = ( minus_minus_nat @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_1131_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_1132_diff__single__eq__union,axiom,
    ! [X2: a,M3: multiset_a,N3: multiset_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ( ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) )
          = N3 )
        = ( M3
          = ( add_mset_a @ X2 @ N3 ) ) ) ) ).

% diff_single_eq_union
thf(fact_1133_multi__drop__mem__not__eq,axiom,
    ! [C: a,B5: multiset_a] :
      ( ( member_a @ C @ ( set_mset_a @ B5 ) )
     => ( ( minus_3765977307040488491iset_a @ B5 @ ( add_mset_a @ C @ zero_zero_multiset_a ) )
       != B5 ) ) ).

% multi_drop_mem_not_eq
thf(fact_1134_in__remove1__mset__neq,axiom,
    ! [A: a,B: a,C4: multiset_a] :
      ( ( A != B )
     => ( ( member_a @ A @ ( set_mset_a @ ( minus_3765977307040488491iset_a @ C4 @ ( add_mset_a @ B @ zero_zero_multiset_a ) ) ) )
        = ( member_a @ A @ ( set_mset_a @ C4 ) ) ) ) ).

% in_remove1_mset_neq
thf(fact_1135_add__mset__eq__add__mset,axiom,
    ! [A: a,M3: multiset_a,B: a,M10: multiset_a] :
      ( ( ( add_mset_a @ A @ M3 )
        = ( add_mset_a @ B @ M10 ) )
      = ( ( ( A = B )
          & ( M3 = M10 ) )
        | ( ( A != B )
          & ( member_a @ B @ ( set_mset_a @ M3 ) )
          & ( ( add_mset_a @ A @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ B @ zero_zero_multiset_a ) ) )
            = M10 ) ) ) ) ).

% add_mset_eq_add_mset
thf(fact_1136_add__mset__remove__trivial__If,axiom,
    ! [A: a,N3: multiset_a] :
      ( ( ( member_a @ A @ ( set_mset_a @ N3 ) )
       => ( ( add_mset_a @ A @ ( minus_3765977307040488491iset_a @ N3 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) )
          = N3 ) )
      & ( ~ ( member_a @ A @ ( set_mset_a @ N3 ) )
       => ( ( add_mset_a @ A @ ( minus_3765977307040488491iset_a @ N3 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) )
          = ( add_mset_a @ A @ N3 ) ) ) ) ).

% add_mset_remove_trivial_If
thf(fact_1137_add__mset__remove__trivial__eq,axiom,
    ! [N3: multiset_a,A: a] :
      ( ( N3
        = ( add_mset_a @ A @ ( minus_3765977307040488491iset_a @ N3 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) ) )
      = ( member_a @ A @ ( set_mset_a @ N3 ) ) ) ).

% add_mset_remove_trivial_eq
thf(fact_1138_multiset__add__sub__el__shuffle,axiom,
    ! [C: a,B5: multiset_a,B: a] :
      ( ( member_a @ C @ ( set_mset_a @ B5 ) )
     => ( ( B != C )
       => ( ( add_mset_a @ B @ ( minus_3765977307040488491iset_a @ B5 @ ( add_mset_a @ C @ zero_zero_multiset_a ) ) )
          = ( minus_3765977307040488491iset_a @ ( add_mset_a @ B @ B5 ) @ ( add_mset_a @ C @ zero_zero_multiset_a ) ) ) ) ) ).

% multiset_add_sub_el_shuffle
thf(fact_1139_more__than__one__mset__mset__diff,axiom,
    ! [A: a,M3: multiset_a] :
      ( ( member_a @ A @ ( set_mset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) ) )
     => ( ( set_mset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) )
        = ( set_mset_a @ M3 ) ) ) ).

% more_than_one_mset_mset_diff
thf(fact_1140_add__mset__eq__add__mset__ne,axiom,
    ! [A: a,B: a,A2: multiset_a,B5: multiset_a] :
      ( ( A != B )
     => ( ( ( add_mset_a @ A @ A2 )
          = ( add_mset_a @ B @ B5 ) )
        = ( ( member_a @ A @ ( set_mset_a @ B5 ) )
          & ( member_a @ B @ ( set_mset_a @ A2 ) )
          & ( A2
            = ( add_mset_a @ B @ ( minus_3765977307040488491iset_a @ B5 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) ) ) ) ) ) ).

% add_mset_eq_add_mset_ne
thf(fact_1141_id__remove__1__mset__iff__notin,axiom,
    ! [M3: multiset_a,A: a] :
      ( ( M3
        = ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) )
      = ( ~ ( member_a @ A @ ( set_mset_a @ M3 ) ) ) ) ).

% id_remove_1_mset_iff_notin
thf(fact_1142_remove__1__mset__id__iff__notin,axiom,
    ! [M3: multiset_a,A: a] :
      ( ( ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ A @ zero_zero_multiset_a ) )
        = M3 )
      = ( ~ ( member_a @ A @ ( set_mset_a @ M3 ) ) ) ) ).

% remove_1_mset_id_iff_notin
thf(fact_1143_add__mset__remove__trivial__iff,axiom,
    ! [N3: multiset_a,A: a,B: a] :
      ( ( N3
        = ( add_mset_a @ A @ ( minus_3765977307040488491iset_a @ N3 @ ( add_mset_a @ B @ zero_zero_multiset_a ) ) ) )
      = ( ( member_a @ A @ ( set_mset_a @ N3 ) )
        & ( A = B ) ) ) ).

% add_mset_remove_trivial_iff
thf(fact_1144_trivial__add__mset__remove__iff,axiom,
    ! [A: a,N3: multiset_a,B: a] :
      ( ( ( add_mset_a @ A @ ( minus_3765977307040488491iset_a @ N3 @ ( add_mset_a @ B @ zero_zero_multiset_a ) ) )
        = N3 )
      = ( ( member_a @ A @ ( set_mset_a @ N3 ) )
        & ( A = B ) ) ) ).

% trivial_add_mset_remove_iff
thf(fact_1145_diff__union__single__conv,axiom,
    ! [A: a,J4: multiset_a,I5: multiset_a] :
      ( ( member_a @ A @ ( set_mset_a @ J4 ) )
     => ( ( minus_3765977307040488491iset_a @ ( plus_plus_multiset_a @ I5 @ J4 ) @ ( add_mset_a @ A @ zero_zero_multiset_a ) )
        = ( plus_plus_multiset_a @ I5 @ ( minus_3765977307040488491iset_a @ J4 @ ( add_mset_a @ A @ zero_zero_multiset_a ) ) ) ) ) ).

% diff_union_single_conv
thf(fact_1146_remove1__mset__eqE,axiom,
    ! [X1: multiset_a,L3: a,M3: multiset_a] :
      ( ( ( minus_3765977307040488491iset_a @ X1 @ ( add_mset_a @ L3 @ zero_zero_multiset_a ) )
        = M3 )
     => ( ( ( member_a @ L3 @ ( set_mset_a @ X1 ) )
         => ( X1
           != ( plus_plus_multiset_a @ M3 @ ( add_mset_a @ L3 @ zero_zero_multiset_a ) ) ) )
       => ~ ( ~ ( member_a @ L3 @ ( set_mset_a @ X1 ) )
           => ( X1 != M3 ) ) ) ) ).

% remove1_mset_eqE
thf(fact_1147_insert__DiffM2,axiom,
    ! [X2: a,M3: multiset_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ( plus_plus_multiset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) )
        = M3 ) ) ).

% insert_DiffM2
thf(fact_1148_size__Suc__Diff1,axiom,
    ! [X2: a,M3: multiset_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ( suc @ ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) ) )
        = ( size_size_multiset_a @ M3 ) ) ) ).

% size_Suc_Diff1
thf(fact_1149_size__mset__remove1__mset__le__iff,axiom,
    ! [M3: multiset_a,X2: a] :
      ( ( ord_less_nat @ ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) ) @ ( size_size_multiset_a @ M3 ) )
      = ( member_a @ X2 @ ( set_mset_a @ M3 ) ) ) ).

% size_mset_remove1_mset_le_iff
thf(fact_1150_size__Diff2__less,axiom,
    ! [X2: a,M3: multiset_a,Y3: a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ( member_a @ Y3 @ ( set_mset_a @ M3 ) )
       => ( ord_less_nat @ ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) @ ( add_mset_a @ Y3 @ zero_zero_multiset_a ) ) ) @ ( size_size_multiset_a @ M3 ) ) ) ) ).

% size_Diff2_less
thf(fact_1151_size__Diff1__less,axiom,
    ! [X2: a,M3: multiset_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ord_less_nat @ ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) ) @ ( size_size_multiset_a @ M3 ) ) ) ).

% size_Diff1_less
thf(fact_1152_obtain__two__items__mset,axiom,
    ! [A2: multiset_a] :
      ( ( ord_less_nat @ one_one_nat @ ( size_size_multiset_a @ A2 ) )
     => ~ ! [X5: a] :
            ( ( member_a @ X5 @ ( set_mset_a @ A2 ) )
           => ! [Y5: a] :
                ~ ( member_a @ Y5 @ ( set_mset_a @ ( minus_3765977307040488491iset_a @ A2 @ ( add_mset_a @ X5 @ zero_zero_multiset_a ) ) ) ) ) ) ).

% obtain_two_items_mset
thf(fact_1153_index__remove1__mset__ne,axiom,
    ! [X2: a,Xs2: list_a,Y3: a,J1: nat] :
      ( ( member_a @ X2 @ ( set_mset_a @ ( mset_a @ Xs2 ) ) )
     => ( ( member_a @ Y3 @ ( set_mset_a @ ( minus_3765977307040488491iset_a @ ( mset_a @ Xs2 ) @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) ) )
       => ( ( ( nth_a @ Xs2 @ J1 )
            = X2 )
         => ( ( ord_less_nat @ J1 @ ( size_size_list_a @ Xs2 ) )
           => ~ ! [J22: nat] :
                  ( ( ( nth_a @ Xs2 @ J22 )
                    = Y3 )
                 => ( ( ord_less_nat @ J22 @ ( size_size_list_a @ Xs2 ) )
                   => ( J1 = J22 ) ) ) ) ) ) ) ).

% index_remove1_mset_ne
thf(fact_1154_index__remove1__mset__ne,axiom,
    ! [X2: nat,Xs2: list_nat,Y3: nat,J1: nat] :
      ( ( member_nat @ X2 @ ( set_mset_nat @ ( mset_nat @ Xs2 ) ) )
     => ( ( member_nat @ Y3 @ ( set_mset_nat @ ( minus_8522176038001411705et_nat @ ( mset_nat @ Xs2 ) @ ( add_mset_nat @ X2 @ zero_z7348594199698428585et_nat ) ) ) )
       => ( ( ( nth_nat @ Xs2 @ J1 )
            = X2 )
         => ( ( ord_less_nat @ J1 @ ( size_size_list_nat @ Xs2 ) )
           => ~ ! [J22: nat] :
                  ( ( ( nth_nat @ Xs2 @ J22 )
                    = Y3 )
                 => ( ( ord_less_nat @ J22 @ ( size_size_list_nat @ Xs2 ) )
                   => ( J1 = J22 ) ) ) ) ) ) ) ).

% index_remove1_mset_ne
thf(fact_1155_multiset__remove__induct,axiom,
    ! [P: multiset_a > $o,A2: multiset_a] :
      ( ( P @ zero_zero_multiset_a )
     => ( ! [A6: multiset_a] :
            ( ( A6 != zero_zero_multiset_a )
           => ( ! [X7: a] :
                  ( ( member_a @ X7 @ ( set_mset_a @ A6 ) )
                 => ( P @ ( minus_3765977307040488491iset_a @ A6 @ ( add_mset_a @ X7 @ zero_zero_multiset_a ) ) ) )
             => ( P @ A6 ) ) )
       => ( P @ A2 ) ) ) ).

% multiset_remove_induct
thf(fact_1156_size__char__eq__0,axiom,
    ( size_size_char
    = ( ^ [C3: char] : zero_zero_nat ) ) ).

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

% diff_0_eq_0
thf(fact_1158_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_1159_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K ) ) ).

% Suc_diff_diff
thf(fact_1160_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_1161_diff__diff__cancel,axiom,
    ! [I: nat,N: nat] :
      ( ( ord_less_eq_nat @ I @ N )
     => ( ( minus_minus_nat @ N @ ( minus_minus_nat @ N @ I ) )
        = I ) ) ).

% diff_diff_cancel
thf(fact_1162_diff__diff__left,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ I @ J ) @ K )
      = ( minus_minus_nat @ I @ ( plus_plus_nat @ J @ K ) ) ) ).

% diff_diff_left
thf(fact_1163_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_1164_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_1165_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_1166_Nat_Odiff__diff__right,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_1167_Nat_Oadd__diff__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_1168_Nat_Oadd__diff__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K ) ) ) ).

% Nat.add_diff_assoc
thf(fact_1169_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_1170_length__drop,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( size_size_list_a @ ( drop_a @ N @ Xs2 ) )
      = ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ N ) ) ).

% length_drop
thf(fact_1171_length__drop,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( size_size_list_nat @ ( drop_nat @ N @ Xs2 ) )
      = ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ N ) ) ).

% length_drop
thf(fact_1172_Suc__pred,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ ( suc @ zero_zero_nat ) ) )
        = N ) ) ).

% Suc_pred
thf(fact_1173_diff__Suc__diff__eq1,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( suc @ ( minus_minus_nat @ J @ K ) ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ ( suc @ J ) ) ) ) ).

% diff_Suc_diff_eq1
thf(fact_1174_diff__Suc__diff__eq2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( suc @ ( minus_minus_nat @ J @ K ) ) @ I )
        = ( minus_minus_nat @ ( suc @ J ) @ ( plus_plus_nat @ K @ I ) ) ) ) ).

% diff_Suc_diff_eq2
thf(fact_1175_take__append,axiom,
    ! [N: nat,Xs2: list_a,Ys: list_a] :
      ( ( take_a @ N @ ( append_a @ Xs2 @ Ys ) )
      = ( append_a @ ( take_a @ N @ Xs2 ) @ ( take_a @ ( minus_minus_nat @ N @ ( size_size_list_a @ Xs2 ) ) @ Ys ) ) ) ).

% take_append
thf(fact_1176_take__append,axiom,
    ! [N: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( take_nat @ N @ ( append_nat @ Xs2 @ Ys ) )
      = ( append_nat @ ( take_nat @ N @ Xs2 ) @ ( take_nat @ ( minus_minus_nat @ N @ ( size_size_list_nat @ Xs2 ) ) @ Ys ) ) ) ).

% take_append
thf(fact_1177_drop__append,axiom,
    ! [N: nat,Xs2: list_a,Ys: list_a] :
      ( ( drop_a @ N @ ( append_a @ Xs2 @ Ys ) )
      = ( append_a @ ( drop_a @ N @ Xs2 ) @ ( drop_a @ ( minus_minus_nat @ N @ ( size_size_list_a @ Xs2 ) ) @ Ys ) ) ) ).

% drop_append
thf(fact_1178_drop__append,axiom,
    ! [N: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( drop_nat @ N @ ( append_nat @ Xs2 @ Ys ) )
      = ( append_nat @ ( drop_nat @ N @ Xs2 ) @ ( drop_nat @ ( minus_minus_nat @ N @ ( size_size_list_nat @ Xs2 ) ) @ Ys ) ) ) ).

% drop_append
thf(fact_1179_length__butlast,axiom,
    ! [Xs2: list_a] :
      ( ( size_size_list_a @ ( butlast_a @ Xs2 ) )
      = ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat ) ) ).

% length_butlast
thf(fact_1180_length__butlast,axiom,
    ! [Xs2: list_nat] :
      ( ( size_size_list_nat @ ( butlast_nat @ Xs2 ) )
      = ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat ) ) ).

% length_butlast
thf(fact_1181_Suc__diff__1,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ one_one_nat ) )
        = N ) ) ).

% Suc_diff_1
thf(fact_1182_nth__Cons__pos,axiom,
    ! [N: nat,X2: a,Xs2: list_a] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_a @ ( cons_a @ X2 @ Xs2 ) @ N )
        = ( nth_a @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_1183_nth__Cons__pos,axiom,
    ! [N: nat,X2: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_nat @ ( cons_nat @ X2 @ Xs2 ) @ N )
        = ( nth_nat @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

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

% minus_nat.diff_0
thf(fact_1186_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_1187_diff__add__0,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ N @ ( plus_plus_nat @ N @ M ) )
      = zero_zero_nat ) ).

% diff_add_0
thf(fact_1188_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_1189_Suc__diff__Suc,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( ( suc @ ( minus_minus_nat @ M @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_1190_Suc__diff__le,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( suc @ ( minus_minus_nat @ M @ N ) ) ) ) ).

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

% less_diff_iff
thf(fact_1192_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_1193_add__diff__inverse__nat,axiom,
    ! [M: nat,N: nat] :
      ( ~ ( ord_less_nat @ M @ N )
     => ( ( plus_plus_nat @ N @ ( minus_minus_nat @ M @ N ) )
        = M ) ) ).

% add_diff_inverse_nat
thf(fact_1194_less__diff__conv,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ ( minus_minus_nat @ J @ K ) )
      = ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ).

% less_diff_conv
thf(fact_1195_Nat_Ole__imp__diff__is__add,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( ( minus_minus_nat @ J @ I )
          = K )
        = ( J
          = ( plus_plus_nat @ K @ I ) ) ) ) ).

% Nat.le_imp_diff_is_add
thf(fact_1196_Nat_Odiff__add__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K )
        = ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I ) ) ) ).

% Nat.diff_add_assoc2
thf(fact_1197_Nat_Odiff__add__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K )
        = ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) ) ) ) ).

% Nat.diff_add_assoc
thf(fact_1198_Nat_Ole__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_eq_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.le_diff_conv2
thf(fact_1199_le__diff__conv,axiom,
    ! [J: nat,K: nat,I: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J @ K ) @ I )
      = ( ord_less_eq_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ).

% le_diff_conv
thf(fact_1200_diff__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

% diff_add_inverse2
thf(fact_1201_diff__add__inverse,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ N )
      = M ) ).

% diff_add_inverse
thf(fact_1202_diff__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ K ) @ ( plus_plus_nat @ N @ K ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_cancel2
thf(fact_1203_Nat_Odiff__cancel,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ K @ M ) @ ( plus_plus_nat @ K @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% Nat.diff_cancel
thf(fact_1204_zero__induct__lemma,axiom,
    ! [P: nat > $o,K: nat,I: nat] :
      ( ( P @ K )
     => ( ! [N5: nat] :
            ( ( P @ ( suc @ N5 ) )
           => ( P @ N5 ) )
       => ( P @ ( minus_minus_nat @ K @ I ) ) ) ) ).

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

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

% diff_less_mono2
thf(fact_1207_psubset__imp__ex__mem,axiom,
    ! [A2: set_a,B5: set_a] :
      ( ( ord_less_set_a @ A2 @ B5 )
     => ? [B2: a] : ( member_a @ B2 @ ( minus_minus_set_a @ B5 @ A2 ) ) ) ).

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

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

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

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

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

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

% diff_le_mono2
thf(fact_1215_diff__Suc__eq__diff__pred,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ M @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ one_one_nat ) @ N ) ) ).

% diff_Suc_eq_diff_pred
thf(fact_1216_drop__take,axiom,
    ! [N: nat,M: nat,Xs2: list_a] :
      ( ( drop_a @ N @ ( take_a @ M @ Xs2 ) )
      = ( take_a @ ( minus_minus_nat @ M @ N ) @ ( drop_a @ N @ Xs2 ) ) ) ).

% drop_take
thf(fact_1217_diff__Suc__less,axiom,
    ! [N: nat,I: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( minus_minus_nat @ N @ ( suc @ I ) ) @ N ) ) ).

% diff_Suc_less
thf(fact_1218_nat__diff__split__asm,axiom,
    ! [P: nat > $o,A: nat,B: nat] :
      ( ( P @ ( minus_minus_nat @ A @ B ) )
      = ( ~ ( ( ( ord_less_nat @ A @ B )
              & ~ ( P @ zero_zero_nat ) )
            | ? [D3: nat] :
                ( ( A
                  = ( plus_plus_nat @ B @ D3 ) )
                & ~ ( P @ D3 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_1219_nat__diff__split,axiom,
    ! [P: nat > $o,A: nat,B: nat] :
      ( ( P @ ( minus_minus_nat @ A @ B ) )
      = ( ( ( ord_less_nat @ A @ B )
         => ( P @ zero_zero_nat ) )
        & ! [D3: nat] :
            ( ( A
              = ( plus_plus_nat @ B @ D3 ) )
           => ( P @ D3 ) ) ) ) ).

% nat_diff_split
thf(fact_1220_less__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( ord_less_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ) ).

% less_diff_conv2
thf(fact_1221_drop__update__swap,axiom,
    ! [M: nat,N: nat,Xs2: list_a,X2: a] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( drop_a @ M @ ( list_update_a @ Xs2 @ N @ X2 ) )
        = ( list_update_a @ ( drop_a @ M @ Xs2 ) @ ( minus_minus_nat @ N @ M ) @ X2 ) ) ) ).

% drop_update_swap
thf(fact_1222_Suc__diff__eq__diff__pred,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( minus_minus_nat @ M @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_diff_eq_diff_pred
thf(fact_1223_Suc__pred_H,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( N
        = ( suc @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_pred'
thf(fact_1224_add__eq__if,axiom,
    ( plus_plus_nat
    = ( ^ [M2: nat,N2: nat] : ( if_nat @ ( M2 = zero_zero_nat ) @ N2 @ ( suc @ ( plus_plus_nat @ ( minus_minus_nat @ M2 @ one_one_nat ) @ N2 ) ) ) ) ) ).

% add_eq_if
thf(fact_1225_nth__Cons_H,axiom,
    ! [N: nat,X2: a,Xs2: list_a] :
      ( ( ( N = zero_zero_nat )
       => ( ( nth_a @ ( cons_a @ X2 @ Xs2 ) @ N )
          = X2 ) )
      & ( ( N != zero_zero_nat )
       => ( ( nth_a @ ( cons_a @ X2 @ Xs2 ) @ N )
          = ( nth_a @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ).

% nth_Cons'
thf(fact_1226_nth__Cons_H,axiom,
    ! [N: nat,X2: nat,Xs2: list_nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( nth_nat @ ( cons_nat @ X2 @ Xs2 ) @ N )
          = X2 ) )
      & ( ( N != zero_zero_nat )
       => ( ( nth_nat @ ( cons_nat @ X2 @ Xs2 ) @ N )
          = ( nth_nat @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ).

% nth_Cons'
thf(fact_1227_nth__append,axiom,
    ! [N: nat,Xs2: list_a,Ys: list_a] :
      ( ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
       => ( ( nth_a @ ( append_a @ Xs2 @ Ys ) @ N )
          = ( nth_a @ Xs2 @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
       => ( ( nth_a @ ( append_a @ Xs2 @ Ys ) @ N )
          = ( nth_a @ Ys @ ( minus_minus_nat @ N @ ( size_size_list_a @ Xs2 ) ) ) ) ) ) ).

% nth_append
thf(fact_1228_nth__append,axiom,
    ! [N: nat,Xs2: list_nat,Ys: list_nat] :
      ( ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
       => ( ( nth_nat @ ( append_nat @ Xs2 @ Ys ) @ N )
          = ( nth_nat @ Xs2 @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
       => ( ( nth_nat @ ( append_nat @ Xs2 @ Ys ) @ N )
          = ( nth_nat @ Ys @ ( minus_minus_nat @ N @ ( size_size_list_nat @ Xs2 ) ) ) ) ) ) ).

% nth_append
thf(fact_1229_drop__Cons_H,axiom,
    ! [N: nat,X2: a,Xs2: list_a] :
      ( ( ( N = zero_zero_nat )
       => ( ( drop_a @ N @ ( cons_a @ X2 @ Xs2 ) )
          = ( cons_a @ X2 @ Xs2 ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( drop_a @ N @ ( cons_a @ X2 @ Xs2 ) )
          = ( drop_a @ ( minus_minus_nat @ N @ one_one_nat ) @ Xs2 ) ) ) ) ).

% drop_Cons'
thf(fact_1230_list__update__append,axiom,
    ! [N: nat,Xs2: list_a,Ys: list_a,X2: a] :
      ( ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
       => ( ( list_update_a @ ( append_a @ Xs2 @ Ys ) @ N @ X2 )
          = ( append_a @ ( list_update_a @ Xs2 @ N @ X2 ) @ Ys ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
       => ( ( list_update_a @ ( append_a @ Xs2 @ Ys ) @ N @ X2 )
          = ( append_a @ Xs2 @ ( list_update_a @ Ys @ ( minus_minus_nat @ N @ ( size_size_list_a @ Xs2 ) ) @ X2 ) ) ) ) ) ).

% list_update_append
thf(fact_1231_list__update__append,axiom,
    ! [N: nat,Xs2: list_nat,Ys: list_nat,X2: nat] :
      ( ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
       => ( ( list_update_nat @ ( append_nat @ Xs2 @ Ys ) @ N @ X2 )
          = ( append_nat @ ( list_update_nat @ Xs2 @ N @ X2 ) @ Ys ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
       => ( ( list_update_nat @ ( append_nat @ Xs2 @ Ys ) @ N @ X2 )
          = ( append_nat @ Xs2 @ ( list_update_nat @ Ys @ ( minus_minus_nat @ N @ ( size_size_list_nat @ Xs2 ) ) @ X2 ) ) ) ) ) ).

% list_update_append
thf(fact_1232_drop__rev,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( drop_a @ N @ ( rev_a @ Xs2 ) )
      = ( rev_a @ ( take_a @ ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ N ) @ Xs2 ) ) ) ).

% drop_rev
thf(fact_1233_drop__rev,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( drop_nat @ N @ ( rev_nat @ Xs2 ) )
      = ( rev_nat @ ( take_nat @ ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ N ) @ Xs2 ) ) ) ).

% drop_rev
thf(fact_1234_rev__drop,axiom,
    ! [I: nat,Xs2: list_a] :
      ( ( rev_a @ ( drop_a @ I @ Xs2 ) )
      = ( take_a @ ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ I ) @ ( rev_a @ Xs2 ) ) ) ).

% rev_drop
thf(fact_1235_rev__drop,axiom,
    ! [I: nat,Xs2: list_nat] :
      ( ( rev_nat @ ( drop_nat @ I @ Xs2 ) )
      = ( take_nat @ ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ I ) @ ( rev_nat @ Xs2 ) ) ) ).

% rev_drop
thf(fact_1236_rev__take,axiom,
    ! [I: nat,Xs2: list_a] :
      ( ( rev_a @ ( take_a @ I @ Xs2 ) )
      = ( drop_a @ ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ I ) @ ( rev_a @ Xs2 ) ) ) ).

% rev_take
thf(fact_1237_rev__take,axiom,
    ! [I: nat,Xs2: list_nat] :
      ( ( rev_nat @ ( take_nat @ I @ Xs2 ) )
      = ( drop_nat @ ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ I ) @ ( rev_nat @ Xs2 ) ) ) ).

% rev_take
thf(fact_1238_take__rev,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( take_a @ N @ ( rev_a @ Xs2 ) )
      = ( rev_a @ ( drop_a @ ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ N ) @ Xs2 ) ) ) ).

% take_rev
thf(fact_1239_take__rev,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( take_nat @ N @ ( rev_nat @ Xs2 ) )
      = ( rev_nat @ ( drop_nat @ ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ N ) @ Xs2 ) ) ) ).

% take_rev
thf(fact_1240_butlast__conv__take,axiom,
    ( butlast_a
    = ( ^ [Xs3: list_a] : ( take_a @ ( minus_minus_nat @ ( size_size_list_a @ Xs3 ) @ one_one_nat ) @ Xs3 ) ) ) ).

% butlast_conv_take
thf(fact_1241_butlast__conv__take,axiom,
    ( butlast_nat
    = ( ^ [Xs3: list_nat] : ( take_nat @ ( minus_minus_nat @ ( size_size_list_nat @ Xs3 ) @ one_one_nat ) @ Xs3 ) ) ) ).

% butlast_conv_take
thf(fact_1242_butlast__list__update,axiom,
    ! [K: nat,Xs2: list_a,X2: a] :
      ( ( ( K
          = ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat ) )
       => ( ( butlast_a @ ( list_update_a @ Xs2 @ K @ X2 ) )
          = ( butlast_a @ Xs2 ) ) )
      & ( ( K
         != ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat ) )
       => ( ( butlast_a @ ( list_update_a @ Xs2 @ K @ X2 ) )
          = ( list_update_a @ ( butlast_a @ Xs2 ) @ K @ X2 ) ) ) ) ).

% butlast_list_update
thf(fact_1243_butlast__list__update,axiom,
    ! [K: nat,Xs2: list_nat,X2: nat] :
      ( ( ( K
          = ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat ) )
       => ( ( butlast_nat @ ( list_update_nat @ Xs2 @ K @ X2 ) )
          = ( butlast_nat @ Xs2 ) ) )
      & ( ( K
         != ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat ) )
       => ( ( butlast_nat @ ( list_update_nat @ Xs2 @ K @ X2 ) )
          = ( list_update_nat @ ( butlast_nat @ Xs2 ) @ K @ X2 ) ) ) ) ).

% butlast_list_update
thf(fact_1244_nth__non__equal__first__eq,axiom,
    ! [X2: a,Y3: a,Xs2: list_a,N: nat] :
      ( ( X2 != Y3 )
     => ( ( ( nth_a @ ( cons_a @ X2 @ Xs2 ) @ N )
          = Y3 )
        = ( ( ( nth_a @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) )
            = Y3 )
          & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ) ).

% nth_non_equal_first_eq
thf(fact_1245_nth__non__equal__first__eq,axiom,
    ! [X2: nat,Y3: nat,Xs2: list_nat,N: nat] :
      ( ( X2 != Y3 )
     => ( ( ( nth_nat @ ( cons_nat @ X2 @ Xs2 ) @ N )
          = Y3 )
        = ( ( ( nth_nat @ Xs2 @ ( minus_minus_nat @ N @ one_one_nat ) )
            = Y3 )
          & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ) ).

% nth_non_equal_first_eq
thf(fact_1246_take__Cons_H,axiom,
    ! [N: nat,X2: a,Xs2: list_a] :
      ( ( ( N = zero_zero_nat )
       => ( ( take_a @ N @ ( cons_a @ X2 @ Xs2 ) )
          = nil_a ) )
      & ( ( N != zero_zero_nat )
       => ( ( take_a @ N @ ( cons_a @ X2 @ Xs2 ) )
          = ( cons_a @ X2 @ ( take_a @ ( minus_minus_nat @ N @ one_one_nat ) @ Xs2 ) ) ) ) ) ).

% take_Cons'
thf(fact_1247_rev__nth,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_nat @ N @ ( size_size_list_a @ Xs2 ) )
     => ( ( nth_a @ ( rev_a @ Xs2 ) @ N )
        = ( nth_a @ Xs2 @ ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ ( suc @ N ) ) ) ) ) ).

% rev_nth
thf(fact_1248_rev__nth,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_nat @ N @ ( size_size_list_nat @ Xs2 ) )
     => ( ( nth_nat @ ( rev_nat @ Xs2 ) @ N )
        = ( nth_nat @ Xs2 @ ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ ( suc @ N ) ) ) ) ) ).

% rev_nth
thf(fact_1249_last__conv__nth,axiom,
    ! [Xs2: list_a] :
      ( ( Xs2 != nil_a )
     => ( ( last_a @ Xs2 )
        = ( nth_a @ Xs2 @ ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat ) ) ) ) ).

% last_conv_nth
thf(fact_1250_last__conv__nth,axiom,
    ! [Xs2: list_nat] :
      ( ( Xs2 != nil_nat )
     => ( ( last_nat @ Xs2 )
        = ( nth_nat @ Xs2 @ ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat ) ) ) ) ).

% last_conv_nth
thf(fact_1251_rev__update,axiom,
    ! [K: nat,Xs2: list_a,Y3: a] :
      ( ( ord_less_nat @ K @ ( size_size_list_a @ Xs2 ) )
     => ( ( rev_a @ ( list_update_a @ Xs2 @ K @ Y3 ) )
        = ( list_update_a @ ( rev_a @ Xs2 ) @ ( minus_minus_nat @ ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ K ) @ one_one_nat ) @ Y3 ) ) ) ).

% rev_update
thf(fact_1252_rev__update,axiom,
    ! [K: nat,Xs2: list_nat,Y3: nat] :
      ( ( ord_less_nat @ K @ ( size_size_list_nat @ Xs2 ) )
     => ( ( rev_nat @ ( list_update_nat @ Xs2 @ K @ Y3 ) )
        = ( list_update_nat @ ( rev_nat @ Xs2 ) @ ( minus_minus_nat @ ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ K ) @ one_one_nat ) @ Y3 ) ) ) ).

% rev_update
thf(fact_1253_butlast__take,axiom,
    ! [N: nat,Xs2: list_a] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_a @ Xs2 ) )
     => ( ( butlast_a @ ( take_a @ N @ Xs2 ) )
        = ( take_a @ ( minus_minus_nat @ N @ one_one_nat ) @ Xs2 ) ) ) ).

% butlast_take
thf(fact_1254_butlast__take,axiom,
    ! [N: nat,Xs2: list_nat] :
      ( ( ord_less_eq_nat @ N @ ( size_size_list_nat @ Xs2 ) )
     => ( ( butlast_nat @ ( take_nat @ N @ Xs2 ) )
        = ( take_nat @ ( minus_minus_nat @ N @ one_one_nat ) @ Xs2 ) ) ) ).

% butlast_take
thf(fact_1255_last__list__update,axiom,
    ! [Xs2: list_a,K: nat,X2: a] :
      ( ( Xs2 != nil_a )
     => ( ( ( K
            = ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat ) )
         => ( ( last_a @ ( list_update_a @ Xs2 @ K @ X2 ) )
            = X2 ) )
        & ( ( K
           != ( minus_minus_nat @ ( size_size_list_a @ Xs2 ) @ one_one_nat ) )
         => ( ( last_a @ ( list_update_a @ Xs2 @ K @ X2 ) )
            = ( last_a @ Xs2 ) ) ) ) ) ).

% last_list_update
thf(fact_1256_last__list__update,axiom,
    ! [Xs2: list_nat,K: nat,X2: nat] :
      ( ( Xs2 != nil_nat )
     => ( ( ( K
            = ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat ) )
         => ( ( last_nat @ ( list_update_nat @ Xs2 @ K @ X2 ) )
            = X2 ) )
        & ( ( K
           != ( minus_minus_nat @ ( size_size_list_nat @ Xs2 ) @ one_one_nat ) )
         => ( ( last_nat @ ( list_update_nat @ Xs2 @ K @ X2 ) )
            = ( last_nat @ Xs2 ) ) ) ) ) ).

% last_list_update
thf(fact_1257_size__Diff__singleton__if,axiom,
    ! [X2: a,A2: multiset_a] :
      ( ( ( member_a @ X2 @ ( set_mset_a @ A2 ) )
       => ( ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ A2 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) )
          = ( minus_minus_nat @ ( size_size_multiset_a @ A2 ) @ one_one_nat ) ) )
      & ( ~ ( member_a @ X2 @ ( set_mset_a @ A2 ) )
       => ( ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ A2 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) )
          = ( size_size_multiset_a @ A2 ) ) ) ) ).

% size_Diff_singleton_if
thf(fact_1258_size__Diff__singleton,axiom,
    ! [X2: a,M3: multiset_a] :
      ( ( member_a @ X2 @ ( set_mset_a @ M3 ) )
     => ( ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) )
        = ( minus_minus_nat @ ( size_size_multiset_a @ M3 ) @ one_one_nat ) ) ) ).

% size_Diff_singleton
thf(fact_1259_size__remove1__mset__If,axiom,
    ! [M3: multiset_a,X2: a] :
      ( ( size_size_multiset_a @ ( minus_3765977307040488491iset_a @ M3 @ ( add_mset_a @ X2 @ zero_zero_multiset_a ) ) )
      = ( minus_minus_nat @ ( size_size_multiset_a @ M3 ) @ ( if_nat @ ( member_a @ X2 @ ( set_mset_a @ M3 ) ) @ one_one_nat @ zero_zero_nat ) ) ) ).

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

% diff_commute
thf(fact_1261_Euclid__induct,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A3: nat,B2: nat] :
          ( ( P @ A3 @ B2 )
          = ( P @ B2 @ A3 ) )
     => ( ! [A3: nat] : ( P @ A3 @ zero_zero_nat )
       => ( ! [A3: nat,B2: nat] :
              ( ( P @ A3 @ B2 )
             => ( P @ A3 @ ( plus_plus_nat @ A3 @ B2 ) ) )
         => ( P @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_1262_single__subset__iff,axiom,
    ! [A: a,M3: multiset_a] :
      ( ( subseteq_mset_a @ ( add_mset_a @ A @ zero_zero_multiset_a ) @ M3 )
      = ( member_a @ A @ ( set_mset_a @ M3 ) ) ) ).

% single_subset_iff
thf(fact_1263_multi__subset__induct,axiom,
    ! [F2: multiset_a,A2: multiset_a,P: multiset_a > $o] :
      ( ( subseteq_mset_a @ F2 @ A2 )
     => ( ( P @ zero_zero_multiset_a )
       => ( ! [A3: a,F3: multiset_a] :
              ( ( member_a @ A3 @ ( set_mset_a @ A2 ) )
             => ( ( P @ F3 )
               => ( P @ ( add_mset_a @ A3 @ F3 ) ) ) )
         => ( P @ F2 ) ) ) ) ).

% multi_subset_induct
thf(fact_1264_mset__subset__eq__single,axiom,
    ! [A: a,B5: multiset_a] :
      ( ( member_a @ A @ ( set_mset_a @ B5 ) )
     => ( subseteq_mset_a @ ( add_mset_a @ A @ zero_zero_multiset_a ) @ B5 ) ) ).

% mset_subset_eq_single

% Helper facts (3)
thf(help_If_3_1_If_001t__Nat__Onat_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( if_nat @ $false @ X2 @ Y3 )
      = Y3 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X2: nat,Y3: nat] :
      ( ( if_nat @ $true @ X2 @ Y3 )
      = X2 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    member_a @ ( nth_a @ xs @ i2 ) @ ( set_mset_a @ ( mset_a @ xs2 ) ) ).

%------------------------------------------------------------------------------