TPTP Problem File: SLH0043^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    : Knights_Tour/0000_KnightsTour/prob_01472_057338__6006368_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1526 ( 767 unt; 258 typ;   0 def)
%            Number of atoms       : 2809 (1693 equ;   0 cnn)
%            Maximal formula atoms :    8 (   2 avg)
%            Number of connectives : 9696 ( 483   ~;  56   |; 191   &;8068   @)
%                                         (   0 <=>; 898  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   23 (   5 avg)
%            Number of types       :   45 (  44 usr)
%            Number of type conns  :  512 ( 512   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  217 ( 214 usr;  34 con; 0-3 aty)
%            Number of variables   : 3230 (  94   ^;3016   !; 120   ?;3230   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 09:01:08.900
%------------------------------------------------------------------------------
% Could-be-implicit typings (44)
thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    list_P651320350408439699nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    set_Pr9222295170931077689nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc2285326912895808259nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_Eo_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc1050408459402128056nt_int: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    list_P1743416141875011707e_term: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    set_Pr3642885161833720865e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Nat__Onat_M_062_It__Set__Oset_It__Int__Oint_J_Mt__Set__Oset_It__Int__Oint_J_J_J_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J_J_J,type,
    produc1282092943015871979et_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    list_P8915022641806594461nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    set_Pr1872883991513573699nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc7773217078559923341nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J_J,type,
    set_Pr6304946757569631943nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc1089560213143673063nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc2007852851243229709nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc4058024888802116461nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    list_P2336717926344734829nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    set_Pr2560585780119916871nt_int: $tType ).

thf(ty_n_t__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    list_i8448526496819171953e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc1219242969750017639nt_int: $tType ).

thf(ty_n_t__Set__Oset_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    set_in3461395444621081367e_term: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J_J,type,
    list_P6957225279449687320nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J_J,type,
    set_Pr1843331182504696254nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    produc661532565036771336nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J_J,type,
    produc268280839536516408et_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Int__Oint_J_Mt__List__Olist_It__Int__Oint_J_J_J,type,
    set_Pr765067013931698361st_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J,type,
    produc8551481072490612790e_term: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J,type,
    option6357759511663192854e_term: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Int__Oint_J_Mt__List__Olist_It__Int__Oint_J_J,type,
    produc1186641810826059865st_int: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    list_l1670014477004246597nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    set_li3855193629254082847nt_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J_J,type,
    list_P7388728034488748185et_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J_J,type,
    set_Pr4810089274464741491et_int: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    list_P5707943133018811711nt_int: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    set_Pr958786334691620121nt_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    produc9133624956312949779et_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    product_prod_int_int: $tType ).

thf(ty_n_t__List__Olist_It__Set__Oset_It__Int__Oint_J_J,type,
    list_set_int: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Int__Oint_J_J,type,
    set_set_int: $tType ).

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

thf(ty_n_t__List__Olist_It__Int__Oint_J,type,
    list_int: $tType ).

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

thf(ty_n_t__Set__Oset_It__Int__Oint_J,type,
    set_int: $tType ).

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

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

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

% Explicit typings (214)
thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    bNF_Gr9175161896313899224nt_int: set_li3855193629254082847nt_int > product_prod_int_int > set_li3855193629254082847nt_int ).

thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    bNF_Gr2185362013987207252nt_int: set_li3855193629254082847nt_int > list_P5707943133018811711nt_int > set_Pr958786334691620121nt_int ).

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

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

thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    minus_1052850069191792384nt_int: set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_Groups_Oone__class_Oone_001t__Int__Oint,type,
    one_one_int: int ).

thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat,type,
    one_one_nat: nat ).

thf(sy_c_Groups_Oplus__class_Oplus_001t__Int__Oint,type,
    plus_plus_int: int > int > int ).

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

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

thf(sy_c_Groups_Ouminus__class_Ouminus_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    uminus6221592323253981072nt_int: set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Int__Oint,type,
    zero_zero_int: int ).

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_Int_Onat,type,
    nat2: int > nat ).

thf(sy_c_KnightsTour_Oboard,type,
    board: nat > nat > set_Pr958786334691620121nt_int ).

thf(sy_c_KnightsTour_Oknights__circuit,type,
    knights_circuit: set_Pr958786334691620121nt_int > list_P5707943133018811711nt_int > $o ).

thf(sy_c_KnightsTour_Oknights__path,type,
    knights_path: set_Pr958786334691620121nt_int > list_P5707943133018811711nt_int > $o ).

thf(sy_c_KnightsTour_Omirror1,type,
    mirror1: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_KnightsTour_Omirror1__board,type,
    mirror1_board: int > set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_KnightsTour_Omirror2,type,
    mirror2: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_KnightsTour_Omirror2__board,type,
    mirror2_board: int > set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_KnightsTour_Ostep__in,type,
    step_in: list_P5707943133018811711nt_int > product_prod_int_int > product_prod_int_int > $o ).

thf(sy_c_KnightsTour_Otrans__board,type,
    trans_board: product_prod_int_int > set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_KnightsTour_Otrans__path,type,
    trans_path: product_prod_int_int > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_KnightsTour_Otranspose,type,
    transpose: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_KnightsTour_Ovalid__step,type,
    valid_step: product_prod_int_int > product_prod_int_int > $o ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Int__Oint,type,
    inf_inf_int: int > int > int ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Nat__Onat,type,
    inf_inf_nat: nat > nat > nat ).

thf(sy_c_Lattices_Oinf__class_Oinf_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    inf_in2269163501485487111nt_int: set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Int__Oint,type,
    sup_sup_int: int > int > int ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Nat__Onat,type,
    sup_sup_nat: nat > nat > nat ).

thf(sy_c_Lattices_Osup__class_Osup_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    sup_su6024340866399070445nt_int: set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_List_Oappend_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    append3892634740561120390e_term: list_i8448526496819171953e_term > list_i8448526496819171953e_term > list_i8448526496819171953e_term ).

thf(sy_c_List_Oappend_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    append3347429545944178576e_term: list_P1743416141875011707e_term > list_P1743416141875011707e_term > list_P1743416141875011707e_term ).

thf(sy_c_List_Oappend_001t__Int__Oint,type,
    append_int: list_int > list_int > list_int ).

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__Int__Oint_Mt__Int__Oint_J,type,
    append7030698103840186580nt_int: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    append9111546825139864322nt_int: list_P2336717926344734829nt_int > list_P2336717926344734829nt_int > list_P2336717926344734829nt_int ).

thf(sy_c_List_Oappend_001t__Set__Oset_It__Int__Oint_J,type,
    append_set_int: list_set_int > list_set_int > list_set_int ).

thf(sy_c_List_Odistinct__adj_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    distin7999467515711547031nt_int: list_P5707943133018811711nt_int > $o ).

thf(sy_c_List_Odrop_001t__Int__Oint,type,
    drop_int: nat > list_int > list_int ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    drop_P5690361596310759935nt_int: nat > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Odrop_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    drop_P5227224544534396845nt_int: nat > list_P2336717926344734829nt_int > list_P2336717926344734829nt_int ).

thf(sy_c_List_Ogen__length_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    gen_le8428774395332151372nt_int: nat > list_P5707943133018811711nt_int > nat ).

thf(sy_c_List_Olast_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    last_i813233280922151042e_term: list_i8448526496819171953e_term > int > option6357759511663192854e_term ).

thf(sy_c_List_Olast_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    last_P8974135382477003148e_term: list_P1743416141875011707e_term > produc8551481072490612790e_term > option6357759511663192854e_term ).

thf(sy_c_List_Olast_001t__Int__Oint,type,
    last_int: list_int > int ).

thf(sy_c_List_Olast_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    last_l5818330359162608606nt_int: list_l1670014477004246597nt_int > list_P5707943133018811711nt_int ).

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

thf(sy_c_List_Olast_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    last_P858631638320919470nt_int: list_P8915022641806594461nt_int > produc7773217078559923341nt_int ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    last_P7958387789370520228nt_int: list_P651320350408439699nt_int > produc2285326912895808259nt_int ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    last_P3305686521732843992nt_int: list_P5707943133018811711nt_int > product_prod_int_int ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    last_P2520469823115007657nt_int: list_P6957225279449687320nt_int > produc661532565036771336nt_int ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    last_P2058727373477175858et_int: list_P7388728034488748185et_int > produc9133624956312949779et_int ).

thf(sy_c_List_Olast_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    last_P6195391842956826118nt_int: list_P2336717926344734829nt_int > produc1219242969750017639nt_int ).

thf(sy_c_List_Olast_001t__Set__Oset_It__Int__Oint_J,type,
    last_set_int: list_set_int > set_int ).

thf(sy_c_List_Olenlex_001t__Int__Oint,type,
    lenlex_int: set_Pr958786334691620121nt_int > set_Pr765067013931698361st_int ).

thf(sy_c_List_Olenlex_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    lenlex6370358691973319492nt_int: set_Pr2560585780119916871nt_int > set_Pr6304946757569631943nt_int ).

thf(sy_c_List_Olex_001t__Int__Oint,type,
    lex_int: set_Pr958786334691620121nt_int > set_Pr765067013931698361st_int ).

thf(sy_c_List_Olex_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    lex_Pr5393148144989827363nt_int: set_Pr2560585780119916871nt_int > set_Pr6304946757569631943nt_int ).

thf(sy_c_List_Olist_OCons_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    cons_i7166360444231718571e_term: ( int > option6357759511663192854e_term ) > list_i8448526496819171953e_term > list_i8448526496819171953e_term ).

thf(sy_c_List_Olist_OCons_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    cons_P2630085844062958645e_term: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > list_P1743416141875011707e_term > list_P1743416141875011707e_term ).

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

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    cons_l7309679040211256053nt_int: list_P5707943133018811711nt_int > list_l1670014477004246597nt_int > list_l1670014477004246597nt_int ).

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

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    cons_P2743708091642732631nt_int: produc7773217078559923341nt_int > list_P8915022641806594461nt_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    cons_P6018425551955479501nt_int: produc2285326912895808259nt_int > list_P651320350408439699nt_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    cons_P3334398858971670639nt_int: product_prod_int_int > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    cons_P9095479431110121170nt_int: produc661532565036771336nt_int > list_P6957225279449687320nt_int > list_P6957225279449687320nt_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    cons_P5529800768674571465et_int: produc9133624956312949779et_int > list_P7388728034488748185et_int > list_P7388728034488748185et_int ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    cons_P9091998269994194461nt_int: produc1219242969750017639nt_int > list_P2336717926344734829nt_int > list_P2336717926344734829nt_int ).

thf(sy_c_List_Olist_OCons_001t__Set__Oset_It__Int__Oint_J,type,
    cons_set_int: set_int > list_set_int > list_set_int ).

thf(sy_c_List_Olist_ONil_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nil_in3447728264653889115e_term: list_i8448526496819171953e_term ).

thf(sy_c_List_Olist_ONil_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nil_Pr2193041437141079013e_term: list_P1743416141875011707e_term ).

thf(sy_c_List_Olist_ONil_001t__Int__Oint,type,
    nil_int: list_int ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nil_li8670148097206105925nt_int: list_l1670014477004246597nt_int ).

thf(sy_c_List_Olist_ONil_001t__Nat__Onat,type,
    nil_nat: list_nat ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    nil_Pr2300489316682597567nt_int: list_P5707943133018811711nt_int ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nil_Pr2941907410405800557nt_int: list_P2336717926344734829nt_int ).

thf(sy_c_List_Olist_ONil_001t__Set__Oset_It__Int__Oint_J,type,
    nil_set_int: list_set_int ).

thf(sy_c_List_Olist_Ohd_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    hd_int7405675249218303542e_term: list_i8448526496819171953e_term > int > option6357759511663192854e_term ).

thf(sy_c_List_Olist_Ohd_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    hd_Pro8443970089900138816e_term: list_P1743416141875011707e_term > produc8551481072490612790e_term > option6357759511663192854e_term ).

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

thf(sy_c_List_Olist_Ohd_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    hd_lis8550591025403828010nt_int: list_l1670014477004246597nt_int > list_P5707943133018811711nt_int ).

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

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    hd_Pro2201378251908260706nt_int: list_P8915022641806594461nt_int > produc7773217078559923341nt_int ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    hd_Pro8246561224800902232nt_int: list_P651320350408439699nt_int > produc2285326912895808259nt_int ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    hd_Pro282112905867057956nt_int: list_P5707943133018811711nt_int > product_prod_int_int ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    hd_Pro5866865383777520733nt_int: list_P6957225279449687320nt_int > produc661532565036771336nt_int ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    hd_Pro4409541185786561406et_int: list_P7388728034488748185et_int > produc9133624956312949779et_int ).

thf(sy_c_List_Olist_Ohd_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    hd_Pro8821803587750610258nt_int: list_P2336717926344734829nt_int > produc1219242969750017639nt_int ).

thf(sy_c_List_Olist_Ohd_001t__Set__Oset_It__Int__Oint_J,type,
    hd_set_int: list_set_int > set_int ).

thf(sy_c_List_Olist_Oset_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    set_in5217446777445088012e_term: list_i8448526496819171953e_term > set_in3461395444621081367e_term ).

thf(sy_c_List_Olist_Oset_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    set_Pr16608062948090134e_term: list_P1743416141875011707e_term > set_Pr3642885161833720865e_term ).

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

thf(sy_c_List_Olist_Oset_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    set_li2659200638379878868nt_int: list_l1670014477004246597nt_int > set_li3855193629254082847nt_int ).

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

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    set_Pr1633835384712236856nt_int: list_P8915022641806594461nt_int > set_Pr1872883991513573699nt_int ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    set_Pr4943052134776177454nt_int: list_P651320350408439699nt_int > set_Pr9222295170931077689nt_int ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    set_Pr2470121279949933262nt_int: list_P5707943133018811711nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    set_Pr867874496877641011nt_int: list_P6957225279449687320nt_int > set_Pr1843331182504696254nt_int ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    set_Pr3697907889984883496et_int: list_P7388728034488748185et_int > set_Pr4810089274464741491et_int ).

thf(sy_c_List_Olist_Oset_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    set_Pr5878228222108503548nt_int: list_P2336717926344734829nt_int > set_Pr2560585780119916871nt_int ).

thf(sy_c_List_Olist_Oset_001t__Set__Oset_It__Int__Oint_J,type,
    set_set_int2: list_set_int > set_set_int ).

thf(sy_c_List_Olist__update_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    list_u8946639151299769843e_term: list_i8448526496819171953e_term > nat > ( int > option6357759511663192854e_term ) > list_i8448526496819171953e_term ).

thf(sy_c_List_Olist__update_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    list_u3533491785856317309e_term: list_P1743416141875011707e_term > nat > ( produc8551481072490612790e_term > option6357759511663192854e_term ) > list_P1743416141875011707e_term ).

thf(sy_c_List_Olist__update_001t__Int__Oint,type,
    list_update_int: list_int > nat > int > list_int ).

thf(sy_c_List_Olist__update_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    list_u1995434435150319021nt_int: list_l1670014477004246597nt_int > nat > list_P5707943133018811711nt_int > list_l1670014477004246597nt_int ).

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_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    list_u4780935413889332127nt_int: list_P8915022641806594461nt_int > nat > produc7773217078559923341nt_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    list_u7736365598306452245nt_int: list_P651320350408439699nt_int > nat > produc2285326912895808259nt_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    list_u3002344382305578791nt_int: list_P5707943133018811711nt_int > nat > product_prod_int_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    list_u6063430246987531802nt_int: list_P6957225279449687320nt_int > nat > produc661532565036771336nt_int > list_P6957225279449687320nt_int ).

thf(sy_c_List_Olist__update_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    list_u7092962573381667713et_int: list_P7388728034488748185et_int > nat > produc9133624956312949779et_int > list_P7388728034488748185et_int ).

thf(sy_c_List_Olist__update_001t__Set__Oset_It__Int__Oint_J,type,
    list_update_set_int: list_set_int > nat > set_int > list_set_int ).

thf(sy_c_List_On__lists_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    n_list2671089462871817415nt_int: nat > list_P5707943133018811711nt_int > list_l1670014477004246597nt_int ).

thf(sy_c_List_Onth_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nth_in8840386337573990810e_term: list_i8448526496819171953e_term > nat > int > option6357759511663192854e_term ).

thf(sy_c_List_Onth_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    nth_Pr6123904574653836964e_term: list_P1743416141875011707e_term > nat > produc8551481072490612790e_term > option6357759511663192854e_term ).

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

thf(sy_c_List_Onth_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nth_li549691060785553606nt_int: list_l1670014477004246597nt_int > nat > list_P5707943133018811711nt_int ).

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

thf(sy_c_List_Onth_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nth_Pr7284623736940738758nt_int: list_P8915022641806594461nt_int > nat > produc7773217078559923341nt_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nth_Pr5768845505533887420nt_int: list_P651320350408439699nt_int > nat > produc2285326912895808259nt_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    nth_Pr4439495888332055232nt_int: list_P5707943133018811711nt_int > nat > product_prod_int_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    nth_Pr4686562112285265857nt_int: list_P6957225279449687320nt_int > nat > produc661532565036771336nt_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    nth_Pr4328007639516273434et_int: list_P7388728034488748185et_int > nat > produc9133624956312949779et_int ).

thf(sy_c_List_Onth_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    nth_Pr7104135640663552750nt_int: list_P2336717926344734829nt_int > nat > produc1219242969750017639nt_int ).

thf(sy_c_List_Onth_001t__Set__Oset_It__Int__Oint_J,type,
    nth_set_int: list_set_int > nat > set_int ).

thf(sy_c_List_Onull_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    null_P4123483736518020807nt_int: list_P5707943133018811711nt_int > $o ).

thf(sy_c_List_Osuccessively_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    succes497254780304326540nt_int: ( product_prod_int_int > product_prod_int_int > $o ) > list_P5707943133018811711nt_int > $o ).

thf(sy_c_List_Otake_001t__Int__Oint,type,
    take_int: nat > list_int > list_int ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    take_P8218740963776755879nt_int: nat > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Otake_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    take_P5614214687868072533nt_int: nat > list_P2336717926344734829nt_int > list_P2336717926344734829nt_int ).

thf(sy_c_List_Ounion_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    union_56799373549498035nt_int: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Ozip_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    zip_in8766932505889695135nt_int: list_i8448526496819171953e_term > list_P5707943133018811711nt_int > list_P8915022641806594461nt_int ).

thf(sy_c_List_Ozip_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    zip_Pr4168994715204986005nt_int: list_P1743416141875011707e_term > list_P5707943133018811711nt_int > list_P651320350408439699nt_int ).

thf(sy_c_List_Ozip_001t__Int__Oint_001t__Int__Oint,type,
    zip_int_int: list_int > list_int > list_P5707943133018811711nt_int ).

thf(sy_c_List_Ozip_001t__Int__Oint_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    zip_in8018307065301790106nt_int: list_int > list_l1670014477004246597nt_int > list_P6957225279449687320nt_int ).

thf(sy_c_List_Ozip_001t__Nat__Onat_001t__Set__Oset_It__Int__Oint_J,type,
    zip_nat_set_int: list_nat > list_set_int > list_P7388728034488748185et_int ).

thf(sy_c_List_Ozip_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    zip_Pr2148635498163357687nt_int: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > list_P2336717926344734829nt_int ).

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

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

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

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    size_s8881356780637927685e_term: list_i8448526496819171953e_term > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_J,type,
    size_s3817825649112772879e_term: list_P1743416141875011707e_term > nat ).

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

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    size_s2969076144586574001nt_int: list_l1670014477004246597nt_int > nat ).

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

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    size_s5157815400016825771nt_int: list_P5707943133018811711nt_int > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Set__Oset_It__Int__Oint_J_J,type,
    size_s763970886550748294et_int: list_set_int > nat ).

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

thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_Eo_J,type,
    bot_bo8147686125503663512_int_o: product_prod_int_int > $o ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat,type,
    bot_bot_nat: nat ).

thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    bot_bo1796632182523588997nt_int: set_Pr958786334691620121nt_int ).

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

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

thf(sy_c_Orderings_Oord__class_Oless_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    ord_le7563427860532173253nt_int: set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int > $o ).

thf(sy_c_Product__Type_OPair_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc4305682042979456191nt_int: ( int > option6357759511663192854e_term ) > product_prod_int_int > produc7773217078559923341nt_int ).

thf(sy_c_Product__Type_OPair_001_062_It__Nat__Onat_M_062_It__Set__Oset_It__Int__Oint_J_Mt__Set__Oset_It__Int__Oint_J_J_J_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J_J,type,
    produc4506484520578140579et_int: ( nat > set_int > set_int ) > produc268280839536516408et_int > produc1282092943015871979et_int ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc5700946648718959541nt_int: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > product_prod_int_int > produc2285326912895808259nt_int ).

thf(sy_c_Product__Type_OPair_001_062_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_062_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_M_Eo_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc3328129369365053992nt_int: ( product_prod_int_int > product_prod_int_int > $o ) > list_P5707943133018811711nt_int > produc1050408459402128056nt_int ).

thf(sy_c_Product__Type_OPair_001t__Int__Oint_001t__Int__Oint,type,
    product_Pair_int_int: int > int > product_prod_int_int ).

thf(sy_c_Product__Type_OPair_001t__Int__Oint_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc8814303788642274490nt_int: int > list_P5707943133018811711nt_int > produc661532565036771336nt_int ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Int__Oint_J_001t__List__Olist_It__Int__Oint_J,type,
    produc364263696895485585st_int: list_int > list_int > produc1186641810826059865st_int ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc1932183703851549015nt_int: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > produc1089560213143673063nt_int ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    produc4111907023490026090et_int: nat > produc9133624956312949779et_int > produc268280839536516408et_int ).

thf(sy_c_Product__Type_OPair_001t__Nat__Onat_001t__Set__Oset_It__Int__Oint_J,type,
    produc29655638201817675et_int: nat > set_int > produc9133624956312949779et_int ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc8677244595851196253nt_int: product_prod_int_int > list_P5707943133018811711nt_int > produc4058024888802116461nt_int ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    produc3646306378393792727nt_int: product_prod_int_int > product_prod_int_int > produc1219242969750017639nt_int ).

thf(sy_c_Product__Type_OPair_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    produc2261658324281137661nt_int: set_Pr958786334691620121nt_int > list_P5707943133018811711nt_int > produc2007852851243229709nt_int ).

thf(sy_c_Set_OCollect_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    collec2281248464147237814e_term: ( ( int > option6357759511663192854e_term ) > $o ) > set_in3461395444621081367e_term ).

thf(sy_c_Set_OCollect_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    collec1753172332272924352e_term: ( ( produc8551481072490612790e_term > option6357759511663192854e_term ) > $o ) > set_Pr3642885161833720865e_term ).

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

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__Int__Oint_Mt__Int__Oint_J,type,
    collec213857154873943460nt_int: ( product_prod_int_int > $o ) > set_Pr958786334691620121nt_int ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Int__Oint_J,type,
    collect_set_int: ( set_int > $o ) > set_set_int ).

thf(sy_c_Set_Oinsert_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    insert5033312907999012233nt_int: product_prod_int_int > set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int ).

thf(sy_c_Set_Ois__empty_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    is_emp7707449487952173963nt_int: set_Pr958786334691620121nt_int > $o ).

thf(sy_c_Set_Ois__singleton_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    is_sin8895854488172861613nt_int: set_Pr958786334691620121nt_int > $o ).

thf(sy_c_Set_Othe__elem_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    the_el8326832613380209454nt_int: set_Pr958786334691620121nt_int > product_prod_int_int ).

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

thf(sy_c_member_001_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    member8845023287901829240e_term: ( int > option6357759511663192854e_term ) > set_in3461395444621081367e_term > $o ).

thf(sy_c_member_001_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J,type,
    member3222579708246209666e_term: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > set_Pr3642885161833720865e_term > $o ).

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

thf(sy_c_member_001t__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    member2764346250752101224nt_int: list_P5707943133018811711nt_int > set_li3855193629254082847nt_int > $o ).

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

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Int__Oint_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    member7034335876925520548nt_int: produc7773217078559923341nt_int > set_Pr1872883991513573699nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_It__Product____Type__Oprod_It__Int__Oint_M_062_It__Product____Type__Ounit_Mt__Code____Evaluation__Oterm_J_J_Mt__Option__Ooption_It__Product____Type__Oprod_I_Eo_Mt__List__Olist_It__Code____Evaluation__Oterm_J_J_J_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    member7618704894036264090nt_int: produc2285326912895808259nt_int > set_Pr9222295170931077689nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    member5262025264175285858nt_int: product_prod_int_int > set_Pr958786334691620121nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Int__Oint_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    member3263328415308337823nt_int: produc661532565036771336nt_int > set_Pr1843331182504696254nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Int__Oint_J_Mt__List__Olist_It__Int__Oint_J_J,type,
    member6698963635872716290st_int: produc1186641810826059865st_int > set_Pr765067013931698361st_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J_J,type,
    member1390679175989562640nt_int: produc1089560213143673063nt_int > set_Pr6304946757569631943nt_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    member1292241183792264892et_int: produc9133624956312949779et_int > set_Pr4810089274464741491et_int > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_Mt__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    member8566619992076573584nt_int: produc1219242969750017639nt_int > set_Pr2560585780119916871nt_int > $o ).

thf(sy_c_member_001t__Set__Oset_It__Int__Oint_J,type,
    member_set_int: set_int > set_set_int > $o ).

thf(sy_v_b_092_060_094sub_0621____,type,
    b_1: set_Pr958786334691620121nt_int ).

thf(sy_v_b_092_060_094sub_0622____,type,
    b_2: set_Pr958786334691620121nt_int ).

thf(sy_v_i,type,
    i: int ).

thf(sy_v_i_092_060_094sub_062h,type,
    i_h: int ).

thf(sy_v_i_092_060_094sub_062l,type,
    i_l: int ).

thf(sy_v_i_H,type,
    i2: int ).

thf(sy_v_j,type,
    j: int ).

thf(sy_v_j_092_060_094sub_062h,type,
    j_h: int ).

thf(sy_v_j_092_060_094sub_062l,type,
    j_l: int ).

thf(sy_v_j_H,type,
    j2: int ).

thf(sy_v_k____,type,
    k: nat ).

thf(sy_v_m_092_060_094sub_0621,type,
    m_1: nat ).

thf(sy_v_m_092_060_094sub_0622,type,
    m_2: nat ).

thf(sy_v_n,type,
    n: nat ).

thf(sy_v_ps_092_060_094sub_0621,type,
    ps_1: list_P5707943133018811711nt_int ).

thf(sy_v_ps_092_060_094sub_0622,type,
    ps_2: list_P5707943133018811711nt_int ).

thf(sy_v_s_092_060_094sub_062i,type,
    s_i: product_prod_int_int ).

thf(sy_v_s_092_060_094sub_062j,type,
    s_j: product_prod_int_int ).

% Relevant facts (1264)
thf(fact_0_assms_I1_J,axiom,
    knights_path @ ( board @ n @ m_1 ) @ ps_1 ).

% assms(1)
thf(fact_1_assms_I2_J,axiom,
    knights_path @ ( board @ n @ m_2 ) @ ps_2 ).

% assms(2)
thf(fact_2_m__simps_I2_J,axiom,
    ( ( plus_plus_int @ j2 @ ( semiri1314217659103216013at_int @ m_1 ) )
    = ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j2 ) ) ).

% m_simps(2)
thf(fact_3_m__simps_I1_J,axiom,
    ( ( plus_plus_int @ j @ ( semiri1314217659103216013at_int @ m_1 ) )
    = ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j ) ) ).

% m_simps(1)
thf(fact_4_assms_I6_J,axiom,
    step_in @ ps_2 @ ( product_Pair_int_int @ i @ j ) @ ( product_Pair_int_int @ i2 @ j2 ) ).

% assms(6)
thf(fact_5_k__prems_I3_J,axiom,
    ( ( last_P3305686521732843992nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) )
    = s_i ) ).

% k_prems(3)
thf(fact_6_assms_I3_J,axiom,
    step_in @ ps_1 @ s_i @ s_j ).

% assms(3)
thf(fact_7_k__prems_I4_J,axiom,
    ( ( hd_Pro282112905867057956nt_int @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) )
    = s_j ) ).

% k_prems(4)
thf(fact_8_knights__path__board__unique,axiom,
    ! [B_1: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int,B_2: set_Pr958786334691620121nt_int] :
      ( ( knights_path @ B_1 @ Ps )
     => ( ( knights_path @ B_2 @ Ps )
       => ( B_1 = B_2 ) ) ) ).

% knights_path_board_unique
thf(fact_9_si,axiom,
    step_in @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( append7030698103840186580nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ) ) @ ( product_Pair_int_int @ i @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j ) ) @ ( product_Pair_int_int @ i2 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j2 ) ) ).

% si
thf(fact_10_kp,axiom,
    knights_path @ ( board @ n @ ( plus_plus_nat @ m_1 @ m_2 ) ) @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( append7030698103840186580nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ) ) ).

% kp
thf(fact_11_assms_I4_J,axiom,
    ( ( hd_Pro282112905867057956nt_int @ ps_2 )
    = ( product_Pair_int_int @ i_h @ j_h ) ) ).

% assms(4)
thf(fact_12_hd,axiom,
    ( ( hd_Pro282112905867057956nt_int @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( append7030698103840186580nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ) ) )
    = ( hd_Pro282112905867057956nt_int @ ps_1 ) ) ).

% hd
thf(fact_13_last,axiom,
    ( ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( append7030698103840186580nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ) ) )
    = ( last_P3305686521732843992nt_int @ ps_1 ) ) ).

% last
thf(fact_14_b__prems_I2_J,axiom,
    knights_path @ b_2 @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ).

% b_prems(2)
thf(fact_15_of__nat__add,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( plus_plus_nat @ M @ N ) )
      = ( plus_plus_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% of_nat_add
thf(fact_16_of__nat__add,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( plus_plus_nat @ M @ N ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% of_nat_add
thf(fact_17_b__prems_I1_J,axiom,
    knights_path @ b_1 @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) ).

% b_prems(1)
thf(fact_18_trans__step__in,axiom,
    ! [Ps: list_P5707943133018811711nt_int,I: int,J: int,I2: int,J2: int,K_1: int,K_2: int] :
      ( ( step_in @ Ps @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I2 @ J2 ) )
     => ( step_in @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) @ ( product_Pair_int_int @ ( plus_plus_int @ I @ K_1 ) @ ( plus_plus_int @ J @ K_2 ) ) @ ( product_Pair_int_int @ ( plus_plus_int @ I2 @ K_1 ) @ ( plus_plus_int @ J2 @ K_2 ) ) ) ) ).

% trans_step_in
thf(fact_19_kp2_H,axiom,
    knights_path @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) ).

% kp2'
thf(fact_20_assms_I5_J,axiom,
    ( ( last_P3305686521732843992nt_int @ ps_2 )
    = ( product_Pair_int_int @ i_l @ j_l ) ) ).

% assms(5)
thf(fact_21_int__ops_I5_J,axiom,
    ! [A: nat,B: nat] :
      ( ( semiri1314217659103216013at_int @ ( plus_plus_nat @ A @ B ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ).

% int_ops(5)
thf(fact_22_of__nat__eq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( semiri1316708129612266289at_nat @ M )
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( M = N ) ) ).

% of_nat_eq_iff
thf(fact_23_of__nat__eq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = ( semiri1314217659103216013at_int @ N ) )
      = ( M = N ) ) ).

% of_nat_eq_iff
thf(fact_24_of__nat__eq__0__iff,axiom,
    ! [M: nat] :
      ( ( ( semiri1316708129612266289at_nat @ M )
        = zero_zero_nat )
      = ( M = zero_zero_nat ) ) ).

% of_nat_eq_0_iff
thf(fact_25_of__nat__eq__0__iff,axiom,
    ! [M: nat] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = zero_zero_int )
      = ( M = zero_zero_nat ) ) ).

% of_nat_eq_0_iff
thf(fact_26_of__nat__0__eq__iff,axiom,
    ! [N: nat] :
      ( ( zero_zero_nat
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( zero_zero_nat = N ) ) ).

% of_nat_0_eq_iff
thf(fact_27_of__nat__0__eq__iff,axiom,
    ! [N: nat] :
      ( ( zero_zero_int
        = ( semiri1314217659103216013at_int @ N ) )
      = ( zero_zero_nat = N ) ) ).

% of_nat_0_eq_iff
thf(fact_28_of__nat__0,axiom,
    ( ( semiri1316708129612266289at_nat @ zero_zero_nat )
    = zero_zero_nat ) ).

% of_nat_0
thf(fact_29_of__nat__0,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% of_nat_0
thf(fact_30__092_060open_062last_A_Itrans__path_A_I0_M_Aint_Am_092_060_094sub_0621_J_Aps_092_060_094sub_0622_J_A_061_A_Ii_092_060_094sub_062l_M_Aint_Am_092_060_094sub_0621_A_L_Aj_092_060_094sub_062l_J_092_060close_062,axiom,
    ( ( last_P3305686521732843992nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) )
    = ( product_Pair_int_int @ i_l @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j_l ) ) ) ).

% \<open>last (trans_path (0, int m\<^sub>1) ps\<^sub>2) = (i\<^sub>l, int m\<^sub>1 + j\<^sub>l)\<close>
thf(fact_31__092_060open_062hd_A_Itrans__path_A_I0_M_Aint_Am_092_060_094sub_0621_J_Aps_092_060_094sub_0622_J_A_061_A_Ii_092_060_094sub_062h_M_Aint_Am_092_060_094sub_0621_A_L_Aj_092_060_094sub_062h_J_092_060close_062,axiom,
    ( ( hd_Pro282112905867057956nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) )
    = ( product_Pair_int_int @ i_h @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j_h ) ) ) ).

% \<open>hd (trans_path (0, int m\<^sub>1) ps\<^sub>2) = (i\<^sub>h, int m\<^sub>1 + j\<^sub>h)\<close>
thf(fact_32__092_060open_062last_A_Itake_Ak_Aps_092_060_094sub_0621_A_064_Atrans__path_A_I0_M_Aint_Am_092_060_094sub_0621_J_Aps_092_060_094sub_0622_J_A_061_A_Ii_092_060_094sub_062l_M_Aint_Am_092_060_094sub_0621_A_L_Aj_092_060_094sub_062l_J_092_060close_062,axiom,
    ( ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) ) )
    = ( product_Pair_int_int @ i_l @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j_l ) ) ) ).

% \<open>last (take k ps\<^sub>1 @ trans_path (0, int m\<^sub>1) ps\<^sub>2) = (i\<^sub>l, int m\<^sub>1 + j\<^sub>l)\<close>
thf(fact_33_assms_I8_J,axiom,
    valid_step @ ( product_Pair_int_int @ i_l @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j_l ) ) @ s_j ).

% assms(8)
thf(fact_34_assms_I7_J,axiom,
    valid_step @ s_i @ ( product_Pair_int_int @ i_h @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j_h ) ) ).

% assms(7)
thf(fact_35_b__prems_I3_J,axiom,
    ( ( sup_su6024340866399070445nt_int @ b_1 @ b_2 )
    = ( board @ n @ m_1 ) ) ).

% b_prems(3)
thf(fact_36_verit__sum__simplify,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ zero_zero_int )
      = A ) ).

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

% verit_sum_simplify
thf(fact_38_trans__knights__path,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int,K_1: int,K_2: int] :
      ( ( knights_path @ B @ Ps )
     => ( knights_path @ ( trans_board @ ( product_Pair_int_int @ K_1 @ K_2 ) @ B ) @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) ) ) ).

% trans_knights_path
thf(fact_39_drop__trans,axiom,
    ! [K: nat,K_1: int,K_2: int,Ps: list_P5707943133018811711nt_int] :
      ( ( drop_P5690361596310759935nt_int @ K @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) )
      = ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ ( drop_P5690361596310759935nt_int @ K @ Ps ) ) ) ).

% drop_trans
thf(fact_40_take__trans,axiom,
    ! [K: nat,K_1: int,K_2: int,Ps: list_P5707943133018811711nt_int] :
      ( ( take_P8218740963776755879nt_int @ K @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) )
      = ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ ( take_P8218740963776755879nt_int @ K @ Ps ) ) ) ).

% take_trans
thf(fact_41_trans__board__correct,axiom,
    ! [I: int,J: int,B: set_Pr958786334691620121nt_int,K_1: int,K_2: int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ I @ J ) @ B )
      = ( member5262025264175285858nt_int @ ( product_Pair_int_int @ ( plus_plus_int @ I @ K_1 ) @ ( plus_plus_int @ J @ K_2 ) ) @ ( trans_board @ ( product_Pair_int_int @ K_1 @ K_2 ) @ B ) ) ) ).

% trans_board_correct
thf(fact_42_int__if,axiom,
    ! [P: $o,A: nat,B: nat] :
      ( ( P
       => ( ( semiri1314217659103216013at_int @ ( if_nat @ P @ A @ B ) )
          = ( semiri1314217659103216013at_int @ A ) ) )
      & ( ~ P
       => ( ( semiri1314217659103216013at_int @ ( if_nat @ P @ A @ B ) )
          = ( semiri1314217659103216013at_int @ B ) ) ) ) ).

% int_if
thf(fact_43_nat__int__comparison_I1_J,axiom,
    ( ( ^ [Y: nat,Z: nat] : ( Y = Z ) )
    = ( ^ [A2: nat,B2: nat] :
          ( ( semiri1314217659103216013at_int @ A2 )
          = ( semiri1314217659103216013at_int @ B2 ) ) ) ) ).

% nat_int_comparison(1)
thf(fact_44_step__in__prepend,axiom,
    ! [Ps: list_P5707943133018811711nt_int,S_i: product_prod_int_int,S_j: product_prod_int_int,Ps2: list_P5707943133018811711nt_int] :
      ( ( step_in @ Ps @ S_i @ S_j )
     => ( step_in @ ( append7030698103840186580nt_int @ Ps2 @ Ps ) @ S_i @ S_j ) ) ).

% step_in_prepend
thf(fact_45_step__in__append,axiom,
    ! [Ps: list_P5707943133018811711nt_int,S_i: product_prod_int_int,S_j: product_prod_int_int,Ps2: list_P5707943133018811711nt_int] :
      ( ( step_in @ Ps @ S_i @ S_j )
     => ( step_in @ ( append7030698103840186580nt_int @ Ps @ Ps2 ) @ S_i @ S_j ) ) ).

% step_in_append
thf(fact_46_int__plus,axiom,
    ! [N: nat,M: nat] :
      ( ( semiri1314217659103216013at_int @ ( plus_plus_nat @ N @ M ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ ( semiri1314217659103216013at_int @ M ) ) ) ).

% int_plus
thf(fact_47_vs_I2_J,axiom,
    valid_step @ ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) ) ) @ ( hd_Pro282112905867057956nt_int @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ) ).

% vs(2)
thf(fact_48_vs_I1_J,axiom,
    valid_step @ ( last_P3305686521732843992nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) ) @ ( hd_Pro282112905867057956nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) ) ).

% vs(1)
thf(fact_49__092_060open_062knights__path_A_Ib_092_060_094sub_0621_A_092_060union_062_Atrans__board_A_I0_M_Aint_Am_092_060_094sub_0621_J_A_Iboard_An_Am_092_060_094sub_0622_J_A_092_060union_062_Ab_092_060_094sub_0622_J_A_Itake_Ak_Aps_092_060_094sub_0621_A_064_Atrans__path_A_I0_M_Aint_Am_092_060_094sub_0621_J_Aps_092_060_094sub_0622_A_064_Adrop_Ak_Aps_092_060_094sub_0621_J_092_060close_062,axiom,
    knights_path @ ( sup_su6024340866399070445nt_int @ ( sup_su6024340866399070445nt_int @ b_1 @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) ) @ b_2 ) @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( append7030698103840186580nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ) ) ).

% \<open>knights_path (b\<^sub>1 \<union> trans_board (0, int m\<^sub>1) (board n m\<^sub>2) \<union> b\<^sub>2) (take k ps\<^sub>1 @ trans_path (0, int m\<^sub>1) ps\<^sub>2 @ drop k ps\<^sub>1)\<close>
thf(fact_50_mem__Collect__eq,axiom,
    ! [A: set_int,P: set_int > $o] :
      ( ( member_set_int @ A @ ( collect_set_int @ P ) )
      = ( P @ A ) ) ).

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

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

% mem_Collect_eq
thf(fact_53_mem__Collect__eq,axiom,
    ! [A: produc8551481072490612790e_term > option6357759511663192854e_term,P: ( produc8551481072490612790e_term > option6357759511663192854e_term ) > $o] :
      ( ( member3222579708246209666e_term @ A @ ( collec1753172332272924352e_term @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_54_mem__Collect__eq,axiom,
    ! [A: int > option6357759511663192854e_term,P: ( int > option6357759511663192854e_term ) > $o] :
      ( ( member8845023287901829240e_term @ A @ ( collec2281248464147237814e_term @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_55_mem__Collect__eq,axiom,
    ! [A: product_prod_int_int,P: product_prod_int_int > $o] :
      ( ( member5262025264175285858nt_int @ A @ ( collec213857154873943460nt_int @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_56_Collect__mem__eq,axiom,
    ! [A3: set_set_int] :
      ( ( collect_set_int
        @ ^ [X: set_int] : ( member_set_int @ X @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_57_Collect__mem__eq,axiom,
    ! [A3: set_nat] :
      ( ( collect_nat
        @ ^ [X: nat] : ( member_nat @ X @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_58_Collect__mem__eq,axiom,
    ! [A3: set_int] :
      ( ( collect_int
        @ ^ [X: int] : ( member_int @ X @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_59_Collect__mem__eq,axiom,
    ! [A3: set_Pr3642885161833720865e_term] :
      ( ( collec1753172332272924352e_term
        @ ^ [X: produc8551481072490612790e_term > option6357759511663192854e_term] : ( member3222579708246209666e_term @ X @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_60_Collect__mem__eq,axiom,
    ! [A3: set_in3461395444621081367e_term] :
      ( ( collec2281248464147237814e_term
        @ ^ [X: int > option6357759511663192854e_term] : ( member8845023287901829240e_term @ X @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_61_Collect__mem__eq,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( collec213857154873943460nt_int
        @ ^ [X: product_prod_int_int] : ( member5262025264175285858nt_int @ X @ A3 ) )
      = A3 ) ).

% Collect_mem_eq
thf(fact_62_Collect__cong,axiom,
    ! [P: product_prod_int_int > $o,Q: product_prod_int_int > $o] :
      ( ! [X2: product_prod_int_int] :
          ( ( P @ X2 )
          = ( Q @ X2 ) )
     => ( ( collec213857154873943460nt_int @ P )
        = ( collec213857154873943460nt_int @ Q ) ) ) ).

% Collect_cong
thf(fact_63__092_060open_062knights__path_A_Ib_092_060_094sub_0621_A_092_060union_062_Atrans__board_A_I0_M_Aint_Am_092_060_094sub_0621_J_A_Iboard_An_Am_092_060_094sub_0622_J_J_A_Itake_Ak_Aps_092_060_094sub_0621_A_064_Atrans__path_A_I0_M_Aint_Am_092_060_094sub_0621_J_Aps_092_060_094sub_0622_J_092_060close_062,axiom,
    knights_path @ ( sup_su6024340866399070445nt_int @ b_1 @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) ) @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) ) ).

% \<open>knights_path (b\<^sub>1 \<union> trans_board (0, int m\<^sub>1) (board n m\<^sub>2)) (take k ps\<^sub>1 @ trans_path (0, int m\<^sub>1) ps\<^sub>2)\<close>
thf(fact_64__092_060open_062knights__path_A_Iboard_An_Am_092_060_094sub_0621_A_092_060union_062_Atrans__board_A_I0_M_Aint_Am_092_060_094sub_0621_J_A_Iboard_An_Am_092_060_094sub_0622_J_J_A_Itake_Ak_Aps_092_060_094sub_0621_A_064_Atrans__path_A_I0_M_Aint_Am_092_060_094sub_0621_J_Aps_092_060_094sub_0622_A_064_Adrop_Ak_Aps_092_060_094sub_0621_J_092_060close_062,axiom,
    knights_path @ ( sup_su6024340866399070445nt_int @ ( board @ n @ m_1 ) @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) ) @ ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) @ ( append7030698103840186580nt_int @ ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 ) @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) ) ) ).

% \<open>knights_path (board n m\<^sub>1 \<union> trans_board (0, int m\<^sub>1) (board n m\<^sub>2)) (take k ps\<^sub>1 @ trans_path (0, int m\<^sub>1) ps\<^sub>2 @ drop k ps\<^sub>1)\<close>
thf(fact_65_append__take__drop__id,axiom,
    ! [N: nat,Xs: list_P2336717926344734829nt_int] :
      ( ( append9111546825139864322nt_int @ ( take_P5614214687868072533nt_int @ N @ Xs ) @ ( drop_P5227224544534396845nt_int @ N @ Xs ) )
      = Xs ) ).

% append_take_drop_id
thf(fact_66_append__take__drop__id,axiom,
    ! [N: nat,Xs: list_int] :
      ( ( append_int @ ( take_int @ N @ Xs ) @ ( drop_int @ N @ Xs ) )
      = Xs ) ).

% append_take_drop_id
thf(fact_67_append__take__drop__id,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ N @ Xs ) @ ( drop_P5690361596310759935nt_int @ N @ Xs ) )
      = Xs ) ).

% append_take_drop_id
thf(fact_68__092_060open_062trans__path_A_I0_M_Aint_Am_092_060_094sub_0621_J_Aps_092_060_094sub_0622_A_092_060noteq_062_A_091_093_092_060close_062,axiom,
    ( ( trans_path @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ps_2 )
   != nil_Pr2300489316682597567nt_int ) ).

% \<open>trans_path (0, int m\<^sub>1) ps\<^sub>2 \<noteq> []\<close>
thf(fact_69_drop__drop,axiom,
    ! [N: nat,M: nat,Xs: list_int] :
      ( ( drop_int @ N @ ( drop_int @ M @ Xs ) )
      = ( drop_int @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ).

% drop_drop
thf(fact_70_drop__drop,axiom,
    ! [N: nat,M: nat,Xs: list_P2336717926344734829nt_int] :
      ( ( drop_P5227224544534396845nt_int @ N @ ( drop_P5227224544534396845nt_int @ M @ Xs ) )
      = ( drop_P5227224544534396845nt_int @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ).

% drop_drop
thf(fact_71_drop__drop,axiom,
    ! [N: nat,M: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( drop_P5690361596310759935nt_int @ N @ ( drop_P5690361596310759935nt_int @ M @ Xs ) )
      = ( drop_P5690361596310759935nt_int @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ).

% drop_drop
thf(fact_72_double__eq__0__iff,axiom,
    ! [A: int] :
      ( ( ( plus_plus_int @ A @ A )
        = zero_zero_int )
      = ( A = zero_zero_int ) ) ).

% double_eq_0_iff
thf(fact_73_add__0,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ zero_zero_int @ A )
      = A ) ).

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

% add_0
thf(fact_75_zero__eq__add__iff__both__eq__0,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X3 @ Y2 ) )
      = ( ( X3 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_76_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_77_add__left__cancel,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( plus_plus_int @ A @ B )
        = ( plus_plus_int @ A @ C ) )
      = ( B = C ) ) ).

% add_left_cancel
thf(fact_78_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_79_add__right__cancel,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ( plus_plus_int @ B @ A )
        = ( plus_plus_int @ C @ A ) )
      = ( B = C ) ) ).

% add_right_cancel
thf(fact_80_same__append__eq,axiom,
    ! [Xs: list_P2336717926344734829nt_int,Ys: list_P2336717926344734829nt_int,Zs: list_P2336717926344734829nt_int] :
      ( ( ( append9111546825139864322nt_int @ Xs @ Ys )
        = ( append9111546825139864322nt_int @ Xs @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_81_same__append__eq,axiom,
    ! [Xs: list_int,Ys: list_int,Zs: list_int] :
      ( ( ( append_int @ Xs @ Ys )
        = ( append_int @ Xs @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_82_same__append__eq,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ Ys )
        = ( append7030698103840186580nt_int @ Xs @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_83_append__same__eq,axiom,
    ! [Ys: list_P2336717926344734829nt_int,Xs: list_P2336717926344734829nt_int,Zs: list_P2336717926344734829nt_int] :
      ( ( ( append9111546825139864322nt_int @ Ys @ Xs )
        = ( append9111546825139864322nt_int @ Zs @ Xs ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_84_append__same__eq,axiom,
    ! [Ys: list_int,Xs: list_int,Zs: list_int] :
      ( ( ( append_int @ Ys @ Xs )
        = ( append_int @ Zs @ Xs ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_85_append__same__eq,axiom,
    ! [Ys: list_P5707943133018811711nt_int,Xs: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Ys @ Xs )
        = ( append7030698103840186580nt_int @ Zs @ Xs ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_86_append__assoc,axiom,
    ! [Xs: list_P2336717926344734829nt_int,Ys: list_P2336717926344734829nt_int,Zs: list_P2336717926344734829nt_int] :
      ( ( append9111546825139864322nt_int @ ( append9111546825139864322nt_int @ Xs @ Ys ) @ Zs )
      = ( append9111546825139864322nt_int @ Xs @ ( append9111546825139864322nt_int @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_87_append__assoc,axiom,
    ! [Xs: list_int,Ys: list_int,Zs: list_int] :
      ( ( append_int @ ( append_int @ Xs @ Ys ) @ Zs )
      = ( append_int @ Xs @ ( append_int @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_88_append__assoc,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ Zs )
      = ( append7030698103840186580nt_int @ Xs @ ( append7030698103840186580nt_int @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_89_append_Oassoc,axiom,
    ! [A: list_P2336717926344734829nt_int,B: list_P2336717926344734829nt_int,C: list_P2336717926344734829nt_int] :
      ( ( append9111546825139864322nt_int @ ( append9111546825139864322nt_int @ A @ B ) @ C )
      = ( append9111546825139864322nt_int @ A @ ( append9111546825139864322nt_int @ B @ C ) ) ) ).

% append.assoc
thf(fact_90_append_Oassoc,axiom,
    ! [A: list_int,B: list_int,C: list_int] :
      ( ( append_int @ ( append_int @ A @ B ) @ C )
      = ( append_int @ A @ ( append_int @ B @ C ) ) ) ).

% append.assoc
thf(fact_91_append_Oassoc,axiom,
    ! [A: list_P5707943133018811711nt_int,B: list_P5707943133018811711nt_int,C: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ ( append7030698103840186580nt_int @ A @ B ) @ C )
      = ( append7030698103840186580nt_int @ A @ ( append7030698103840186580nt_int @ B @ C ) ) ) ).

% append.assoc
thf(fact_92_add_Oright__neutral,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ zero_zero_int )
      = A ) ).

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

% add.right_neutral
thf(fact_94_double__zero__sym,axiom,
    ! [A: int] :
      ( ( zero_zero_int
        = ( plus_plus_int @ A @ A ) )
      = ( A = zero_zero_int ) ) ).

% double_zero_sym
thf(fact_95_add__cancel__left__left,axiom,
    ! [B: int,A: int] :
      ( ( ( plus_plus_int @ B @ A )
        = A )
      = ( B = zero_zero_int ) ) ).

% add_cancel_left_left
thf(fact_96_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_97_add__cancel__left__right,axiom,
    ! [A: int,B: int] :
      ( ( ( plus_plus_int @ A @ B )
        = A )
      = ( B = zero_zero_int ) ) ).

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

% add_cancel_left_right
thf(fact_99_add__cancel__right__left,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( plus_plus_int @ B @ A ) )
      = ( B = zero_zero_int ) ) ).

% add_cancel_right_left
thf(fact_100_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_101_add__cancel__right__right,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( plus_plus_int @ A @ B ) )
      = ( B = zero_zero_int ) ) ).

% add_cancel_right_right
thf(fact_102_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_103_add__eq__0__iff__both__eq__0,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ( plus_plus_nat @ X3 @ Y2 )
        = zero_zero_nat )
      = ( ( X3 = zero_zero_nat )
        & ( Y2 = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_104_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_105_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

% Nat.add_0_right
thf(fact_106_append__is__Nil__conv,axiom,
    ! [Xs: list_P2336717926344734829nt_int,Ys: list_P2336717926344734829nt_int] :
      ( ( ( append9111546825139864322nt_int @ Xs @ Ys )
        = nil_Pr2941907410405800557nt_int )
      = ( ( Xs = nil_Pr2941907410405800557nt_int )
        & ( Ys = nil_Pr2941907410405800557nt_int ) ) ) ).

% append_is_Nil_conv
thf(fact_107_append__is__Nil__conv,axiom,
    ! [Xs: list_set_int,Ys: list_set_int] :
      ( ( ( append_set_int @ Xs @ Ys )
        = nil_set_int )
      = ( ( Xs = nil_set_int )
        & ( Ys = nil_set_int ) ) ) ).

% append_is_Nil_conv
thf(fact_108_append__is__Nil__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs @ Ys )
        = nil_nat )
      = ( ( Xs = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% append_is_Nil_conv
thf(fact_109_append__is__Nil__conv,axiom,
    ! [Xs: list_int,Ys: list_int] :
      ( ( ( append_int @ Xs @ Ys )
        = nil_int )
      = ( ( Xs = nil_int )
        & ( Ys = nil_int ) ) ) ).

% append_is_Nil_conv
thf(fact_110_append__is__Nil__conv,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P1743416141875011707e_term] :
      ( ( ( append3347429545944178576e_term @ Xs @ Ys )
        = nil_Pr2193041437141079013e_term )
      = ( ( Xs = nil_Pr2193041437141079013e_term )
        & ( Ys = nil_Pr2193041437141079013e_term ) ) ) ).

% append_is_Nil_conv
thf(fact_111_append__is__Nil__conv,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_i8448526496819171953e_term] :
      ( ( ( append3892634740561120390e_term @ Xs @ Ys )
        = nil_in3447728264653889115e_term )
      = ( ( Xs = nil_in3447728264653889115e_term )
        & ( Ys = nil_in3447728264653889115e_term ) ) ) ).

% append_is_Nil_conv
thf(fact_112_append__is__Nil__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ Ys )
        = nil_Pr2300489316682597567nt_int )
      = ( ( Xs = nil_Pr2300489316682597567nt_int )
        & ( Ys = nil_Pr2300489316682597567nt_int ) ) ) ).

% append_is_Nil_conv
thf(fact_113_Nil__is__append__conv,axiom,
    ! [Xs: list_P2336717926344734829nt_int,Ys: list_P2336717926344734829nt_int] :
      ( ( nil_Pr2941907410405800557nt_int
        = ( append9111546825139864322nt_int @ Xs @ Ys ) )
      = ( ( Xs = nil_Pr2941907410405800557nt_int )
        & ( Ys = nil_Pr2941907410405800557nt_int ) ) ) ).

% Nil_is_append_conv
thf(fact_114_Nil__is__append__conv,axiom,
    ! [Xs: list_set_int,Ys: list_set_int] :
      ( ( nil_set_int
        = ( append_set_int @ Xs @ Ys ) )
      = ( ( Xs = nil_set_int )
        & ( Ys = nil_set_int ) ) ) ).

% Nil_is_append_conv
thf(fact_115_Nil__is__append__conv,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( nil_nat
        = ( append_nat @ Xs @ Ys ) )
      = ( ( Xs = nil_nat )
        & ( Ys = nil_nat ) ) ) ).

% Nil_is_append_conv
thf(fact_116_Nil__is__append__conv,axiom,
    ! [Xs: list_int,Ys: list_int] :
      ( ( nil_int
        = ( append_int @ Xs @ Ys ) )
      = ( ( Xs = nil_int )
        & ( Ys = nil_int ) ) ) ).

% Nil_is_append_conv
thf(fact_117_Nil__is__append__conv,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P1743416141875011707e_term] :
      ( ( nil_Pr2193041437141079013e_term
        = ( append3347429545944178576e_term @ Xs @ Ys ) )
      = ( ( Xs = nil_Pr2193041437141079013e_term )
        & ( Ys = nil_Pr2193041437141079013e_term ) ) ) ).

% Nil_is_append_conv
thf(fact_118_Nil__is__append__conv,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_i8448526496819171953e_term] :
      ( ( nil_in3447728264653889115e_term
        = ( append3892634740561120390e_term @ Xs @ Ys ) )
      = ( ( Xs = nil_in3447728264653889115e_term )
        & ( Ys = nil_in3447728264653889115e_term ) ) ) ).

% Nil_is_append_conv
thf(fact_119_Nil__is__append__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( nil_Pr2300489316682597567nt_int
        = ( append7030698103840186580nt_int @ Xs @ Ys ) )
      = ( ( Xs = nil_Pr2300489316682597567nt_int )
        & ( Ys = nil_Pr2300489316682597567nt_int ) ) ) ).

% Nil_is_append_conv
thf(fact_120_self__append__conv2,axiom,
    ! [Y2: list_P2336717926344734829nt_int,Xs: list_P2336717926344734829nt_int] :
      ( ( Y2
        = ( append9111546825139864322nt_int @ Xs @ Y2 ) )
      = ( Xs = nil_Pr2941907410405800557nt_int ) ) ).

% self_append_conv2
thf(fact_121_self__append__conv2,axiom,
    ! [Y2: list_set_int,Xs: list_set_int] :
      ( ( Y2
        = ( append_set_int @ Xs @ Y2 ) )
      = ( Xs = nil_set_int ) ) ).

% self_append_conv2
thf(fact_122_self__append__conv2,axiom,
    ! [Y2: list_nat,Xs: list_nat] :
      ( ( Y2
        = ( append_nat @ Xs @ Y2 ) )
      = ( Xs = nil_nat ) ) ).

% self_append_conv2
thf(fact_123_self__append__conv2,axiom,
    ! [Y2: list_int,Xs: list_int] :
      ( ( Y2
        = ( append_int @ Xs @ Y2 ) )
      = ( Xs = nil_int ) ) ).

% self_append_conv2
thf(fact_124_self__append__conv2,axiom,
    ! [Y2: list_P1743416141875011707e_term,Xs: list_P1743416141875011707e_term] :
      ( ( Y2
        = ( append3347429545944178576e_term @ Xs @ Y2 ) )
      = ( Xs = nil_Pr2193041437141079013e_term ) ) ).

% self_append_conv2
thf(fact_125_self__append__conv2,axiom,
    ! [Y2: list_i8448526496819171953e_term,Xs: list_i8448526496819171953e_term] :
      ( ( Y2
        = ( append3892634740561120390e_term @ Xs @ Y2 ) )
      = ( Xs = nil_in3447728264653889115e_term ) ) ).

% self_append_conv2
thf(fact_126_self__append__conv2,axiom,
    ! [Y2: list_P5707943133018811711nt_int,Xs: list_P5707943133018811711nt_int] :
      ( ( Y2
        = ( append7030698103840186580nt_int @ Xs @ Y2 ) )
      = ( Xs = nil_Pr2300489316682597567nt_int ) ) ).

% self_append_conv2
thf(fact_127_append__self__conv2,axiom,
    ! [Xs: list_P2336717926344734829nt_int,Ys: list_P2336717926344734829nt_int] :
      ( ( ( append9111546825139864322nt_int @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_Pr2941907410405800557nt_int ) ) ).

% append_self_conv2
thf(fact_128_append__self__conv2,axiom,
    ! [Xs: list_set_int,Ys: list_set_int] :
      ( ( ( append_set_int @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_set_int ) ) ).

% append_self_conv2
thf(fact_129_append__self__conv2,axiom,
    ! [Xs: list_nat,Ys: list_nat] :
      ( ( ( append_nat @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_nat ) ) ).

% append_self_conv2
thf(fact_130_append__self__conv2,axiom,
    ! [Xs: list_int,Ys: list_int] :
      ( ( ( append_int @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_int ) ) ).

% append_self_conv2
thf(fact_131_append__self__conv2,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P1743416141875011707e_term] :
      ( ( ( append3347429545944178576e_term @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_Pr2193041437141079013e_term ) ) ).

% append_self_conv2
thf(fact_132_append__self__conv2,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_i8448526496819171953e_term] :
      ( ( ( append3892634740561120390e_term @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_in3447728264653889115e_term ) ) ).

% append_self_conv2
thf(fact_133_append__self__conv2,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_Pr2300489316682597567nt_int ) ) ).

% append_self_conv2
thf(fact_134_self__append__conv,axiom,
    ! [Y2: list_int,Ys: list_int] :
      ( ( Y2
        = ( append_int @ Y2 @ Ys ) )
      = ( Ys = nil_int ) ) ).

% self_append_conv
thf(fact_135_self__append__conv,axiom,
    ! [Y2: list_P1743416141875011707e_term,Ys: list_P1743416141875011707e_term] :
      ( ( Y2
        = ( append3347429545944178576e_term @ Y2 @ Ys ) )
      = ( Ys = nil_Pr2193041437141079013e_term ) ) ).

% self_append_conv
thf(fact_136_self__append__conv,axiom,
    ! [Y2: list_i8448526496819171953e_term,Ys: list_i8448526496819171953e_term] :
      ( ( Y2
        = ( append3892634740561120390e_term @ Y2 @ Ys ) )
      = ( Ys = nil_in3447728264653889115e_term ) ) ).

% self_append_conv
thf(fact_137_self__append__conv,axiom,
    ! [Y2: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( Y2
        = ( append7030698103840186580nt_int @ Y2 @ Ys ) )
      = ( Ys = nil_Pr2300489316682597567nt_int ) ) ).

% self_append_conv
thf(fact_138_append__self__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_Pr2300489316682597567nt_int ) ) ).

% append_self_conv
thf(fact_139_append__Nil2,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ Xs @ nil_Pr2300489316682597567nt_int )
      = Xs ) ).

% append_Nil2
thf(fact_140_append_Oright__neutral,axiom,
    ! [A: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ A @ nil_Pr2300489316682597567nt_int )
      = A ) ).

% append.right_neutral
thf(fact_141_drop0,axiom,
    ( ( drop_P5690361596310759935nt_int @ zero_zero_nat )
    = ( ^ [X: list_P5707943133018811711nt_int] : X ) ) ).

% drop0
thf(fact_142_k__prems_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ k ).

% k_prems(1)
thf(fact_143_take0,axiom,
    ( ( take_P8218740963776755879nt_int @ zero_zero_nat )
    = ( ^ [Xs2: list_P5707943133018811711nt_int] : nil_Pr2300489316682597567nt_int ) ) ).

% take0
thf(fact_144_take__eq__Nil,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ( take_P8218740963776755879nt_int @ N @ Xs )
        = nil_Pr2300489316682597567nt_int )
      = ( ( N = zero_zero_nat )
        | ( Xs = nil_Pr2300489316682597567nt_int ) ) ) ).

% take_eq_Nil
thf(fact_145_take__eq__Nil2,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( nil_Pr2300489316682597567nt_int
        = ( take_P8218740963776755879nt_int @ N @ Xs ) )
      = ( ( N = zero_zero_nat )
        | ( Xs = nil_Pr2300489316682597567nt_int ) ) ) ).

% take_eq_Nil2
thf(fact_146_hd__append2,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ( hd_Pro282112905867057956nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
        = ( hd_Pro282112905867057956nt_int @ Xs ) ) ) ).

% hd_append2
thf(fact_147_last__appendL,axiom,
    ! [Ys: list_P5707943133018811711nt_int,Xs: list_P5707943133018811711nt_int] :
      ( ( Ys = nil_Pr2300489316682597567nt_int )
     => ( ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
        = ( last_P3305686521732843992nt_int @ Xs ) ) ) ).

% last_appendL
thf(fact_148_last__appendR,axiom,
    ! [Ys: list_P5707943133018811711nt_int,Xs: list_P5707943133018811711nt_int] :
      ( ( Ys != nil_Pr2300489316682597567nt_int )
     => ( ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
        = ( last_P3305686521732843992nt_int @ Ys ) ) ) ).

% last_appendR
thf(fact_149_take__0,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( take_P8218740963776755879nt_int @ zero_zero_nat @ Xs )
      = nil_Pr2300489316682597567nt_int ) ).

% take_0
thf(fact_150_valid__step__non__transitive,axiom,
    ! [S_i: product_prod_int_int,S_j: product_prod_int_int,S_k: product_prod_int_int] :
      ( ( valid_step @ S_i @ S_j )
     => ( ( valid_step @ S_j @ S_k )
       => ~ ( valid_step @ S_i @ S_k ) ) ) ).

% valid_step_non_transitive
thf(fact_151_valid__step__rev,axiom,
    ! [S_i: product_prod_int_int,S_j: product_prod_int_int] :
      ( ( valid_step @ S_i @ S_j )
     => ( valid_step @ S_j @ S_i ) ) ).

% valid_step_rev
thf(fact_152_valid__step__neq,axiom,
    ! [S_i: product_prod_int_int,S_j: product_prod_int_int] :
      ( ( valid_step @ S_i @ S_j )
     => ( S_i != S_j ) ) ).

% valid_step_neq
thf(fact_153_eq__Nil__appendI,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append7030698103840186580nt_int @ nil_Pr2300489316682597567nt_int @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_154_append_Oleft__neutral,axiom,
    ! [A: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ nil_Pr2300489316682597567nt_int @ A )
      = A ) ).

% append.left_neutral
thf(fact_155_append__Nil,axiom,
    ! [Ys: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ nil_Pr2300489316682597567nt_int @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_156_take__Nil,axiom,
    ! [N: nat] :
      ( ( take_P8218740963776755879nt_int @ N @ nil_Pr2300489316682597567nt_int )
      = nil_Pr2300489316682597567nt_int ) ).

% take_Nil
thf(fact_157_drop__Nil,axiom,
    ! [N: nat] :
      ( ( drop_P5690361596310759935nt_int @ N @ nil_Pr2300489316682597567nt_int )
      = nil_Pr2300489316682597567nt_int ) ).

% drop_Nil
thf(fact_158_drop__0,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( drop_P5690361596310759935nt_int @ zero_zero_nat @ Xs )
      = Xs ) ).

% drop_0
thf(fact_159_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_160_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_161_knights__path__non__nil,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ B @ Ps )
     => ( Ps != nil_Pr2300489316682597567nt_int ) ) ).

% knights_path_non_nil
thf(fact_162_hd__append,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( Xs = nil_Pr2300489316682597567nt_int )
       => ( ( hd_Pro282112905867057956nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
          = ( hd_Pro282112905867057956nt_int @ Ys ) ) )
      & ( ( Xs != nil_Pr2300489316682597567nt_int )
       => ( ( hd_Pro282112905867057956nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
          = ( hd_Pro282112905867057956nt_int @ Xs ) ) ) ) ).

% hd_append
thf(fact_163_longest__common__prefix,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
    ? [Ps3: list_P5707943133018811711nt_int,Xs3: list_P5707943133018811711nt_int,Ys2: list_P5707943133018811711nt_int] :
      ( ( Xs
        = ( append7030698103840186580nt_int @ Ps3 @ Xs3 ) )
      & ( Ys
        = ( append7030698103840186580nt_int @ Ps3 @ Ys2 ) )
      & ( ( Xs3 = nil_Pr2300489316682597567nt_int )
        | ( Ys2 = nil_Pr2300489316682597567nt_int )
        | ( ( hd_Pro282112905867057956nt_int @ Xs3 )
         != ( hd_Pro282112905867057956nt_int @ Ys2 ) ) ) ) ).

% longest_common_prefix
thf(fact_164_last__append,axiom,
    ! [Ys: list_P5707943133018811711nt_int,Xs: list_P5707943133018811711nt_int] :
      ( ( ( Ys = nil_Pr2300489316682597567nt_int )
       => ( ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
          = ( last_P3305686521732843992nt_int @ Xs ) ) )
      & ( ( Ys != nil_Pr2300489316682597567nt_int )
       => ( ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
          = ( last_P3305686521732843992nt_int @ Ys ) ) ) ) ).

% last_append
thf(fact_165_longest__common__suffix,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
    ? [Ss: list_P5707943133018811711nt_int,Xs3: list_P5707943133018811711nt_int,Ys2: list_P5707943133018811711nt_int] :
      ( ( Xs
        = ( append7030698103840186580nt_int @ Xs3 @ Ss ) )
      & ( Ys
        = ( append7030698103840186580nt_int @ Ys2 @ Ss ) )
      & ( ( Xs3 = nil_Pr2300489316682597567nt_int )
        | ( Ys2 = nil_Pr2300489316682597567nt_int )
        | ( ( last_P3305686521732843992nt_int @ Xs3 )
         != ( last_P3305686521732843992nt_int @ Ys2 ) ) ) ) ).

% longest_common_suffix
thf(fact_166_hd__Nil__eq__last,axiom,
    ( ( hd_Pro282112905867057956nt_int @ nil_Pr2300489316682597567nt_int )
    = ( last_P3305686521732843992nt_int @ nil_Pr2300489316682597567nt_int ) ) ).

% hd_Nil_eq_last
thf(fact_167_int__ops_I1_J,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% int_ops(1)
thf(fact_168_trans__path_Osimps_I1_J,axiom,
    ! [K_1: int,K_2: int] :
      ( ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ nil_Pr2300489316682597567nt_int )
      = nil_Pr2300489316682597567nt_int ) ).

% trans_path.simps(1)
thf(fact_169_trans__path__non__nil,axiom,
    ! [Ps: list_P5707943133018811711nt_int,K_1: int,K_2: int] :
      ( ( Ps != nil_Pr2300489316682597567nt_int )
     => ( ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps )
       != nil_Pr2300489316682597567nt_int ) ) ).

% trans_path_non_nil
thf(fact_170_trans__valid__step,axiom,
    ! [I: int,J: int,I2: int,J2: int,K_1: int,K_2: int] :
      ( ( valid_step @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I2 @ J2 ) )
     => ( valid_step @ ( product_Pair_int_int @ ( plus_plus_int @ I @ K_1 ) @ ( plus_plus_int @ J @ K_2 ) ) @ ( product_Pair_int_int @ ( plus_plus_int @ I2 @ K_1 ) @ ( plus_plus_int @ J2 @ K_2 ) ) ) ) ).

% trans_valid_step
thf(fact_171_step__in__valid__step,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int,S_i: product_prod_int_int,S_j: product_prod_int_int] :
      ( ( knights_path @ B @ Ps )
     => ( ( step_in @ Ps @ S_i @ S_j )
       => ( valid_step @ S_i @ S_j ) ) ) ).

% step_in_valid_step
thf(fact_172_zero__reorient,axiom,
    ! [X3: int] :
      ( ( zero_zero_int = X3 )
      = ( X3 = zero_zero_int ) ) ).

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

% zero_reorient
thf(fact_174_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_175_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A @ B ) @ C )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

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

% add_mono_thms_linordered_semiring(4)
thf(fact_177_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( I = J )
        & ( K = L ) )
     => ( ( plus_plus_int @ I @ K )
        = ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_178_group__cancel_Oadd1,axiom,
    ! [A3: nat,K: nat,A: nat,B: nat] :
      ( ( A3
        = ( plus_plus_nat @ K @ A ) )
     => ( ( plus_plus_nat @ A3 @ B )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_179_group__cancel_Oadd1,axiom,
    ! [A3: int,K: int,A: int,B: int] :
      ( ( A3
        = ( plus_plus_int @ K @ A ) )
     => ( ( plus_plus_int @ A3 @ B )
        = ( plus_plus_int @ K @ ( plus_plus_int @ A @ B ) ) ) ) ).

% group_cancel.add1
thf(fact_180_group__cancel_Oadd2,axiom,
    ! [B3: nat,K: nat,B: nat,A: nat] :
      ( ( B3
        = ( plus_plus_nat @ K @ B ) )
     => ( ( plus_plus_nat @ A @ B3 )
        = ( plus_plus_nat @ K @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_181_group__cancel_Oadd2,axiom,
    ! [B3: int,K: int,B: int,A: int] :
      ( ( B3
        = ( plus_plus_int @ K @ B ) )
     => ( ( plus_plus_int @ A @ B3 )
        = ( plus_plus_int @ K @ ( plus_plus_int @ A @ B ) ) ) ) ).

% group_cancel.add2
thf(fact_182_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_183_add_Oassoc,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A @ B ) @ C )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% add.assoc
thf(fact_184_add_Oleft__cancel,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( plus_plus_int @ A @ B )
        = ( plus_plus_int @ A @ C ) )
      = ( B = C ) ) ).

% add.left_cancel
thf(fact_185_add_Oright__cancel,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ( plus_plus_int @ B @ A )
        = ( plus_plus_int @ C @ A ) )
      = ( B = C ) ) ).

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

% add.commute
thf(fact_187_add_Ocommute,axiom,
    ( plus_plus_int
    = ( ^ [A2: int,B2: int] : ( plus_plus_int @ B2 @ A2 ) ) ) ).

% add.commute
thf(fact_188_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_189_add_Oleft__commute,axiom,
    ! [B: int,A: int,C: int] :
      ( ( plus_plus_int @ B @ ( plus_plus_int @ A @ C ) )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% add.left_commute
thf(fact_190_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_191_add__left__imp__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( plus_plus_int @ A @ B )
        = ( plus_plus_int @ A @ C ) )
     => ( B = C ) ) ).

% add_left_imp_eq
thf(fact_192_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_193_add__right__imp__eq,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ( plus_plus_int @ B @ A )
        = ( plus_plus_int @ C @ A ) )
     => ( B = C ) ) ).

% add_right_imp_eq
thf(fact_194_append__eq__append__conv2,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int,Ts: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ Ys )
        = ( append7030698103840186580nt_int @ Zs @ Ts ) )
      = ( ? [Us: list_P5707943133018811711nt_int] :
            ( ( ( Xs
                = ( append7030698103840186580nt_int @ Zs @ Us ) )
              & ( ( append7030698103840186580nt_int @ Us @ Ys )
                = Ts ) )
            | ( ( ( append7030698103840186580nt_int @ Xs @ Us )
                = Zs )
              & ( Ys
                = ( append7030698103840186580nt_int @ Us @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_195_append__eq__appendI,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Xs1: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Us2: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ Xs1 )
        = Zs )
     => ( ( Ys
          = ( append7030698103840186580nt_int @ Xs1 @ Us2 ) )
       => ( ( append7030698103840186580nt_int @ Xs @ Ys )
          = ( append7030698103840186580nt_int @ Zs @ Us2 ) ) ) ) ).

% append_eq_appendI
thf(fact_196_int__int__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = ( semiri1314217659103216013at_int @ N ) )
      = ( M = N ) ) ).

% int_int_eq
thf(fact_197_take__equalityI,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ! [I3: nat] :
          ( ( take_P8218740963776755879nt_int @ I3 @ Xs )
          = ( take_P8218740963776755879nt_int @ I3 @ Ys ) )
     => ( Xs = Ys ) ) ).

% take_equalityI
thf(fact_198_last__trans__path,axiom,
    ! [Ps: list_P5707943133018811711nt_int,I: int,J: int,K_1: int,K_2: int] :
      ( ( Ps != nil_Pr2300489316682597567nt_int )
     => ( ( ( last_P3305686521732843992nt_int @ Ps )
          = ( product_Pair_int_int @ I @ J ) )
       => ( ( last_P3305686521732843992nt_int @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) )
          = ( product_Pair_int_int @ ( plus_plus_int @ I @ K_1 ) @ ( plus_plus_int @ J @ K_2 ) ) ) ) ) ).

% last_trans_path
thf(fact_199_hd__trans__path,axiom,
    ! [Ps: list_P5707943133018811711nt_int,I: int,J: int,K_1: int,K_2: int] :
      ( ( Ps != nil_Pr2300489316682597567nt_int )
     => ( ( ( hd_Pro282112905867057956nt_int @ Ps )
          = ( product_Pair_int_int @ I @ J ) )
       => ( ( hd_Pro282112905867057956nt_int @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) )
          = ( product_Pair_int_int @ ( plus_plus_int @ I @ K_1 ) @ ( plus_plus_int @ J @ K_2 ) ) ) ) ) ).

% hd_trans_path
thf(fact_200_board__concat,axiom,
    ! [N: nat,M_1: nat,M_2: nat] :
      ( ( sup_su6024340866399070445nt_int @ ( board @ N @ M_1 ) @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ M_1 ) ) @ ( board @ N @ M_2 ) ) )
      = ( board @ N @ ( plus_plus_nat @ M_1 @ M_2 ) ) ) ).

% board_concat
thf(fact_201_board__concatT,axiom,
    ! [N_1: nat,M: nat,N_2: nat] :
      ( ( sup_su6024340866399070445nt_int @ ( board @ N_1 @ M ) @ ( trans_board @ ( product_Pair_int_int @ ( semiri1314217659103216013at_int @ N_1 ) @ zero_zero_int ) @ ( board @ N_2 @ M ) ) )
      = ( board @ ( plus_plus_nat @ N_1 @ N_2 ) @ M ) ) ).

% board_concatT
thf(fact_202_comm__monoid__add__class_Oadd__0,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ zero_zero_int @ A )
      = A ) ).

% comm_monoid_add_class.add_0
thf(fact_203_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_204_add_Ocomm__neutral,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ zero_zero_int )
      = A ) ).

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

% add.comm_neutral
thf(fact_206_add_Ogroup__left__neutral,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ zero_zero_int @ A )
      = A ) ).

% add.group_left_neutral
thf(fact_207_plus__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( plus_plus_int @ zero_zero_int @ L )
      = L ) ).

% plus_int_code(2)
thf(fact_208_plus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( plus_plus_int @ K @ zero_zero_int )
      = K ) ).

% plus_int_code(1)
thf(fact_209_zadd__int__left,axiom,
    ! [M: nat,N: nat,Z2: int] :
      ( ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ Z2 ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ ( plus_plus_nat @ M @ N ) ) @ Z2 ) ) ).

% zadd_int_left
thf(fact_210_take__drop,axiom,
    ! [N: nat,M: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( take_P8218740963776755879nt_int @ N @ ( drop_P5690361596310759935nt_int @ M @ Xs ) )
      = ( drop_P5690361596310759935nt_int @ M @ ( take_P8218740963776755879nt_int @ ( plus_plus_nat @ N @ M ) @ Xs ) ) ) ).

% take_drop
thf(fact_211_take__add,axiom,
    ! [I: nat,J: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( take_P8218740963776755879nt_int @ ( plus_plus_nat @ I @ J ) @ Xs )
      = ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ I @ Xs ) @ ( take_P8218740963776755879nt_int @ J @ ( drop_P5690361596310759935nt_int @ I @ Xs ) ) ) ) ).

% take_add
thf(fact_212_inter__empty_I2_J,axiom,
    ( ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ b_1 @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) ) @ b_2 )
    = bot_bo1796632182523588997nt_int ) ).

% inter_empty(2)
thf(fact_213__092_060open_062b_092_060_094sub_0621_A_092_060inter_062_Atrans__board_A_I0_M_Aint_Am_092_060_094sub_0621_J_A_Iboard_An_Am_092_060_094sub_0622_J_A_061_A_123_125_A_092_060and_062_A_Ib_092_060_094sub_0621_A_092_060union_062_Atrans__board_A_I0_M_Aint_Am_092_060_094sub_0621_J_A_Iboard_An_Am_092_060_094sub_0622_J_J_A_092_060inter_062_Ab_092_060_094sub_0622_A_061_A_123_125_092_060close_062,axiom,
    ( ( ( inf_in2269163501485487111nt_int @ b_1 @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) )
      = bot_bo1796632182523588997nt_int )
    & ( ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ b_1 @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) ) @ b_2 )
      = bot_bo1796632182523588997nt_int ) ) ).

% \<open>b\<^sub>1 \<inter> trans_board (0, int m\<^sub>1) (board n m\<^sub>2) = {} \<and> (b\<^sub>1 \<union> trans_board (0, int m\<^sub>1) (board n m\<^sub>2)) \<inter> b\<^sub>2 = {}\<close>
thf(fact_214_inter__empty_I1_J,axiom,
    ( ( inf_in2269163501485487111nt_int @ b_1 @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) )
    = bot_bo1796632182523588997nt_int ) ).

% inter_empty(1)
thf(fact_215__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062b_092_060_094sub_0621_Ab_092_060_094sub_0622_O_A_092_060lbrakk_062knights__path_Ab_092_060_094sub_0621_A_Itake_Ak_Aps_092_060_094sub_0621_J_059_Aknights__path_Ab_092_060_094sub_0622_A_Idrop_Ak_Aps_092_060_094sub_0621_J_059_Ab_092_060_094sub_0621_A_092_060union_062_Ab_092_060_094sub_0622_A_061_Aboard_An_Am_092_060_094sub_0621_059_Ab_092_060_094sub_0621_A_092_060inter_062_Ab_092_060_094sub_0622_A_061_A_123_125_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [B_12: set_Pr958786334691620121nt_int] :
        ( ( knights_path @ B_12 @ ( take_P8218740963776755879nt_int @ k @ ps_1 ) )
       => ! [B_22: set_Pr958786334691620121nt_int] :
            ( ( knights_path @ B_22 @ ( drop_P5690361596310759935nt_int @ k @ ps_1 ) )
           => ( ( ( sup_su6024340866399070445nt_int @ B_12 @ B_22 )
                = ( board @ n @ m_1 ) )
             => ( ( inf_in2269163501485487111nt_int @ B_12 @ B_22 )
               != bot_bo1796632182523588997nt_int ) ) ) ) ).

% \<open>\<And>thesis. (\<And>b\<^sub>1 b\<^sub>2. \<lbrakk>knights_path b\<^sub>1 (take k ps\<^sub>1); knights_path b\<^sub>2 (drop k ps\<^sub>1); b\<^sub>1 \<union> b\<^sub>2 = board n m\<^sub>1; b\<^sub>1 \<inter> b\<^sub>2 = {}\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_216__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062k_O_A_092_060lbrakk_0620_A_060_Ak_059_Ak_A_060_Alength_Aps_092_060_094sub_0621_059_Alast_A_Itake_Ak_Aps_092_060_094sub_0621_J_A_061_As_092_060_094sub_062i_059_Ahd_A_Idrop_Ak_Aps_092_060_094sub_0621_J_A_061_As_092_060_094sub_062j_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [K2: nat] :
        ( ( ord_less_nat @ zero_zero_nat @ K2 )
       => ( ( ord_less_nat @ K2 @ ( size_s5157815400016825771nt_int @ ps_1 ) )
         => ( ( ( last_P3305686521732843992nt_int @ ( take_P8218740963776755879nt_int @ K2 @ ps_1 ) )
              = s_i )
           => ( ( hd_Pro282112905867057956nt_int @ ( drop_P5690361596310759935nt_int @ K2 @ ps_1 ) )
             != s_j ) ) ) ) ).

% \<open>\<And>thesis. (\<And>k. \<lbrakk>0 < k; k < length ps\<^sub>1; last (take k ps\<^sub>1) = s\<^sub>i; hd (drop k ps\<^sub>1) = s\<^sub>j\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_217_Un__iff,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) )
      = ( ( member5262025264175285858nt_int @ C @ A3 )
        | ( member5262025264175285858nt_int @ C @ B3 ) ) ) ).

% Un_iff
thf(fact_218_UnCI,axiom,
    ! [C: product_prod_int_int,B3: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int] :
      ( ( ~ ( member5262025264175285858nt_int @ C @ B3 )
       => ( member5262025264175285858nt_int @ C @ A3 ) )
     => ( member5262025264175285858nt_int @ C @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) ) ) ).

% UnCI
thf(fact_219_sup_Oright__idem,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( sup_su6024340866399070445nt_int @ A @ B ) @ B )
      = ( sup_su6024340866399070445nt_int @ A @ B ) ) ).

% sup.right_idem
thf(fact_220_sup__left__idem,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) )
      = ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) ) ).

% sup_left_idem
thf(fact_221_sup_Oleft__idem,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A @ ( sup_su6024340866399070445nt_int @ A @ B ) )
      = ( sup_su6024340866399070445nt_int @ A @ B ) ) ).

% sup.left_idem
thf(fact_222_k__prems_I2_J,axiom,
    ord_less_nat @ k @ ( size_s5157815400016825771nt_int @ ps_1 ) ).

% k_prems(2)
thf(fact_223_b__prems_I4_J,axiom,
    ( ( inf_in2269163501485487111nt_int @ b_1 @ b_2 )
    = bot_bo1796632182523588997nt_int ) ).

% b_prems(4)
thf(fact_224_empty__iff,axiom,
    ! [C: product_prod_int_int] :
      ~ ( member5262025264175285858nt_int @ C @ bot_bo1796632182523588997nt_int ) ).

% empty_iff
thf(fact_225_all__not__in__conv,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( ! [X: product_prod_int_int] :
            ~ ( member5262025264175285858nt_int @ X @ A3 ) )
      = ( A3 = bot_bo1796632182523588997nt_int ) ) ).

% all_not_in_conv
thf(fact_226_Collect__empty__eq,axiom,
    ! [P: product_prod_int_int > $o] :
      ( ( ( collec213857154873943460nt_int @ P )
        = bot_bo1796632182523588997nt_int )
      = ( ! [X: product_prod_int_int] :
            ~ ( P @ X ) ) ) ).

% Collect_empty_eq
thf(fact_227_empty__Collect__eq,axiom,
    ! [P: product_prod_int_int > $o] :
      ( ( bot_bo1796632182523588997nt_int
        = ( collec213857154873943460nt_int @ P ) )
      = ( ! [X: product_prod_int_int] :
            ~ ( P @ X ) ) ) ).

% empty_Collect_eq
thf(fact_228_inf_Oidem,axiom,
    ! [A: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A @ A )
      = A ) ).

% inf.idem
thf(fact_229_inf__idem,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ X3 )
      = X3 ) ).

% inf_idem
thf(fact_230_inf_Oleft__idem,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A @ ( inf_in2269163501485487111nt_int @ A @ B ) )
      = ( inf_in2269163501485487111nt_int @ A @ B ) ) ).

% inf.left_idem
thf(fact_231_inf__left__idem,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) )
      = ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) ) ).

% inf_left_idem
thf(fact_232_inf_Oright__idem,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ A @ B ) @ B )
      = ( inf_in2269163501485487111nt_int @ A @ B ) ) ).

% inf.right_idem
thf(fact_233_inf__right__idem,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) @ Y2 )
      = ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) ) ).

% inf_right_idem
thf(fact_234_sup_Oidem,axiom,
    ! [A: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A @ A )
      = A ) ).

% sup.idem
thf(fact_235_sup__idem,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ X3 )
      = X3 ) ).

% sup_idem
thf(fact_236_IntI,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ A3 )
     => ( ( member5262025264175285858nt_int @ C @ B3 )
       => ( member5262025264175285858nt_int @ C @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) ) ).

% IntI
thf(fact_237_Int__iff,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) )
      = ( ( member5262025264175285858nt_int @ C @ A3 )
        & ( member5262025264175285858nt_int @ C @ B3 ) ) ) ).

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

% not_gr_zero
thf(fact_239_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_240_add__less__cancel__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
      = ( ord_less_int @ A @ B ) ) ).

% add_less_cancel_right
thf(fact_241_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_242_add__less__cancel__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
      = ( ord_less_int @ A @ B ) ) ).

% add_less_cancel_left
thf(fact_243_inf__bot__left,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ bot_bo1796632182523588997nt_int @ X3 )
      = bot_bo1796632182523588997nt_int ) ).

% inf_bot_left
thf(fact_244_inf__bot__right,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ bot_bo1796632182523588997nt_int )
      = bot_bo1796632182523588997nt_int ) ).

% inf_bot_right
thf(fact_245_sup__bot__left,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ bot_bo1796632182523588997nt_int @ X3 )
      = X3 ) ).

% sup_bot_left
thf(fact_246_sup__bot__right,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ bot_bo1796632182523588997nt_int )
      = X3 ) ).

% sup_bot_right
thf(fact_247_bot__eq__sup__iff,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( bot_bo1796632182523588997nt_int
        = ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) )
      = ( ( X3 = bot_bo1796632182523588997nt_int )
        & ( Y2 = bot_bo1796632182523588997nt_int ) ) ) ).

% bot_eq_sup_iff
thf(fact_248_sup__eq__bot__iff,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( ( sup_su6024340866399070445nt_int @ X3 @ Y2 )
        = bot_bo1796632182523588997nt_int )
      = ( ( X3 = bot_bo1796632182523588997nt_int )
        & ( Y2 = bot_bo1796632182523588997nt_int ) ) ) ).

% sup_eq_bot_iff
thf(fact_249_sup__bot_Oeq__neutr__iff,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( ( sup_su6024340866399070445nt_int @ A @ B )
        = bot_bo1796632182523588997nt_int )
      = ( ( A = bot_bo1796632182523588997nt_int )
        & ( B = bot_bo1796632182523588997nt_int ) ) ) ).

% sup_bot.eq_neutr_iff
thf(fact_250_sup__bot_Oleft__neutral,axiom,
    ! [A: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ bot_bo1796632182523588997nt_int @ A )
      = A ) ).

% sup_bot.left_neutral
thf(fact_251_sup__bot_Oneutr__eq__iff,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( bot_bo1796632182523588997nt_int
        = ( sup_su6024340866399070445nt_int @ A @ B ) )
      = ( ( A = bot_bo1796632182523588997nt_int )
        & ( B = bot_bo1796632182523588997nt_int ) ) ) ).

% sup_bot.neutr_eq_iff
thf(fact_252_sup__bot_Oright__neutral,axiom,
    ! [A: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A @ bot_bo1796632182523588997nt_int )
      = A ) ).

% sup_bot.right_neutral
thf(fact_253_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

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

% neq0_conv
thf(fact_255_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_256_inf__sup__absorb,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) )
      = X3 ) ).

% inf_sup_absorb
thf(fact_257_sup__inf__absorb,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) )
      = X3 ) ).

% sup_inf_absorb
thf(fact_258_Un__empty,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( sup_su6024340866399070445nt_int @ A3 @ B3 )
        = bot_bo1796632182523588997nt_int )
      = ( ( A3 = bot_bo1796632182523588997nt_int )
        & ( B3 = bot_bo1796632182523588997nt_int ) ) ) ).

% Un_empty
thf(fact_259_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_260_append__eq__append__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Us2: list_P5707943133018811711nt_int,Vs: list_P5707943133018811711nt_int] :
      ( ( ( ( size_s5157815400016825771nt_int @ Xs )
          = ( size_s5157815400016825771nt_int @ Ys ) )
        | ( ( size_s5157815400016825771nt_int @ Us2 )
          = ( size_s5157815400016825771nt_int @ Vs ) ) )
     => ( ( ( append7030698103840186580nt_int @ Xs @ Us2 )
          = ( append7030698103840186580nt_int @ Ys @ Vs ) )
        = ( ( Xs = Ys )
          & ( Us2 = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_261_Int__Un__eq_I4_J,axiom,
    ! [T: set_Pr958786334691620121nt_int,S: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ T @ ( inf_in2269163501485487111nt_int @ S @ T ) )
      = T ) ).

% Int_Un_eq(4)
thf(fact_262_Int__Un__eq_I3_J,axiom,
    ! [S: set_Pr958786334691620121nt_int,T: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ S @ ( inf_in2269163501485487111nt_int @ S @ T ) )
      = S ) ).

% Int_Un_eq(3)
thf(fact_263_Int__Un__eq_I2_J,axiom,
    ! [S: set_Pr958786334691620121nt_int,T: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ S @ T ) @ T )
      = T ) ).

% Int_Un_eq(2)
thf(fact_264_Int__Un__eq_I1_J,axiom,
    ! [S: set_Pr958786334691620121nt_int,T: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ S @ T ) @ S )
      = S ) ).

% Int_Un_eq(1)
thf(fact_265_Un__Int__eq_I4_J,axiom,
    ! [T: set_Pr958786334691620121nt_int,S: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ T @ ( sup_su6024340866399070445nt_int @ S @ T ) )
      = T ) ).

% Un_Int_eq(4)
thf(fact_266_Un__Int__eq_I3_J,axiom,
    ! [S: set_Pr958786334691620121nt_int,T: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ S @ ( sup_su6024340866399070445nt_int @ S @ T ) )
      = S ) ).

% Un_Int_eq(3)
thf(fact_267_Un__Int__eq_I2_J,axiom,
    ! [S: set_Pr958786334691620121nt_int,T: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ S @ T ) @ T )
      = T ) ).

% Un_Int_eq(2)
thf(fact_268_Un__Int__eq_I1_J,axiom,
    ! [S: set_Pr958786334691620121nt_int,T: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ S @ T ) @ S )
      = S ) ).

% Un_Int_eq(1)
thf(fact_269_zero__less__double__add__iff__zero__less__single__add,axiom,
    ! [A: int] :
      ( ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A @ A ) )
      = ( ord_less_int @ zero_zero_int @ A ) ) ).

% zero_less_double_add_iff_zero_less_single_add
thf(fact_270_double__add__less__zero__iff__single__add__less__zero,axiom,
    ! [A: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ A ) @ zero_zero_int )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% double_add_less_zero_iff_single_add_less_zero
thf(fact_271_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_272_less__add__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ ( plus_plus_int @ B @ A ) )
      = ( ord_less_int @ zero_zero_int @ B ) ) ).

% less_add_same_cancel2
thf(fact_273_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_274_less__add__same__cancel1,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ ( plus_plus_int @ A @ B ) )
      = ( ord_less_int @ zero_zero_int @ B ) ) ).

% less_add_same_cancel1
thf(fact_275_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_276_add__less__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ B ) @ B )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% add_less_same_cancel2
thf(fact_277_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_278_add__less__same__cancel1,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ ( plus_plus_int @ B @ A ) @ B )
      = ( ord_less_int @ A @ zero_zero_int ) ) ).

% add_less_same_cancel1
thf(fact_279_of__nat__less__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_iff
thf(fact_280_of__nat__less__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_iff
thf(fact_281_length__0__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_Pr2300489316682597567nt_int ) ) ).

% length_0_conv
thf(fact_282_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_283_length__append,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( size_s5157815400016825771nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
      = ( plus_plus_nat @ ( size_s5157815400016825771nt_int @ Xs ) @ ( size_s5157815400016825771nt_int @ Ys ) ) ) ).

% length_append
thf(fact_284__092_060open_062board_An_Am_092_060_094sub_0621_A_092_060inter_062_Atrans__board_A_I0_M_Aint_Am_092_060_094sub_0621_J_A_Iboard_An_Am_092_060_094sub_0622_J_A_061_A_123_125_092_060close_062,axiom,
    ( ( inf_in2269163501485487111nt_int @ ( board @ n @ m_1 ) @ ( trans_board @ ( product_Pair_int_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ m_1 ) ) @ ( board @ n @ m_2 ) ) )
    = bot_bo1796632182523588997nt_int ) ).

% \<open>board n m\<^sub>1 \<inter> trans_board (0, int m\<^sub>1) (board n m\<^sub>2) = {}\<close>
thf(fact_285_length__greater__0__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ zero_zero_nat @ ( size_s5157815400016825771nt_int @ Xs ) )
      = ( Xs != nil_Pr2300489316682597567nt_int ) ) ).

% length_greater_0_conv
thf(fact_286_List_Ohd__take,axiom,
    ! [J: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ zero_zero_nat @ J )
     => ( ( hd_Pro282112905867057956nt_int @ ( take_P8218740963776755879nt_int @ J @ Xs ) )
        = ( hd_Pro282112905867057956nt_int @ Xs ) ) ) ).

% List.hd_take
thf(fact_287_List_Olast__drop,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( last_P3305686521732843992nt_int @ ( drop_P5690361596310759935nt_int @ N @ Xs ) )
        = ( last_P3305686521732843992nt_int @ Xs ) ) ) ).

% List.last_drop
thf(fact_288_of__nat__0__less__iff,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% of_nat_0_less_iff
thf(fact_289_of__nat__0__less__iff,axiom,
    ! [N: nat] :
      ( ( ord_less_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% of_nat_0_less_iff
thf(fact_290_neq__if__length__neq,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
       != ( size_s5157815400016825771nt_int @ Ys ) )
     => ( Xs != Ys ) ) ).

% neq_if_length_neq
thf(fact_291_Ex__list__of__length,axiom,
    ! [N: nat] :
    ? [Xs4: list_P5707943133018811711nt_int] :
      ( ( size_s5157815400016825771nt_int @ Xs4 )
      = N ) ).

% Ex_list_of_length
thf(fact_292_length__induct,axiom,
    ! [P: list_P5707943133018811711nt_int > $o,Xs: list_P5707943133018811711nt_int] :
      ( ! [Xs4: list_P5707943133018811711nt_int] :
          ( ! [Ys3: list_P5707943133018811711nt_int] :
              ( ( ord_less_nat @ ( size_s5157815400016825771nt_int @ Ys3 ) @ ( size_s5157815400016825771nt_int @ Xs4 ) )
             => ( P @ Ys3 ) )
         => ( P @ Xs4 ) )
     => ( P @ Xs ) ) ).

% length_induct
thf(fact_293_inf__sup__aci_I4_J,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) )
      = ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) ) ).

% inf_sup_aci(4)
thf(fact_294_inf__sup__aci_I3_J,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) )
      = ( inf_in2269163501485487111nt_int @ Y2 @ ( inf_in2269163501485487111nt_int @ X3 @ Z2 ) ) ) ).

% inf_sup_aci(3)
thf(fact_295_inf__sup__aci_I2_J,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) @ Z2 )
      = ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) ) ) ).

% inf_sup_aci(2)
thf(fact_296_inf__sup__aci_I1_J,axiom,
    ( inf_in2269163501485487111nt_int
    = ( ^ [X: set_Pr958786334691620121nt_int,Y3: set_Pr958786334691620121nt_int] : ( inf_in2269163501485487111nt_int @ Y3 @ X ) ) ) ).

% inf_sup_aci(1)
thf(fact_297_inf_Oassoc,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ A @ B ) @ C )
      = ( inf_in2269163501485487111nt_int @ A @ ( inf_in2269163501485487111nt_int @ B @ C ) ) ) ).

% inf.assoc
thf(fact_298_inf__assoc,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) @ Z2 )
      = ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) ) ) ).

% inf_assoc
thf(fact_299_less__infI1,axiom,
    ! [A: set_Pr958786334691620121nt_int,X3: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ A @ X3 )
     => ( ord_le7563427860532173253nt_int @ ( inf_in2269163501485487111nt_int @ A @ B ) @ X3 ) ) ).

% less_infI1
thf(fact_300_less__infI1,axiom,
    ! [A: nat,X3: nat,B: nat] :
      ( ( ord_less_nat @ A @ X3 )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ X3 ) ) ).

% less_infI1
thf(fact_301_less__infI1,axiom,
    ! [A: int,X3: int,B: int] :
      ( ( ord_less_int @ A @ X3 )
     => ( ord_less_int @ ( inf_inf_int @ A @ B ) @ X3 ) ) ).

% less_infI1
thf(fact_302_less__infI2,axiom,
    ! [B: set_Pr958786334691620121nt_int,X3: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ B @ X3 )
     => ( ord_le7563427860532173253nt_int @ ( inf_in2269163501485487111nt_int @ A @ B ) @ X3 ) ) ).

% less_infI2
thf(fact_303_less__infI2,axiom,
    ! [B: nat,X3: nat,A: nat] :
      ( ( ord_less_nat @ B @ X3 )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ X3 ) ) ).

% less_infI2
thf(fact_304_less__infI2,axiom,
    ! [B: int,X3: int,A: int] :
      ( ( ord_less_int @ B @ X3 )
     => ( ord_less_int @ ( inf_inf_int @ A @ B ) @ X3 ) ) ).

% less_infI2
thf(fact_305_inf_Oabsorb3,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ A @ B )
     => ( ( inf_in2269163501485487111nt_int @ A @ B )
        = A ) ) ).

% inf.absorb3
thf(fact_306_inf_Oabsorb3,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( inf_inf_nat @ A @ B )
        = A ) ) ).

% inf.absorb3
thf(fact_307_inf_Oabsorb3,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( inf_inf_int @ A @ B )
        = A ) ) ).

% inf.absorb3
thf(fact_308_inf_Oabsorb4,axiom,
    ! [B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ B @ A )
     => ( ( inf_in2269163501485487111nt_int @ A @ B )
        = B ) ) ).

% inf.absorb4
thf(fact_309_inf_Oabsorb4,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( inf_inf_nat @ A @ B )
        = B ) ) ).

% inf.absorb4
thf(fact_310_inf_Oabsorb4,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ A )
     => ( ( inf_inf_int @ A @ B )
        = B ) ) ).

% inf.absorb4
thf(fact_311_inf_Ocommute,axiom,
    ( inf_in2269163501485487111nt_int
    = ( ^ [A2: set_Pr958786334691620121nt_int,B2: set_Pr958786334691620121nt_int] : ( inf_in2269163501485487111nt_int @ B2 @ A2 ) ) ) ).

% inf.commute
thf(fact_312_inf__commute,axiom,
    ( inf_in2269163501485487111nt_int
    = ( ^ [X: set_Pr958786334691620121nt_int,Y3: set_Pr958786334691620121nt_int] : ( inf_in2269163501485487111nt_int @ Y3 @ X ) ) ) ).

% inf_commute
thf(fact_313_inf_Oleft__commute,axiom,
    ! [B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ B @ ( inf_in2269163501485487111nt_int @ A @ C ) )
      = ( inf_in2269163501485487111nt_int @ A @ ( inf_in2269163501485487111nt_int @ B @ C ) ) ) ).

% inf.left_commute
thf(fact_314_inf__left__commute,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) )
      = ( inf_in2269163501485487111nt_int @ Y2 @ ( inf_in2269163501485487111nt_int @ X3 @ Z2 ) ) ) ).

% inf_left_commute
thf(fact_315_inf_Ostrict__boundedE,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ A @ ( inf_in2269163501485487111nt_int @ B @ C ) )
     => ~ ( ( ord_le7563427860532173253nt_int @ A @ B )
         => ~ ( ord_le7563427860532173253nt_int @ A @ C ) ) ) ).

% inf.strict_boundedE
thf(fact_316_inf_Ostrict__boundedE,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( inf_inf_nat @ B @ C ) )
     => ~ ( ( ord_less_nat @ A @ B )
         => ~ ( ord_less_nat @ A @ C ) ) ) ).

% inf.strict_boundedE
thf(fact_317_inf_Ostrict__boundedE,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ ( inf_inf_int @ B @ C ) )
     => ~ ( ( ord_less_int @ A @ B )
         => ~ ( ord_less_int @ A @ C ) ) ) ).

% inf.strict_boundedE
thf(fact_318_inf_Ostrict__order__iff,axiom,
    ( ord_le7563427860532173253nt_int
    = ( ^ [A2: set_Pr958786334691620121nt_int,B2: set_Pr958786334691620121nt_int] :
          ( ( A2
            = ( inf_in2269163501485487111nt_int @ A2 @ B2 ) )
          & ( A2 != B2 ) ) ) ) ).

% inf.strict_order_iff
thf(fact_319_inf_Ostrict__order__iff,axiom,
    ( ord_less_nat
    = ( ^ [A2: nat,B2: nat] :
          ( ( A2
            = ( inf_inf_nat @ A2 @ B2 ) )
          & ( A2 != B2 ) ) ) ) ).

% inf.strict_order_iff
thf(fact_320_inf_Ostrict__order__iff,axiom,
    ( ord_less_int
    = ( ^ [A2: int,B2: int] :
          ( ( A2
            = ( inf_inf_int @ A2 @ B2 ) )
          & ( A2 != B2 ) ) ) ) ).

% inf.strict_order_iff
thf(fact_321_inf_Ostrict__coboundedI1,axiom,
    ! [A: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ A @ C )
     => ( ord_le7563427860532173253nt_int @ ( inf_in2269163501485487111nt_int @ A @ B ) @ C ) ) ).

% inf.strict_coboundedI1
thf(fact_322_inf_Ostrict__coboundedI1,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ A @ C )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ C ) ) ).

% inf.strict_coboundedI1
thf(fact_323_inf_Ostrict__coboundedI1,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ A @ C )
     => ( ord_less_int @ ( inf_inf_int @ A @ B ) @ C ) ) ).

% inf.strict_coboundedI1
thf(fact_324_inf_Ostrict__coboundedI2,axiom,
    ! [B: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ B @ C )
     => ( ord_le7563427860532173253nt_int @ ( inf_in2269163501485487111nt_int @ A @ B ) @ C ) ) ).

% inf.strict_coboundedI2
thf(fact_325_inf_Ostrict__coboundedI2,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_nat @ B @ C )
     => ( ord_less_nat @ ( inf_inf_nat @ A @ B ) @ C ) ) ).

% inf.strict_coboundedI2
thf(fact_326_inf_Ostrict__coboundedI2,axiom,
    ! [B: int,C: int,A: int] :
      ( ( ord_less_int @ B @ C )
     => ( ord_less_int @ ( inf_inf_int @ A @ B ) @ C ) ) ).

% inf.strict_coboundedI2
thf(fact_327_IntE,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) )
     => ~ ( ( member5262025264175285858nt_int @ C @ A3 )
         => ~ ( member5262025264175285858nt_int @ C @ B3 ) ) ) ).

% IntE
thf(fact_328_IntD1,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) )
     => ( member5262025264175285858nt_int @ C @ A3 ) ) ).

% IntD1
thf(fact_329_IntD2,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) )
     => ( member5262025264175285858nt_int @ C @ B3 ) ) ).

% IntD2
thf(fact_330_emptyE,axiom,
    ! [A: product_prod_int_int] :
      ~ ( member5262025264175285858nt_int @ A @ bot_bo1796632182523588997nt_int ) ).

% emptyE
thf(fact_331_equals0D,axiom,
    ! [A3: set_Pr958786334691620121nt_int,A: product_prod_int_int] :
      ( ( A3 = bot_bo1796632182523588997nt_int )
     => ~ ( member5262025264175285858nt_int @ A @ A3 ) ) ).

% equals0D
thf(fact_332_equals0I,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ! [Y4: product_prod_int_int] :
          ~ ( member5262025264175285858nt_int @ Y4 @ A3 )
     => ( A3 = bot_bo1796632182523588997nt_int ) ) ).

% equals0I
thf(fact_333_Int__assoc,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) @ C2 )
      = ( inf_in2269163501485487111nt_int @ A3 @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) ) ) ).

% Int_assoc
thf(fact_334_Int__absorb,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A3 @ A3 )
      = A3 ) ).

% Int_absorb
thf(fact_335_Int__emptyI,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ! [X2: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X2 @ A3 )
         => ~ ( member5262025264175285858nt_int @ X2 @ B3 ) )
     => ( ( inf_in2269163501485487111nt_int @ A3 @ B3 )
        = bot_bo1796632182523588997nt_int ) ) ).

% Int_emptyI
thf(fact_336_ex__in__conv,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( ? [X: product_prod_int_int] : ( member5262025264175285858nt_int @ X @ A3 ) )
      = ( A3 != bot_bo1796632182523588997nt_int ) ) ).

% ex_in_conv
thf(fact_337_Int__commute,axiom,
    ( inf_in2269163501485487111nt_int
    = ( ^ [A4: set_Pr958786334691620121nt_int,B4: set_Pr958786334691620121nt_int] : ( inf_in2269163501485487111nt_int @ B4 @ A4 ) ) ) ).

% Int_commute
thf(fact_338_disjoint__iff,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( inf_in2269163501485487111nt_int @ A3 @ B3 )
        = bot_bo1796632182523588997nt_int )
      = ( ! [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ A3 )
           => ~ ( member5262025264175285858nt_int @ X @ B3 ) ) ) ) ).

% disjoint_iff
thf(fact_339_Int__empty__left,axiom,
    ! [B3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ bot_bo1796632182523588997nt_int @ B3 )
      = bot_bo1796632182523588997nt_int ) ).

% Int_empty_left
thf(fact_340_Int__empty__right,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A3 @ bot_bo1796632182523588997nt_int )
      = bot_bo1796632182523588997nt_int ) ).

% Int_empty_right
thf(fact_341_Int__left__absorb,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A3 @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) )
      = ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ).

% Int_left_absorb
thf(fact_342_Int__left__commute,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A3 @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) )
      = ( inf_in2269163501485487111nt_int @ B3 @ ( inf_in2269163501485487111nt_int @ A3 @ C2 ) ) ) ).

% Int_left_commute
thf(fact_343_disjoint__iff__not__equal,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( inf_in2269163501485487111nt_int @ A3 @ B3 )
        = bot_bo1796632182523588997nt_int )
      = ( ! [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ A3 )
           => ! [Y3: product_prod_int_int] :
                ( ( member5262025264175285858nt_int @ Y3 @ B3 )
               => ( X != Y3 ) ) ) ) ) ).

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

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

% infinite_descent
thf(fact_346_nat__less__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M2: nat] :
              ( ( ord_less_nat @ M2 @ N2 )
             => ( P @ M2 ) )
         => ( P @ N2 ) )
     => ( P @ N ) ) ).

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

% less_irrefl_nat
thf(fact_348_less__not__refl3,axiom,
    ! [S2: nat,T2: nat] :
      ( ( ord_less_nat @ S2 @ T2 )
     => ( S2 != T2 ) ) ).

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

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

% less_not_refl
thf(fact_351_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_352_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_353_verit__comp__simplify1_I1_J,axiom,
    ! [A: int] :
      ~ ( ord_less_int @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_354_less__imp__of__nat__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% less_imp_of_nat_less
thf(fact_355_less__imp__of__nat__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% less_imp_of_nat_less
thf(fact_356_of__nat__less__imp__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_imp_less
thf(fact_357_of__nat__less__imp__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% of_nat_less_imp_less
thf(fact_358_distrib__imp1,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ! [X2: set_Pr958786334691620121nt_int,Y4: set_Pr958786334691620121nt_int,Z3: set_Pr958786334691620121nt_int] :
          ( ( inf_in2269163501485487111nt_int @ X2 @ ( sup_su6024340866399070445nt_int @ Y4 @ Z3 ) )
          = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ X2 @ Y4 ) @ ( inf_in2269163501485487111nt_int @ X2 @ Z3 ) ) )
     => ( ( sup_su6024340866399070445nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) )
        = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) @ ( sup_su6024340866399070445nt_int @ X3 @ Z2 ) ) ) ) ).

% distrib_imp1
thf(fact_359_distrib__imp2,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ! [X2: set_Pr958786334691620121nt_int,Y4: set_Pr958786334691620121nt_int,Z3: set_Pr958786334691620121nt_int] :
          ( ( sup_su6024340866399070445nt_int @ X2 @ ( inf_in2269163501485487111nt_int @ Y4 @ Z3 ) )
          = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ X2 @ Y4 ) @ ( sup_su6024340866399070445nt_int @ X2 @ Z3 ) ) )
     => ( ( inf_in2269163501485487111nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) )
        = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) @ ( inf_in2269163501485487111nt_int @ X3 @ Z2 ) ) ) ) ).

% distrib_imp2
thf(fact_360_inf__sup__distrib1,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) )
      = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) @ ( inf_in2269163501485487111nt_int @ X3 @ Z2 ) ) ) ).

% inf_sup_distrib1
thf(fact_361_inf__sup__distrib2,axiom,
    ! [Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int,X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) @ X3 )
      = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ Y2 @ X3 ) @ ( inf_in2269163501485487111nt_int @ Z2 @ X3 ) ) ) ).

% inf_sup_distrib2
thf(fact_362_sup__inf__distrib1,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) )
      = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) @ ( sup_su6024340866399070445nt_int @ X3 @ Z2 ) ) ) ).

% sup_inf_distrib1
thf(fact_363_sup__inf__distrib2,axiom,
    ! [Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int,X3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) @ X3 )
      = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ Y2 @ X3 ) @ ( sup_su6024340866399070445nt_int @ Z2 @ X3 ) ) ) ).

% sup_inf_distrib2
thf(fact_364_less__supI1,axiom,
    ! [X3: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ X3 @ A )
     => ( ord_le7563427860532173253nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ A @ B ) ) ) ).

% less_supI1
thf(fact_365_less__supI1,axiom,
    ! [X3: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ X3 @ A )
     => ( ord_less_nat @ X3 @ ( sup_sup_nat @ A @ B ) ) ) ).

% less_supI1
thf(fact_366_less__supI1,axiom,
    ! [X3: int,A: int,B: int] :
      ( ( ord_less_int @ X3 @ A )
     => ( ord_less_int @ X3 @ ( sup_sup_int @ A @ B ) ) ) ).

% less_supI1
thf(fact_367_less__supI2,axiom,
    ! [X3: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ X3 @ B )
     => ( ord_le7563427860532173253nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ A @ B ) ) ) ).

% less_supI2
thf(fact_368_less__supI2,axiom,
    ! [X3: nat,B: nat,A: nat] :
      ( ( ord_less_nat @ X3 @ B )
     => ( ord_less_nat @ X3 @ ( sup_sup_nat @ A @ B ) ) ) ).

% less_supI2
thf(fact_369_less__supI2,axiom,
    ! [X3: int,B: int,A: int] :
      ( ( ord_less_int @ X3 @ B )
     => ( ord_less_int @ X3 @ ( sup_sup_int @ A @ B ) ) ) ).

% less_supI2
thf(fact_370_sup_Oabsorb3,axiom,
    ! [B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ B @ A )
     => ( ( sup_su6024340866399070445nt_int @ A @ B )
        = A ) ) ).

% sup.absorb3
thf(fact_371_sup_Oabsorb3,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( sup_sup_nat @ A @ B )
        = A ) ) ).

% sup.absorb3
thf(fact_372_sup_Oabsorb3,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ A )
     => ( ( sup_sup_int @ A @ B )
        = A ) ) ).

% sup.absorb3
thf(fact_373_sup_Oabsorb4,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ A @ B )
     => ( ( sup_su6024340866399070445nt_int @ A @ B )
        = B ) ) ).

% sup.absorb4
thf(fact_374_sup_Oabsorb4,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( sup_sup_nat @ A @ B )
        = B ) ) ).

% sup.absorb4
thf(fact_375_sup_Oabsorb4,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( sup_sup_int @ A @ B )
        = B ) ) ).

% sup.absorb4
thf(fact_376_sup_Ostrict__boundedE,axiom,
    ! [B: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ ( sup_su6024340866399070445nt_int @ B @ C ) @ A )
     => ~ ( ( ord_le7563427860532173253nt_int @ B @ A )
         => ~ ( ord_le7563427860532173253nt_int @ C @ A ) ) ) ).

% sup.strict_boundedE
thf(fact_377_sup_Ostrict__boundedE,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_nat @ ( sup_sup_nat @ B @ C ) @ A )
     => ~ ( ( ord_less_nat @ B @ A )
         => ~ ( ord_less_nat @ C @ A ) ) ) ).

% sup.strict_boundedE
thf(fact_378_sup_Ostrict__boundedE,axiom,
    ! [B: int,C: int,A: int] :
      ( ( ord_less_int @ ( sup_sup_int @ B @ C ) @ A )
     => ~ ( ( ord_less_int @ B @ A )
         => ~ ( ord_less_int @ C @ A ) ) ) ).

% sup.strict_boundedE
thf(fact_379_sup_Ostrict__order__iff,axiom,
    ( ord_le7563427860532173253nt_int
    = ( ^ [B2: set_Pr958786334691620121nt_int,A2: set_Pr958786334691620121nt_int] :
          ( ( A2
            = ( sup_su6024340866399070445nt_int @ A2 @ B2 ) )
          & ( A2 != B2 ) ) ) ) ).

% sup.strict_order_iff
thf(fact_380_sup_Ostrict__order__iff,axiom,
    ( ord_less_nat
    = ( ^ [B2: nat,A2: nat] :
          ( ( A2
            = ( sup_sup_nat @ A2 @ B2 ) )
          & ( A2 != B2 ) ) ) ) ).

% sup.strict_order_iff
thf(fact_381_sup_Ostrict__order__iff,axiom,
    ( ord_less_int
    = ( ^ [B2: int,A2: int] :
          ( ( A2
            = ( sup_sup_int @ A2 @ B2 ) )
          & ( A2 != B2 ) ) ) ) ).

% sup.strict_order_iff
thf(fact_382_sup_Ostrict__coboundedI1,axiom,
    ! [C: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ C @ A )
     => ( ord_le7563427860532173253nt_int @ C @ ( sup_su6024340866399070445nt_int @ A @ B ) ) ) ).

% sup.strict_coboundedI1
thf(fact_383_sup_Ostrict__coboundedI1,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ C @ A )
     => ( ord_less_nat @ C @ ( sup_sup_nat @ A @ B ) ) ) ).

% sup.strict_coboundedI1
thf(fact_384_sup_Ostrict__coboundedI1,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_int @ C @ A )
     => ( ord_less_int @ C @ ( sup_sup_int @ A @ B ) ) ) ).

% sup.strict_coboundedI1
thf(fact_385_sup_Ostrict__coboundedI2,axiom,
    ! [C: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ C @ B )
     => ( ord_le7563427860532173253nt_int @ C @ ( sup_su6024340866399070445nt_int @ A @ B ) ) ) ).

% sup.strict_coboundedI2
thf(fact_386_sup_Ostrict__coboundedI2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_nat @ C @ B )
     => ( ord_less_nat @ C @ ( sup_sup_nat @ A @ B ) ) ) ).

% sup.strict_coboundedI2
thf(fact_387_sup_Ostrict__coboundedI2,axiom,
    ! [C: int,B: int,A: int] :
      ( ( ord_less_int @ C @ B )
     => ( ord_less_int @ C @ ( sup_sup_int @ A @ B ) ) ) ).

% sup.strict_coboundedI2
thf(fact_388_Un__Int__crazy,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) ) @ ( inf_in2269163501485487111nt_int @ C2 @ A3 ) )
      = ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) @ ( sup_su6024340866399070445nt_int @ B3 @ C2 ) ) @ ( sup_su6024340866399070445nt_int @ C2 @ A3 ) ) ) ).

% Un_Int_crazy
thf(fact_389_Int__Un__distrib,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A3 @ ( sup_su6024340866399070445nt_int @ B3 @ C2 ) )
      = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) @ ( inf_in2269163501485487111nt_int @ A3 @ C2 ) ) ) ).

% Int_Un_distrib
thf(fact_390_Un__Int__distrib,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A3 @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) )
      = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) @ ( sup_su6024340866399070445nt_int @ A3 @ C2 ) ) ) ).

% Un_Int_distrib
thf(fact_391_Int__Un__distrib2,axiom,
    ! [B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ B3 @ C2 ) @ A3 )
      = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ B3 @ A3 ) @ ( inf_in2269163501485487111nt_int @ C2 @ A3 ) ) ) ).

% Int_Un_distrib2
thf(fact_392_Un__Int__distrib2,axiom,
    ! [B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) @ A3 )
      = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ B3 @ A3 ) @ ( sup_su6024340866399070445nt_int @ C2 @ A3 ) ) ) ).

% Un_Int_distrib2
thf(fact_393_Un__empty__left,axiom,
    ! [B3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ bot_bo1796632182523588997nt_int @ B3 )
      = B3 ) ).

% Un_empty_left
thf(fact_394_Un__empty__right,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A3 @ bot_bo1796632182523588997nt_int )
      = A3 ) ).

% Un_empty_right
thf(fact_395_size__neq__size__imp__neq,axiom,
    ! [X3: list_P5707943133018811711nt_int,Y2: list_P5707943133018811711nt_int] :
      ( ( ( size_s5157815400016825771nt_int @ X3 )
       != ( size_s5157815400016825771nt_int @ Y2 ) )
     => ( X3 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_396_size__neq__size__imp__neq,axiom,
    ! [X3: char,Y2: char] :
      ( ( ( size_size_char @ X3 )
       != ( size_size_char @ Y2 ) )
     => ( X3 != Y2 ) ) ).

% size_neq_size_imp_neq
thf(fact_397_KnightsTour_Olast__drop,axiom,
    ! [K: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ K @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( last_P3305686521732843992nt_int @ Xs )
        = ( last_P3305686521732843992nt_int @ ( drop_P5690361596310759935nt_int @ K @ Xs ) ) ) ) ).

% KnightsTour.last_drop
thf(fact_398_gr__zeroI,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

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

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

% gr_implies_not_zero
thf(fact_401_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_402_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_403_add__less__imp__less__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
     => ( ord_less_int @ A @ B ) ) ).

% add_less_imp_less_right
thf(fact_404_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_405_add__less__imp__less__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
     => ( ord_less_int @ A @ B ) ) ).

% add_less_imp_less_left
thf(fact_406_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_407_add__strict__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) ) ) ).

% add_strict_right_mono
thf(fact_408_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_409_add__strict__left__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) ) ) ).

% add_strict_left_mono
thf(fact_410_add__strict__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_strict_mono
thf(fact_411_add__strict__mono,axiom,
    ! [A: int,B: int,C: int,D: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ C @ D )
       => ( ord_less_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ D ) ) ) ) ).

% add_strict_mono
thf(fact_412_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( K = L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_413_add__mono__thms__linordered__field_I1_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_int @ I @ J )
        & ( K = L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(1)
thf(fact_414_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_415_add__mono__thms__linordered__field_I2_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( I = J )
        & ( ord_less_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(2)
thf(fact_416_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_417_add__mono__thms__linordered__field_I5_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_int @ I @ J )
        & ( ord_less_int @ K @ L ) )
     => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ L ) ) ) ).

% add_mono_thms_linordered_field(5)
thf(fact_418_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( ~ ( P @ N2 )
             => ? [M2: nat] :
                  ( ( ord_less_nat @ M2 @ N2 )
                  & ~ ( P @ M2 ) ) ) )
       => ( P @ N ) ) ) ).

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

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

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

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

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

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

% bot_nat_0.extremum_strict
thf(fact_425_less__add__eq__less,axiom,
    ! [K: nat,L: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ K @ L )
     => ( ( ( plus_plus_nat @ M @ L )
          = ( plus_plus_nat @ K @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% less_add_eq_less
thf(fact_426_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_427_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_428_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_429_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

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

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

% add_less_mono
thf(fact_432_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_433_knights__path__board__non__empty,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ B @ Ps )
     => ( B != bot_bo1796632182523588997nt_int ) ) ).

% knights_path_board_non_empty
thf(fact_434_knights__path__split,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int,K: nat] :
      ( ( knights_path @ B @ Ps )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ( ord_less_nat @ K @ ( size_s5157815400016825771nt_int @ Ps ) )
         => ? [B_12: set_Pr958786334691620121nt_int,B_22: set_Pr958786334691620121nt_int] :
              ( ( knights_path @ B_12 @ ( take_P8218740963776755879nt_int @ K @ Ps ) )
              & ( knights_path @ B_22 @ ( drop_P5690361596310759935nt_int @ K @ Ps ) )
              & ( ( sup_su6024340866399070445nt_int @ B_12 @ B_22 )
                = B )
              & ( ( inf_in2269163501485487111nt_int @ B_12 @ B_22 )
                = bot_bo1796632182523588997nt_int ) ) ) ) ) ).

% knights_path_split
thf(fact_435_list_Osize_I3_J,axiom,
    ( ( size_s5157815400016825771nt_int @ nil_Pr2300489316682597567nt_int )
    = zero_zero_nat ) ).

% list.size(3)
thf(fact_436_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_437_pos__add__strict,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% pos_add_strict
thf(fact_438_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C3: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C3 ) )
           => ( C3 = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_439_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_440_add__pos__pos,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ zero_zero_int @ B )
       => ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A @ B ) ) ) ) ).

% add_pos_pos
thf(fact_441_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_442_add__neg__neg,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ zero_zero_int )
     => ( ( ord_less_int @ B @ zero_zero_int )
       => ( ord_less_int @ ( plus_plus_int @ A @ B ) @ zero_zero_int ) ) ) ).

% add_neg_neg
thf(fact_443_of__nat__less__0__iff,axiom,
    ! [M: nat] :
      ~ ( ord_less_nat @ ( semiri1316708129612266289at_nat @ M ) @ zero_zero_nat ) ).

% of_nat_less_0_iff
thf(fact_444_of__nat__less__0__iff,axiom,
    ! [M: nat] :
      ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ zero_zero_int ) ).

% of_nat_less_0_iff
thf(fact_445_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_446_trans__path__length,axiom,
    ! [K_1: int,K_2: int] :
      ( size_s5157815400016825771nt_int
      = ( ^ [Ps4: list_P5707943133018811711nt_int] : ( size_s5157815400016825771nt_int @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps4 ) ) ) ) ).

% trans_path_length
thf(fact_447_append__eq__conv__conj,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ Ys )
        = Zs )
      = ( ( Xs
          = ( take_P8218740963776755879nt_int @ ( size_s5157815400016825771nt_int @ Xs ) @ Zs ) )
        & ( Ys
          = ( drop_P5690361596310759935nt_int @ ( size_s5157815400016825771nt_int @ Xs ) @ Zs ) ) ) ) ).

% append_eq_conv_conj
thf(fact_448_inf__sup__aci_I8_J,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) )
      = ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) ) ).

% inf_sup_aci(8)
thf(fact_449_inf__sup__aci_I7_J,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) )
      = ( sup_su6024340866399070445nt_int @ Y2 @ ( sup_su6024340866399070445nt_int @ X3 @ Z2 ) ) ) ).

% inf_sup_aci(7)
thf(fact_450_inf__sup__aci_I6_J,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) @ Z2 )
      = ( sup_su6024340866399070445nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) ) ) ).

% inf_sup_aci(6)
thf(fact_451_inf__sup__aci_I5_J,axiom,
    ( sup_su6024340866399070445nt_int
    = ( ^ [X: set_Pr958786334691620121nt_int,Y3: set_Pr958786334691620121nt_int] : ( sup_su6024340866399070445nt_int @ Y3 @ X ) ) ) ).

% inf_sup_aci(5)
thf(fact_452_sup_Oassoc,axiom,
    ! [A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( sup_su6024340866399070445nt_int @ A @ B ) @ C )
      = ( sup_su6024340866399070445nt_int @ A @ ( sup_su6024340866399070445nt_int @ B @ C ) ) ) ).

% sup.assoc
thf(fact_453_sup__assoc,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) @ Z2 )
      = ( sup_su6024340866399070445nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) ) ) ).

% sup_assoc
thf(fact_454_sup_Ocommute,axiom,
    ( sup_su6024340866399070445nt_int
    = ( ^ [A2: set_Pr958786334691620121nt_int,B2: set_Pr958786334691620121nt_int] : ( sup_su6024340866399070445nt_int @ B2 @ A2 ) ) ) ).

% sup.commute
thf(fact_455_sup__commute,axiom,
    ( sup_su6024340866399070445nt_int
    = ( ^ [X: set_Pr958786334691620121nt_int,Y3: set_Pr958786334691620121nt_int] : ( sup_su6024340866399070445nt_int @ Y3 @ X ) ) ) ).

% sup_commute
thf(fact_456_sup_Oleft__commute,axiom,
    ! [B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,C: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ B @ ( sup_su6024340866399070445nt_int @ A @ C ) )
      = ( sup_su6024340866399070445nt_int @ A @ ( sup_su6024340866399070445nt_int @ B @ C ) ) ) ).

% sup.left_commute
thf(fact_457_sup__left__commute,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) )
      = ( sup_su6024340866399070445nt_int @ Y2 @ ( sup_su6024340866399070445nt_int @ X3 @ Z2 ) ) ) ).

% sup_left_commute
thf(fact_458_KnightsTour_Ohd__take,axiom,
    ! [K: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ zero_zero_nat @ K )
     => ( ( hd_Pro282112905867057956nt_int @ Xs )
        = ( hd_Pro282112905867057956nt_int @ ( take_P8218740963776755879nt_int @ K @ Xs ) ) ) ) ).

% KnightsTour.hd_take
thf(fact_459_UnE,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) )
     => ( ~ ( member5262025264175285858nt_int @ C @ A3 )
       => ( member5262025264175285858nt_int @ C @ B3 ) ) ) ).

% UnE
thf(fact_460_UnI1,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ A3 )
     => ( member5262025264175285858nt_int @ C @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) ) ) ).

% UnI1
thf(fact_461_UnI2,axiom,
    ! [C: product_prod_int_int,B3: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ B3 )
     => ( member5262025264175285858nt_int @ C @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) ) ) ).

% UnI2
thf(fact_462_bex__Un,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,P: product_prod_int_int > $o] :
      ( ( ? [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) )
            & ( P @ X ) ) )
      = ( ? [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ A3 )
            & ( P @ X ) )
        | ? [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ B3 )
            & ( P @ X ) ) ) ) ).

% bex_Un
thf(fact_463_ball__Un,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,P: product_prod_int_int > $o] :
      ( ( ! [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) )
           => ( P @ X ) ) )
      = ( ! [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ A3 )
           => ( P @ X ) )
        & ! [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ B3 )
           => ( P @ X ) ) ) ) ).

% ball_Un
thf(fact_464_Un__assoc,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) @ C2 )
      = ( sup_su6024340866399070445nt_int @ A3 @ ( sup_su6024340866399070445nt_int @ B3 @ C2 ) ) ) ).

% Un_assoc
thf(fact_465_Un__absorb,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A3 @ A3 )
      = A3 ) ).

% Un_absorb
thf(fact_466_Un__commute,axiom,
    ( sup_su6024340866399070445nt_int
    = ( ^ [A4: set_Pr958786334691620121nt_int,B4: set_Pr958786334691620121nt_int] : ( sup_su6024340866399070445nt_int @ B4 @ A4 ) ) ) ).

% Un_commute
thf(fact_467_Un__left__absorb,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A3 @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) )
      = ( sup_su6024340866399070445nt_int @ A3 @ B3 ) ) ).

% Un_left_absorb
thf(fact_468_Un__left__commute,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A3 @ ( sup_su6024340866399070445nt_int @ B3 @ C2 ) )
      = ( sup_su6024340866399070445nt_int @ B3 @ ( sup_su6024340866399070445nt_int @ A3 @ C2 ) ) ) ).

% Un_left_commute
thf(fact_469_step__in__def,axiom,
    ( step_in
    = ( ^ [Ps4: list_P5707943133018811711nt_int,S_i2: product_prod_int_int,S_j2: product_prod_int_int] :
        ? [K3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K3 )
          & ( ord_less_nat @ K3 @ ( size_s5157815400016825771nt_int @ Ps4 ) )
          & ( ( last_P3305686521732843992nt_int @ ( take_P8218740963776755879nt_int @ K3 @ Ps4 ) )
            = S_i2 )
          & ( ( hd_Pro282112905867057956nt_int @ ( drop_P5690361596310759935nt_int @ K3 @ Ps4 ) )
            = S_j2 ) ) ) ) ).

% step_in_def
thf(fact_470_knights__path__append,axiom,
    ! [B_1: set_Pr958786334691620121nt_int,Ps_1: list_P5707943133018811711nt_int,B_2: set_Pr958786334691620121nt_int,Ps_2: list_P5707943133018811711nt_int] :
      ( ( knights_path @ B_1 @ Ps_1 )
     => ( ( knights_path @ B_2 @ Ps_2 )
       => ( ( ( inf_in2269163501485487111nt_int @ B_1 @ B_2 )
            = bot_bo1796632182523588997nt_int )
         => ( ( valid_step @ ( last_P3305686521732843992nt_int @ Ps_1 ) @ ( hd_Pro282112905867057956nt_int @ Ps_2 ) )
           => ( knights_path @ ( sup_su6024340866399070445nt_int @ B_1 @ B_2 ) @ ( append7030698103840186580nt_int @ Ps_1 @ Ps_2 ) ) ) ) ) ) ).

% knights_path_append
thf(fact_471_boolean__algebra_Oconj__zero__left,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ bot_bo1796632182523588997nt_int @ X3 )
      = bot_bo1796632182523588997nt_int ) ).

% boolean_algebra.conj_zero_left
thf(fact_472_boolean__algebra_Oconj__zero__right,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ bot_bo1796632182523588997nt_int )
      = bot_bo1796632182523588997nt_int ) ).

% boolean_algebra.conj_zero_right
thf(fact_473_add__less__zeroD,axiom,
    ! [X3: int,Y2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ X3 @ Y2 ) @ zero_zero_int )
     => ( ( ord_less_int @ X3 @ zero_zero_int )
        | ( ord_less_int @ Y2 @ zero_zero_int ) ) ) ).

% add_less_zeroD
thf(fact_474_old_Oprod_Oinject,axiom,
    ! [A: nat,B: set_int,A5: nat,B5: set_int] :
      ( ( ( produc29655638201817675et_int @ A @ B )
        = ( produc29655638201817675et_int @ A5 @ B5 ) )
      = ( ( A = A5 )
        & ( B = B5 ) ) ) ).

% old.prod.inject
thf(fact_475_old_Oprod_Oinject,axiom,
    ! [A: int,B: list_P5707943133018811711nt_int,A5: int,B5: list_P5707943133018811711nt_int] :
      ( ( ( produc8814303788642274490nt_int @ A @ B )
        = ( produc8814303788642274490nt_int @ A5 @ B5 ) )
      = ( ( A = A5 )
        & ( B = B5 ) ) ) ).

% old.prod.inject
thf(fact_476_old_Oprod_Oinject,axiom,
    ! [A: int,B: int,A5: int,B5: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A5 @ B5 ) )
      = ( ( A = A5 )
        & ( B = B5 ) ) ) ).

% old.prod.inject
thf(fact_477_old_Oprod_Oinject,axiom,
    ! [A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int,A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ A @ B )
        = ( produc5700946648718959541nt_int @ A5 @ B5 ) )
      = ( ( A = A5 )
        & ( B = B5 ) ) ) ).

% old.prod.inject
thf(fact_478_old_Oprod_Oinject,axiom,
    ! [A: int > option6357759511663192854e_term,B: product_prod_int_int,A5: int > option6357759511663192854e_term,B5: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ A @ B )
        = ( produc4305682042979456191nt_int @ A5 @ B5 ) )
      = ( ( A = A5 )
        & ( B = B5 ) ) ) ).

% old.prod.inject
thf(fact_479_prod_Oinject,axiom,
    ! [X1: nat,X22: set_int,Y1: nat,Y22: set_int] :
      ( ( ( produc29655638201817675et_int @ X1 @ X22 )
        = ( produc29655638201817675et_int @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_480_prod_Oinject,axiom,
    ! [X1: int,X22: list_P5707943133018811711nt_int,Y1: int,Y22: list_P5707943133018811711nt_int] :
      ( ( ( produc8814303788642274490nt_int @ X1 @ X22 )
        = ( produc8814303788642274490nt_int @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_481_prod_Oinject,axiom,
    ! [X1: int,X22: int,Y1: int,Y22: int] :
      ( ( ( product_Pair_int_int @ X1 @ X22 )
        = ( product_Pair_int_int @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_482_prod_Oinject,axiom,
    ! [X1: produc8551481072490612790e_term > option6357759511663192854e_term,X22: product_prod_int_int,Y1: produc8551481072490612790e_term > option6357759511663192854e_term,Y22: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ X1 @ X22 )
        = ( produc5700946648718959541nt_int @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_483_prod_Oinject,axiom,
    ! [X1: int > option6357759511663192854e_term,X22: product_prod_int_int,Y1: int > option6357759511663192854e_term,Y22: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ X1 @ X22 )
        = ( produc4305682042979456191nt_int @ Y1 @ Y22 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y22 ) ) ) ).

% prod.inject
thf(fact_484_knights__circuit__rotate__to,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int,K: nat,S_i: product_prod_int_int] :
      ( ( knights_circuit @ B @ Ps )
     => ( ( ( hd_Pro282112905867057956nt_int @ ( drop_P5690361596310759935nt_int @ K @ Ps ) )
          = S_i )
       => ( ( ord_less_nat @ K @ ( size_s5157815400016825771nt_int @ Ps ) )
         => ? [Ps5: list_P5707943133018811711nt_int] :
              ( ( knights_circuit @ B @ Ps5 )
              & ( ( hd_Pro282112905867057956nt_int @ Ps5 )
                = S_i ) ) ) ) ) ).

% knights_circuit_rotate_to
thf(fact_485_knights__circuit__def,axiom,
    ( knights_circuit
    = ( ^ [B2: set_Pr958786334691620121nt_int,Ps4: list_P5707943133018811711nt_int] :
          ( ( knights_path @ B2 @ Ps4 )
          & ( valid_step @ ( last_P3305686521732843992nt_int @ Ps4 ) @ ( hd_Pro282112905867057956nt_int @ Ps4 ) ) ) ) ) ).

% knights_circuit_def
thf(fact_486_Euclid__induct,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A6: nat,B6: nat] :
          ( ( P @ A6 @ B6 )
          = ( P @ B6 @ A6 ) )
     => ( ! [A6: nat] : ( P @ A6 @ zero_zero_nat )
       => ( ! [A6: nat,B6: nat] :
              ( ( P @ A6 @ B6 )
             => ( P @ A6 @ ( plus_plus_nat @ A6 @ B6 ) ) )
         => ( P @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_487_bot__set__def,axiom,
    ( bot_bo1796632182523588997nt_int
    = ( collec213857154873943460nt_int @ bot_bo8147686125503663512_int_o ) ) ).

% bot_set_def
thf(fact_488_bot__nat__def,axiom,
    bot_bot_nat = zero_zero_nat ).

% bot_nat_def
thf(fact_489_not__psubset__empty,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ~ ( ord_le7563427860532173253nt_int @ A3 @ bot_bo1796632182523588997nt_int ) ).

% not_psubset_empty
thf(fact_490_less__int__code_I1_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ zero_zero_int ) ).

% less_int_code(1)
thf(fact_491_step__checker_Ocases,axiom,
    ! [X3: produc1219242969750017639nt_int] :
      ~ ! [I3: int,J3: int,I4: int,J4: int] :
          ( X3
         != ( produc3646306378393792727nt_int @ ( product_Pair_int_int @ I3 @ J3 ) @ ( product_Pair_int_int @ I4 @ J4 ) ) ) ).

% step_checker.cases
thf(fact_492_nat__int__comparison_I2_J,axiom,
    ( ord_less_nat
    = ( ^ [A2: nat,B2: nat] : ( ord_less_int @ ( semiri1314217659103216013at_int @ A2 ) @ ( semiri1314217659103216013at_int @ B2 ) ) ) ) ).

% nat_int_comparison(2)
thf(fact_493_order__less__imp__not__less,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ord_less_nat @ X3 @ Y2 )
     => ~ ( ord_less_nat @ Y2 @ X3 ) ) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

% linorder_neqE_linordered_idom
thf(fact_534_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_535_dual__order_Ostrict__implies__not__eq,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ A )
     => ( A != B ) ) ).

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

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

% order.strict_implies_not_eq
thf(fact_538_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_539_dual__order_Ostrict__trans,axiom,
    ! [B: int,A: int,C: int] :
      ( ( ord_less_int @ B @ A )
     => ( ( ord_less_int @ C @ B )
       => ( ord_less_int @ C @ A ) ) ) ).

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

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

% not_less_iff_gr_or_eq
thf(fact_542_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_543_order_Ostrict__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ A @ C ) ) ) ).

% order.strict_trans
thf(fact_544_linorder__less__wlog,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A6: nat,B6: nat] :
          ( ( ord_less_nat @ A6 @ B6 )
         => ( P @ A6 @ B6 ) )
     => ( ! [A6: nat] : ( P @ A6 @ A6 )
       => ( ! [A6: nat,B6: nat] :
              ( ( P @ B6 @ A6 )
             => ( P @ A6 @ B6 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_545_linorder__less__wlog,axiom,
    ! [P: int > int > $o,A: int,B: int] :
      ( ! [A6: int,B6: int] :
          ( ( ord_less_int @ A6 @ B6 )
         => ( P @ A6 @ B6 ) )
     => ( ! [A6: int] : ( P @ A6 @ A6 )
       => ( ! [A6: int,B6: int] :
              ( ( P @ B6 @ A6 )
             => ( P @ A6 @ B6 ) )
         => ( P @ A @ B ) ) ) ) ).

% linorder_less_wlog
thf(fact_546_exists__least__iff,axiom,
    ( ( ^ [P2: nat > $o] :
        ? [X4: nat] : ( P2 @ X4 ) )
    = ( ^ [P3: nat > $o] :
        ? [N3: nat] :
          ( ( P3 @ N3 )
          & ! [M3: nat] :
              ( ( ord_less_nat @ M3 @ N3 )
             => ~ ( P3 @ M3 ) ) ) ) ) ).

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

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

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

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

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

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

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

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

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

% less_induct
thf(fact_556_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_557_ord__less__eq__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( B = C )
       => ( ord_less_int @ A @ C ) ) ) ).

% ord_less_eq_trans
thf(fact_558_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_559_ord__eq__less__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( A = B )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ A @ C ) ) ) ).

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

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

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

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

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

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

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

% lt_ex
thf(fact_567_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc9133624956312949779et_int] :
      ~ ! [A6: nat,B6: set_int] :
          ( Y2
         != ( produc29655638201817675et_int @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_568_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc661532565036771336nt_int] :
      ~ ! [A6: int,B6: list_P5707943133018811711nt_int] :
          ( Y2
         != ( produc8814303788642274490nt_int @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_569_old_Oprod_Oexhaust,axiom,
    ! [Y2: product_prod_int_int] :
      ~ ! [A6: int,B6: int] :
          ( Y2
         != ( product_Pair_int_int @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_570_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc2285326912895808259nt_int] :
      ~ ! [A6: produc8551481072490612790e_term > option6357759511663192854e_term,B6: product_prod_int_int] :
          ( Y2
         != ( produc5700946648718959541nt_int @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_571_old_Oprod_Oexhaust,axiom,
    ! [Y2: produc7773217078559923341nt_int] :
      ~ ! [A6: int > option6357759511663192854e_term,B6: product_prod_int_int] :
          ( Y2
         != ( produc4305682042979456191nt_int @ A6 @ B6 ) ) ).

% old.prod.exhaust
thf(fact_572_surj__pair,axiom,
    ! [P4: produc9133624956312949779et_int] :
    ? [X2: nat,Y4: set_int] :
      ( P4
      = ( produc29655638201817675et_int @ X2 @ Y4 ) ) ).

% surj_pair
thf(fact_573_surj__pair,axiom,
    ! [P4: produc661532565036771336nt_int] :
    ? [X2: int,Y4: list_P5707943133018811711nt_int] :
      ( P4
      = ( produc8814303788642274490nt_int @ X2 @ Y4 ) ) ).

% surj_pair
thf(fact_574_surj__pair,axiom,
    ! [P4: product_prod_int_int] :
    ? [X2: int,Y4: int] :
      ( P4
      = ( product_Pair_int_int @ X2 @ Y4 ) ) ).

% surj_pair
thf(fact_575_surj__pair,axiom,
    ! [P4: produc2285326912895808259nt_int] :
    ? [X2: produc8551481072490612790e_term > option6357759511663192854e_term,Y4: product_prod_int_int] :
      ( P4
      = ( produc5700946648718959541nt_int @ X2 @ Y4 ) ) ).

% surj_pair
thf(fact_576_surj__pair,axiom,
    ! [P4: produc7773217078559923341nt_int] :
    ? [X2: int > option6357759511663192854e_term,Y4: product_prod_int_int] :
      ( P4
      = ( produc4305682042979456191nt_int @ X2 @ Y4 ) ) ).

% surj_pair
thf(fact_577_prod__cases,axiom,
    ! [P: produc9133624956312949779et_int > $o,P4: produc9133624956312949779et_int] :
      ( ! [A6: nat,B6: set_int] : ( P @ ( produc29655638201817675et_int @ A6 @ B6 ) )
     => ( P @ P4 ) ) ).

% prod_cases
thf(fact_578_prod__cases,axiom,
    ! [P: produc661532565036771336nt_int > $o,P4: produc661532565036771336nt_int] :
      ( ! [A6: int,B6: list_P5707943133018811711nt_int] : ( P @ ( produc8814303788642274490nt_int @ A6 @ B6 ) )
     => ( P @ P4 ) ) ).

% prod_cases
thf(fact_579_prod__cases,axiom,
    ! [P: product_prod_int_int > $o,P4: product_prod_int_int] :
      ( ! [A6: int,B6: int] : ( P @ ( product_Pair_int_int @ A6 @ B6 ) )
     => ( P @ P4 ) ) ).

% prod_cases
thf(fact_580_prod__cases,axiom,
    ! [P: produc2285326912895808259nt_int > $o,P4: produc2285326912895808259nt_int] :
      ( ! [A6: produc8551481072490612790e_term > option6357759511663192854e_term,B6: product_prod_int_int] : ( P @ ( produc5700946648718959541nt_int @ A6 @ B6 ) )
     => ( P @ P4 ) ) ).

% prod_cases
thf(fact_581_prod__cases,axiom,
    ! [P: produc7773217078559923341nt_int > $o,P4: produc7773217078559923341nt_int] :
      ( ! [A6: int > option6357759511663192854e_term,B6: product_prod_int_int] : ( P @ ( produc4305682042979456191nt_int @ A6 @ B6 ) )
     => ( P @ P4 ) ) ).

% prod_cases
thf(fact_582_Pair__inject,axiom,
    ! [A: nat,B: set_int,A5: nat,B5: set_int] :
      ( ( ( produc29655638201817675et_int @ A @ B )
        = ( produc29655638201817675et_int @ A5 @ B5 ) )
     => ~ ( ( A = A5 )
         => ( B != B5 ) ) ) ).

% Pair_inject
thf(fact_583_Pair__inject,axiom,
    ! [A: int,B: list_P5707943133018811711nt_int,A5: int,B5: list_P5707943133018811711nt_int] :
      ( ( ( produc8814303788642274490nt_int @ A @ B )
        = ( produc8814303788642274490nt_int @ A5 @ B5 ) )
     => ~ ( ( A = A5 )
         => ( B != B5 ) ) ) ).

% Pair_inject
thf(fact_584_Pair__inject,axiom,
    ! [A: int,B: int,A5: int,B5: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A5 @ B5 ) )
     => ~ ( ( A = A5 )
         => ( B != B5 ) ) ) ).

% Pair_inject
thf(fact_585_Pair__inject,axiom,
    ! [A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int,A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ A @ B )
        = ( produc5700946648718959541nt_int @ A5 @ B5 ) )
     => ~ ( ( A = A5 )
         => ( B != B5 ) ) ) ).

% Pair_inject
thf(fact_586_Pair__inject,axiom,
    ! [A: int > option6357759511663192854e_term,B: product_prod_int_int,A5: int > option6357759511663192854e_term,B5: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ A @ B )
        = ( produc4305682042979456191nt_int @ A5 @ B5 ) )
     => ~ ( ( A = A5 )
         => ( B != B5 ) ) ) ).

% Pair_inject
thf(fact_587_prod__cases3,axiom,
    ! [Y2: produc2285326912895808259nt_int] :
      ~ ! [A6: produc8551481072490612790e_term > option6357759511663192854e_term,B6: int,C3: int] :
          ( Y2
         != ( produc5700946648718959541nt_int @ A6 @ ( product_Pair_int_int @ B6 @ C3 ) ) ) ).

% prod_cases3
thf(fact_588_prod__cases3,axiom,
    ! [Y2: produc7773217078559923341nt_int] :
      ~ ! [A6: int > option6357759511663192854e_term,B6: int,C3: int] :
          ( Y2
         != ( produc4305682042979456191nt_int @ A6 @ ( product_Pair_int_int @ B6 @ C3 ) ) ) ).

% prod_cases3
thf(fact_589_prod__induct3,axiom,
    ! [P: produc2285326912895808259nt_int > $o,X3: produc2285326912895808259nt_int] :
      ( ! [A6: produc8551481072490612790e_term > option6357759511663192854e_term,B6: int,C3: int] : ( P @ ( produc5700946648718959541nt_int @ A6 @ ( product_Pair_int_int @ B6 @ C3 ) ) )
     => ( P @ X3 ) ) ).

% prod_induct3
thf(fact_590_prod__induct3,axiom,
    ! [P: produc7773217078559923341nt_int > $o,X3: produc7773217078559923341nt_int] :
      ( ! [A6: int > option6357759511663192854e_term,B6: int,C3: int] : ( P @ ( produc4305682042979456191nt_int @ A6 @ ( product_Pair_int_int @ B6 @ C3 ) ) )
     => ( P @ X3 ) ) ).

% prod_induct3
thf(fact_591_boolean__algebra__cancel_Oinf2,axiom,
    ! [B3: set_Pr958786334691620121nt_int,K: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( B3
        = ( inf_in2269163501485487111nt_int @ K @ B ) )
     => ( ( inf_in2269163501485487111nt_int @ A @ B3 )
        = ( inf_in2269163501485487111nt_int @ K @ ( inf_in2269163501485487111nt_int @ A @ B ) ) ) ) ).

% boolean_algebra_cancel.inf2
thf(fact_592_boolean__algebra__cancel_Oinf1,axiom,
    ! [A3: set_Pr958786334691620121nt_int,K: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( A3
        = ( inf_in2269163501485487111nt_int @ K @ A ) )
     => ( ( inf_in2269163501485487111nt_int @ A3 @ B )
        = ( inf_in2269163501485487111nt_int @ K @ ( inf_in2269163501485487111nt_int @ A @ B ) ) ) ) ).

% boolean_algebra_cancel.inf1
thf(fact_593_boolean__algebra__cancel_Osup2,axiom,
    ! [B3: set_Pr958786334691620121nt_int,K: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int] :
      ( ( B3
        = ( sup_su6024340866399070445nt_int @ K @ B ) )
     => ( ( sup_su6024340866399070445nt_int @ A @ B3 )
        = ( sup_su6024340866399070445nt_int @ K @ ( sup_su6024340866399070445nt_int @ A @ B ) ) ) ) ).

% boolean_algebra_cancel.sup2
thf(fact_594_boolean__algebra__cancel_Osup1,axiom,
    ! [A3: set_Pr958786334691620121nt_int,K: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( A3
        = ( sup_su6024340866399070445nt_int @ K @ A ) )
     => ( ( sup_su6024340866399070445nt_int @ A3 @ B )
        = ( sup_su6024340866399070445nt_int @ K @ ( sup_su6024340866399070445nt_int @ A @ B ) ) ) ) ).

% boolean_algebra_cancel.sup1
thf(fact_595_zero__less__imp__eq__int,axiom,
    ! [K: int] :
      ( ( ord_less_int @ zero_zero_int @ K )
     => ? [N2: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ N2 )
          & ( K
            = ( semiri1314217659103216013at_int @ N2 ) ) ) ) ).

% zero_less_imp_eq_int
thf(fact_596_pos__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_int @ zero_zero_int @ K )
     => ~ ! [N2: nat] :
            ( ( K
              = ( semiri1314217659103216013at_int @ N2 ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N2 ) ) ) ).

% pos_int_cases
thf(fact_597_bot_Onot__eq__extremum,axiom,
    ! [A: set_Pr958786334691620121nt_int] :
      ( ( A != bot_bo1796632182523588997nt_int )
      = ( ord_le7563427860532173253nt_int @ bot_bo1796632182523588997nt_int @ A ) ) ).

% bot.not_eq_extremum
thf(fact_598_bot_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != bot_bot_nat )
      = ( ord_less_nat @ bot_bot_nat @ A ) ) ).

% bot.not_eq_extremum
thf(fact_599_bot_Oextremum__strict,axiom,
    ! [A: set_Pr958786334691620121nt_int] :
      ~ ( ord_le7563427860532173253nt_int @ A @ bot_bo1796632182523588997nt_int ) ).

% bot.extremum_strict
thf(fact_600_bot_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ bot_bot_nat ) ).

% bot.extremum_strict
thf(fact_601_boolean__algebra_Odisj__zero__right,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ bot_bo1796632182523588997nt_int )
      = X3 ) ).

% boolean_algebra.disj_zero_right
thf(fact_602_boolean__algebra_Odisj__conj__distrib2,axiom,
    ! [Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int,X3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) @ X3 )
      = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ Y2 @ X3 ) @ ( sup_su6024340866399070445nt_int @ Z2 @ X3 ) ) ) ).

% boolean_algebra.disj_conj_distrib2
thf(fact_603_boolean__algebra_Oconj__disj__distrib2,axiom,
    ! [Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int,X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) @ X3 )
      = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ Y2 @ X3 ) @ ( inf_in2269163501485487111nt_int @ Z2 @ X3 ) ) ) ).

% boolean_algebra.conj_disj_distrib2
thf(fact_604_boolean__algebra_Odisj__conj__distrib,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ Z2 ) )
      = ( inf_in2269163501485487111nt_int @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) @ ( sup_su6024340866399070445nt_int @ X3 @ Z2 ) ) ) ).

% boolean_algebra.disj_conj_distrib
thf(fact_605_boolean__algebra_Oconj__disj__distrib,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int,Z2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( sup_su6024340866399070445nt_int @ Y2 @ Z2 ) )
      = ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) @ ( inf_in2269163501485487111nt_int @ X3 @ Z2 ) ) ) ).

% boolean_algebra.conj_disj_distrib
thf(fact_606_size__char__eq__0,axiom,
    ( size_size_char
    = ( ^ [C4: char] : zero_zero_nat ) ) ).

% size_char_eq_0
thf(fact_607_add__0__iff,axiom,
    ! [B: int,A: int] :
      ( ( B
        = ( plus_plus_int @ B @ A ) )
      = ( A = zero_zero_int ) ) ).

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

% add_0_iff
thf(fact_609_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

% less_numeral_extra(3)
thf(fact_610_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ zero_zero_int ) ).

% less_numeral_extra(3)
thf(fact_611_knights__path__drop,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int,K: nat] :
      ( ( knights_path @ B @ Ps )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ( ord_less_nat @ K @ ( size_s5157815400016825771nt_int @ Ps ) )
         => ( knights_path @ ( set_Pr2470121279949933262nt_int @ ( drop_P5690361596310759935nt_int @ K @ Ps ) ) @ ( drop_P5690361596310759935nt_int @ K @ Ps ) ) ) ) ) ).

% knights_path_drop
thf(fact_612_set__empty,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( ( set_Pr2470121279949933262nt_int @ Xs )
        = bot_bo1796632182523588997nt_int )
      = ( Xs = nil_Pr2300489316682597567nt_int ) ) ).

% set_empty
thf(fact_613_set__empty2,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( bot_bo1796632182523588997nt_int
        = ( set_Pr2470121279949933262nt_int @ Xs ) )
      = ( Xs = nil_Pr2300489316682597567nt_int ) ) ).

% set_empty2
thf(fact_614_set__append,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( set_Pr2470121279949933262nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
      = ( sup_su6024340866399070445nt_int @ ( set_Pr2470121279949933262nt_int @ Xs ) @ ( set_Pr2470121279949933262nt_int @ Ys ) ) ) ).

% set_append
thf(fact_615_psubsetD,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C: product_prod_int_int] :
      ( ( ord_le7563427860532173253nt_int @ A3 @ B3 )
     => ( ( member5262025264175285858nt_int @ C @ A3 )
       => ( member5262025264175285858nt_int @ C @ B3 ) ) ) ).

% psubsetD
thf(fact_616_in__set__takeD,axiom,
    ! [X3: product_prod_int_int,N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ ( take_P8218740963776755879nt_int @ N @ Xs ) ) )
     => ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) ) ) ).

% in_set_takeD
thf(fact_617_in__set__dropD,axiom,
    ! [X3: product_prod_int_int,N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ ( drop_P5690361596310759935nt_int @ N @ Xs ) ) )
     => ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) ) ) ).

% in_set_dropD
thf(fact_618_knights__path__set__eq,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ B @ Ps )
     => ( ( set_Pr2470121279949933262nt_int @ Ps )
        = B ) ) ).

% knights_path_set_eq
thf(fact_619_empty__set,axiom,
    ( bot_bo1796632182523588997nt_int
    = ( set_Pr2470121279949933262nt_int @ nil_Pr2300489316682597567nt_int ) ) ).

% empty_set
thf(fact_620_list_Oset__sel_I1_J,axiom,
    ! [A: list_P5707943133018811711nt_int] :
      ( ( A != nil_Pr2300489316682597567nt_int )
     => ( member5262025264175285858nt_int @ ( hd_Pro282112905867057956nt_int @ A ) @ ( set_Pr2470121279949933262nt_int @ A ) ) ) ).

% list.set_sel(1)
thf(fact_621_hd__in__set,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( member5262025264175285858nt_int @ ( hd_Pro282112905867057956nt_int @ Xs ) @ ( set_Pr2470121279949933262nt_int @ Xs ) ) ) ).

% hd_in_set
thf(fact_622_last__in__set,axiom,
    ! [As: list_P5707943133018811711nt_int] :
      ( ( As != nil_Pr2300489316682597567nt_int )
     => ( member5262025264175285858nt_int @ ( last_P3305686521732843992nt_int @ As ) @ ( set_Pr2470121279949933262nt_int @ As ) ) ) ).

% last_in_set
thf(fact_623_length__pos__if__in__set,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
     => ( ord_less_nat @ zero_zero_nat @ ( size_s5157815400016825771nt_int @ Xs ) ) ) ).

% length_pos_if_in_set
thf(fact_624_is__num__normalize_I1_J,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ A @ B ) @ C )
      = ( plus_plus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% is_num_normalize(1)
thf(fact_625_trans__path__correct,axiom,
    ! [I: int,J: int,Ps: list_P5707943133018811711nt_int,K_1: int,K_2: int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ I @ J ) @ ( set_Pr2470121279949933262nt_int @ Ps ) )
      = ( member5262025264175285858nt_int @ ( product_Pair_int_int @ ( plus_plus_int @ I @ K_1 ) @ ( plus_plus_int @ J @ K_2 ) ) @ ( set_Pr2470121279949933262nt_int @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) ) ) ) ).

% trans_path_correct
thf(fact_626_knights__path__take,axiom,
    ! [B: set_Pr958786334691620121nt_int,Ps: list_P5707943133018811711nt_int,K: nat] :
      ( ( knights_path @ B @ Ps )
     => ( ( ord_less_nat @ zero_zero_nat @ K )
       => ( ( ord_less_nat @ K @ ( size_s5157815400016825771nt_int @ Ps ) )
         => ( knights_path @ ( set_Pr2470121279949933262nt_int @ ( take_P8218740963776755879nt_int @ K @ Ps ) ) @ ( take_P8218740963776755879nt_int @ K @ Ps ) ) ) ) ) ).

% knights_path_take
thf(fact_627_set__union,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( set_Pr2470121279949933262nt_int @ ( union_56799373549498035nt_int @ Xs @ Ys ) )
      = ( sup_su6024340866399070445nt_int @ ( set_Pr2470121279949933262nt_int @ Xs ) @ ( set_Pr2470121279949933262nt_int @ Ys ) ) ) ).

% set_union
thf(fact_628_size_H__char__eq__0,axiom,
    ( size_char
    = ( ^ [C4: char] : zero_zero_nat ) ) ).

% size'_char_eq_0
thf(fact_629_Collect__empty__eq__bot,axiom,
    ! [P: product_prod_int_int > $o] :
      ( ( ( collec213857154873943460nt_int @ P )
        = bot_bo1796632182523588997nt_int )
      = ( P = bot_bo8147686125503663512_int_o ) ) ).

% Collect_empty_eq_bot
thf(fact_630_bot__empty__eq,axiom,
    ( bot_bo8147686125503663512_int_o
    = ( ^ [X: product_prod_int_int] : ( member5262025264175285858nt_int @ X @ bot_bo1796632182523588997nt_int ) ) ) ).

% bot_empty_eq
thf(fact_631_distinct__adj__append__iff,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( distin7999467515711547031nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
      = ( ( distin7999467515711547031nt_int @ Xs )
        & ( distin7999467515711547031nt_int @ Ys )
        & ( ( Xs = nil_Pr2300489316682597567nt_int )
          | ( Ys = nil_Pr2300489316682597567nt_int )
          | ( ( last_P3305686521732843992nt_int @ Xs )
           != ( hd_Pro282112905867057956nt_int @ Ys ) ) ) ) ) ).

% distinct_adj_append_iff
thf(fact_632_distinct__adj__Nil,axiom,
    distin7999467515711547031nt_int @ nil_Pr2300489316682597567nt_int ).

% distinct_adj_Nil
thf(fact_633_distinct__adj__appendD2,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( distin7999467515711547031nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
     => ( distin7999467515711547031nt_int @ Ys ) ) ).

% distinct_adj_appendD2
thf(fact_634_distinct__adj__appendD1,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( distin7999467515711547031nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
     => ( distin7999467515711547031nt_int @ Xs ) ) ).

% distinct_adj_appendD1
thf(fact_635_mirror2__knights__path,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( knights_path @ ( board @ N @ M ) @ ( mirror2 @ Ps ) ) ) ).

% mirror2_knights_path
thf(fact_636_gen__length__def,axiom,
    ( gen_le8428774395332151372nt_int
    = ( ^ [N3: nat,Xs2: list_P5707943133018811711nt_int] : ( plus_plus_nat @ N3 @ ( size_s5157815400016825771nt_int @ Xs2 ) ) ) ) ).

% gen_length_def
thf(fact_637_length__code,axiom,
    ( size_s5157815400016825771nt_int
    = ( gen_le8428774395332151372nt_int @ zero_zero_nat ) ) ).

% length_code
thf(fact_638_neg__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_int @ K @ zero_zero_int )
     => ~ ! [N2: nat] :
            ( ( K
              = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N2 ) ) ) ).

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

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

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

% verit_minus_simplify(4)
thf(fact_642_add_Oinverse__neutral,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% add.inverse_neutral
thf(fact_643_neg__0__equal__iff__equal,axiom,
    ! [A: int] :
      ( ( zero_zero_int
        = ( uminus_uminus_int @ A ) )
      = ( zero_zero_int = A ) ) ).

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

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

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

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

% neg_less_iff_less
thf(fact_648_minus__add__distrib,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A @ B ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ A ) @ ( uminus_uminus_int @ B ) ) ) ).

% minus_add_distrib
thf(fact_649_minus__add__cancel,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ ( plus_plus_int @ A @ B ) )
      = B ) ).

% minus_add_cancel
thf(fact_650_add__minus__cancel,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ A @ ( plus_plus_int @ ( uminus_uminus_int @ A ) @ B ) )
      = B ) ).

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

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

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

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

% less_neg_neg
thf(fact_655_ab__left__minus,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ A )
      = zero_zero_int ) ).

% ab_left_minus
thf(fact_656_add_Oright__inverse,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ ( uminus_uminus_int @ A ) )
      = zero_zero_int ) ).

% add.right_inverse
thf(fact_657_inf__compl__bot__left1,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ X3 ) @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) )
      = bot_bo1796632182523588997nt_int ) ).

% inf_compl_bot_left1
thf(fact_658_inf__compl__bot__left2,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ X3 ) @ Y2 ) )
      = bot_bo1796632182523588997nt_int ) ).

% inf_compl_bot_left2
thf(fact_659_inf__compl__bot__right,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( inf_in2269163501485487111nt_int @ Y2 @ ( uminus6221592323253981072nt_int @ X3 ) ) )
      = bot_bo1796632182523588997nt_int ) ).

% inf_compl_bot_right
thf(fact_660_boolean__algebra_Oconj__cancel__left,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ X3 ) @ X3 )
      = bot_bo1796632182523588997nt_int ) ).

% boolean_algebra.conj_cancel_left
thf(fact_661_boolean__algebra_Oconj__cancel__right,axiom,
    ! [X3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ X3 @ ( uminus6221592323253981072nt_int @ X3 ) )
      = bot_bo1796632182523588997nt_int ) ).

% boolean_algebra.conj_cancel_right
thf(fact_662_boolean__algebra_Ode__Morgan__disj,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( uminus6221592323253981072nt_int @ ( sup_su6024340866399070445nt_int @ X3 @ Y2 ) )
      = ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ X3 ) @ ( uminus6221592323253981072nt_int @ Y2 ) ) ) ).

% boolean_algebra.de_Morgan_disj
thf(fact_663_boolean__algebra_Ode__Morgan__conj,axiom,
    ! [X3: set_Pr958786334691620121nt_int,Y2: set_Pr958786334691620121nt_int] :
      ( ( uminus6221592323253981072nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ Y2 ) )
      = ( sup_su6024340866399070445nt_int @ ( uminus6221592323253981072nt_int @ X3 ) @ ( uminus6221592323253981072nt_int @ Y2 ) ) ) ).

% boolean_algebra.de_Morgan_conj
thf(fact_664_negative__eq__positive,axiom,
    ! [N: nat,M: nat] :
      ( ( ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N ) )
        = ( semiri1314217659103216013at_int @ M ) )
      = ( ( N = zero_zero_nat )
        & ( M = zero_zero_nat ) ) ) ).

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

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

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

% verit_negate_coefficient(3)
thf(fact_668_int__cases2,axiom,
    ! [Z2: int] :
      ( ! [N2: nat] :
          ( Z2
         != ( semiri1314217659103216013at_int @ N2 ) )
     => ~ ! [N2: nat] :
            ( Z2
           != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) ) ) ).

% int_cases2
thf(fact_669_uminus__int__code_I1_J,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% uminus_int_code(1)
thf(fact_670_group__cancel_Oneg1,axiom,
    ! [A3: int,K: int,A: int] :
      ( ( A3
        = ( plus_plus_int @ K @ A ) )
     => ( ( uminus_uminus_int @ A3 )
        = ( plus_plus_int @ ( uminus_uminus_int @ K ) @ ( uminus_uminus_int @ A ) ) ) ) ).

% group_cancel.neg1
thf(fact_671_add_Oinverse__distrib__swap,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A @ B ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% add.inverse_distrib_swap
thf(fact_672_verit__negate__coefficient_I2_J,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% verit_negate_coefficient(2)
thf(fact_673_less__minus__iff,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ ( uminus_uminus_int @ B ) )
      = ( ord_less_int @ B @ ( uminus_uminus_int @ A ) ) ) ).

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

% minus_less_iff
thf(fact_675_is__num__normalize_I8_J,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A @ B ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% is_num_normalize(8)
thf(fact_676_neg__eq__iff__add__eq__0,axiom,
    ! [A: int,B: int] :
      ( ( ( uminus_uminus_int @ A )
        = B )
      = ( ( plus_plus_int @ A @ B )
        = zero_zero_int ) ) ).

% neg_eq_iff_add_eq_0
thf(fact_677_eq__neg__iff__add__eq__0,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( uminus_uminus_int @ B ) )
      = ( ( plus_plus_int @ A @ B )
        = zero_zero_int ) ) ).

% eq_neg_iff_add_eq_0
thf(fact_678_add_Oinverse__unique,axiom,
    ! [A: int,B: int] :
      ( ( ( plus_plus_int @ A @ B )
        = zero_zero_int )
     => ( ( uminus_uminus_int @ A )
        = B ) ) ).

% add.inverse_unique
thf(fact_679_ab__group__add__class_Oab__left__minus,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ A )
      = zero_zero_int ) ).

% ab_group_add_class.ab_left_minus
thf(fact_680_add__eq__0__iff,axiom,
    ! [A: int,B: int] :
      ( ( ( plus_plus_int @ A @ B )
        = zero_zero_int )
      = ( B
        = ( uminus_uminus_int @ A ) ) ) ).

% add_eq_0_iff
thf(fact_681_inf__cancel__left1,axiom,
    ! [X3: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ X3 @ A ) @ ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ X3 ) @ B ) )
      = bot_bo1796632182523588997nt_int ) ).

% inf_cancel_left1
thf(fact_682_inf__cancel__left2,axiom,
    ! [X3: set_Pr958786334691620121nt_int,A: set_Pr958786334691620121nt_int,B: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ X3 ) @ A ) @ ( inf_in2269163501485487111nt_int @ X3 @ B ) )
      = bot_bo1796632182523588997nt_int ) ).

% inf_cancel_left2
thf(fact_683_not__int__zless__negative,axiom,
    ! [N: nat,M: nat] :
      ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ N ) @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ M ) ) ) ).

% not_int_zless_negative
thf(fact_684_gen__length__code_I1_J,axiom,
    ! [N: nat] :
      ( ( gen_le8428774395332151372nt_int @ N @ nil_Pr2300489316682597567nt_int )
      = N ) ).

% gen_length_code(1)
thf(fact_685_mirror2__nil,axiom,
    ! [Ps: list_P5707943133018811711nt_int] :
      ( ( Ps = nil_Pr2300489316682597567nt_int )
      = ( ( mirror2 @ Ps )
        = nil_Pr2300489316682597567nt_int ) ) ).

% mirror2_nil
thf(fact_686_int__cases4,axiom,
    ! [M: int] :
      ( ! [N2: nat] :
          ( M
         != ( semiri1314217659103216013at_int @ N2 ) )
     => ~ ! [N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( M
             != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) ) ) ) ).

% int_cases4
thf(fact_687_length__mirror2,axiom,
    ( size_s5157815400016825771nt_int
    = ( ^ [Ps4: list_P5707943133018811711nt_int] : ( size_s5157815400016825771nt_int @ ( mirror2 @ Ps4 ) ) ) ) ).

% length_mirror2
thf(fact_688_int__cases3,axiom,
    ! [K: int] :
      ( ( K != zero_zero_int )
     => ( ! [N2: nat] :
            ( ( K
              = ( semiri1314217659103216013at_int @ N2 ) )
           => ~ ( ord_less_nat @ zero_zero_nat @ N2 ) )
       => ~ ! [N2: nat] :
              ( ( K
                = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N2 ) ) )
             => ~ ( ord_less_nat @ zero_zero_nat @ N2 ) ) ) ) ).

% int_cases3
thf(fact_689_zip__append1,axiom,
    ! [Xs: list_int,Ys: list_int,Zs: list_int] :
      ( ( zip_int_int @ ( append_int @ Xs @ Ys ) @ Zs )
      = ( append7030698103840186580nt_int @ ( zip_int_int @ Xs @ ( take_int @ ( size_size_list_int @ Xs ) @ Zs ) ) @ ( zip_int_int @ Ys @ ( drop_int @ ( size_size_list_int @ Xs ) @ Zs ) ) ) ) ).

% zip_append1
thf(fact_690_zip__append1,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( zip_Pr2148635498163357687nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ Zs )
      = ( append9111546825139864322nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ ( take_P8218740963776755879nt_int @ ( size_s5157815400016825771nt_int @ Xs ) @ Zs ) ) @ ( zip_Pr2148635498163357687nt_int @ Ys @ ( drop_P5690361596310759935nt_int @ ( size_s5157815400016825771nt_int @ Xs ) @ Zs ) ) ) ) ).

% zip_append1
thf(fact_691_zip__append2,axiom,
    ! [Xs: list_int,Ys: list_int,Zs: list_int] :
      ( ( zip_int_int @ Xs @ ( append_int @ Ys @ Zs ) )
      = ( append7030698103840186580nt_int @ ( zip_int_int @ ( take_int @ ( size_size_list_int @ Ys ) @ Xs ) @ Ys ) @ ( zip_int_int @ ( drop_int @ ( size_size_list_int @ Ys ) @ Xs ) @ Zs ) ) ) ).

% zip_append2
thf(fact_692_zip__append2,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( zip_Pr2148635498163357687nt_int @ Xs @ ( append7030698103840186580nt_int @ Ys @ Zs ) )
      = ( append9111546825139864322nt_int @ ( zip_Pr2148635498163357687nt_int @ ( take_P8218740963776755879nt_int @ ( size_s5157815400016825771nt_int @ Ys ) @ Xs ) @ Ys ) @ ( zip_Pr2148635498163357687nt_int @ ( drop_P5690361596310759935nt_int @ ( size_s5157815400016825771nt_int @ Ys ) @ Xs ) @ Zs ) ) ) ).

% zip_append2
thf(fact_693_Set_Ois__empty__def,axiom,
    ( is_emp7707449487952173963nt_int
    = ( ^ [A4: set_Pr958786334691620121nt_int] : ( A4 = bot_bo1796632182523588997nt_int ) ) ) ).

% Set.is_empty_def
thf(fact_694_Compl__disjoint2,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ A3 ) @ A3 )
      = bot_bo1796632182523588997nt_int ) ).

% Compl_disjoint2
thf(fact_695_Compl__disjoint,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A3 @ ( uminus6221592323253981072nt_int @ A3 ) )
      = bot_bo1796632182523588997nt_int ) ).

% Compl_disjoint
thf(fact_696_zip__eq__Nil__iff,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( zip_Pr2148635498163357687nt_int @ Xs @ Ys )
        = nil_Pr2941907410405800557nt_int )
      = ( ( Xs = nil_Pr2300489316682597567nt_int )
        | ( Ys = nil_Pr2300489316682597567nt_int ) ) ) ).

% zip_eq_Nil_iff
thf(fact_697_zip__eq__Nil__iff,axiom,
    ! [Xs: list_int,Ys: list_int] :
      ( ( ( zip_int_int @ Xs @ Ys )
        = nil_Pr2300489316682597567nt_int )
      = ( ( Xs = nil_int )
        | ( Ys = nil_int ) ) ) ).

% zip_eq_Nil_iff
thf(fact_698_Nil__eq__zip__iff,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( nil_Pr2941907410405800557nt_int
        = ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) )
      = ( ( Xs = nil_Pr2300489316682597567nt_int )
        | ( Ys = nil_Pr2300489316682597567nt_int ) ) ) ).

% Nil_eq_zip_iff
thf(fact_699_Nil__eq__zip__iff,axiom,
    ! [Xs: list_int,Ys: list_int] :
      ( ( nil_Pr2300489316682597567nt_int
        = ( zip_int_int @ Xs @ Ys ) )
      = ( ( Xs = nil_int )
        | ( Ys = nil_int ) ) ) ).

% Nil_eq_zip_iff
thf(fact_700_zip__Nil,axiom,
    ! [Ys: list_int] :
      ( ( zip_int_int @ nil_int @ Ys )
      = nil_Pr2300489316682597567nt_int ) ).

% zip_Nil
thf(fact_701_zip__append,axiom,
    ! [Xs: list_int,Us2: list_int,Ys: list_int,Vs: list_int] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_int @ Us2 ) )
     => ( ( zip_int_int @ ( append_int @ Xs @ Ys ) @ ( append_int @ Us2 @ Vs ) )
        = ( append7030698103840186580nt_int @ ( zip_int_int @ Xs @ Us2 ) @ ( zip_int_int @ Ys @ Vs ) ) ) ) ).

% zip_append
thf(fact_702_zip__append,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Us2: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Vs: list_P5707943133018811711nt_int] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( size_s5157815400016825771nt_int @ Us2 ) )
     => ( ( zip_Pr2148635498163357687nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ ( append7030698103840186580nt_int @ Us2 @ Vs ) )
        = ( append9111546825139864322nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Us2 ) @ ( zip_Pr2148635498163357687nt_int @ Ys @ Vs ) ) ) ) ).

% zip_append
thf(fact_703_zip_Osimps_I1_J,axiom,
    ! [Xs: list_int] :
      ( ( zip_int_int @ Xs @ nil_int )
      = nil_Pr2300489316682597567nt_int ) ).

% zip.simps(1)
thf(fact_704_Compl__Un,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( uminus6221592323253981072nt_int @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) )
      = ( inf_in2269163501485487111nt_int @ ( uminus6221592323253981072nt_int @ A3 ) @ ( uminus6221592323253981072nt_int @ B3 ) ) ) ).

% Compl_Un
thf(fact_705_Compl__Int,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( uminus6221592323253981072nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) )
      = ( sup_su6024340866399070445nt_int @ ( uminus6221592323253981072nt_int @ A3 ) @ ( uminus6221592323253981072nt_int @ B3 ) ) ) ).

% Compl_Int
thf(fact_706_take__zip,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( take_P5614214687868072533nt_int @ N @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) )
      = ( zip_Pr2148635498163357687nt_int @ ( take_P8218740963776755879nt_int @ N @ Xs ) @ ( take_P8218740963776755879nt_int @ N @ Ys ) ) ) ).

% take_zip
thf(fact_707_take__zip,axiom,
    ! [N: nat,Xs: list_int,Ys: list_int] :
      ( ( take_P8218740963776755879nt_int @ N @ ( zip_int_int @ Xs @ Ys ) )
      = ( zip_int_int @ ( take_int @ N @ Xs ) @ ( take_int @ N @ Ys ) ) ) ).

% take_zip
thf(fact_708_drop__zip,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( drop_P5227224544534396845nt_int @ N @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) )
      = ( zip_Pr2148635498163357687nt_int @ ( drop_P5690361596310759935nt_int @ N @ Xs ) @ ( drop_P5690361596310759935nt_int @ N @ Ys ) ) ) ).

% drop_zip
thf(fact_709_drop__zip,axiom,
    ! [N: nat,Xs: list_int,Ys: list_int] :
      ( ( drop_P5690361596310759935nt_int @ N @ ( zip_int_int @ Xs @ Ys ) )
      = ( zip_int_int @ ( drop_int @ N @ Xs ) @ ( drop_int @ N @ Ys ) ) ) ).

% drop_zip
thf(fact_710_set__zip__rightD,axiom,
    ! [X3: nat,Y2: set_int,Xs: list_nat,Ys: list_set_int] :
      ( ( member1292241183792264892et_int @ ( produc29655638201817675et_int @ X3 @ Y2 ) @ ( set_Pr3697907889984883496et_int @ ( zip_nat_set_int @ Xs @ Ys ) ) )
     => ( member_set_int @ Y2 @ ( set_set_int2 @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_711_set__zip__rightD,axiom,
    ! [X3: int,Y2: list_P5707943133018811711nt_int,Xs: list_int,Ys: list_l1670014477004246597nt_int] :
      ( ( member3263328415308337823nt_int @ ( produc8814303788642274490nt_int @ X3 @ Y2 ) @ ( set_Pr867874496877641011nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) ) )
     => ( member2764346250752101224nt_int @ Y2 @ ( set_li2659200638379878868nt_int @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_712_set__zip__rightD,axiom,
    ! [X3: int,Y2: int,Xs: list_int,Ys: list_int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y2 ) @ ( set_Pr2470121279949933262nt_int @ ( zip_int_int @ Xs @ Ys ) ) )
     => ( member_int @ Y2 @ ( set_int2 @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_713_set__zip__rightD,axiom,
    ! [X3: produc8551481072490612790e_term > option6357759511663192854e_term,Y2: product_prod_int_int,Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X3 @ Y2 ) @ ( set_Pr4943052134776177454nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) ) )
     => ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_714_set__zip__rightD,axiom,
    ! [X3: int > option6357759511663192854e_term,Y2: product_prod_int_int,Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X3 @ Y2 ) @ ( set_Pr1633835384712236856nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) ) )
     => ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) ) ) ).

% set_zip_rightD
thf(fact_715_set__zip__leftD,axiom,
    ! [X3: nat,Y2: set_int,Xs: list_nat,Ys: list_set_int] :
      ( ( member1292241183792264892et_int @ ( produc29655638201817675et_int @ X3 @ Y2 ) @ ( set_Pr3697907889984883496et_int @ ( zip_nat_set_int @ Xs @ Ys ) ) )
     => ( member_nat @ X3 @ ( set_nat2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_716_set__zip__leftD,axiom,
    ! [X3: int,Y2: list_P5707943133018811711nt_int,Xs: list_int,Ys: list_l1670014477004246597nt_int] :
      ( ( member3263328415308337823nt_int @ ( produc8814303788642274490nt_int @ X3 @ Y2 ) @ ( set_Pr867874496877641011nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) ) )
     => ( member_int @ X3 @ ( set_int2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_717_set__zip__leftD,axiom,
    ! [X3: int,Y2: int,Xs: list_int,Ys: list_int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y2 ) @ ( set_Pr2470121279949933262nt_int @ ( zip_int_int @ Xs @ Ys ) ) )
     => ( member_int @ X3 @ ( set_int2 @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_718_set__zip__leftD,axiom,
    ! [X3: produc8551481072490612790e_term > option6357759511663192854e_term,Y2: product_prod_int_int,Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X3 @ Y2 ) @ ( set_Pr4943052134776177454nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) ) )
     => ( member3222579708246209666e_term @ X3 @ ( set_Pr16608062948090134e_term @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_719_set__zip__leftD,axiom,
    ! [X3: int > option6357759511663192854e_term,Y2: product_prod_int_int,Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X3 @ Y2 ) @ ( set_Pr1633835384712236856nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) ) )
     => ( member8845023287901829240e_term @ X3 @ ( set_in5217446777445088012e_term @ Xs ) ) ) ).

% set_zip_leftD
thf(fact_720_in__set__zipE,axiom,
    ! [X3: product_prod_int_int,Y2: product_prod_int_int,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ X3 @ Y2 ) @ ( set_Pr5878228222108503548nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) ) )
     => ~ ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
         => ~ ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_721_in__set__zipE,axiom,
    ! [X3: nat,Y2: set_int,Xs: list_nat,Ys: list_set_int] :
      ( ( member1292241183792264892et_int @ ( produc29655638201817675et_int @ X3 @ Y2 ) @ ( set_Pr3697907889984883496et_int @ ( zip_nat_set_int @ Xs @ Ys ) ) )
     => ~ ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
         => ~ ( member_set_int @ Y2 @ ( set_set_int2 @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_722_in__set__zipE,axiom,
    ! [X3: int,Y2: list_P5707943133018811711nt_int,Xs: list_int,Ys: list_l1670014477004246597nt_int] :
      ( ( member3263328415308337823nt_int @ ( produc8814303788642274490nt_int @ X3 @ Y2 ) @ ( set_Pr867874496877641011nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) ) )
     => ~ ( ( member_int @ X3 @ ( set_int2 @ Xs ) )
         => ~ ( member2764346250752101224nt_int @ Y2 @ ( set_li2659200638379878868nt_int @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_723_in__set__zipE,axiom,
    ! [X3: int,Y2: int,Xs: list_int,Ys: list_int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y2 ) @ ( set_Pr2470121279949933262nt_int @ ( zip_int_int @ Xs @ Ys ) ) )
     => ~ ( ( member_int @ X3 @ ( set_int2 @ Xs ) )
         => ~ ( member_int @ Y2 @ ( set_int2 @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_724_in__set__zipE,axiom,
    ! [X3: produc8551481072490612790e_term > option6357759511663192854e_term,Y2: product_prod_int_int,Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X3 @ Y2 ) @ ( set_Pr4943052134776177454nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) ) )
     => ~ ( ( member3222579708246209666e_term @ X3 @ ( set_Pr16608062948090134e_term @ Xs ) )
         => ~ ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_725_in__set__zipE,axiom,
    ! [X3: int > option6357759511663192854e_term,Y2: product_prod_int_int,Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X3 @ Y2 ) @ ( set_Pr1633835384712236856nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) ) )
     => ~ ( ( member8845023287901829240e_term @ X3 @ ( set_in5217446777445088012e_term @ Xs ) )
         => ~ ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) ) ) ) ).

% in_set_zipE
thf(fact_726_zip__same,axiom,
    ! [A: product_prod_int_int,B: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ A @ B ) @ ( set_Pr5878228222108503548nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Xs ) ) )
      = ( ( member5262025264175285858nt_int @ A @ ( set_Pr2470121279949933262nt_int @ Xs ) )
        & ( A = B ) ) ) ).

% zip_same
thf(fact_727_zip__same,axiom,
    ! [A: int,B: int,Xs: list_int] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ A @ B ) @ ( set_Pr2470121279949933262nt_int @ ( zip_int_int @ Xs @ Xs ) ) )
      = ( ( member_int @ A @ ( set_int2 @ Xs ) )
        & ( A = B ) ) ) ).

% zip_same
thf(fact_728_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_nat,Ys: list_set_int,X3: nat] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s763970886550748294et_int @ Ys ) )
     => ( ( member_nat @ X3 @ ( set_nat2 @ Xs ) )
       => ~ ! [Y4: set_int] :
              ~ ( member1292241183792264892et_int @ ( produc29655638201817675et_int @ X3 @ Y4 ) @ ( set_Pr3697907889984883496et_int @ ( zip_nat_set_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_729_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_int,Ys: list_l1670014477004246597nt_int,X3: int] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_s2969076144586574001nt_int @ Ys ) )
     => ( ( member_int @ X3 @ ( set_int2 @ Xs ) )
       => ~ ! [Y4: list_P5707943133018811711nt_int] :
              ~ ( member3263328415308337823nt_int @ ( produc8814303788642274490nt_int @ X3 @ Y4 ) @ ( set_Pr867874496877641011nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_730_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_int,Ys: list_int,X3: int] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( member_int @ X3 @ ( set_int2 @ Xs ) )
       => ~ ! [Y4: int] :
              ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y4 ) @ ( set_Pr2470121279949933262nt_int @ ( zip_int_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_731_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int,X3: produc8551481072490612790e_term > option6357759511663192854e_term] :
      ( ( ( size_s3817825649112772879e_term @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( member3222579708246209666e_term @ X3 @ ( set_Pr16608062948090134e_term @ Xs ) )
       => ~ ! [Y4: product_prod_int_int] :
              ~ ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X3 @ Y4 ) @ ( set_Pr4943052134776177454nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_732_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int,X3: int > option6357759511663192854e_term] :
      ( ( ( size_s8881356780637927685e_term @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( member8845023287901829240e_term @ X3 @ ( set_in5217446777445088012e_term @ Xs ) )
       => ~ ! [Y4: product_prod_int_int] :
              ~ ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X3 @ Y4 ) @ ( set_Pr1633835384712236856nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_733_in__set__impl__in__set__zip1,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
       => ~ ! [Y4: product_prod_int_int] :
              ~ ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ X3 @ Y4 ) @ ( set_Pr5878228222108503548nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip1
thf(fact_734_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_nat,Ys: list_set_int,Y2: set_int] :
      ( ( ( size_size_list_nat @ Xs )
        = ( size_s763970886550748294et_int @ Ys ) )
     => ( ( member_set_int @ Y2 @ ( set_set_int2 @ Ys ) )
       => ~ ! [X2: nat] :
              ~ ( member1292241183792264892et_int @ ( produc29655638201817675et_int @ X2 @ Y2 ) @ ( set_Pr3697907889984883496et_int @ ( zip_nat_set_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_735_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_int,Ys: list_l1670014477004246597nt_int,Y2: list_P5707943133018811711nt_int] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_s2969076144586574001nt_int @ Ys ) )
     => ( ( member2764346250752101224nt_int @ Y2 @ ( set_li2659200638379878868nt_int @ Ys ) )
       => ~ ! [X2: int] :
              ~ ( member3263328415308337823nt_int @ ( produc8814303788642274490nt_int @ X2 @ Y2 ) @ ( set_Pr867874496877641011nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_736_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_int,Ys: list_int,Y2: int] :
      ( ( ( size_size_list_int @ Xs )
        = ( size_size_list_int @ Ys ) )
     => ( ( member_int @ Y2 @ ( set_int2 @ Ys ) )
       => ~ ! [X2: int] :
              ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X2 @ Y2 ) @ ( set_Pr2470121279949933262nt_int @ ( zip_int_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_737_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( ( size_s3817825649112772879e_term @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) )
       => ~ ! [X2: produc8551481072490612790e_term > option6357759511663192854e_term] :
              ~ ( member7618704894036264090nt_int @ ( produc5700946648718959541nt_int @ X2 @ Y2 ) @ ( set_Pr4943052134776177454nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_738_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( ( size_s8881356780637927685e_term @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) )
       => ~ ! [X2: int > option6357759511663192854e_term] :
              ~ ( member7034335876925520548nt_int @ ( produc4305682042979456191nt_int @ X2 @ Y2 ) @ ( set_Pr1633835384712236856nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_739_in__set__impl__in__set__zip2,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Ys ) )
       => ~ ! [X2: product_prod_int_int] :
              ~ ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ X2 @ Y2 ) @ ( set_Pr5878228222108503548nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) ) ) ) ) ).

% in_set_impl_in_set_zip2
thf(fact_740_hd__zip,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ( Ys != nil_Pr2300489316682597567nt_int )
       => ( ( hd_Pro8821803587750610258nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) )
          = ( produc3646306378393792727nt_int @ ( hd_Pro282112905867057956nt_int @ Xs ) @ ( hd_Pro282112905867057956nt_int @ Ys ) ) ) ) ) ).

% hd_zip
thf(fact_741_hd__zip,axiom,
    ! [Xs: list_nat,Ys: list_set_int] :
      ( ( Xs != nil_nat )
     => ( ( Ys != nil_set_int )
       => ( ( hd_Pro4409541185786561406et_int @ ( zip_nat_set_int @ Xs @ Ys ) )
          = ( produc29655638201817675et_int @ ( hd_nat @ Xs ) @ ( hd_set_int @ Ys ) ) ) ) ) ).

% hd_zip
thf(fact_742_hd__zip,axiom,
    ! [Xs: list_int,Ys: list_l1670014477004246597nt_int] :
      ( ( Xs != nil_int )
     => ( ( Ys != nil_li8670148097206105925nt_int )
       => ( ( hd_Pro5866865383777520733nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) )
          = ( produc8814303788642274490nt_int @ ( hd_int @ Xs ) @ ( hd_lis8550591025403828010nt_int @ Ys ) ) ) ) ) ).

% hd_zip
thf(fact_743_hd__zip,axiom,
    ! [Xs: list_int,Ys: list_int] :
      ( ( Xs != nil_int )
     => ( ( Ys != nil_int )
       => ( ( hd_Pro282112905867057956nt_int @ ( zip_int_int @ Xs @ Ys ) )
          = ( product_Pair_int_int @ ( hd_int @ Xs ) @ ( hd_int @ Ys ) ) ) ) ) ).

% hd_zip
thf(fact_744_hd__zip,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2193041437141079013e_term )
     => ( ( Ys != nil_Pr2300489316682597567nt_int )
       => ( ( hd_Pro8246561224800902232nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) )
          = ( produc5700946648718959541nt_int @ ( hd_Pro8443970089900138816e_term @ Xs ) @ ( hd_Pro282112905867057956nt_int @ Ys ) ) ) ) ) ).

% hd_zip
thf(fact_745_hd__zip,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_in3447728264653889115e_term )
     => ( ( Ys != nil_Pr2300489316682597567nt_int )
       => ( ( hd_Pro2201378251908260706nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) )
          = ( produc4305682042979456191nt_int @ ( hd_int7405675249218303542e_term @ Xs ) @ ( hd_Pro282112905867057956nt_int @ Ys ) ) ) ) ) ).

% hd_zip
thf(fact_746_last__zip,axiom,
    ! [Xs: list_nat,Ys: list_set_int] :
      ( ( Xs != nil_nat )
     => ( ( Ys != nil_set_int )
       => ( ( ( size_size_list_nat @ Xs )
            = ( size_s763970886550748294et_int @ Ys ) )
         => ( ( last_P2058727373477175858et_int @ ( zip_nat_set_int @ Xs @ Ys ) )
            = ( produc29655638201817675et_int @ ( last_nat @ Xs ) @ ( last_set_int @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_747_last__zip,axiom,
    ! [Xs: list_int,Ys: list_l1670014477004246597nt_int] :
      ( ( Xs != nil_int )
     => ( ( Ys != nil_li8670148097206105925nt_int )
       => ( ( ( size_size_list_int @ Xs )
            = ( size_s2969076144586574001nt_int @ Ys ) )
         => ( ( last_P2520469823115007657nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) )
            = ( produc8814303788642274490nt_int @ ( last_int @ Xs ) @ ( last_l5818330359162608606nt_int @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_748_last__zip,axiom,
    ! [Xs: list_int,Ys: list_int] :
      ( ( Xs != nil_int )
     => ( ( Ys != nil_int )
       => ( ( ( size_size_list_int @ Xs )
            = ( size_size_list_int @ Ys ) )
         => ( ( last_P3305686521732843992nt_int @ ( zip_int_int @ Xs @ Ys ) )
            = ( product_Pair_int_int @ ( last_int @ Xs ) @ ( last_int @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_749_last__zip,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2193041437141079013e_term )
     => ( ( Ys != nil_Pr2300489316682597567nt_int )
       => ( ( ( size_s3817825649112772879e_term @ Xs )
            = ( size_s5157815400016825771nt_int @ Ys ) )
         => ( ( last_P7958387789370520228nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) )
            = ( produc5700946648718959541nt_int @ ( last_P8974135382477003148e_term @ Xs ) @ ( last_P3305686521732843992nt_int @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_750_last__zip,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_in3447728264653889115e_term )
     => ( ( Ys != nil_Pr2300489316682597567nt_int )
       => ( ( ( size_s8881356780637927685e_term @ Xs )
            = ( size_s5157815400016825771nt_int @ Ys ) )
         => ( ( last_P858631638320919470nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) )
            = ( produc4305682042979456191nt_int @ ( last_i813233280922151042e_term @ Xs ) @ ( last_P3305686521732843992nt_int @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_751_last__zip,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ( Ys != nil_Pr2300489316682597567nt_int )
       => ( ( ( size_s5157815400016825771nt_int @ Xs )
            = ( size_s5157815400016825771nt_int @ Ys ) )
         => ( ( last_P6195391842956826118nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) )
            = ( produc3646306378393792727nt_int @ ( last_P3305686521732843992nt_int @ Xs ) @ ( last_P3305686521732843992nt_int @ Ys ) ) ) ) ) ) ).

% last_zip
thf(fact_752_is__empty__set,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( is_emp7707449487952173963nt_int @ ( set_Pr2470121279949933262nt_int @ Xs ) )
      = ( null_P4123483736518020807nt_int @ Xs ) ) ).

% is_empty_set
thf(fact_753_trans__path__non__nil__last,axiom,
    ! [Ps: list_P5707943133018811711nt_int,K_1: int,K_2: int,I: int,J: int] :
      ( ( Ps != nil_Pr2300489316682597567nt_int )
     => ( ( last_P3305686521732843992nt_int @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Ps ) )
        = ( last_P3305686521732843992nt_int @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ I @ J ) @ Ps ) ) ) ) ) ).

% trans_path_non_nil_last
thf(fact_754_successively__append__iff,axiom,
    ! [P: product_prod_int_int > product_prod_int_int > $o,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( succes497254780304326540nt_int @ P @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
      = ( ( succes497254780304326540nt_int @ P @ Xs )
        & ( succes497254780304326540nt_int @ P @ Ys )
        & ( ( Xs = nil_Pr2300489316682597567nt_int )
          | ( Ys = nil_Pr2300489316682597567nt_int )
          | ( P @ ( last_P3305686521732843992nt_int @ Xs ) @ ( hd_Pro282112905867057956nt_int @ Ys ) ) ) ) ) ).

% successively_append_iff
thf(fact_755_zero__less__nat__eq,axiom,
    ! [Z2: int] :
      ( ( ord_less_nat @ zero_zero_nat @ ( nat2 @ Z2 ) )
      = ( ord_less_int @ zero_zero_int @ Z2 ) ) ).

% zero_less_nat_eq
thf(fact_756_list_Oinject,axiom,
    ! [X21: product_prod_int_int,X222: list_P5707943133018811711nt_int,Y21: product_prod_int_int,Y222: list_P5707943133018811711nt_int] :
      ( ( ( cons_P3334398858971670639nt_int @ X21 @ X222 )
        = ( cons_P3334398858971670639nt_int @ Y21 @ Y222 ) )
      = ( ( X21 = Y21 )
        & ( X222 = Y222 ) ) ) ).

% list.inject
thf(fact_757_Compl__iff,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( uminus6221592323253981072nt_int @ A3 ) )
      = ( ~ ( member5262025264175285858nt_int @ C @ A3 ) ) ) ).

% Compl_iff
thf(fact_758_ComplI,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ~ ( member5262025264175285858nt_int @ C @ A3 )
     => ( member5262025264175285858nt_int @ C @ ( uminus6221592323253981072nt_int @ A3 ) ) ) ).

% ComplI
thf(fact_759_nat__int,axiom,
    ! [N: nat] :
      ( ( nat2 @ ( semiri1314217659103216013at_int @ N ) )
      = N ) ).

% nat_int
thf(fact_760_distinct__adj__Cons__Cons,axiom,
    ! [X3: product_prod_int_int,Y2: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( distin7999467515711547031nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ ( cons_P3334398858971670639nt_int @ Y2 @ Xs ) ) )
      = ( ( X3 != Y2 )
        & ( distin7999467515711547031nt_int @ ( cons_P3334398858971670639nt_int @ Y2 @ Xs ) ) ) ) ).

% distinct_adj_Cons_Cons
thf(fact_761_append1__eq__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int,Ys: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( ( append7030698103840186580nt_int @ Xs @ ( cons_P3334398858971670639nt_int @ X3 @ nil_Pr2300489316682597567nt_int ) )
        = ( append7030698103840186580nt_int @ Ys @ ( cons_P3334398858971670639nt_int @ Y2 @ nil_Pr2300489316682597567nt_int ) ) )
      = ( ( Xs = Ys )
        & ( X3 = Y2 ) ) ) ).

% append1_eq_conv
thf(fact_762_zless__nat__conj,axiom,
    ! [W: int,Z2: int] :
      ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
      = ( ( ord_less_int @ zero_zero_int @ Z2 )
        & ( ord_less_int @ W @ Z2 ) ) ) ).

% zless_nat_conj
thf(fact_763_last__snoc,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( last_P3305686521732843992nt_int @ ( append7030698103840186580nt_int @ Xs @ ( cons_P3334398858971670639nt_int @ X3 @ nil_Pr2300489316682597567nt_int ) ) )
      = X3 ) ).

% last_snoc
thf(fact_764_nat__zminus__int,axiom,
    ! [N: nat] :
      ( ( nat2 @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ N ) ) )
      = zero_zero_nat ) ).

% nat_zminus_int
thf(fact_765_zip__Cons__Cons,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,Y2: product_prod_int_int,Ys: list_P5707943133018811711nt_int] :
      ( ( zip_Pr2148635498163357687nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ ( cons_P3334398858971670639nt_int @ Y2 @ Ys ) )
      = ( cons_P9091998269994194461nt_int @ ( produc3646306378393792727nt_int @ X3 @ Y2 ) @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_766_zip__Cons__Cons,axiom,
    ! [X3: nat,Xs: list_nat,Y2: set_int,Ys: list_set_int] :
      ( ( zip_nat_set_int @ ( cons_nat @ X3 @ Xs ) @ ( cons_set_int @ Y2 @ Ys ) )
      = ( cons_P5529800768674571465et_int @ ( produc29655638201817675et_int @ X3 @ Y2 ) @ ( zip_nat_set_int @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_767_zip__Cons__Cons,axiom,
    ! [X3: int,Xs: list_int,Y2: list_P5707943133018811711nt_int,Ys: list_l1670014477004246597nt_int] :
      ( ( zip_in8018307065301790106nt_int @ ( cons_int @ X3 @ Xs ) @ ( cons_l7309679040211256053nt_int @ Y2 @ Ys ) )
      = ( cons_P9095479431110121170nt_int @ ( produc8814303788642274490nt_int @ X3 @ Y2 ) @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_768_zip__Cons__Cons,axiom,
    ! [X3: int,Xs: list_int,Y2: int,Ys: list_int] :
      ( ( zip_int_int @ ( cons_int @ X3 @ Xs ) @ ( cons_int @ Y2 @ Ys ) )
      = ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ X3 @ Y2 ) @ ( zip_int_int @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_769_zip__Cons__Cons,axiom,
    ! [X3: produc8551481072490612790e_term > option6357759511663192854e_term,Xs: list_P1743416141875011707e_term,Y2: product_prod_int_int,Ys: list_P5707943133018811711nt_int] :
      ( ( zip_Pr4168994715204986005nt_int @ ( cons_P2630085844062958645e_term @ X3 @ Xs ) @ ( cons_P3334398858971670639nt_int @ Y2 @ Ys ) )
      = ( cons_P6018425551955479501nt_int @ ( produc5700946648718959541nt_int @ X3 @ Y2 ) @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_770_zip__Cons__Cons,axiom,
    ! [X3: int > option6357759511663192854e_term,Xs: list_i8448526496819171953e_term,Y2: product_prod_int_int,Ys: list_P5707943133018811711nt_int] :
      ( ( zip_in8766932505889695135nt_int @ ( cons_i7166360444231718571e_term @ X3 @ Xs ) @ ( cons_P3334398858971670639nt_int @ Y2 @ Ys ) )
      = ( cons_P2743708091642732631nt_int @ ( produc4305682042979456191nt_int @ X3 @ Y2 ) @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) ) ) ).

% zip_Cons_Cons
thf(fact_771_ComplD,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( uminus6221592323253981072nt_int @ A3 ) )
     => ~ ( member5262025264175285858nt_int @ C @ A3 ) ) ).

% ComplD
thf(fact_772_zip__eq__ConsE,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Xy: produc1219242969750017639nt_int,Xys: list_P2336717926344734829nt_int] :
      ( ( ( zip_Pr2148635498163357687nt_int @ Xs @ Ys )
        = ( cons_P9091998269994194461nt_int @ Xy @ Xys ) )
     => ~ ! [X2: product_prod_int_int,Xs3: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( cons_P3334398858971670639nt_int @ X2 @ Xs3 ) )
           => ! [Y4: product_prod_int_int,Ys2: list_P5707943133018811711nt_int] :
                ( ( Ys
                  = ( cons_P3334398858971670639nt_int @ Y4 @ Ys2 ) )
               => ( ( Xy
                    = ( produc3646306378393792727nt_int @ X2 @ Y4 ) )
                 => ( Xys
                   != ( zip_Pr2148635498163357687nt_int @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_773_zip__eq__ConsE,axiom,
    ! [Xs: list_nat,Ys: list_set_int,Xy: produc9133624956312949779et_int,Xys: list_P7388728034488748185et_int] :
      ( ( ( zip_nat_set_int @ Xs @ Ys )
        = ( cons_P5529800768674571465et_int @ Xy @ Xys ) )
     => ~ ! [X2: nat,Xs3: list_nat] :
            ( ( Xs
              = ( cons_nat @ X2 @ Xs3 ) )
           => ! [Y4: set_int,Ys2: list_set_int] :
                ( ( Ys
                  = ( cons_set_int @ Y4 @ Ys2 ) )
               => ( ( Xy
                    = ( produc29655638201817675et_int @ X2 @ Y4 ) )
                 => ( Xys
                   != ( zip_nat_set_int @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_774_zip__eq__ConsE,axiom,
    ! [Xs: list_int,Ys: list_l1670014477004246597nt_int,Xy: produc661532565036771336nt_int,Xys: list_P6957225279449687320nt_int] :
      ( ( ( zip_in8018307065301790106nt_int @ Xs @ Ys )
        = ( cons_P9095479431110121170nt_int @ Xy @ Xys ) )
     => ~ ! [X2: int,Xs3: list_int] :
            ( ( Xs
              = ( cons_int @ X2 @ Xs3 ) )
           => ! [Y4: list_P5707943133018811711nt_int,Ys2: list_l1670014477004246597nt_int] :
                ( ( Ys
                  = ( cons_l7309679040211256053nt_int @ Y4 @ Ys2 ) )
               => ( ( Xy
                    = ( produc8814303788642274490nt_int @ X2 @ Y4 ) )
                 => ( Xys
                   != ( zip_in8018307065301790106nt_int @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_775_zip__eq__ConsE,axiom,
    ! [Xs: list_int,Ys: list_int,Xy: product_prod_int_int,Xys: list_P5707943133018811711nt_int] :
      ( ( ( zip_int_int @ Xs @ Ys )
        = ( cons_P3334398858971670639nt_int @ Xy @ Xys ) )
     => ~ ! [X2: int,Xs3: list_int] :
            ( ( Xs
              = ( cons_int @ X2 @ Xs3 ) )
           => ! [Y4: int,Ys2: list_int] :
                ( ( Ys
                  = ( cons_int @ Y4 @ Ys2 ) )
               => ( ( Xy
                    = ( product_Pair_int_int @ X2 @ Y4 ) )
                 => ( Xys
                   != ( zip_int_int @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_776_zip__eq__ConsE,axiom,
    ! [Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int,Xy: produc2285326912895808259nt_int,Xys: list_P651320350408439699nt_int] :
      ( ( ( zip_Pr4168994715204986005nt_int @ Xs @ Ys )
        = ( cons_P6018425551955479501nt_int @ Xy @ Xys ) )
     => ~ ! [X2: produc8551481072490612790e_term > option6357759511663192854e_term,Xs3: list_P1743416141875011707e_term] :
            ( ( Xs
              = ( cons_P2630085844062958645e_term @ X2 @ Xs3 ) )
           => ! [Y4: product_prod_int_int,Ys2: list_P5707943133018811711nt_int] :
                ( ( Ys
                  = ( cons_P3334398858971670639nt_int @ Y4 @ Ys2 ) )
               => ( ( Xy
                    = ( produc5700946648718959541nt_int @ X2 @ Y4 ) )
                 => ( Xys
                   != ( zip_Pr4168994715204986005nt_int @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_777_zip__eq__ConsE,axiom,
    ! [Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int,Xy: produc7773217078559923341nt_int,Xys: list_P8915022641806594461nt_int] :
      ( ( ( zip_in8766932505889695135nt_int @ Xs @ Ys )
        = ( cons_P2743708091642732631nt_int @ Xy @ Xys ) )
     => ~ ! [X2: int > option6357759511663192854e_term,Xs3: list_i8448526496819171953e_term] :
            ( ( Xs
              = ( cons_i7166360444231718571e_term @ X2 @ Xs3 ) )
           => ! [Y4: product_prod_int_int,Ys2: list_P5707943133018811711nt_int] :
                ( ( Ys
                  = ( cons_P3334398858971670639nt_int @ Y4 @ Ys2 ) )
               => ( ( Xy
                    = ( produc4305682042979456191nt_int @ X2 @ Y4 ) )
                 => ( Xys
                   != ( zip_in8766932505889695135nt_int @ Xs3 @ Ys2 ) ) ) ) ) ) ).

% zip_eq_ConsE
thf(fact_778_append__Cons,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( append7030698103840186580nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ Ys )
      = ( cons_P3334398858971670639nt_int @ X3 @ ( append7030698103840186580nt_int @ Xs @ Ys ) ) ) ).

% append_Cons
thf(fact_779_Cons__eq__appendI,axiom,
    ! [X3: product_prod_int_int,Xs1: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Xs: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( ( cons_P3334398858971670639nt_int @ X3 @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append7030698103840186580nt_int @ Xs1 @ Zs ) )
       => ( ( cons_P3334398858971670639nt_int @ X3 @ Xs )
          = ( append7030698103840186580nt_int @ Ys @ Zs ) ) ) ) ).

% Cons_eq_appendI
thf(fact_780_distinct__adj__ConsD,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( distin7999467515711547031nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
     => ( distin7999467515711547031nt_int @ Xs ) ) ).

% distinct_adj_ConsD
thf(fact_781_step__in__Cons,axiom,
    ! [Ps: list_P5707943133018811711nt_int,S_i: product_prod_int_int,S_j: product_prod_int_int,S_k: product_prod_int_int] :
      ( ( step_in @ Ps @ S_i @ S_j )
     => ( step_in @ ( cons_P3334398858971670639nt_int @ S_k @ Ps ) @ S_i @ S_j ) ) ).

% step_in_Cons
thf(fact_782_set__ConsD,axiom,
    ! [Y2: product_prod_int_int,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) ) )
     => ( ( Y2 = X3 )
        | ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ Xs ) ) ) ) ).

% set_ConsD
thf(fact_783_list_Oset__cases,axiom,
    ! [E: product_prod_int_int,A: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ E @ ( set_Pr2470121279949933262nt_int @ A ) )
     => ( ! [Z22: list_P5707943133018811711nt_int] :
            ( A
           != ( cons_P3334398858971670639nt_int @ E @ Z22 ) )
       => ~ ! [Z1: product_prod_int_int,Z22: list_P5707943133018811711nt_int] :
              ( ( A
                = ( cons_P3334398858971670639nt_int @ Z1 @ Z22 ) )
             => ~ ( member5262025264175285858nt_int @ E @ ( set_Pr2470121279949933262nt_int @ Z22 ) ) ) ) ) ).

% list.set_cases
thf(fact_784_list_Oset__intros_I1_J,axiom,
    ! [X21: product_prod_int_int,X222: list_P5707943133018811711nt_int] : ( member5262025264175285858nt_int @ X21 @ ( set_Pr2470121279949933262nt_int @ ( cons_P3334398858971670639nt_int @ X21 @ X222 ) ) ) ).

% list.set_intros(1)
thf(fact_785_list_Oset__intros_I2_J,axiom,
    ! [Y2: product_prod_int_int,X222: list_P5707943133018811711nt_int,X21: product_prod_int_int] :
      ( ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ X222 ) )
     => ( member5262025264175285858nt_int @ Y2 @ ( set_Pr2470121279949933262nt_int @ ( cons_P3334398858971670639nt_int @ X21 @ X222 ) ) ) ) ).

% list.set_intros(2)
thf(fact_786_successively_Osimps_I1_J,axiom,
    ! [P: product_prod_int_int > product_prod_int_int > $o] : ( succes497254780304326540nt_int @ P @ nil_Pr2300489316682597567nt_int ) ).

% successively.simps(1)
thf(fact_787_list_Osel_I1_J,axiom,
    ! [X21: product_prod_int_int,X222: list_P5707943133018811711nt_int] :
      ( ( hd_Pro282112905867057956nt_int @ ( cons_P3334398858971670639nt_int @ X21 @ X222 ) )
      = X21 ) ).

% list.sel(1)
thf(fact_788_successively__cong,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > product_prod_int_int > $o,Q: product_prod_int_int > product_prod_int_int > $o,Ys: list_P5707943133018811711nt_int] :
      ( ! [X2: product_prod_int_int,Y4: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X2 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
         => ( ( member5262025264175285858nt_int @ Y4 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
           => ( ( P @ X2 @ Y4 )
              = ( Q @ X2 @ Y4 ) ) ) )
     => ( ( Xs = Ys )
       => ( ( succes497254780304326540nt_int @ P @ Xs )
          = ( succes497254780304326540nt_int @ Q @ Ys ) ) ) ) ).

% successively_cong
thf(fact_789_successively__mono,axiom,
    ! [P: product_prod_int_int > product_prod_int_int > $o,Xs: list_P5707943133018811711nt_int,Q: product_prod_int_int > product_prod_int_int > $o] :
      ( ( succes497254780304326540nt_int @ P @ Xs )
     => ( ! [X2: product_prod_int_int,Y4: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X2 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
           => ( ( member5262025264175285858nt_int @ Y4 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
             => ( ( P @ X2 @ Y4 )
               => ( Q @ X2 @ Y4 ) ) ) )
       => ( succes497254780304326540nt_int @ Q @ Xs ) ) ) ).

% successively_mono
thf(fact_790_mirror2__aux_Ocases,axiom,
    ! [X3: produc661532565036771336nt_int] :
      ( ! [M4: int] :
          ( X3
         != ( produc8814303788642274490nt_int @ M4 @ nil_Pr2300489316682597567nt_int ) )
     => ~ ! [M4: int,S_i3: product_prod_int_int,Ps3: list_P5707943133018811711nt_int] :
            ( X3
           != ( produc8814303788642274490nt_int @ M4 @ ( cons_P3334398858971670639nt_int @ S_i3 @ Ps3 ) ) ) ) ).

% mirror2_aux.cases
thf(fact_791_path__checker_Ocases,axiom,
    ! [X3: produc2007852851243229709nt_int] :
      ( ! [B6: set_Pr958786334691620121nt_int] :
          ( X3
         != ( produc2261658324281137661nt_int @ B6 @ nil_Pr2300489316682597567nt_int ) )
     => ( ! [B6: set_Pr958786334691620121nt_int,S_i3: product_prod_int_int] :
            ( X3
           != ( produc2261658324281137661nt_int @ B6 @ ( cons_P3334398858971670639nt_int @ S_i3 @ nil_Pr2300489316682597567nt_int ) ) )
       => ~ ! [B6: set_Pr958786334691620121nt_int,S_i3: product_prod_int_int,S_j3: product_prod_int_int,Ps3: list_P5707943133018811711nt_int] :
              ( X3
             != ( produc2261658324281137661nt_int @ B6 @ ( cons_P3334398858971670639nt_int @ S_i3 @ ( cons_P3334398858971670639nt_int @ S_j3 @ Ps3 ) ) ) ) ) ) ).

% path_checker.cases
thf(fact_792_KnightsTour_Otranspose_Ocases,axiom,
    ! [X3: list_P5707943133018811711nt_int] :
      ( ( X3 != nil_Pr2300489316682597567nt_int )
     => ~ ! [S_i3: product_prod_int_int,Ps3: list_P5707943133018811711nt_int] :
            ( X3
           != ( cons_P3334398858971670639nt_int @ S_i3 @ Ps3 ) ) ) ).

% KnightsTour.transpose.cases
thf(fact_793_not__Cons__self2,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( cons_P3334398858971670639nt_int @ X3 @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_794_successively_Osimps_I3_J,axiom,
    ! [P: product_prod_int_int > product_prod_int_int > $o,X3: product_prod_int_int,Y2: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( succes497254780304326540nt_int @ P @ ( cons_P3334398858971670639nt_int @ X3 @ ( cons_P3334398858971670639nt_int @ Y2 @ Xs ) ) )
      = ( ( P @ X3 @ Y2 )
        & ( succes497254780304326540nt_int @ P @ ( cons_P3334398858971670639nt_int @ Y2 @ Xs ) ) ) ) ).

% successively.simps(3)
thf(fact_795_successively_Oelims_I3_J,axiom,
    ! [X3: product_prod_int_int > product_prod_int_int > $o,Xa: list_P5707943133018811711nt_int] :
      ( ~ ( succes497254780304326540nt_int @ X3 @ Xa )
     => ~ ! [X2: product_prod_int_int,Y4: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
            ( ( Xa
              = ( cons_P3334398858971670639nt_int @ X2 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) )
           => ( ( X3 @ X2 @ Y4 )
              & ( succes497254780304326540nt_int @ X3 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) ) ) ) ).

% successively.elims(3)
thf(fact_796_null__rec_I1_J,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ~ ( null_P4123483736518020807nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) ) ).

% null_rec(1)
thf(fact_797_successively_Osimps_I2_J,axiom,
    ! [P: product_prod_int_int > product_prod_int_int > $o,X3: product_prod_int_int] : ( succes497254780304326540nt_int @ P @ ( cons_P3334398858971670639nt_int @ X3 @ nil_Pr2300489316682597567nt_int ) ) ).

% successively.simps(2)
thf(fact_798_successively_Oelims_I1_J,axiom,
    ! [X3: product_prod_int_int > product_prod_int_int > $o,Xa: list_P5707943133018811711nt_int,Y2: $o] :
      ( ( ( succes497254780304326540nt_int @ X3 @ Xa )
        = Y2 )
     => ( ( ( Xa = nil_Pr2300489316682597567nt_int )
         => ~ Y2 )
       => ( ( ? [X2: product_prod_int_int] :
                ( Xa
                = ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) )
           => ~ Y2 )
         => ~ ! [X2: product_prod_int_int,Y4: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
                ( ( Xa
                  = ( cons_P3334398858971670639nt_int @ X2 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) )
               => ( Y2
                  = ( ~ ( ( X3 @ X2 @ Y4 )
                        & ( succes497254780304326540nt_int @ X3 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) ) ) ) ) ) ) ) ).

% successively.elims(1)
thf(fact_799_successively_Oelims_I2_J,axiom,
    ! [X3: product_prod_int_int > product_prod_int_int > $o,Xa: list_P5707943133018811711nt_int] :
      ( ( succes497254780304326540nt_int @ X3 @ Xa )
     => ( ( Xa != nil_Pr2300489316682597567nt_int )
       => ( ! [X2: product_prod_int_int] :
              ( Xa
             != ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) )
         => ~ ! [X2: product_prod_int_int,Y4: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
                ( ( Xa
                  = ( cons_P3334398858971670639nt_int @ X2 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) )
               => ~ ( ( X3 @ X2 @ Y4 )
                    & ( succes497254780304326540nt_int @ X3 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) ) ) ) ) ) ).

% successively.elims(2)
thf(fact_800_List_Otranspose_Ocases,axiom,
    ! [X3: list_l1670014477004246597nt_int] :
      ( ( X3 != nil_li8670148097206105925nt_int )
     => ( ! [Xss: list_l1670014477004246597nt_int] :
            ( X3
           != ( cons_l7309679040211256053nt_int @ nil_Pr2300489316682597567nt_int @ Xss ) )
       => ~ ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int,Xss: list_l1670014477004246597nt_int] :
              ( X3
             != ( cons_l7309679040211256053nt_int @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) @ Xss ) ) ) ) ).

% List.transpose.cases
thf(fact_801_sorted__wrt_Ocases,axiom,
    ! [X3: produc1050408459402128056nt_int] :
      ( ! [P5: product_prod_int_int > product_prod_int_int > $o] :
          ( X3
         != ( produc3328129369365053992nt_int @ P5 @ nil_Pr2300489316682597567nt_int ) )
     => ~ ! [P5: product_prod_int_int > product_prod_int_int > $o,X2: product_prod_int_int,Ys4: list_P5707943133018811711nt_int] :
            ( X3
           != ( produc3328129369365053992nt_int @ P5 @ ( cons_P3334398858971670639nt_int @ X2 @ Ys4 ) ) ) ) ).

% sorted_wrt.cases
thf(fact_802_successively_Ocases,axiom,
    ! [X3: produc1050408459402128056nt_int] :
      ( ! [P5: product_prod_int_int > product_prod_int_int > $o] :
          ( X3
         != ( produc3328129369365053992nt_int @ P5 @ nil_Pr2300489316682597567nt_int ) )
     => ( ! [P5: product_prod_int_int > product_prod_int_int > $o,X2: product_prod_int_int] :
            ( X3
           != ( produc3328129369365053992nt_int @ P5 @ ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) ) )
       => ~ ! [P5: product_prod_int_int > product_prod_int_int > $o,X2: product_prod_int_int,Y4: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
              ( X3
             != ( produc3328129369365053992nt_int @ P5 @ ( cons_P3334398858971670639nt_int @ X2 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) ) ) ) ) ).

% successively.cases
thf(fact_803_splice_Ocases,axiom,
    ! [X3: produc1089560213143673063nt_int] :
      ( ! [Ys4: list_P5707943133018811711nt_int] :
          ( X3
         != ( produc1932183703851549015nt_int @ nil_Pr2300489316682597567nt_int @ Ys4 ) )
     => ~ ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int,Ys4: list_P5707943133018811711nt_int] :
            ( X3
           != ( produc1932183703851549015nt_int @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) @ Ys4 ) ) ) ).

% splice.cases
thf(fact_804_shuffles_Ocases,axiom,
    ! [X3: produc1089560213143673063nt_int] :
      ( ! [Ys4: list_P5707943133018811711nt_int] :
          ( X3
         != ( produc1932183703851549015nt_int @ nil_Pr2300489316682597567nt_int @ Ys4 ) )
     => ( ! [Xs4: list_P5707943133018811711nt_int] :
            ( X3
           != ( produc1932183703851549015nt_int @ Xs4 @ nil_Pr2300489316682597567nt_int ) )
       => ~ ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int,Y4: product_prod_int_int,Ys4: list_P5707943133018811711nt_int] :
              ( X3
             != ( produc1932183703851549015nt_int @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) @ ( cons_P3334398858971670639nt_int @ Y4 @ Ys4 ) ) ) ) ) ).

% shuffles.cases
thf(fact_805_list__nonempty__induct,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: list_P5707943133018811711nt_int > $o] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ! [X2: product_prod_int_int] : ( P @ ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) )
       => ( ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
              ( ( Xs4 != nil_Pr2300489316682597567nt_int )
             => ( ( P @ Xs4 )
               => ( P @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_806_list__induct2_H,axiom,
    ! [P: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > $o,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( P @ nil_Pr2300489316682597567nt_int @ nil_Pr2300489316682597567nt_int )
     => ( ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] : ( P @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) @ nil_Pr2300489316682597567nt_int )
       => ( ! [Y4: product_prod_int_int,Ys4: list_P5707943133018811711nt_int] : ( P @ nil_Pr2300489316682597567nt_int @ ( cons_P3334398858971670639nt_int @ Y4 @ Ys4 ) )
         => ( ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int,Y4: product_prod_int_int,Ys4: list_P5707943133018811711nt_int] :
                ( ( P @ Xs4 @ Ys4 )
               => ( P @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) @ ( cons_P3334398858971670639nt_int @ Y4 @ Ys4 ) ) )
           => ( P @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_807_neq__Nil__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
      = ( ? [Y3: product_prod_int_int,Ys5: list_P5707943133018811711nt_int] :
            ( Xs
            = ( cons_P3334398858971670639nt_int @ Y3 @ Ys5 ) ) ) ) ).

% neq_Nil_conv
thf(fact_808_remdups__adj_Ocases,axiom,
    ! [X3: list_P5707943133018811711nt_int] :
      ( ( X3 != nil_Pr2300489316682597567nt_int )
     => ( ! [X2: product_prod_int_int] :
            ( X3
           != ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) )
       => ~ ! [X2: product_prod_int_int,Y4: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
              ( X3
             != ( cons_P3334398858971670639nt_int @ X2 @ ( cons_P3334398858971670639nt_int @ Y4 @ Xs4 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_809_list_Oexhaust,axiom,
    ! [Y2: list_P5707943133018811711nt_int] :
      ( ( Y2 != nil_Pr2300489316682597567nt_int )
     => ~ ! [X212: product_prod_int_int,X223: list_P5707943133018811711nt_int] :
            ( Y2
           != ( cons_P3334398858971670639nt_int @ X212 @ X223 ) ) ) ).

% list.exhaust
thf(fact_810_list_OdiscI,axiom,
    ! [List: list_P5707943133018811711nt_int,X21: product_prod_int_int,X222: list_P5707943133018811711nt_int] :
      ( ( List
        = ( cons_P3334398858971670639nt_int @ X21 @ X222 ) )
     => ( List != nil_Pr2300489316682597567nt_int ) ) ).

% list.discI
thf(fact_811_list_Odistinct_I1_J,axiom,
    ! [X21: product_prod_int_int,X222: list_P5707943133018811711nt_int] :
      ( nil_Pr2300489316682597567nt_int
     != ( cons_P3334398858971670639nt_int @ X21 @ X222 ) ) ).

% list.distinct(1)
thf(fact_812_successively__Cons,axiom,
    ! [P: product_prod_int_int > product_prod_int_int > $o,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( succes497254780304326540nt_int @ P @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
      = ( ( Xs = nil_Pr2300489316682597567nt_int )
        | ( ( P @ X3 @ ( hd_Pro282112905867057956nt_int @ Xs ) )
          & ( succes497254780304326540nt_int @ P @ Xs ) ) ) ) ).

% successively_Cons
thf(fact_813_nat__zero__as__int,axiom,
    ( zero_zero_nat
    = ( nat2 @ zero_zero_int ) ) ).

% nat_zero_as_int
thf(fact_814_list__induct2,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,P: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > $o] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( P @ nil_Pr2300489316682597567nt_int @ nil_Pr2300489316682597567nt_int )
       => ( ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int,Y4: product_prod_int_int,Ys4: list_P5707943133018811711nt_int] :
              ( ( ( size_s5157815400016825771nt_int @ Xs4 )
                = ( size_s5157815400016825771nt_int @ Ys4 ) )
             => ( ( P @ Xs4 @ Ys4 )
               => ( P @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) @ ( cons_P3334398858971670639nt_int @ Y4 @ Ys4 ) ) ) )
         => ( P @ Xs @ Ys ) ) ) ) ).

% list_induct2
thf(fact_815_list__induct3,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int,P: list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > list_P5707943133018811711nt_int > $o] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ( ( size_s5157815400016825771nt_int @ Ys )
          = ( size_s5157815400016825771nt_int @ Zs ) )
       => ( ( P @ nil_Pr2300489316682597567nt_int @ nil_Pr2300489316682597567nt_int @ nil_Pr2300489316682597567nt_int )
         => ( ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int,Y4: product_prod_int_int,Ys4: list_P5707943133018811711nt_int,Z3: product_prod_int_int,Zs2: list_P5707943133018811711nt_int] :
                ( ( ( size_s5157815400016825771nt_int @ Xs4 )
                  = ( size_s5157815400016825771nt_int @ Ys4 ) )
               => ( ( ( size_s5157815400016825771nt_int @ Ys4 )
                    = ( size_s5157815400016825771nt_int @ Zs2 ) )
                 => ( ( P @ Xs4 @ Ys4 @ Zs2 )
                   => ( P @ ( cons_P3334398858971670639nt_int @ X2 @ Xs4 ) @ ( cons_P3334398858971670639nt_int @ Y4 @ Ys4 ) @ ( cons_P3334398858971670639nt_int @ Z3 @ Zs2 ) ) ) ) )
           => ( P @ Xs @ Ys @ Zs ) ) ) ) ) ).

% list_induct3
thf(fact_816_rev__nonempty__induct,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: list_P5707943133018811711nt_int > $o] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ! [X2: product_prod_int_int] : ( P @ ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) )
       => ( ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
              ( ( Xs4 != nil_Pr2300489316682597567nt_int )
             => ( ( P @ Xs4 )
               => ( P @ ( append7030698103840186580nt_int @ Xs4 @ ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_817_append__eq__Cons__conv,axiom,
    ! [Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( ( append7030698103840186580nt_int @ Ys @ Zs )
        = ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
      = ( ( ( Ys = nil_Pr2300489316682597567nt_int )
          & ( Zs
            = ( cons_P3334398858971670639nt_int @ X3 @ Xs ) ) )
        | ? [Ys6: list_P5707943133018811711nt_int] :
            ( ( Ys
              = ( cons_P3334398858971670639nt_int @ X3 @ Ys6 ) )
            & ( ( append7030698103840186580nt_int @ Ys6 @ Zs )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_818_Cons__eq__append__conv,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ( ( cons_P3334398858971670639nt_int @ X3 @ Xs )
        = ( append7030698103840186580nt_int @ Ys @ Zs ) )
      = ( ( ( Ys = nil_Pr2300489316682597567nt_int )
          & ( ( cons_P3334398858971670639nt_int @ X3 @ Xs )
            = Zs ) )
        | ? [Ys6: list_P5707943133018811711nt_int] :
            ( ( ( cons_P3334398858971670639nt_int @ X3 @ Ys6 )
              = Ys )
            & ( Xs
              = ( append7030698103840186580nt_int @ Ys6 @ Zs ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_819_rev__exhaust,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ~ ! [Ys4: list_P5707943133018811711nt_int,Y4: product_prod_int_int] :
            ( Xs
           != ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ Y4 @ nil_Pr2300489316682597567nt_int ) ) ) ) ).

% rev_exhaust
thf(fact_820_rev__induct,axiom,
    ! [P: list_P5707943133018811711nt_int > $o,Xs: list_P5707943133018811711nt_int] :
      ( ( P @ nil_Pr2300489316682597567nt_int )
     => ( ! [X2: product_prod_int_int,Xs4: list_P5707943133018811711nt_int] :
            ( ( P @ Xs4 )
           => ( P @ ( append7030698103840186580nt_int @ Xs4 @ ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) ) ) )
       => ( P @ Xs ) ) ) ).

% rev_induct
thf(fact_821_split__list,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
     => ? [Ys4: list_P5707943133018811711nt_int,Zs2: list_P5707943133018811711nt_int] :
          ( Xs
          = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X3 @ Zs2 ) ) ) ) ).

% split_list
thf(fact_822_split__list__last,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
     => ? [Ys4: list_P5707943133018811711nt_int,Zs2: list_P5707943133018811711nt_int] :
          ( ( Xs
            = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X3 @ Zs2 ) ) )
          & ~ ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Zs2 ) ) ) ) ).

% split_list_last
thf(fact_823_split__list__prop,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ? [X5: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X5 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
          & ( P @ X5 ) )
     => ? [Ys4: list_P5707943133018811711nt_int,X2: product_prod_int_int] :
          ( ? [Zs2: list_P5707943133018811711nt_int] :
              ( Xs
              = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X2 @ Zs2 ) ) )
          & ( P @ X2 ) ) ) ).

% split_list_prop
thf(fact_824_split__list__first,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
     => ? [Ys4: list_P5707943133018811711nt_int,Zs2: list_P5707943133018811711nt_int] :
          ( ( Xs
            = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X3 @ Zs2 ) ) )
          & ~ ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Ys4 ) ) ) ) ).

% split_list_first
thf(fact_825_split__list__propE,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ? [X5: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X5 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
          & ( P @ X5 ) )
     => ~ ! [Ys4: list_P5707943133018811711nt_int,X2: product_prod_int_int] :
            ( ? [Zs2: list_P5707943133018811711nt_int] :
                ( Xs
                = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X2 @ Zs2 ) ) )
           => ~ ( P @ X2 ) ) ) ).

% split_list_propE
thf(fact_826_append__Cons__eq__iff,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Xs5: list_P5707943133018811711nt_int,Ys7: list_P5707943133018811711nt_int] :
      ( ~ ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
     => ( ~ ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Ys ) )
       => ( ( ( append7030698103840186580nt_int @ Xs @ ( cons_P3334398858971670639nt_int @ X3 @ Ys ) )
            = ( append7030698103840186580nt_int @ Xs5 @ ( cons_P3334398858971670639nt_int @ X3 @ Ys7 ) ) )
          = ( ( Xs = Xs5 )
            & ( Ys = Ys7 ) ) ) ) ) ).

% append_Cons_eq_iff
thf(fact_827_in__set__conv__decomp,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
      = ( ? [Ys5: list_P5707943133018811711nt_int,Zs3: list_P5707943133018811711nt_int] :
            ( Xs
            = ( append7030698103840186580nt_int @ Ys5 @ ( cons_P3334398858971670639nt_int @ X3 @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp
thf(fact_828_split__list__last__prop,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ? [X5: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X5 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
          & ( P @ X5 ) )
     => ? [Ys4: list_P5707943133018811711nt_int,X2: product_prod_int_int,Zs2: list_P5707943133018811711nt_int] :
          ( ( Xs
            = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X2 @ Zs2 ) ) )
          & ( P @ X2 )
          & ! [Xa2: product_prod_int_int] :
              ( ( member5262025264175285858nt_int @ Xa2 @ ( set_Pr2470121279949933262nt_int @ Zs2 ) )
             => ~ ( P @ Xa2 ) ) ) ) ).

% split_list_last_prop
thf(fact_829_split__list__first__prop,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ? [X5: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X5 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
          & ( P @ X5 ) )
     => ? [Ys4: list_P5707943133018811711nt_int,X2: product_prod_int_int] :
          ( ? [Zs2: list_P5707943133018811711nt_int] :
              ( Xs
              = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X2 @ Zs2 ) ) )
          & ( P @ X2 )
          & ! [Xa2: product_prod_int_int] :
              ( ( member5262025264175285858nt_int @ Xa2 @ ( set_Pr2470121279949933262nt_int @ Ys4 ) )
             => ~ ( P @ Xa2 ) ) ) ) ).

% split_list_first_prop
thf(fact_830_split__list__last__propE,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ? [X5: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X5 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
          & ( P @ X5 ) )
     => ~ ! [Ys4: list_P5707943133018811711nt_int,X2: product_prod_int_int,Zs2: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X2 @ Zs2 ) ) )
           => ( ( P @ X2 )
             => ~ ! [Xa2: product_prod_int_int] :
                    ( ( member5262025264175285858nt_int @ Xa2 @ ( set_Pr2470121279949933262nt_int @ Zs2 ) )
                   => ~ ( P @ Xa2 ) ) ) ) ) ).

% split_list_last_propE
thf(fact_831_split__list__first__propE,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ? [X5: product_prod_int_int] :
          ( ( member5262025264175285858nt_int @ X5 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
          & ( P @ X5 ) )
     => ~ ! [Ys4: list_P5707943133018811711nt_int,X2: product_prod_int_int] :
            ( ? [Zs2: list_P5707943133018811711nt_int] :
                ( Xs
                = ( append7030698103840186580nt_int @ Ys4 @ ( cons_P3334398858971670639nt_int @ X2 @ Zs2 ) ) )
           => ( ( P @ X2 )
             => ~ ! [Xa2: product_prod_int_int] :
                    ( ( member5262025264175285858nt_int @ Xa2 @ ( set_Pr2470121279949933262nt_int @ Ys4 ) )
                   => ~ ( P @ Xa2 ) ) ) ) ) ).

% split_list_first_propE
thf(fact_832_in__set__conv__decomp__last,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
      = ( ? [Ys5: list_P5707943133018811711nt_int,Zs3: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( append7030698103840186580nt_int @ Ys5 @ ( cons_P3334398858971670639nt_int @ X3 @ Zs3 ) ) )
            & ~ ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Zs3 ) ) ) ) ) ).

% in_set_conv_decomp_last
thf(fact_833_in__set__conv__decomp__first,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
      = ( ? [Ys5: list_P5707943133018811711nt_int,Zs3: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( append7030698103840186580nt_int @ Ys5 @ ( cons_P3334398858971670639nt_int @ X3 @ Zs3 ) ) )
            & ~ ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Ys5 ) ) ) ) ) ).

% in_set_conv_decomp_first
thf(fact_834_split__list__last__prop__iff,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ( ? [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ ( set_Pr2470121279949933262nt_int @ Xs ) )
            & ( P @ X ) ) )
      = ( ? [Ys5: list_P5707943133018811711nt_int,X: product_prod_int_int,Zs3: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( append7030698103840186580nt_int @ Ys5 @ ( cons_P3334398858971670639nt_int @ X @ Zs3 ) ) )
            & ( P @ X )
            & ! [Y3: product_prod_int_int] :
                ( ( member5262025264175285858nt_int @ Y3 @ ( set_Pr2470121279949933262nt_int @ Zs3 ) )
               => ~ ( P @ Y3 ) ) ) ) ) ).

% split_list_last_prop_iff
thf(fact_835_split__list__first__prop__iff,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ( ? [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ ( set_Pr2470121279949933262nt_int @ Xs ) )
            & ( P @ X ) ) )
      = ( ? [Ys5: list_P5707943133018811711nt_int,X: product_prod_int_int] :
            ( ? [Zs3: list_P5707943133018811711nt_int] :
                ( Xs
                = ( append7030698103840186580nt_int @ Ys5 @ ( cons_P3334398858971670639nt_int @ X @ Zs3 ) ) )
            & ( P @ X )
            & ! [Y3: product_prod_int_int] :
                ( ( member5262025264175285858nt_int @ Y3 @ ( set_Pr2470121279949933262nt_int @ Ys5 ) )
               => ~ ( P @ Y3 ) ) ) ) ) ).

% split_list_first_prop_iff
thf(fact_836_last_Osimps,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ( Xs = nil_Pr2300489316682597567nt_int )
       => ( ( last_P3305686521732843992nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
          = X3 ) )
      & ( ( Xs != nil_Pr2300489316682597567nt_int )
       => ( ( last_P3305686521732843992nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
          = ( last_P3305686521732843992nt_int @ Xs ) ) ) ) ).

% last.simps
thf(fact_837_last__ConsL,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( Xs = nil_Pr2300489316682597567nt_int )
     => ( ( last_P3305686521732843992nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
        = X3 ) ) ).

% last_ConsL
thf(fact_838_last__ConsR,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ( last_P3305686521732843992nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
        = ( last_P3305686521732843992nt_int @ Xs ) ) ) ).

% last_ConsR
thf(fact_839_trans__path_Ocases,axiom,
    ! [X3: produc4058024888802116461nt_int] :
      ( ! [K_12: int,K_22: int] :
          ( X3
         != ( produc8677244595851196253nt_int @ ( product_Pair_int_int @ K_12 @ K_22 ) @ nil_Pr2300489316682597567nt_int ) )
     => ~ ! [K_12: int,K_22: int,I3: int,J3: int,Xs4: list_P5707943133018811711nt_int] :
            ( X3
           != ( produc8677244595851196253nt_int @ ( product_Pair_int_int @ K_12 @ K_22 ) @ ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ I3 @ J3 ) @ Xs4 ) ) ) ) ).

% trans_path.cases
thf(fact_840_distinct__adj__singleton,axiom,
    ! [X3: product_prod_int_int] : ( distin7999467515711547031nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ nil_Pr2300489316682597567nt_int ) ) ).

% distinct_adj_singleton
thf(fact_841_null__rec_I2_J,axiom,
    null_P4123483736518020807nt_int @ nil_Pr2300489316682597567nt_int ).

% null_rec(2)
thf(fact_842_eq__Nil__null,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( Xs = nil_Pr2300489316682597567nt_int )
      = ( null_P4123483736518020807nt_int @ Xs ) ) ).

% eq_Nil_null
thf(fact_843_nat__mono__iff,axiom,
    ! [Z2: int,W: int] :
      ( ( ord_less_int @ zero_zero_int @ Z2 )
     => ( ( ord_less_nat @ ( nat2 @ W ) @ ( nat2 @ Z2 ) )
        = ( ord_less_int @ W @ Z2 ) ) ) ).

% nat_mono_iff
thf(fact_844_zless__nat__eq__int__zless,axiom,
    ! [M: nat,Z2: int] :
      ( ( ord_less_nat @ M @ ( nat2 @ Z2 ) )
      = ( ord_less_int @ ( semiri1314217659103216013at_int @ M ) @ Z2 ) ) ).

% zless_nat_eq_int_zless
thf(fact_845_nat__int__add,axiom,
    ! [A: nat,B: nat] :
      ( ( nat2 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) )
      = ( plus_plus_nat @ A @ B ) ) ).

% nat_int_add
thf(fact_846_same__length__different,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( Xs != Ys )
     => ( ( ( size_s5157815400016825771nt_int @ Xs )
          = ( size_s5157815400016825771nt_int @ Ys ) )
       => ? [Pre: list_P5707943133018811711nt_int,X2: product_prod_int_int,Xs3: list_P5707943133018811711nt_int,Y4: product_prod_int_int,Ys2: list_P5707943133018811711nt_int] :
            ( ( X2 != Y4 )
            & ( Xs
              = ( append7030698103840186580nt_int @ Pre @ ( append7030698103840186580nt_int @ ( cons_P3334398858971670639nt_int @ X2 @ nil_Pr2300489316682597567nt_int ) @ Xs3 ) ) )
            & ( Ys
              = ( append7030698103840186580nt_int @ Pre @ ( append7030698103840186580nt_int @ ( cons_P3334398858971670639nt_int @ Y4 @ nil_Pr2300489316682597567nt_int ) @ Ys2 ) ) ) ) ) ) ).

% same_length_different
thf(fact_847_trans__path_Osimps_I2_J,axiom,
    ! [K_1: int,K_2: int,I: int,J: int,Xs: list_P5707943133018811711nt_int] :
      ( ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ I @ J ) @ Xs ) )
      = ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ ( plus_plus_int @ I @ K_1 ) @ ( plus_plus_int @ J @ K_2 ) ) @ ( trans_path @ ( product_Pair_int_int @ K_1 @ K_2 ) @ Xs ) ) ) ).

% trans_path.simps(2)
thf(fact_848_distinct__adj__Cons,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( distin7999467515711547031nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
      = ( ( Xs = nil_Pr2300489316682597567nt_int )
        | ( ( X3
           != ( hd_Pro282112905867057956nt_int @ Xs ) )
          & ( distin7999467515711547031nt_int @ Xs ) ) ) ) ).

% distinct_adj_Cons
thf(fact_849_knights__circuit__rotate1,axiom,
    ! [B: set_Pr958786334691620121nt_int,S_i: product_prod_int_int,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_circuit @ B @ ( cons_P3334398858971670639nt_int @ S_i @ Ps ) )
     => ( knights_circuit @ B @ ( append7030698103840186580nt_int @ Ps @ ( cons_P3334398858971670639nt_int @ S_i @ nil_Pr2300489316682597567nt_int ) ) ) ) ).

% knights_circuit_rotate1
thf(fact_850_split__nat,axiom,
    ! [P: nat > $o,I: int] :
      ( ( P @ ( nat2 @ I ) )
      = ( ! [N3: nat] :
            ( ( I
              = ( semiri1314217659103216013at_int @ N3 ) )
           => ( P @ N3 ) )
        & ( ( ord_less_int @ I @ zero_zero_int )
         => ( P @ zero_zero_nat ) ) ) ) ).

% split_nat
thf(fact_851_trans__path_Oelims,axiom,
    ! [X3: product_prod_int_int,Xa: list_P5707943133018811711nt_int,Y2: list_P5707943133018811711nt_int] :
      ( ( ( trans_path @ X3 @ Xa )
        = Y2 )
     => ( ( ? [K_12: int,K_22: int] :
              ( X3
              = ( product_Pair_int_int @ K_12 @ K_22 ) )
         => ( ( Xa = nil_Pr2300489316682597567nt_int )
           => ( Y2 != nil_Pr2300489316682597567nt_int ) ) )
       => ~ ! [K_12: int,K_22: int] :
              ( ( X3
                = ( product_Pair_int_int @ K_12 @ K_22 ) )
             => ! [I3: int,J3: int,Xs4: list_P5707943133018811711nt_int] :
                  ( ( Xa
                    = ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ I3 @ J3 ) @ Xs4 ) )
                 => ( Y2
                   != ( cons_P3334398858971670639nt_int @ ( product_Pair_int_int @ ( plus_plus_int @ I3 @ K_12 ) @ ( plus_plus_int @ J3 @ K_22 ) ) @ ( trans_path @ ( product_Pair_int_int @ K_12 @ K_22 ) @ Xs4 ) ) ) ) ) ) ) ).

% trans_path.elims
thf(fact_852_take__hd__drop,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ N @ Xs ) @ ( cons_P3334398858971670639nt_int @ ( hd_Pro282112905867057956nt_int @ ( drop_P5690361596310759935nt_int @ N @ Xs ) ) @ nil_Pr2300489316682597567nt_int ) )
        = ( take_P8218740963776755879nt_int @ ( suc @ N ) @ Xs ) ) ) ).

% take_hd_drop
thf(fact_853_the__elem__set,axiom,
    ! [X3: product_prod_int_int] :
      ( ( the_el8326832613380209454nt_int @ ( set_Pr2470121279949933262nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ nil_Pr2300489316682597567nt_int ) ) )
      = X3 ) ).

% the_elem_set
thf(fact_854_knights__path_Ocases,axiom,
    ! [A1: set_Pr958786334691620121nt_int,A22: list_P5707943133018811711nt_int] :
      ( ( knights_path @ A1 @ A22 )
     => ( ! [S_i3: product_prod_int_int] :
            ( ( A1
              = ( insert5033312907999012233nt_int @ S_i3 @ bot_bo1796632182523588997nt_int ) )
           => ( A22
             != ( cons_P3334398858971670639nt_int @ S_i3 @ nil_Pr2300489316682597567nt_int ) ) )
       => ~ ! [S_i3: product_prod_int_int,B6: set_Pr958786334691620121nt_int] :
              ( ( A1
                = ( sup_su6024340866399070445nt_int @ B6 @ ( insert5033312907999012233nt_int @ S_i3 @ bot_bo1796632182523588997nt_int ) ) )
             => ! [S_j3: product_prod_int_int,Ps3: list_P5707943133018811711nt_int] :
                  ( ( A22
                    = ( cons_P3334398858971670639nt_int @ S_i3 @ ( cons_P3334398858971670639nt_int @ S_j3 @ Ps3 ) ) )
                 => ( ~ ( member5262025264175285858nt_int @ S_i3 @ B6 )
                   => ( ( valid_step @ S_i3 @ S_j3 )
                     => ~ ( knights_path @ B6 @ ( cons_P3334398858971670639nt_int @ S_j3 @ Ps3 ) ) ) ) ) ) ) ) ).

% knights_path.cases
thf(fact_855_knights__path_Osimps,axiom,
    ( knights_path
    = ( ^ [A12: set_Pr958786334691620121nt_int,A23: list_P5707943133018811711nt_int] :
          ( ? [S_i2: product_prod_int_int] :
              ( ( A12
                = ( insert5033312907999012233nt_int @ S_i2 @ bot_bo1796632182523588997nt_int ) )
              & ( A23
                = ( cons_P3334398858971670639nt_int @ S_i2 @ nil_Pr2300489316682597567nt_int ) ) )
          | ? [S_i2: product_prod_int_int,B2: set_Pr958786334691620121nt_int,S_j2: product_prod_int_int,Ps4: list_P5707943133018811711nt_int] :
              ( ( A12
                = ( sup_su6024340866399070445nt_int @ B2 @ ( insert5033312907999012233nt_int @ S_i2 @ bot_bo1796632182523588997nt_int ) ) )
              & ( A23
                = ( cons_P3334398858971670639nt_int @ S_i2 @ ( cons_P3334398858971670639nt_int @ S_j2 @ Ps4 ) ) )
              & ~ ( member5262025264175285858nt_int @ S_i2 @ B2 )
              & ( valid_step @ S_i2 @ S_j2 )
              & ( knights_path @ B2 @ ( cons_P3334398858971670639nt_int @ S_j2 @ Ps4 ) ) ) ) ) ) ).

% knights_path.simps
thf(fact_856_nat_Oinject,axiom,
    ! [X22: nat,Y22: nat] :
      ( ( ( suc @ X22 )
        = ( suc @ Y22 ) )
      = ( X22 = Y22 ) ) ).

% nat.inject
thf(fact_857_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_858_insertCI,axiom,
    ! [A: product_prod_int_int,B3: set_Pr958786334691620121nt_int,B: product_prod_int_int] :
      ( ( ~ ( member5262025264175285858nt_int @ A @ B3 )
       => ( A = B ) )
     => ( member5262025264175285858nt_int @ A @ ( insert5033312907999012233nt_int @ B @ B3 ) ) ) ).

% insertCI
thf(fact_859_insert__iff,axiom,
    ! [A: product_prod_int_int,B: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ A @ ( insert5033312907999012233nt_int @ B @ A3 ) )
      = ( ( A = B )
        | ( member5262025264175285858nt_int @ A @ A3 ) ) ) ).

% insert_iff
thf(fact_860_insert__absorb2,axiom,
    ! [X3: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( insert5033312907999012233nt_int @ X3 @ ( insert5033312907999012233nt_int @ X3 @ A3 ) )
      = ( insert5033312907999012233nt_int @ X3 @ A3 ) ) ).

% insert_absorb2
thf(fact_861_singletonI,axiom,
    ! [A: product_prod_int_int] : ( member5262025264175285858nt_int @ A @ ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int ) ) ).

% singletonI
thf(fact_862_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_863_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_864_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

% lessI
thf(fact_865_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_866_Int__insert__left__if0,axiom,
    ! [A: product_prod_int_int,C2: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ~ ( member5262025264175285858nt_int @ A @ C2 )
     => ( ( inf_in2269163501485487111nt_int @ ( insert5033312907999012233nt_int @ A @ B3 ) @ C2 )
        = ( inf_in2269163501485487111nt_int @ B3 @ C2 ) ) ) ).

% Int_insert_left_if0
thf(fact_867_Int__insert__left__if1,axiom,
    ! [A: product_prod_int_int,C2: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ A @ C2 )
     => ( ( inf_in2269163501485487111nt_int @ ( insert5033312907999012233nt_int @ A @ B3 ) @ C2 )
        = ( insert5033312907999012233nt_int @ A @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) ) ) ) ).

% Int_insert_left_if1
thf(fact_868_insert__inter__insert,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( insert5033312907999012233nt_int @ A @ A3 ) @ ( insert5033312907999012233nt_int @ A @ B3 ) )
      = ( insert5033312907999012233nt_int @ A @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) ).

% insert_inter_insert
thf(fact_869_Int__insert__right__if0,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ~ ( member5262025264175285858nt_int @ A @ A3 )
     => ( ( inf_in2269163501485487111nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ B3 ) )
        = ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) ).

% Int_insert_right_if0
thf(fact_870_Int__insert__right__if1,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ A @ A3 )
     => ( ( inf_in2269163501485487111nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ B3 ) )
        = ( insert5033312907999012233nt_int @ A @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) ) ).

% Int_insert_right_if1
thf(fact_871_Un__insert__left,axiom,
    ! [A: product_prod_int_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( insert5033312907999012233nt_int @ A @ B3 ) @ C2 )
      = ( insert5033312907999012233nt_int @ A @ ( sup_su6024340866399070445nt_int @ B3 @ C2 ) ) ) ).

% Un_insert_left
thf(fact_872_Un__insert__right,axiom,
    ! [A3: set_Pr958786334691620121nt_int,A: product_prod_int_int,B3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ B3 ) )
      = ( insert5033312907999012233nt_int @ A @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) ) ) ).

% Un_insert_right
thf(fact_873_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_874_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_875_list_Osimps_I15_J,axiom,
    ! [X21: product_prod_int_int,X222: list_P5707943133018811711nt_int] :
      ( ( set_Pr2470121279949933262nt_int @ ( cons_P3334398858971670639nt_int @ X21 @ X222 ) )
      = ( insert5033312907999012233nt_int @ X21 @ ( set_Pr2470121279949933262nt_int @ X222 ) ) ) ).

% list.simps(15)
thf(fact_876_insert__disjoint_I1_J,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( inf_in2269163501485487111nt_int @ ( insert5033312907999012233nt_int @ A @ A3 ) @ B3 )
        = bot_bo1796632182523588997nt_int )
      = ( ~ ( member5262025264175285858nt_int @ A @ B3 )
        & ( ( inf_in2269163501485487111nt_int @ A3 @ B3 )
          = bot_bo1796632182523588997nt_int ) ) ) ).

% insert_disjoint(1)
thf(fact_877_insert__disjoint_I2_J,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( bot_bo1796632182523588997nt_int
        = ( inf_in2269163501485487111nt_int @ ( insert5033312907999012233nt_int @ A @ A3 ) @ B3 ) )
      = ( ~ ( member5262025264175285858nt_int @ A @ B3 )
        & ( bot_bo1796632182523588997nt_int
          = ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) ) ).

% insert_disjoint(2)
thf(fact_878_disjoint__insert_I1_J,axiom,
    ! [B3: set_Pr958786334691620121nt_int,A: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( ( inf_in2269163501485487111nt_int @ B3 @ ( insert5033312907999012233nt_int @ A @ A3 ) )
        = bot_bo1796632182523588997nt_int )
      = ( ~ ( member5262025264175285858nt_int @ A @ B3 )
        & ( ( inf_in2269163501485487111nt_int @ B3 @ A3 )
          = bot_bo1796632182523588997nt_int ) ) ) ).

% disjoint_insert(1)
thf(fact_879_disjoint__insert_I2_J,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B: product_prod_int_int,B3: set_Pr958786334691620121nt_int] :
      ( ( bot_bo1796632182523588997nt_int
        = ( inf_in2269163501485487111nt_int @ A3 @ ( insert5033312907999012233nt_int @ B @ B3 ) ) )
      = ( ~ ( member5262025264175285858nt_int @ B @ A3 )
        & ( bot_bo1796632182523588997nt_int
          = ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) ) ).

% disjoint_insert(2)
thf(fact_880_take__Suc__Cons,axiom,
    ! [N: nat,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( take_P8218740963776755879nt_int @ ( suc @ N ) @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
      = ( cons_P3334398858971670639nt_int @ X3 @ ( take_P8218740963776755879nt_int @ N @ Xs ) ) ) ).

% take_Suc_Cons
thf(fact_881_drop__Suc__Cons,axiom,
    ! [N: nat,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( drop_P5690361596310759935nt_int @ ( suc @ N ) @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
      = ( drop_P5690361596310759935nt_int @ N @ Xs ) ) ).

% drop_Suc_Cons
thf(fact_882_the__elem__eq,axiom,
    ! [X3: product_prod_int_int] :
      ( ( the_el8326832613380209454nt_int @ ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) )
      = X3 ) ).

% the_elem_eq
thf(fact_883_negative__zless,axiom,
    ! [N: nat,M: nat] : ( ord_less_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N ) ) ) @ ( semiri1314217659103216013at_int @ M ) ) ).

% negative_zless
thf(fact_884_circuit__checker_Ocases,axiom,
    ! [X3: produc2007852851243229709nt_int] :
      ~ ! [B6: set_Pr958786334691620121nt_int,Ps3: list_P5707943133018811711nt_int] :
          ( X3
         != ( produc2261658324281137661nt_int @ B6 @ Ps3 ) ) ).

% circuit_checker.cases
thf(fact_885_singletonD,axiom,
    ! [B: product_prod_int_int,A: product_prod_int_int] :
      ( ( member5262025264175285858nt_int @ B @ ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int ) )
     => ( B = A ) ) ).

% singletonD
thf(fact_886_singleton__iff,axiom,
    ! [B: product_prod_int_int,A: product_prod_int_int] :
      ( ( member5262025264175285858nt_int @ B @ ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int ) )
      = ( B = A ) ) ).

% singleton_iff
thf(fact_887_doubleton__eq__iff,axiom,
    ! [A: product_prod_int_int,B: product_prod_int_int,C: product_prod_int_int,D: product_prod_int_int] :
      ( ( ( insert5033312907999012233nt_int @ A @ ( insert5033312907999012233nt_int @ B @ bot_bo1796632182523588997nt_int ) )
        = ( insert5033312907999012233nt_int @ C @ ( insert5033312907999012233nt_int @ D @ bot_bo1796632182523588997nt_int ) ) )
      = ( ( ( A = C )
          & ( B = D ) )
        | ( ( A = D )
          & ( B = C ) ) ) ) ).

% doubleton_eq_iff
thf(fact_888_insert__not__empty,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( insert5033312907999012233nt_int @ A @ A3 )
     != bot_bo1796632182523588997nt_int ) ).

% insert_not_empty
thf(fact_889_singleton__inject,axiom,
    ! [A: product_prod_int_int,B: product_prod_int_int] :
      ( ( ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int )
        = ( insert5033312907999012233nt_int @ B @ bot_bo1796632182523588997nt_int ) )
     => ( A = B ) ) ).

% singleton_inject
thf(fact_890_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M4: nat] :
          ( N
          = ( suc @ M4 ) ) ) ).

% not0_implies_Suc
thf(fact_891_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_892_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_893_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_894_zero__induct,axiom,
    ! [P: nat > $o,K: nat] :
      ( ( P @ K )
     => ( ! [N2: nat] :
            ( ( P @ ( suc @ N2 ) )
           => ( P @ N2 ) )
       => ( P @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_895_diff__induct,axiom,
    ! [P: nat > nat > $o,M: nat,N: nat] :
      ( ! [X2: nat] : ( P @ X2 @ zero_zero_nat )
     => ( ! [Y4: nat] : ( P @ zero_zero_nat @ ( suc @ Y4 ) )
       => ( ! [X2: nat,Y4: nat] :
              ( ( P @ X2 @ Y4 )
             => ( P @ ( suc @ X2 ) @ ( suc @ Y4 ) ) )
         => ( P @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_896_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( P @ N2 )
           => ( P @ ( suc @ N2 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_897_row__exec_Ocases,axiom,
    ! [X3: nat] :
      ( ( X3 != zero_zero_nat )
     => ~ ! [V: nat] :
            ( X3
           != ( suc @ V ) ) ) ).

% row_exec.cases
thf(fact_898_old_Onat_Oexhaust,axiom,
    ! [Y2: nat] :
      ( ( Y2 != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y2
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_899_nat_OdiscI,axiom,
    ! [Nat: nat,X22: nat] :
      ( ( Nat
        = ( suc @ X22 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_900_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_901_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_902_nat_Odistinct_I1_J,axiom,
    ! [X22: nat] :
      ( zero_zero_nat
     != ( suc @ X22 ) ) ).

% nat.distinct(1)
thf(fact_903_board__exec__aux_Ocases,axiom,
    ! [X3: produc9133624956312949779et_int] :
      ( ! [M5: set_int] :
          ( X3
         != ( produc29655638201817675et_int @ zero_zero_nat @ M5 ) )
     => ~ ! [V: nat,M5: set_int] :
            ( X3
           != ( produc29655638201817675et_int @ ( suc @ V ) @ M5 ) ) ) ).

% board_exec_aux.cases
thf(fact_904_Int__insert__left,axiom,
    ! [A: product_prod_int_int,C2: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( member5262025264175285858nt_int @ A @ C2 )
       => ( ( inf_in2269163501485487111nt_int @ ( insert5033312907999012233nt_int @ A @ B3 ) @ C2 )
          = ( insert5033312907999012233nt_int @ A @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) ) ) )
      & ( ~ ( member5262025264175285858nt_int @ A @ C2 )
       => ( ( inf_in2269163501485487111nt_int @ ( insert5033312907999012233nt_int @ A @ B3 ) @ C2 )
          = ( inf_in2269163501485487111nt_int @ B3 @ C2 ) ) ) ) ).

% Int_insert_left
thf(fact_905_Int__insert__right,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( member5262025264175285858nt_int @ A @ A3 )
       => ( ( inf_in2269163501485487111nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ B3 ) )
          = ( insert5033312907999012233nt_int @ A @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) )
      & ( ~ ( member5262025264175285858nt_int @ A @ A3 )
       => ( ( inf_in2269163501485487111nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ B3 ) )
          = ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ) ) ).

% Int_insert_right
thf(fact_906_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_907_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_908_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,J3: nat,K2: nat] :
              ( ( ord_less_nat @ I3 @ J3 )
             => ( ( ord_less_nat @ J3 @ K2 )
               => ( ( P @ I3 @ J3 )
                 => ( ( P @ J3 @ K2 )
                   => ( P @ I3 @ K2 ) ) ) ) )
         => ( P @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_909_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_910_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_911_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_912_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M6: nat] :
            ( ( M
              = ( suc @ M6 ) )
            & ( ord_less_nat @ N @ M6 ) ) ) ) ).

% Suc_less_eq2
thf(fact_913_All__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
           => ( P @ I5 ) ) )
      = ( ( P @ N )
        & ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
           => ( P @ I5 ) ) ) ) ).

% All_less_Suc
thf(fact_914_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_915_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_916_Ex__less__Suc,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
            & ( P @ I5 ) ) )
      = ( ( P @ N )
        | ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
            & ( P @ I5 ) ) ) ) ).

% Ex_less_Suc
thf(fact_917_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_918_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_919_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_920_Suc__lessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K )
     => ~ ! [J3: nat] :
            ( ( ord_less_nat @ I @ J3 )
           => ( K
             != ( suc @ J3 ) ) ) ) ).

% Suc_lessE
thf(fact_921_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_922_Nat_OlessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ I @ K )
     => ( ( K
         != ( suc @ I ) )
       => ~ ! [J3: nat] :
              ( ( ord_less_nat @ I @ J3 )
             => ( K
               != ( suc @ J3 ) ) ) ) ) ).

% Nat.lessE
thf(fact_923_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_924_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_925_nat__arith_Osuc1,axiom,
    ! [A3: nat,K: nat,A: nat] :
      ( ( A3
        = ( plus_plus_nat @ K @ A ) )
     => ( ( suc @ A3 )
        = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_926_insertE,axiom,
    ! [A: product_prod_int_int,B: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ A @ ( insert5033312907999012233nt_int @ B @ A3 ) )
     => ( ( A != B )
       => ( member5262025264175285858nt_int @ A @ A3 ) ) ) ).

% insertE
thf(fact_927_insertI1,axiom,
    ! [A: product_prod_int_int,B3: set_Pr958786334691620121nt_int] : ( member5262025264175285858nt_int @ A @ ( insert5033312907999012233nt_int @ A @ B3 ) ) ).

% insertI1
thf(fact_928_insertI2,axiom,
    ! [A: product_prod_int_int,B3: set_Pr958786334691620121nt_int,B: product_prod_int_int] :
      ( ( member5262025264175285858nt_int @ A @ B3 )
     => ( member5262025264175285858nt_int @ A @ ( insert5033312907999012233nt_int @ B @ B3 ) ) ) ).

% insertI2
thf(fact_929_Set_Oset__insert,axiom,
    ! [X3: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ A3 )
     => ~ ! [B7: set_Pr958786334691620121nt_int] :
            ( ( A3
              = ( insert5033312907999012233nt_int @ X3 @ B7 ) )
           => ( member5262025264175285858nt_int @ X3 @ B7 ) ) ) ).

% Set.set_insert
thf(fact_930_insert__ident,axiom,
    ! [X3: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ~ ( member5262025264175285858nt_int @ X3 @ A3 )
     => ( ~ ( member5262025264175285858nt_int @ X3 @ B3 )
       => ( ( ( insert5033312907999012233nt_int @ X3 @ A3 )
            = ( insert5033312907999012233nt_int @ X3 @ B3 ) )
          = ( A3 = B3 ) ) ) ) ).

% insert_ident
thf(fact_931_insert__absorb,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ A @ A3 )
     => ( ( insert5033312907999012233nt_int @ A @ A3 )
        = A3 ) ) ).

% insert_absorb
thf(fact_932_insert__eq__iff,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B: product_prod_int_int,B3: set_Pr958786334691620121nt_int] :
      ( ~ ( member5262025264175285858nt_int @ A @ A3 )
     => ( ~ ( member5262025264175285858nt_int @ B @ B3 )
       => ( ( ( insert5033312907999012233nt_int @ A @ A3 )
            = ( insert5033312907999012233nt_int @ B @ B3 ) )
          = ( ( ( A = B )
             => ( A3 = B3 ) )
            & ( ( A != B )
             => ? [C5: set_Pr958786334691620121nt_int] :
                  ( ( A3
                    = ( insert5033312907999012233nt_int @ B @ C5 ) )
                  & ~ ( member5262025264175285858nt_int @ B @ C5 )
                  & ( B3
                    = ( insert5033312907999012233nt_int @ A @ C5 ) )
                  & ~ ( member5262025264175285858nt_int @ A @ C5 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_933_insert__commute,axiom,
    ! [X3: product_prod_int_int,Y2: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( insert5033312907999012233nt_int @ X3 @ ( insert5033312907999012233nt_int @ Y2 @ A3 ) )
      = ( insert5033312907999012233nt_int @ Y2 @ ( insert5033312907999012233nt_int @ X3 @ A3 ) ) ) ).

% insert_commute
thf(fact_934_mk__disjoint__insert,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ A @ A3 )
     => ? [B7: set_Pr958786334691620121nt_int] :
          ( ( A3
            = ( insert5033312907999012233nt_int @ A @ B7 ) )
          & ~ ( member5262025264175285858nt_int @ A @ B7 ) ) ) ).

% mk_disjoint_insert
thf(fact_935_Suc__inject,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( ( suc @ X3 )
        = ( suc @ Y2 ) )
     => ( X3 = Y2 ) ) ).

% Suc_inject
thf(fact_936_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_937_lift__Suc__mono__less,axiom,
    ! [F: nat > nat,N: nat,N4: nat] :
      ( ! [N2: nat] : ( ord_less_nat @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ N @ N4 )
       => ( ord_less_nat @ ( F @ N ) @ ( F @ N4 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_938_lift__Suc__mono__less,axiom,
    ! [F: nat > int,N: nat,N4: nat] :
      ( ! [N2: nat] : ( ord_less_int @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ N @ N4 )
       => ( ord_less_int @ ( F @ N ) @ ( F @ N4 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_939_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat,N: nat,M: nat] :
      ( ! [N2: nat] : ( ord_less_nat @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_940_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > int,N: nat,M: nat] :
      ( ! [N2: nat] : ( ord_less_int @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_int @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_941_of__nat__neq__0,axiom,
    ! [N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( suc @ N ) )
     != zero_zero_nat ) ).

% of_nat_neq_0
thf(fact_942_of__nat__neq__0,axiom,
    ! [N: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ N ) )
     != zero_zero_int ) ).

% of_nat_neq_0
thf(fact_943_insert__is__Un,axiom,
    ( insert5033312907999012233nt_int
    = ( ^ [A2: product_prod_int_int] : ( sup_su6024340866399070445nt_int @ ( insert5033312907999012233nt_int @ A2 @ bot_bo1796632182523588997nt_int ) ) ) ) ).

% insert_is_Un
thf(fact_944_Un__singleton__iff,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,X3: product_prod_int_int] :
      ( ( ( sup_su6024340866399070445nt_int @ A3 @ B3 )
        = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) )
      = ( ( ( A3 = bot_bo1796632182523588997nt_int )
          & ( B3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) ) )
        | ( ( A3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) )
          & ( B3 = bot_bo1796632182523588997nt_int ) )
        | ( ( A3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) )
          & ( B3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) ) ) ) ) ).

% Un_singleton_iff
thf(fact_945_singleton__Un__iff,axiom,
    ! [X3: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int )
        = ( sup_su6024340866399070445nt_int @ A3 @ B3 ) )
      = ( ( ( A3 = bot_bo1796632182523588997nt_int )
          & ( B3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) ) )
        | ( ( A3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) )
          & ( B3 = bot_bo1796632182523588997nt_int ) )
        | ( ( A3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) )
          & ( B3
            = ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) ) ) ) ) ).

% singleton_Un_iff
thf(fact_946_Ex__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
            & ( P @ I5 ) ) )
      = ( ( P @ zero_zero_nat )
        | ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
            & ( P @ ( suc @ I5 ) ) ) ) ) ).

% Ex_less_Suc2
thf(fact_947_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M3: nat] :
            ( N
            = ( suc @ M3 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_948_All__less__Suc2,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
           => ( P @ I5 ) ) )
      = ( ( P @ zero_zero_nat )
        & ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
           => ( P @ ( suc @ I5 ) ) ) ) ) ).

% All_less_Suc2
thf(fact_949_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M4: nat] :
          ( N
          = ( suc @ M4 ) ) ) ).

% gr0_implies_Suc
thf(fact_950_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J5: nat] :
            ( ( M
              = ( suc @ J5 ) )
            & ( ord_less_nat @ J5 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_951_length__Suc__conv,axiom,
    ! [Xs: list_P5707943133018811711nt_int,N: nat] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( suc @ N ) )
      = ( ? [Y3: product_prod_int_int,Ys5: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( cons_P3334398858971670639nt_int @ Y3 @ Ys5 ) )
            & ( ( size_s5157815400016825771nt_int @ Ys5 )
              = N ) ) ) ) ).

% length_Suc_conv
thf(fact_952_Suc__length__conv,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ( suc @ N )
        = ( size_s5157815400016825771nt_int @ Xs ) )
      = ( ? [Y3: product_prod_int_int,Ys5: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( cons_P3334398858971670639nt_int @ Y3 @ Ys5 ) )
            & ( ( size_s5157815400016825771nt_int @ Ys5 )
              = N ) ) ) ) ).

% Suc_length_conv
thf(fact_953_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_954_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_955_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_956_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M3: nat,N3: nat] :
        ? [K3: nat] :
          ( N3
          = ( suc @ ( plus_plus_nat @ M3 @ K3 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_957_less__add__Suc2,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M @ I ) ) ) ).

% less_add_Suc2
thf(fact_958_less__add__Suc1,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M ) ) ) ).

% less_add_Suc1
thf(fact_959_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q2: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q2 ) ) ) ) ).

% less_natE
thf(fact_960_int__of__nat__induct,axiom,
    ! [P: int > $o,Z2: int] :
      ( ! [N2: nat] : ( P @ ( semiri1314217659103216013at_int @ N2 ) )
     => ( ! [N2: nat] : ( P @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N2 ) ) ) )
       => ( P @ Z2 ) ) ) ).

% int_of_nat_induct
thf(fact_961_int__cases,axiom,
    ! [Z2: int] :
      ( ! [N2: nat] :
          ( Z2
         != ( semiri1314217659103216013at_int @ N2 ) )
     => ~ ! [N2: nat] :
            ( Z2
           != ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N2 ) ) ) ) ) ).

% int_cases
thf(fact_962_gen__length__code_I2_J,axiom,
    ! [N: nat,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( gen_le8428774395332151372nt_int @ N @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
      = ( gen_le8428774395332151372nt_int @ ( suc @ N ) @ Xs ) ) ).

% gen_length_code(2)
thf(fact_963_zless__iff__Suc__zadd,axiom,
    ( ord_less_int
    = ( ^ [W2: int,Z4: int] :
        ? [N3: nat] :
          ( Z4
          = ( plus_plus_int @ W2 @ ( semiri1314217659103216013at_int @ ( suc @ N3 ) ) ) ) ) ) ).

% zless_iff_Suc_zadd
thf(fact_964_list_Osize_I4_J,axiom,
    ! [X21: product_prod_int_int,X222: list_P5707943133018811711nt_int] :
      ( ( size_s5157815400016825771nt_int @ ( cons_P3334398858971670639nt_int @ X21 @ X222 ) )
      = ( plus_plus_nat @ ( size_s5157815400016825771nt_int @ X222 ) @ ( suc @ zero_zero_nat ) ) ) ).

% list.size(4)
thf(fact_965_length__Suc__conv__rev,axiom,
    ! [Xs: list_P5707943133018811711nt_int,N: nat] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( suc @ N ) )
      = ( ? [Y3: product_prod_int_int,Ys5: list_P5707943133018811711nt_int] :
            ( ( Xs
              = ( append7030698103840186580nt_int @ Ys5 @ ( cons_P3334398858971670639nt_int @ Y3 @ nil_Pr2300489316682597567nt_int ) ) )
            & ( ( size_s5157815400016825771nt_int @ Ys5 )
              = N ) ) ) ) ).

% length_Suc_conv_rev
thf(fact_966_negative__zless__0,axiom,
    ! [N: nat] : ( ord_less_int @ ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N ) ) ) @ zero_zero_int ) ).

% negative_zless_0
thf(fact_967_negD,axiom,
    ! [X3: int] :
      ( ( ord_less_int @ X3 @ zero_zero_int )
     => ? [N2: nat] :
          ( X3
          = ( uminus_uminus_int @ ( semiri1314217659103216013at_int @ ( suc @ N2 ) ) ) ) ) ).

% negD
thf(fact_968_knights__path_Ointros_I1_J,axiom,
    ! [S_i: product_prod_int_int] : ( knights_path @ ( insert5033312907999012233nt_int @ S_i @ bot_bo1796632182523588997nt_int ) @ ( cons_P3334398858971670639nt_int @ S_i @ nil_Pr2300489316682597567nt_int ) ) ).

% knights_path.intros(1)
thf(fact_969_knights__path_Ointros_I2_J,axiom,
    ! [S_i: product_prod_int_int,B: set_Pr958786334691620121nt_int,S_j: product_prod_int_int,Ps: list_P5707943133018811711nt_int] :
      ( ~ ( member5262025264175285858nt_int @ S_i @ B )
     => ( ( valid_step @ S_i @ S_j )
       => ( ( knights_path @ B @ ( cons_P3334398858971670639nt_int @ S_j @ Ps ) )
         => ( knights_path @ ( sup_su6024340866399070445nt_int @ B @ ( insert5033312907999012233nt_int @ S_i @ bot_bo1796632182523588997nt_int ) ) @ ( cons_P3334398858971670639nt_int @ S_i @ ( cons_P3334398858971670639nt_int @ S_j @ Ps ) ) ) ) ) ) ).

% knights_path.intros(2)
thf(fact_970_length__append__singleton,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( size_s5157815400016825771nt_int @ ( append7030698103840186580nt_int @ Xs @ ( cons_P3334398858971670639nt_int @ X3 @ nil_Pr2300489316682597567nt_int ) ) )
      = ( suc @ ( size_s5157815400016825771nt_int @ Xs ) ) ) ).

% length_append_singleton
thf(fact_971_n__lists__Nil,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( n_list2671089462871817415nt_int @ N @ nil_Pr2300489316682597567nt_int )
          = ( cons_l7309679040211256053nt_int @ nil_Pr2300489316682597567nt_int @ nil_li8670148097206105925nt_int ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( n_list2671089462871817415nt_int @ N @ nil_Pr2300489316682597567nt_int )
          = nil_li8670148097206105925nt_int ) ) ) ).

% n_lists_Nil
thf(fact_972_length__Cons,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( size_s5157815400016825771nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
      = ( suc @ ( size_s5157815400016825771nt_int @ Xs ) ) ) ).

% length_Cons
thf(fact_973_length__n__lists__elem,axiom,
    ! [Ys: list_P5707943133018811711nt_int,N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( member2764346250752101224nt_int @ Ys @ ( set_li2659200638379878868nt_int @ ( n_list2671089462871817415nt_int @ N @ Xs ) ) )
     => ( ( size_s5157815400016825771nt_int @ Ys )
        = N ) ) ).

% length_n_lists_elem
thf(fact_974_n__lists_Osimps_I1_J,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( n_list2671089462871817415nt_int @ zero_zero_nat @ Xs )
      = ( cons_l7309679040211256053nt_int @ nil_Pr2300489316682597567nt_int @ nil_li8670148097206105925nt_int ) ) ).

% n_lists.simps(1)
thf(fact_975_is__singleton__the__elem,axiom,
    ( is_sin8895854488172861613nt_int
    = ( ^ [A4: set_Pr958786334691620121nt_int] :
          ( A4
          = ( insert5033312907999012233nt_int @ ( the_el8326832613380209454nt_int @ A4 ) @ bot_bo1796632182523588997nt_int ) ) ) ) ).

% is_singleton_the_elem
thf(fact_976_is__singletonI,axiom,
    ! [X3: product_prod_int_int] : ( is_sin8895854488172861613nt_int @ ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) ) ).

% is_singletonI
thf(fact_977_is__singletonI_H,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( A3 != bot_bo1796632182523588997nt_int )
     => ( ! [X2: product_prod_int_int,Y4: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X2 @ A3 )
           => ( ( member5262025264175285858nt_int @ Y4 @ A3 )
             => ( X2 = Y4 ) ) )
       => ( is_sin8895854488172861613nt_int @ A3 ) ) ) ).

% is_singletonI'
thf(fact_978_is__singleton__def,axiom,
    ( is_sin8895854488172861613nt_int
    = ( ^ [A4: set_Pr958786334691620121nt_int] :
        ? [X: product_prod_int_int] :
          ( A4
          = ( insert5033312907999012233nt_int @ X @ bot_bo1796632182523588997nt_int ) ) ) ) ).

% is_singleton_def
thf(fact_979_is__singletonE,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( is_sin8895854488172861613nt_int @ A3 )
     => ~ ! [X2: product_prod_int_int] :
            ( A3
           != ( insert5033312907999012233nt_int @ X2 @ bot_bo1796632182523588997nt_int ) ) ) ).

% is_singletonE
thf(fact_980_upd__conv__take__nth__drop,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int,A: product_prod_int_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( list_u3002344382305578791nt_int @ Xs @ I @ A )
        = ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ I @ Xs ) @ ( cons_P3334398858971670639nt_int @ A @ ( drop_P5690361596310759935nt_int @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% upd_conv_take_nth_drop
thf(fact_981_Cons__lenlex__iff,axiom,
    ! [M: int,Ms: list_int,N: int,Ns: list_int,R: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ M @ Ms ) @ ( cons_int @ N @ Ns ) ) @ ( lenlex_int @ R ) )
      = ( ( ord_less_nat @ ( size_size_list_int @ Ms ) @ ( size_size_list_int @ Ns ) )
        | ( ( ( size_size_list_int @ Ms )
            = ( size_size_list_int @ Ns ) )
          & ( member5262025264175285858nt_int @ ( product_Pair_int_int @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Ms @ Ns ) @ ( lenlex_int @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_982_Cons__lenlex__iff,axiom,
    ! [M: product_prod_int_int,Ms: list_P5707943133018811711nt_int,N: product_prod_int_int,Ns: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int] :
      ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ ( cons_P3334398858971670639nt_int @ M @ Ms ) @ ( cons_P3334398858971670639nt_int @ N @ Ns ) ) @ ( lenlex6370358691973319492nt_int @ R ) )
      = ( ( ord_less_nat @ ( size_s5157815400016825771nt_int @ Ms ) @ ( size_s5157815400016825771nt_int @ Ns ) )
        | ( ( ( size_s5157815400016825771nt_int @ Ms )
            = ( size_s5157815400016825771nt_int @ Ns ) )
          & ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ M @ N ) @ R ) )
        | ( ( M = N )
          & ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Ms @ Ns ) @ ( lenlex6370358691973319492nt_int @ R ) ) ) ) ) ).

% Cons_lenlex_iff
thf(fact_983_list__update__nonempty,axiom,
    ! [Xs: list_P5707943133018811711nt_int,K: nat,X3: product_prod_int_int] :
      ( ( ( list_u3002344382305578791nt_int @ Xs @ K @ X3 )
        = nil_Pr2300489316682597567nt_int )
      = ( Xs = nil_Pr2300489316682597567nt_int ) ) ).

% list_update_nonempty
thf(fact_984_length__list__update,axiom,
    ! [Xs: list_P5707943133018811711nt_int,I: nat,X3: product_prod_int_int] :
      ( ( size_s5157815400016825771nt_int @ ( list_u3002344382305578791nt_int @ Xs @ I @ X3 ) )
      = ( size_s5157815400016825771nt_int @ Xs ) ) ).

% length_list_update
thf(fact_985_drop__update__cancel,axiom,
    ! [N: nat,M: nat,Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ord_less_nat @ N @ M )
     => ( ( drop_P5690361596310759935nt_int @ M @ ( list_u3002344382305578791nt_int @ Xs @ N @ X3 ) )
        = ( drop_P5690361596310759935nt_int @ M @ Xs ) ) ) ).

% drop_update_cancel
thf(fact_986_Nil__lenlex__iff1,axiom,
    ! [Ns: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int] :
      ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ nil_Pr2300489316682597567nt_int @ Ns ) @ ( lenlex6370358691973319492nt_int @ R ) )
      = ( Ns != nil_Pr2300489316682597567nt_int ) ) ).

% Nil_lenlex_iff1
thf(fact_987_list__update__length,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int,Ys: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( list_u3002344382305578791nt_int @ ( append7030698103840186580nt_int @ Xs @ ( cons_P3334398858971670639nt_int @ X3 @ Ys ) ) @ ( size_s5157815400016825771nt_int @ Xs ) @ Y2 )
      = ( append7030698103840186580nt_int @ Xs @ ( cons_P3334398858971670639nt_int @ Y2 @ Ys ) ) ) ).

% list_update_length
thf(fact_988_list__update_Osimps_I1_J,axiom,
    ! [I: nat,V2: product_prod_int_int] :
      ( ( list_u3002344382305578791nt_int @ nil_Pr2300489316682597567nt_int @ I @ V2 )
      = nil_Pr2300489316682597567nt_int ) ).

% list_update.simps(1)
thf(fact_989_list__update__code_I1_J,axiom,
    ! [I: nat,Y2: product_prod_int_int] :
      ( ( list_u3002344382305578791nt_int @ nil_Pr2300489316682597567nt_int @ I @ Y2 )
      = nil_Pr2300489316682597567nt_int ) ).

% list_update_code(1)
thf(fact_990_take__update__swap,axiom,
    ! [M: nat,Xs: list_P5707943133018811711nt_int,N: nat,X3: product_prod_int_int] :
      ( ( take_P8218740963776755879nt_int @ M @ ( list_u3002344382305578791nt_int @ Xs @ N @ X3 ) )
      = ( list_u3002344382305578791nt_int @ ( take_P8218740963776755879nt_int @ M @ Xs ) @ N @ X3 ) ) ).

% take_update_swap
thf(fact_991_list__update__code_I2_J,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( list_u3002344382305578791nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ zero_zero_nat @ Y2 )
      = ( cons_P3334398858971670639nt_int @ Y2 @ Xs ) ) ).

% list_update_code(2)
thf(fact_992_list__update__code_I3_J,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,I: nat,Y2: product_prod_int_int] :
      ( ( list_u3002344382305578791nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ ( suc @ I ) @ Y2 )
      = ( cons_P3334398858971670639nt_int @ X3 @ ( list_u3002344382305578791nt_int @ Xs @ I @ Y2 ) ) ) ).

% list_update_code(3)
thf(fact_993_zip__update,axiom,
    ! [Xs: list_nat,I: nat,X3: nat,Ys: list_set_int,Y2: set_int] :
      ( ( zip_nat_set_int @ ( list_update_nat @ Xs @ I @ X3 ) @ ( list_update_set_int @ Ys @ I @ Y2 ) )
      = ( list_u7092962573381667713et_int @ ( zip_nat_set_int @ Xs @ Ys ) @ I @ ( produc29655638201817675et_int @ X3 @ Y2 ) ) ) ).

% zip_update
thf(fact_994_zip__update,axiom,
    ! [Xs: list_int,I: nat,X3: int,Ys: list_l1670014477004246597nt_int,Y2: list_P5707943133018811711nt_int] :
      ( ( zip_in8018307065301790106nt_int @ ( list_update_int @ Xs @ I @ X3 ) @ ( list_u1995434435150319021nt_int @ Ys @ I @ Y2 ) )
      = ( list_u6063430246987531802nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) @ I @ ( produc8814303788642274490nt_int @ X3 @ Y2 ) ) ) ).

% zip_update
thf(fact_995_zip__update,axiom,
    ! [Xs: list_int,I: nat,X3: int,Ys: list_int,Y2: int] :
      ( ( zip_int_int @ ( list_update_int @ Xs @ I @ X3 ) @ ( list_update_int @ Ys @ I @ Y2 ) )
      = ( list_u3002344382305578791nt_int @ ( zip_int_int @ Xs @ Ys ) @ I @ ( product_Pair_int_int @ X3 @ Y2 ) ) ) ).

% zip_update
thf(fact_996_zip__update,axiom,
    ! [Xs: list_P1743416141875011707e_term,I: nat,X3: produc8551481072490612790e_term > option6357759511663192854e_term,Ys: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( zip_Pr4168994715204986005nt_int @ ( list_u3533491785856317309e_term @ Xs @ I @ X3 ) @ ( list_u3002344382305578791nt_int @ Ys @ I @ Y2 ) )
      = ( list_u7736365598306452245nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) @ I @ ( produc5700946648718959541nt_int @ X3 @ Y2 ) ) ) ).

% zip_update
thf(fact_997_zip__update,axiom,
    ! [Xs: list_i8448526496819171953e_term,I: nat,X3: int > option6357759511663192854e_term,Ys: list_P5707943133018811711nt_int,Y2: product_prod_int_int] :
      ( ( zip_in8766932505889695135nt_int @ ( list_u8946639151299769843e_term @ Xs @ I @ X3 ) @ ( list_u3002344382305578791nt_int @ Ys @ I @ Y2 ) )
      = ( list_u4780935413889332127nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) @ I @ ( produc4305682042979456191nt_int @ X3 @ Y2 ) ) ) ).

% zip_update
thf(fact_998_lenlex__irreflexive,axiom,
    ! [R: set_Pr958786334691620121nt_int,Xs: list_int] :
      ( ! [X2: int] :
          ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X2 @ X2 ) @ R )
     => ~ ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs @ Xs ) @ ( lenlex_int @ R ) ) ) ).

% lenlex_irreflexive
thf(fact_999_Nil__lenlex__iff2,axiom,
    ! [Ns: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int] :
      ~ ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Ns @ nil_Pr2300489316682597567nt_int ) @ ( lenlex6370358691973319492nt_int @ R ) ) ).

% Nil_lenlex_iff2
thf(fact_1000_set__update__memI,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ ( list_u3002344382305578791nt_int @ Xs @ N @ X3 ) ) ) ) ).

% set_update_memI
thf(fact_1001_list__update__append1,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( list_u3002344382305578791nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ I @ X3 )
        = ( append7030698103840186580nt_int @ ( list_u3002344382305578791nt_int @ Xs @ I @ X3 ) @ Ys ) ) ) ).

% list_update_append1
thf(fact_1002_lenlex__append1,axiom,
    ! [Us2: list_P5707943133018811711nt_int,Xs: list_P5707943133018811711nt_int,R2: set_Pr2560585780119916871nt_int,Vs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Us2 @ Xs ) @ ( lenlex6370358691973319492nt_int @ R2 ) )
     => ( ( ( size_s5157815400016825771nt_int @ Vs )
          = ( size_s5157815400016825771nt_int @ Ys ) )
       => ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ ( append7030698103840186580nt_int @ Us2 @ Vs ) @ ( append7030698103840186580nt_int @ Xs @ Ys ) ) @ ( lenlex6370358691973319492nt_int @ R2 ) ) ) ) ).

% lenlex_append1
thf(fact_1003_Cons__in__lex,axiom,
    ! [X3: int,Xs: list_int,Y2: int,Ys: list_int,R: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( cons_int @ X3 @ Xs ) @ ( cons_int @ Y2 @ Ys ) ) @ ( lex_int @ R ) )
      = ( ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X3 @ Y2 ) @ R )
          & ( ( size_size_list_int @ Xs )
            = ( size_size_list_int @ Ys ) ) )
        | ( ( X3 = Y2 )
          & ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs @ Ys ) @ ( lex_int @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_1004_Cons__in__lex,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,Y2: product_prod_int_int,Ys: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int] :
      ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ ( cons_P3334398858971670639nt_int @ Y2 @ Ys ) ) @ ( lex_Pr5393148144989827363nt_int @ R ) )
      = ( ( ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ X3 @ Y2 ) @ R )
          & ( ( size_s5157815400016825771nt_int @ Xs )
            = ( size_s5157815400016825771nt_int @ Ys ) ) )
        | ( ( X3 = Y2 )
          & ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Xs @ Ys ) @ ( lex_Pr5393148144989827363nt_int @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_1005_SuccI,axiom,
    ! [Kl: list_P5707943133018811711nt_int,K: product_prod_int_int,Kl2: set_li3855193629254082847nt_int] :
      ( ( member2764346250752101224nt_int @ ( append7030698103840186580nt_int @ Kl @ ( cons_P3334398858971670639nt_int @ K @ nil_Pr2300489316682597567nt_int ) ) @ Kl2 )
     => ( member5262025264175285858nt_int @ K @ ( bNF_Gr2185362013987207252nt_int @ Kl2 @ Kl ) ) ) ).

% SuccI
thf(fact_1006_Nil__notin__lex,axiom,
    ! [Ys: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int] :
      ~ ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ nil_Pr2300489316682597567nt_int @ Ys ) @ ( lex_Pr5393148144989827363nt_int @ R ) ) ).

% Nil_notin_lex
thf(fact_1007_Nil2__notin__lex,axiom,
    ! [Xs: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int] :
      ~ ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Xs @ nil_Pr2300489316682597567nt_int ) @ ( lex_Pr5393148144989827363nt_int @ R ) ) ).

% Nil2_notin_lex
thf(fact_1008_lex__append__leftI,axiom,
    ! [Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Ys @ Zs ) @ ( lex_Pr5393148144989827363nt_int @ R ) )
     => ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ ( append7030698103840186580nt_int @ Xs @ Zs ) ) @ ( lex_Pr5393148144989827363nt_int @ R ) ) ) ).

% lex_append_leftI
thf(fact_1009_lex__append__leftD,axiom,
    ! [R: set_Pr2560585780119916871nt_int,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ! [X2: product_prod_int_int] :
          ~ ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ X2 @ X2 ) @ R )
     => ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ ( append7030698103840186580nt_int @ Xs @ Zs ) ) @ ( lex_Pr5393148144989827363nt_int @ R ) )
       => ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Ys @ Zs ) @ ( lex_Pr5393148144989827363nt_int @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_1010_lex__append__leftD,axiom,
    ! [R: set_Pr958786334691620121nt_int,Xs: list_int,Ys: list_int,Zs: list_int] :
      ( ! [X2: int] :
          ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X2 @ X2 ) @ R )
     => ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( append_int @ Xs @ Ys ) @ ( append_int @ Xs @ Zs ) ) @ ( lex_int @ R ) )
       => ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Ys @ Zs ) @ ( lex_int @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_1011_lex__append__left__iff,axiom,
    ! [R: set_Pr2560585780119916871nt_int,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,Zs: list_P5707943133018811711nt_int] :
      ( ! [X2: product_prod_int_int] :
          ~ ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ X2 @ X2 ) @ R )
     => ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ ( append7030698103840186580nt_int @ Xs @ Zs ) ) @ ( lex_Pr5393148144989827363nt_int @ R ) )
        = ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Ys @ Zs ) @ ( lex_Pr5393148144989827363nt_int @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_1012_lex__append__left__iff,axiom,
    ! [R: set_Pr958786334691620121nt_int,Xs: list_int,Ys: list_int,Zs: list_int] :
      ( ! [X2: int] :
          ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ X2 @ X2 ) @ R )
     => ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ ( append_int @ Xs @ Ys ) @ ( append_int @ Xs @ Zs ) ) @ ( lex_int @ R ) )
        = ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Ys @ Zs ) @ ( lex_int @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_1013_lex__append__rightI,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int,Vs: list_P5707943133018811711nt_int,Us2: list_P5707943133018811711nt_int] :
      ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Xs @ Ys ) @ ( lex_Pr5393148144989827363nt_int @ R ) )
     => ( ( ( size_s5157815400016825771nt_int @ Vs )
          = ( size_s5157815400016825771nt_int @ Us2 ) )
       => ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ ( append7030698103840186580nt_int @ Xs @ Us2 ) @ ( append7030698103840186580nt_int @ Ys @ Vs ) ) @ ( lex_Pr5393148144989827363nt_int @ R ) ) ) ) ).

% lex_append_rightI
thf(fact_1014_SuccD,axiom,
    ! [K: product_prod_int_int,Kl2: set_li3855193629254082847nt_int,Kl: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ K @ ( bNF_Gr2185362013987207252nt_int @ Kl2 @ Kl ) )
     => ( member2764346250752101224nt_int @ ( append7030698103840186580nt_int @ Kl @ ( cons_P3334398858971670639nt_int @ K @ nil_Pr2300489316682597567nt_int ) ) @ Kl2 ) ) ).

% SuccD
thf(fact_1015_empty__Shift,axiom,
    ! [Kl2: set_li3855193629254082847nt_int,K: product_prod_int_int] :
      ( ( member2764346250752101224nt_int @ nil_Pr2300489316682597567nt_int @ Kl2 )
     => ( ( member5262025264175285858nt_int @ K @ ( bNF_Gr2185362013987207252nt_int @ Kl2 @ nil_Pr2300489316682597567nt_int ) )
       => ( member2764346250752101224nt_int @ nil_Pr2300489316682597567nt_int @ ( bNF_Gr9175161896313899224nt_int @ Kl2 @ K ) ) ) ) ).

% empty_Shift
thf(fact_1016_id__take__nth__drop,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( Xs
        = ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ I @ Xs ) @ ( cons_P3334398858971670639nt_int @ ( nth_Pr4439495888332055232nt_int @ Xs @ I ) @ ( drop_P5690361596310759935nt_int @ ( suc @ I ) @ Xs ) ) ) ) ) ).

% id_take_nth_drop
thf(fact_1017_one__less__nat__eq,axiom,
    ! [Z2: int] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ ( nat2 @ Z2 ) )
      = ( ord_less_int @ one_one_int @ Z2 ) ) ).

% one_less_nat_eq
thf(fact_1018_of__nat__1,axiom,
    ( ( semiri1316708129612266289at_nat @ one_one_nat )
    = one_one_nat ) ).

% of_nat_1
thf(fact_1019_of__nat__1,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% of_nat_1
thf(fact_1020_of__nat__1__eq__iff,axiom,
    ! [N: nat] :
      ( ( one_one_nat
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( N = one_one_nat ) ) ).

% of_nat_1_eq_iff
thf(fact_1021_of__nat__1__eq__iff,axiom,
    ! [N: nat] :
      ( ( one_one_int
        = ( semiri1314217659103216013at_int @ N ) )
      = ( N = one_one_nat ) ) ).

% of_nat_1_eq_iff
thf(fact_1022_of__nat__eq__1__iff,axiom,
    ! [N: nat] :
      ( ( ( semiri1316708129612266289at_nat @ N )
        = one_one_nat )
      = ( N = one_one_nat ) ) ).

% of_nat_eq_1_iff
thf(fact_1023_of__nat__eq__1__iff,axiom,
    ! [N: nat] :
      ( ( ( semiri1314217659103216013at_int @ N )
        = one_one_int )
      = ( N = one_one_nat ) ) ).

% of_nat_eq_1_iff
thf(fact_1024_nth__Cons__Suc,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int,N: nat] :
      ( ( nth_Pr4439495888332055232nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ ( suc @ N ) )
      = ( nth_Pr4439495888332055232nt_int @ Xs @ N ) ) ).

% nth_Cons_Suc
thf(fact_1025_nth__Cons__0,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( nth_Pr4439495888332055232nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ zero_zero_nat )
      = X3 ) ).

% nth_Cons_0
thf(fact_1026_nth__take,axiom,
    ! [I: nat,N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ N )
     => ( ( nth_Pr4439495888332055232nt_int @ ( take_P8218740963776755879nt_int @ N @ Xs ) @ I )
        = ( nth_Pr4439495888332055232nt_int @ Xs @ I ) ) ) ).

% nth_take
thf(fact_1027_add__neg__numeral__special_I7_J,axiom,
    ( ( plus_plus_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) )
    = zero_zero_int ) ).

% add_neg_numeral_special(7)
thf(fact_1028_add__neg__numeral__special_I8_J,axiom,
    ( ( plus_plus_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int )
    = zero_zero_int ) ).

% add_neg_numeral_special(8)
thf(fact_1029_of__nat__Suc,axiom,
    ! [M: nat] :
      ( ( semiri1316708129612266289at_nat @ ( suc @ M ) )
      = ( plus_plus_nat @ one_one_nat @ ( semiri1316708129612266289at_nat @ M ) ) ) ).

% of_nat_Suc
thf(fact_1030_of__nat__Suc,axiom,
    ! [M: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ M ) )
      = ( plus_plus_int @ one_one_int @ ( semiri1314217659103216013at_int @ M ) ) ) ).

% of_nat_Suc
thf(fact_1031_nat__1,axiom,
    ( ( nat2 @ one_one_int )
    = ( suc @ zero_zero_nat ) ) ).

% nat_1
thf(fact_1032_nth__append__length,axiom,
    ! [Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int,Ys: list_P5707943133018811711nt_int] :
      ( ( nth_Pr4439495888332055232nt_int @ ( append7030698103840186580nt_int @ Xs @ ( cons_P3334398858971670639nt_int @ X3 @ Ys ) ) @ ( size_s5157815400016825771nt_int @ Xs ) )
      = X3 ) ).

% nth_append_length
thf(fact_1033_nth__append__length__plus,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,N: nat] :
      ( ( nth_Pr4439495888332055232nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ ( plus_plus_nat @ ( size_s5157815400016825771nt_int @ Xs ) @ N ) )
      = ( nth_Pr4439495888332055232nt_int @ Ys @ N ) ) ).

% nth_append_length_plus
thf(fact_1034_nth__list__update__eq,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( nth_Pr4439495888332055232nt_int @ ( list_u3002344382305578791nt_int @ Xs @ I @ X3 ) @ I )
        = X3 ) ) ).

% nth_list_update_eq
thf(fact_1035_nth__zip,axiom,
    ! [I: nat,Xs: list_nat,Ys: list_set_int] :
      ( ( ord_less_nat @ I @ ( size_size_list_nat @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s763970886550748294et_int @ Ys ) )
       => ( ( nth_Pr4328007639516273434et_int @ ( zip_nat_set_int @ Xs @ Ys ) @ I )
          = ( produc29655638201817675et_int @ ( nth_nat @ Xs @ I ) @ ( nth_set_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_1036_nth__zip,axiom,
    ! [I: nat,Xs: list_int,Ys: list_l1670014477004246597nt_int] :
      ( ( ord_less_nat @ I @ ( size_size_list_int @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s2969076144586574001nt_int @ Ys ) )
       => ( ( nth_Pr4686562112285265857nt_int @ ( zip_in8018307065301790106nt_int @ Xs @ Ys ) @ I )
          = ( produc8814303788642274490nt_int @ ( nth_int @ Xs @ I ) @ ( nth_li549691060785553606nt_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_1037_nth__zip,axiom,
    ! [I: nat,Xs: list_int,Ys: list_int] :
      ( ( ord_less_nat @ I @ ( size_size_list_int @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_size_list_int @ Ys ) )
       => ( ( nth_Pr4439495888332055232nt_int @ ( zip_int_int @ Xs @ Ys ) @ I )
          = ( product_Pair_int_int @ ( nth_int @ Xs @ I ) @ ( nth_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_1038_nth__zip,axiom,
    ! [I: nat,Xs: list_P1743416141875011707e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s3817825649112772879e_term @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Ys ) )
       => ( ( nth_Pr5768845505533887420nt_int @ ( zip_Pr4168994715204986005nt_int @ Xs @ Ys ) @ I )
          = ( produc5700946648718959541nt_int @ ( nth_Pr6123904574653836964e_term @ Xs @ I ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_1039_nth__zip,axiom,
    ! [I: nat,Xs: list_i8448526496819171953e_term,Ys: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s8881356780637927685e_term @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Ys ) )
       => ( ( nth_Pr7284623736940738758nt_int @ ( zip_in8766932505889695135nt_int @ Xs @ Ys ) @ I )
          = ( produc4305682042979456191nt_int @ ( nth_in8840386337573990810e_term @ Xs @ I ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_1040_nth__zip,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Ys ) )
       => ( ( nth_Pr7104135640663552750nt_int @ ( zip_Pr2148635498163357687nt_int @ Xs @ Ys ) @ I )
          = ( produc3646306378393792727nt_int @ ( nth_Pr4439495888332055232nt_int @ Xs @ I ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ I ) ) ) ) ) ).

% nth_zip
thf(fact_1041_set__swap,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int,J: nat] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( ord_less_nat @ J @ ( size_s5157815400016825771nt_int @ Xs ) )
       => ( ( set_Pr2470121279949933262nt_int @ ( list_u3002344382305578791nt_int @ ( list_u3002344382305578791nt_int @ Xs @ I @ ( nth_Pr4439495888332055232nt_int @ Xs @ J ) ) @ J @ ( nth_Pr4439495888332055232nt_int @ Xs @ I ) ) )
          = ( set_Pr2470121279949933262nt_int @ Xs ) ) ) ) ).

% set_swap
thf(fact_1042_int__gr__induct,axiom,
    ! [K: int,I: int,P: int > $o] :
      ( ( ord_less_int @ K @ I )
     => ( ( P @ ( plus_plus_int @ K @ one_one_int ) )
       => ( ! [I3: int] :
              ( ( ord_less_int @ K @ I3 )
             => ( ( P @ I3 )
               => ( P @ ( plus_plus_int @ I3 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_gr_induct
thf(fact_1043_zless__add1__eq,axiom,
    ! [W: int,Z2: int] :
      ( ( ord_less_int @ W @ ( plus_plus_int @ Z2 @ one_one_int ) )
      = ( ( ord_less_int @ W @ Z2 )
        | ( W = Z2 ) ) ) ).

% zless_add1_eq
thf(fact_1044_list__eq__iff__nth__eq,axiom,
    ( ( ^ [Y: list_P5707943133018811711nt_int,Z: list_P5707943133018811711nt_int] : ( Y = Z ) )
    = ( ^ [Xs2: list_P5707943133018811711nt_int,Ys5: list_P5707943133018811711nt_int] :
          ( ( ( size_s5157815400016825771nt_int @ Xs2 )
            = ( size_s5157815400016825771nt_int @ Ys5 ) )
          & ! [I5: nat] :
              ( ( ord_less_nat @ I5 @ ( size_s5157815400016825771nt_int @ Xs2 ) )
             => ( ( nth_Pr4439495888332055232nt_int @ Xs2 @ I5 )
                = ( nth_Pr4439495888332055232nt_int @ Ys5 @ I5 ) ) ) ) ) ) ).

% list_eq_iff_nth_eq
thf(fact_1045_Skolem__list__nth,axiom,
    ! [K: nat,P: nat > product_prod_int_int > $o] :
      ( ( ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ K )
           => ? [X6: product_prod_int_int] : ( P @ I5 @ X6 ) ) )
      = ( ? [Xs2: list_P5707943133018811711nt_int] :
            ( ( ( size_s5157815400016825771nt_int @ Xs2 )
              = K )
            & ! [I5: nat] :
                ( ( ord_less_nat @ I5 @ K )
               => ( P @ I5 @ ( nth_Pr4439495888332055232nt_int @ Xs2 @ I5 ) ) ) ) ) ) ).

% Skolem_list_nth
thf(fact_1046_nth__equalityI,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( size_s5157815400016825771nt_int @ Xs )
        = ( size_s5157815400016825771nt_int @ Ys ) )
     => ( ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s5157815400016825771nt_int @ Xs ) )
           => ( ( nth_Pr4439495888332055232nt_int @ Xs @ I3 )
              = ( nth_Pr4439495888332055232nt_int @ Ys @ I3 ) ) )
       => ( Xs = Ys ) ) ) ).

% nth_equalityI
thf(fact_1047_nth__via__drop,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,Y2: product_prod_int_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( drop_P5690361596310759935nt_int @ N @ Xs )
        = ( cons_P3334398858971670639nt_int @ Y2 @ Ys ) )
     => ( ( nth_Pr4439495888332055232nt_int @ Xs @ N )
        = Y2 ) ) ).

% nth_via_drop
thf(fact_1048_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_1049_less__numeral__extra_I1_J,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% less_numeral_extra(1)
thf(fact_1050_zero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one
thf(fact_1051_zero__less__one,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% zero_less_one
thf(fact_1052_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_1053_not__one__less__zero,axiom,
    ~ ( ord_less_int @ one_one_int @ zero_zero_int ) ).

% not_one_less_zero
thf(fact_1054_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_1055_add__mono1,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( plus_plus_int @ A @ one_one_int ) @ ( plus_plus_int @ B @ one_one_int ) ) ) ).

% add_mono1
thf(fact_1056_less__add__one,axiom,
    ! [A: nat] : ( ord_less_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% less_add_one
thf(fact_1057_less__add__one,axiom,
    ! [A: int] : ( ord_less_int @ A @ ( plus_plus_int @ A @ one_one_int ) ) ).

% less_add_one
thf(fact_1058_zero__neq__neg__one,axiom,
    ( zero_zero_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

% zero_neq_neg_one
thf(fact_1059_less__minus__one__simps_I2_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int ).

% less_minus_one_simps(2)
thf(fact_1060_less__minus__one__simps_I4_J,axiom,
    ~ ( ord_less_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% less_minus_one_simps(4)
thf(fact_1061_odd__nonzero,axiom,
    ! [Z2: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z2 ) @ Z2 )
     != zero_zero_int ) ).

% odd_nonzero
thf(fact_1062_one__neq__neg__one,axiom,
    ( one_one_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

% one_neq_neg_one
thf(fact_1063_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_1064_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_int @ one_one_int @ one_one_int ) ).

% less_numeral_extra(4)
thf(fact_1065_zero__neq__one,axiom,
    zero_zero_int != one_one_int ).

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

% zero_neq_one
thf(fact_1067_one__reorient,axiom,
    ! [X3: int] :
      ( ( one_one_int = X3 )
      = ( X3 = one_one_int ) ) ).

% one_reorient
thf(fact_1068_one__reorient,axiom,
    ! [X3: nat] :
      ( ( one_one_nat = X3 )
      = ( X3 = one_one_nat ) ) ).

% one_reorient
thf(fact_1069_all__set__conv__all__nth,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ( ! [X: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X @ ( set_Pr2470121279949933262nt_int @ Xs ) )
           => ( P @ X ) ) )
      = ( ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( size_s5157815400016825771nt_int @ Xs ) )
           => ( P @ ( nth_Pr4439495888332055232nt_int @ Xs @ I5 ) ) ) ) ) ).

% all_set_conv_all_nth
thf(fact_1070_all__nth__imp__all__set,axiom,
    ! [Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o,X3: product_prod_int_int] :
      ( ! [I3: nat] :
          ( ( ord_less_nat @ I3 @ ( size_s5157815400016825771nt_int @ Xs ) )
         => ( P @ ( nth_Pr4439495888332055232nt_int @ Xs @ I3 ) ) )
     => ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
       => ( P @ X3 ) ) ) ).

% all_nth_imp_all_set
thf(fact_1071_in__set__conv__nth,axiom,
    ! [X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
      = ( ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( size_s5157815400016825771nt_int @ Xs ) )
            & ( ( nth_Pr4439495888332055232nt_int @ Xs @ I5 )
              = X3 ) ) ) ) ).

% in_set_conv_nth
thf(fact_1072_list__ball__nth,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,P: product_prod_int_int > $o] :
      ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ! [X2: product_prod_int_int] :
            ( ( member5262025264175285858nt_int @ X2 @ ( set_Pr2470121279949933262nt_int @ Xs ) )
           => ( P @ X2 ) )
       => ( P @ ( nth_Pr4439495888332055232nt_int @ Xs @ N ) ) ) ) ).

% list_ball_nth
thf(fact_1073_nth__mem,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( member5262025264175285858nt_int @ ( nth_Pr4439495888332055232nt_int @ Xs @ N ) @ ( set_Pr2470121279949933262nt_int @ Xs ) ) ) ).

% nth_mem
thf(fact_1074_hd__conv__nth,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ( hd_Pro282112905867057956nt_int @ Xs )
        = ( nth_Pr4439495888332055232nt_int @ Xs @ zero_zero_nat ) ) ) ).

% hd_conv_nth
thf(fact_1075_nth__list__update,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int,J: nat,X3: product_prod_int_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( ( I = J )
         => ( ( nth_Pr4439495888332055232nt_int @ ( list_u3002344382305578791nt_int @ Xs @ I @ X3 ) @ J )
            = X3 ) )
        & ( ( I != J )
         => ( ( nth_Pr4439495888332055232nt_int @ ( list_u3002344382305578791nt_int @ Xs @ I @ X3 ) @ J )
            = ( nth_Pr4439495888332055232nt_int @ Xs @ J ) ) ) ) ) ).

% nth_list_update
thf(fact_1076_list__update__same__conv,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( ( list_u3002344382305578791nt_int @ Xs @ I @ X3 )
          = Xs )
        = ( ( nth_Pr4439495888332055232nt_int @ Xs @ I )
          = X3 ) ) ) ).

% list_update_same_conv
thf(fact_1077_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

% zero_less_two
thf(fact_1078_zero__less__two,axiom,
    ord_less_int @ zero_zero_int @ ( plus_plus_int @ one_one_int @ one_one_int ) ).

% zero_less_two
thf(fact_1079_less__minus__one__simps_I1_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ zero_zero_int ).

% less_minus_one_simps(1)
thf(fact_1080_less__minus__one__simps_I3_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% less_minus_one_simps(3)
thf(fact_1081_int__Suc,axiom,
    ! [N: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ N ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ one_one_int ) ) ).

% int_Suc
thf(fact_1082_int__ops_I4_J,axiom,
    ! [A: nat] :
      ( ( semiri1314217659103216013at_int @ ( suc @ A ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ A ) @ one_one_int ) ) ).

% int_ops(4)
thf(fact_1083_odd__less__0__iff,axiom,
    ! [Z2: int] :
      ( ( ord_less_int @ ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z2 ) @ Z2 ) @ zero_zero_int )
      = ( ord_less_int @ Z2 @ zero_zero_int ) ) ).

% odd_less_0_iff
thf(fact_1084_hd__drop__conv__nth,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( hd_Pro282112905867057956nt_int @ ( drop_P5690361596310759935nt_int @ N @ Xs ) )
        = ( nth_Pr4439495888332055232nt_int @ Xs @ N ) ) ) ).

% hd_drop_conv_nth
thf(fact_1085_Suc__as__int,axiom,
    ( suc
    = ( ^ [A2: nat] : ( nat2 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ A2 ) @ one_one_int ) ) ) ) ).

% Suc_as_int
thf(fact_1086_Cons__nth__drop__Suc,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( cons_P3334398858971670639nt_int @ ( nth_Pr4439495888332055232nt_int @ Xs @ I ) @ ( drop_P5690361596310759935nt_int @ ( suc @ I ) @ Xs ) )
        = ( drop_P5690361596310759935nt_int @ I @ Xs ) ) ) ).

% Cons_nth_drop_Suc
thf(fact_1087_lex__take__index,axiom,
    ! [Xs: list_int,Ys: list_int,R: set_Pr958786334691620121nt_int] :
      ( ( member6698963635872716290st_int @ ( produc364263696895485585st_int @ Xs @ Ys ) @ ( lex_int @ R ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_size_list_int @ Xs ) )
           => ( ( ord_less_nat @ I3 @ ( size_size_list_int @ Ys ) )
             => ( ( ( take_int @ I3 @ Xs )
                  = ( take_int @ I3 @ Ys ) )
               => ~ ( member5262025264175285858nt_int @ ( product_Pair_int_int @ ( nth_int @ Xs @ I3 ) @ ( nth_int @ Ys @ I3 ) ) @ R ) ) ) ) ) ).

% lex_take_index
thf(fact_1088_lex__take__index,axiom,
    ! [Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,R: set_Pr2560585780119916871nt_int] :
      ( ( member1390679175989562640nt_int @ ( produc1932183703851549015nt_int @ Xs @ Ys ) @ ( lex_Pr5393148144989827363nt_int @ R ) )
     => ~ ! [I3: nat] :
            ( ( ord_less_nat @ I3 @ ( size_s5157815400016825771nt_int @ Xs ) )
           => ( ( ord_less_nat @ I3 @ ( size_s5157815400016825771nt_int @ Ys ) )
             => ( ( ( take_P8218740963776755879nt_int @ I3 @ Xs )
                  = ( take_P8218740963776755879nt_int @ I3 @ Ys ) )
               => ~ ( member8566619992076573584nt_int @ ( produc3646306378393792727nt_int @ ( nth_Pr4439495888332055232nt_int @ Xs @ I3 ) @ ( nth_Pr4439495888332055232nt_int @ Ys @ I3 ) ) @ R ) ) ) ) ) ).

% lex_take_index
thf(fact_1089_take__Suc__conv__app__nth,axiom,
    ! [I: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ I @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ( ( take_P8218740963776755879nt_int @ ( suc @ I ) @ Xs )
        = ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ I @ Xs ) @ ( cons_P3334398858971670639nt_int @ ( nth_Pr4439495888332055232nt_int @ Xs @ I ) @ nil_Pr2300489316682597567nt_int ) ) ) ) ).

% take_Suc_conv_app_nth
thf(fact_1090_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_1091_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

% One_nat_def
thf(fact_1092_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_1093_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_1094_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N3: nat] : ( plus_plus_nat @ N3 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_1095_nat__one__as__int,axiom,
    ( one_one_nat
    = ( nat2 @ one_one_int ) ) ).

% nat_one_as_int
thf(fact_1096_int__ops_I2_J,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% int_ops(2)
thf(fact_1097_nat__induct__non__zero,axiom,
    ! [N: nat,P: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P @ one_one_nat )
       => ( ! [N2: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N2 )
             => ( ( P @ N2 )
               => ( P @ ( suc @ N2 ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_1098_list__len__g__1__split,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ one_one_nat @ ( size_s5157815400016825771nt_int @ Xs ) )
     => ? [X_1: product_prod_int_int,X_2: product_prod_int_int,Xs3: list_P5707943133018811711nt_int] :
          ( Xs
          = ( cons_P3334398858971670639nt_int @ X_1 @ ( cons_P3334398858971670639nt_int @ X_2 @ Xs3 ) ) ) ) ).

% list_len_g_1_split
thf(fact_1099_small__lazy_H_Ocases,axiom,
    ! [X3: product_prod_int_int] :
      ~ ! [D2: int,I3: int] :
          ( X3
         != ( product_Pair_int_int @ D2 @ I3 ) ) ).

% small_lazy'.cases
thf(fact_1100_exhaustive__int_H_Ocases,axiom,
    ! [X3: produc7773217078559923341nt_int] :
      ~ ! [F2: int > option6357759511663192854e_term,D2: int,I3: int] :
          ( X3
         != ( produc4305682042979456191nt_int @ F2 @ ( product_Pair_int_int @ D2 @ I3 ) ) ) ).

% exhaustive_int'.cases
thf(fact_1101_full__exhaustive__int_H_Ocases,axiom,
    ! [X3: produc2285326912895808259nt_int] :
      ~ ! [F2: produc8551481072490612790e_term > option6357759511663192854e_term,D2: int,I3: int] :
          ( X3
         != ( produc5700946648718959541nt_int @ F2 @ ( product_Pair_int_int @ D2 @ I3 ) ) ) ).

% full_exhaustive_int'.cases
thf(fact_1102_mirror1__board__id,axiom,
    ! [N: nat,M: nat] :
      ( ( mirror1_board @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ one_one_int ) @ ( board @ N @ M ) )
      = ( board @ N @ M ) ) ).

% mirror1_board_id
thf(fact_1103_fold__atLeastAtMost__nat_Ocases,axiom,
    ! [X3: produc1282092943015871979et_int] :
      ~ ! [F2: nat > set_int > set_int,A6: nat,B6: nat,Acc: set_int] :
          ( X3
         != ( produc4506484520578140579et_int @ F2 @ ( produc4111907023490026090et_int @ A6 @ ( produc29655638201817675et_int @ B6 @ Acc ) ) ) ) ).

% fold_atLeastAtMost_nat.cases
thf(fact_1104_mirror2__board__id,axiom,
    ! [M: nat,N: nat] :
      ( ( mirror2_board @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) @ ( board @ N @ M ) )
      = ( board @ N @ M ) ) ).

% mirror2_board_id
thf(fact_1105_hd__mirror2,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int,I: int,J: int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( ( ( hd_Pro282112905867057956nt_int @ Ps )
          = ( product_Pair_int_int @ I @ J ) )
       => ( ( hd_Pro282112905867057956nt_int @ ( mirror2 @ Ps ) )
          = ( product_Pair_int_int @ I @ ( minus_minus_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) @ J ) ) ) ) ) ).

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

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

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

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

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

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

% diff_self
thf(fact_1113_add__diff__cancel,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel
thf(fact_1114_diff__add__cancel,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ ( minus_minus_int @ A @ B ) @ B )
      = A ) ).

% diff_add_cancel
thf(fact_1115_add__diff__cancel__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
      = ( minus_minus_int @ A @ B ) ) ).

% add_diff_cancel_left
thf(fact_1116_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_1117_add__diff__cancel__left_H,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ A )
      = B ) ).

% add_diff_cancel_left'
thf(fact_1118_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_1119_add__diff__cancel__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
      = ( minus_minus_int @ A @ B ) ) ).

% add_diff_cancel_right
thf(fact_1120_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_1121_add__diff__cancel__right_H,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ B )
      = A ) ).

% add_diff_cancel_right'
thf(fact_1122_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_1123_minus__diff__eq,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( minus_minus_int @ A @ B ) )
      = ( minus_minus_int @ B @ A ) ) ).

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

% diff_gt_0_iff_gt
thf(fact_1125_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_1126_diff__numeral__special_I9_J,axiom,
    ( ( minus_minus_int @ one_one_int @ one_one_int )
    = zero_zero_int ) ).

% diff_numeral_special(9)
thf(fact_1127_verit__minus__simplify_I3_J,axiom,
    ! [B: int] :
      ( ( minus_minus_int @ zero_zero_int @ B )
      = ( uminus_uminus_int @ B ) ) ).

% verit_minus_simplify(3)
thf(fact_1128_diff__0,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ zero_zero_int @ A )
      = ( uminus_uminus_int @ A ) ) ).

% diff_0
thf(fact_1129_uminus__add__conv__diff,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ B )
      = ( minus_minus_int @ B @ A ) ) ).

% uminus_add_conv_diff
thf(fact_1130_diff__minus__eq__add,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ A @ ( uminus_uminus_int @ B ) )
      = ( plus_plus_int @ A @ B ) ) ).

% diff_minus_eq_add
thf(fact_1131_diff__numeral__special_I12_J,axiom,
    ( ( minus_minus_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ one_one_int ) )
    = zero_zero_int ) ).

% diff_numeral_special(12)
thf(fact_1132_diff__right__commute,axiom,
    ! [A: int,C: int,B: int] :
      ( ( minus_minus_int @ ( minus_minus_int @ A @ C ) @ B )
      = ( minus_minus_int @ ( minus_minus_int @ A @ B ) @ C ) ) ).

% diff_right_commute
thf(fact_1133_diff__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 ) ) ).

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

% diff_eq_diff_eq
thf(fact_1135_int__diff__cases,axiom,
    ! [Z2: int] :
      ~ ! [M4: nat,N2: nat] :
          ( Z2
         != ( minus_minus_int @ ( semiri1314217659103216013at_int @ M4 ) @ ( semiri1314217659103216013at_int @ N2 ) ) ) ).

% int_diff_cases
thf(fact_1136_minus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( minus_minus_int @ K @ zero_zero_int )
      = K ) ).

% minus_int_code(1)
thf(fact_1137_group__cancel_Osub1,axiom,
    ! [A3: int,K: int,A: int,B: int] :
      ( ( A3
        = ( plus_plus_int @ K @ A ) )
     => ( ( minus_minus_int @ A3 @ B )
        = ( plus_plus_int @ K @ ( minus_minus_int @ A @ B ) ) ) ) ).

% group_cancel.sub1
thf(fact_1138_diff__eq__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ( minus_minus_int @ A @ B )
        = C )
      = ( A
        = ( plus_plus_int @ C @ B ) ) ) ).

% diff_eq_eq
thf(fact_1139_eq__diff__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( A
        = ( minus_minus_int @ C @ B ) )
      = ( ( plus_plus_int @ A @ B )
        = C ) ) ).

% eq_diff_eq
thf(fact_1140_add__diff__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ A @ ( minus_minus_int @ B @ C ) )
      = ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ C ) ) ).

% add_diff_eq
thf(fact_1141_diff__diff__eq2,axiom,
    ! [A: int,B: int,C: int] :
      ( ( minus_minus_int @ A @ ( minus_minus_int @ B @ C ) )
      = ( minus_minus_int @ ( plus_plus_int @ A @ C ) @ B ) ) ).

% diff_diff_eq2
thf(fact_1142_diff__add__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( plus_plus_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( minus_minus_int @ ( plus_plus_int @ A @ C ) @ B ) ) ).

% diff_add_eq
thf(fact_1143_diff__add__eq__diff__diff__swap,axiom,
    ! [A: int,B: int,C: int] :
      ( ( minus_minus_int @ A @ ( plus_plus_int @ B @ C ) )
      = ( minus_minus_int @ ( minus_minus_int @ A @ C ) @ B ) ) ).

% diff_add_eq_diff_diff_swap
thf(fact_1144_add__implies__diff,axiom,
    ! [C: int,B: int,A: int] :
      ( ( ( plus_plus_int @ C @ B )
        = A )
     => ( C
        = ( minus_minus_int @ A @ B ) ) ) ).

% add_implies_diff
thf(fact_1145_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_1146_diff__diff__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( minus_minus_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( minus_minus_int @ A @ ( plus_plus_int @ B @ C ) ) ) ).

% diff_diff_eq
thf(fact_1147_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_1148_diff__strict__mono,axiom,
    ! [A: int,B: int,D: int,C: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_int @ D @ C )
       => ( ord_less_int @ ( minus_minus_int @ A @ C ) @ ( minus_minus_int @ B @ D ) ) ) ) ).

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

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

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

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

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

% minus_diff_commute
thf(fact_1154_minus__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( minus_minus_int @ zero_zero_int @ L )
      = ( uminus_uminus_int @ L ) ) ).

% minus_int_code(2)
thf(fact_1155_diff__eq,axiom,
    ( minus_1052850069191792384nt_int
    = ( ^ [X: set_Pr958786334691620121nt_int,Y3: set_Pr958786334691620121nt_int] : ( inf_in2269163501485487111nt_int @ X @ ( uminus6221592323253981072nt_int @ Y3 ) ) ) ) ).

% diff_eq
thf(fact_1156_ab__group__add__class_Oab__diff__conv__add__uminus,axiom,
    ( minus_minus_int
    = ( ^ [A2: int,B2: int] : ( plus_plus_int @ A2 @ ( uminus_uminus_int @ B2 ) ) ) ) ).

% ab_group_add_class.ab_diff_conv_add_uminus
thf(fact_1157_diff__conv__add__uminus,axiom,
    ( minus_minus_int
    = ( ^ [A2: int,B2: int] : ( plus_plus_int @ A2 @ ( uminus_uminus_int @ B2 ) ) ) ) ).

% diff_conv_add_uminus
thf(fact_1158_group__cancel_Osub2,axiom,
    ! [B3: int,K: int,B: int,A: int] :
      ( ( B3
        = ( plus_plus_int @ K @ B ) )
     => ( ( minus_minus_int @ A @ B3 )
        = ( plus_plus_int @ ( uminus_uminus_int @ K ) @ ( minus_minus_int @ A @ B ) ) ) ) ).

% group_cancel.sub2
thf(fact_1159_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_1160_linordered__semidom__class_Oadd__diff__inverse,axiom,
    ! [A: int,B: int] :
      ( ~ ( ord_less_int @ A @ B )
     => ( ( plus_plus_int @ B @ ( minus_minus_int @ A @ B ) )
        = A ) ) ).

% linordered_semidom_class.add_diff_inverse
thf(fact_1161_diff__less__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( ord_less_int @ A @ ( plus_plus_int @ C @ B ) ) ) ).

% diff_less_eq
thf(fact_1162_less__diff__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ A @ ( minus_minus_int @ C @ B ) )
      = ( ord_less_int @ ( plus_plus_int @ A @ B ) @ C ) ) ).

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

% less_iff_diff_less_0
thf(fact_1164_int__less__induct,axiom,
    ! [I: int,K: int,P: int > $o] :
      ( ( ord_less_int @ I @ K )
     => ( ( P @ ( minus_minus_int @ K @ one_one_int ) )
       => ( ! [I3: int] :
              ( ( ord_less_int @ I3 @ K )
             => ( ( P @ I3 )
               => ( P @ ( minus_minus_int @ I3 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_less_induct
thf(fact_1165_last__mirror2,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int,I: int,J: int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( ( ( last_P3305686521732843992nt_int @ Ps )
          = ( product_Pair_int_int @ I @ J ) )
       => ( ( last_P3305686521732843992nt_int @ ( mirror2 @ Ps ) )
          = ( product_Pair_int_int @ I @ ( minus_minus_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) @ J ) ) ) ) ) ).

% last_mirror2
thf(fact_1166_hd__mirror1,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int,I: int,J: int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( ( ( hd_Pro282112905867057956nt_int @ Ps )
          = ( product_Pair_int_int @ I @ J ) )
       => ( ( hd_Pro282112905867057956nt_int @ ( mirror1 @ Ps ) )
          = ( product_Pair_int_int @ ( minus_minus_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ one_one_int ) @ I ) @ J ) ) ) ) ).

% hd_mirror1
thf(fact_1167_last__mirror1,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int,I: int,J: int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( ( ( last_P3305686521732843992nt_int @ Ps )
          = ( product_Pair_int_int @ I @ J ) )
       => ( ( last_P3305686521732843992nt_int @ ( mirror1 @ Ps ) )
          = ( product_Pair_int_int @ ( minus_minus_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ one_one_int ) @ I ) @ J ) ) ) ) ).

% last_mirror1
thf(fact_1168_Diff__cancel,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ A3 )
      = bot_bo1796632182523588997nt_int ) ).

% Diff_cancel
thf(fact_1169_empty__Diff,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ bot_bo1796632182523588997nt_int @ A3 )
      = bot_bo1796632182523588997nt_int ) ).

% empty_Diff
thf(fact_1170_Diff__empty,axiom,
    ! [A3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ bot_bo1796632182523588997nt_int )
      = A3 ) ).

% Diff_empty
thf(fact_1171_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_1172_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_1173_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_1174_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

% diff_self_eq_0
thf(fact_1175_insert__Diff1,axiom,
    ! [X3: product_prod_int_int,B3: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ X3 @ B3 )
     => ( ( minus_1052850069191792384nt_int @ ( insert5033312907999012233nt_int @ X3 @ A3 ) @ B3 )
        = ( minus_1052850069191792384nt_int @ A3 @ B3 ) ) ) ).

% insert_Diff1
thf(fact_1176_Diff__insert0,axiom,
    ! [X3: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ~ ( member5262025264175285858nt_int @ X3 @ A3 )
     => ( ( minus_1052850069191792384nt_int @ A3 @ ( insert5033312907999012233nt_int @ X3 @ B3 ) )
        = ( minus_1052850069191792384nt_int @ A3 @ B3 ) ) ) ).

% Diff_insert0
thf(fact_1177_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_1178_Un__Diff__cancel2,axiom,
    ! [B3: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( minus_1052850069191792384nt_int @ B3 @ A3 ) @ A3 )
      = ( sup_su6024340866399070445nt_int @ B3 @ A3 ) ) ).

% Un_Diff_cancel2
thf(fact_1179_Un__Diff__cancel,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ A3 @ ( minus_1052850069191792384nt_int @ B3 @ A3 ) )
      = ( sup_su6024340866399070445nt_int @ A3 @ B3 ) ) ).

% Un_Diff_cancel
thf(fact_1180_insert__Diff__single,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( insert5033312907999012233nt_int @ A @ ( minus_1052850069191792384nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int ) ) )
      = ( insert5033312907999012233nt_int @ A @ A3 ) ) ).

% insert_Diff_single
thf(fact_1181_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_1182_Diff__disjoint,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ A3 @ ( minus_1052850069191792384nt_int @ B3 @ A3 ) )
      = bot_bo1796632182523588997nt_int ) ).

% Diff_disjoint
thf(fact_1183_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_1184_length__drop,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( size_s5157815400016825771nt_int @ ( drop_P5690361596310759935nt_int @ N @ Xs ) )
      = ( minus_minus_nat @ ( size_s5157815400016825771nt_int @ Xs ) @ N ) ) ).

% length_drop
thf(fact_1185_Diff__Compl,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ ( uminus6221592323253981072nt_int @ B3 ) )
      = ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ).

% Diff_Compl
thf(fact_1186_Compl__Diff__eq,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( uminus6221592323253981072nt_int @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
      = ( sup_su6024340866399070445nt_int @ ( uminus6221592323253981072nt_int @ A3 ) @ B3 ) ) ).

% Compl_Diff_eq
thf(fact_1187_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_1188_take__append,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( take_P8218740963776755879nt_int @ N @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
      = ( append7030698103840186580nt_int @ ( take_P8218740963776755879nt_int @ N @ Xs ) @ ( take_P8218740963776755879nt_int @ ( minus_minus_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) ) @ Ys ) ) ) ).

% take_append
thf(fact_1189_drop__append,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( drop_P5690361596310759935nt_int @ N @ ( append7030698103840186580nt_int @ Xs @ Ys ) )
      = ( append7030698103840186580nt_int @ ( drop_P5690361596310759935nt_int @ N @ Xs ) @ ( drop_P5690361596310759935nt_int @ ( minus_minus_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) ) @ Ys ) ) ) ).

% drop_append
thf(fact_1190_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_1191_nth__Cons__pos,axiom,
    ! [N: nat,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( nth_Pr4439495888332055232nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ N )
        = ( nth_Pr4439495888332055232nt_int @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% nth_Cons_pos
thf(fact_1192_zero__induct__lemma,axiom,
    ! [P: nat > $o,K: nat,I: nat] :
      ( ( P @ K )
     => ( ! [N2: nat] :
            ( ( P @ ( suc @ N2 ) )
           => ( P @ N2 ) )
       => ( P @ ( minus_minus_nat @ K @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_1193_Un__Diff,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ ( sup_su6024340866399070445nt_int @ A3 @ B3 ) @ C2 )
      = ( sup_su6024340866399070445nt_int @ ( minus_1052850069191792384nt_int @ A3 @ C2 ) @ ( minus_1052850069191792384nt_int @ B3 @ C2 ) ) ) ).

% Un_Diff
thf(fact_1194_Diff__Int__distrib2,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) @ C2 )
      = ( minus_1052850069191792384nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ C2 ) @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) ) ) ).

% Diff_Int_distrib2
thf(fact_1195_Diff__Int__distrib,axiom,
    ! [C2: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ C2 @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
      = ( minus_1052850069191792384nt_int @ ( inf_in2269163501485487111nt_int @ C2 @ A3 ) @ ( inf_in2269163501485487111nt_int @ C2 @ B3 ) ) ) ).

% Diff_Int_distrib
thf(fact_1196_Diff__Diff__Int,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
      = ( inf_in2269163501485487111nt_int @ A3 @ B3 ) ) ).

% Diff_Diff_Int
thf(fact_1197_Diff__Int2,axiom,
    ! [A3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ C2 ) @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) )
      = ( minus_1052850069191792384nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ C2 ) @ B3 ) ) ).

% Diff_Int2
thf(fact_1198_Int__Diff,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) @ C2 )
      = ( inf_in2269163501485487111nt_int @ A3 @ ( minus_1052850069191792384nt_int @ B3 @ C2 ) ) ) ).

% Int_Diff
thf(fact_1199_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_1200_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_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__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

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

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

% minus_nat.diff_0
thf(fact_1206_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_1207_psubset__imp__ex__mem,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ord_le7563427860532173253nt_int @ A3 @ B3 )
     => ? [B6: product_prod_int_int] : ( member5262025264175285858nt_int @ B6 @ ( minus_1052850069191792384nt_int @ B3 @ A3 ) ) ) ).

% psubset_imp_ex_mem
thf(fact_1208_drop__take,axiom,
    ! [N: nat,M: nat,Xs: list_P5707943133018811711nt_int] :
      ( ( drop_P5690361596310759935nt_int @ N @ ( take_P8218740963776755879nt_int @ M @ Xs ) )
      = ( take_P8218740963776755879nt_int @ ( minus_minus_nat @ M @ N ) @ ( drop_P5690361596310759935nt_int @ N @ Xs ) ) ) ).

% drop_take
thf(fact_1209_Diff__eq,axiom,
    ( minus_1052850069191792384nt_int
    = ( ^ [A4: set_Pr958786334691620121nt_int,B4: set_Pr958786334691620121nt_int] : ( inf_in2269163501485487111nt_int @ A4 @ ( uminus6221592323253981072nt_int @ B4 ) ) ) ) ).

% Diff_eq
thf(fact_1210_Diff__Un,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ ( sup_su6024340866399070445nt_int @ B3 @ C2 ) )
      = ( inf_in2269163501485487111nt_int @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) @ ( minus_1052850069191792384nt_int @ A3 @ C2 ) ) ) ).

% Diff_Un
thf(fact_1211_Diff__Int,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int,C2: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ ( inf_in2269163501485487111nt_int @ B3 @ C2 ) )
      = ( sup_su6024340866399070445nt_int @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) @ ( minus_1052850069191792384nt_int @ A3 @ C2 ) ) ) ).

% Diff_Int
thf(fact_1212_Int__Diff__Un,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
      = A3 ) ).

% Int_Diff_Un
thf(fact_1213_Un__Diff__Int,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( sup_su6024340866399070445nt_int @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) )
      = A3 ) ).

% Un_Diff_Int
thf(fact_1214_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_1215_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_1216_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_1217_Int__Diff__disjoint,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( inf_in2269163501485487111nt_int @ ( inf_in2269163501485487111nt_int @ A3 @ B3 ) @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
      = bot_bo1796632182523588997nt_int ) ).

% Int_Diff_disjoint
thf(fact_1218_Diff__triv,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( ( inf_in2269163501485487111nt_int @ A3 @ B3 )
        = bot_bo1796632182523588997nt_int )
     => ( ( minus_1052850069191792384nt_int @ A3 @ B3 )
        = A3 ) ) ).

% Diff_triv
thf(fact_1219_diff__less,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ M ) ) ) ).

% diff_less
thf(fact_1220_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_1221_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_1222_Diff__insert,axiom,
    ! [A3: set_Pr958786334691620121nt_int,A: product_prod_int_int,B3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ B3 ) )
      = ( minus_1052850069191792384nt_int @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) @ ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int ) ) ) ).

% Diff_insert
thf(fact_1223_insert__Diff,axiom,
    ! [A: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ A @ A3 )
     => ( ( insert5033312907999012233nt_int @ A @ ( minus_1052850069191792384nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int ) ) )
        = A3 ) ) ).

% insert_Diff
thf(fact_1224_Diff__insert2,axiom,
    ! [A3: set_Pr958786334691620121nt_int,A: product_prod_int_int,B3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ B3 ) )
      = ( minus_1052850069191792384nt_int @ ( minus_1052850069191792384nt_int @ A3 @ ( insert5033312907999012233nt_int @ A @ bot_bo1796632182523588997nt_int ) ) @ B3 ) ) ).

% Diff_insert2
thf(fact_1225_Diff__insert__absorb,axiom,
    ! [X3: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ~ ( member5262025264175285858nt_int @ X3 @ A3 )
     => ( ( minus_1052850069191792384nt_int @ ( insert5033312907999012233nt_int @ X3 @ A3 ) @ ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) )
        = A3 ) ) ).

% Diff_insert_absorb
thf(fact_1226_insert__Diff__if,axiom,
    ! [X3: product_prod_int_int,B3: set_Pr958786334691620121nt_int,A3: set_Pr958786334691620121nt_int] :
      ( ( ( member5262025264175285858nt_int @ X3 @ B3 )
       => ( ( minus_1052850069191792384nt_int @ ( insert5033312907999012233nt_int @ X3 @ A3 ) @ B3 )
          = ( minus_1052850069191792384nt_int @ A3 @ B3 ) ) )
      & ( ~ ( member5262025264175285858nt_int @ X3 @ B3 )
       => ( ( minus_1052850069191792384nt_int @ ( insert5033312907999012233nt_int @ X3 @ A3 ) @ B3 )
          = ( insert5033312907999012233nt_int @ X3 @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) ) ) ) ) ).

% insert_Diff_if
thf(fact_1227_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_1228_length__mirror1,axiom,
    ( size_s5157815400016825771nt_int
    = ( ^ [Ps4: list_P5707943133018811711nt_int] : ( size_s5157815400016825771nt_int @ ( mirror1 @ Ps4 ) ) ) ) ).

% length_mirror1
thf(fact_1229_mirror1__nil,axiom,
    ! [Ps: list_P5707943133018811711nt_int] :
      ( ( Ps = nil_Pr2300489316682597567nt_int )
      = ( ( mirror1 @ Ps )
        = nil_Pr2300489316682597567nt_int ) ) ).

% mirror1_nil
thf(fact_1230_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_1231_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_1232_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_1233_Compl__insert,axiom,
    ! [X3: product_prod_int_int,A3: set_Pr958786334691620121nt_int] :
      ( ( uminus6221592323253981072nt_int @ ( insert5033312907999012233nt_int @ X3 @ A3 ) )
      = ( minus_1052850069191792384nt_int @ ( uminus6221592323253981072nt_int @ A3 ) @ ( insert5033312907999012233nt_int @ X3 @ bot_bo1796632182523588997nt_int ) ) ) ).

% Compl_insert
thf(fact_1234_int__minus,axiom,
    ! [N: nat,M: nat] :
      ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ N @ M ) )
      = ( semiri1314217659103216013at_int @ ( nat2 @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ N ) @ ( semiri1314217659103216013at_int @ M ) ) ) ) ) ).

% int_minus
thf(fact_1235_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_1236_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_1237_add__eq__if,axiom,
    ( plus_plus_nat
    = ( ^ [M3: nat,N3: nat] : ( if_nat @ ( M3 = zero_zero_nat ) @ N3 @ ( suc @ ( plus_plus_nat @ ( minus_minus_nat @ M3 @ one_one_nat ) @ N3 ) ) ) ) ) ).

% add_eq_if
thf(fact_1238_nth__Cons_H,axiom,
    ! [N: nat,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( ( N = zero_zero_nat )
       => ( ( nth_Pr4439495888332055232nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ N )
          = X3 ) )
      & ( ( N != zero_zero_nat )
       => ( ( nth_Pr4439495888332055232nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ N )
          = ( nth_Pr4439495888332055232nt_int @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ) ).

% nth_Cons'
thf(fact_1239_nth__append,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int] :
      ( ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
       => ( ( nth_Pr4439495888332055232nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ N )
          = ( nth_Pr4439495888332055232nt_int @ Xs @ N ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
       => ( ( nth_Pr4439495888332055232nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ N )
          = ( nth_Pr4439495888332055232nt_int @ Ys @ ( minus_minus_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) ) ) ) ) ) ).

% nth_append
thf(fact_1240_drop__Cons_H,axiom,
    ! [N: nat,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( ( N = zero_zero_nat )
       => ( ( drop_P5690361596310759935nt_int @ N @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
          = ( cons_P3334398858971670639nt_int @ X3 @ Xs ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( drop_P5690361596310759935nt_int @ N @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
          = ( drop_P5690361596310759935nt_int @ ( minus_minus_nat @ N @ one_one_nat ) @ Xs ) ) ) ) ).

% drop_Cons'
thf(fact_1241_int__ops_I6_J,axiom,
    ! [A: nat,B: nat] :
      ( ( ( ord_less_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) )
       => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ A @ B ) )
          = zero_zero_int ) )
      & ( ~ ( ord_less_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) )
       => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ A @ B ) )
          = ( minus_minus_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ) ) ).

% int_ops(6)
thf(fact_1242_list__update__append,axiom,
    ! [N: nat,Xs: list_P5707943133018811711nt_int,Ys: list_P5707943133018811711nt_int,X3: product_prod_int_int] :
      ( ( ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
       => ( ( list_u3002344382305578791nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ N @ X3 )
          = ( append7030698103840186580nt_int @ ( list_u3002344382305578791nt_int @ Xs @ N @ X3 ) @ Ys ) ) )
      & ( ~ ( ord_less_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) )
       => ( ( list_u3002344382305578791nt_int @ ( append7030698103840186580nt_int @ Xs @ Ys ) @ N @ X3 )
          = ( append7030698103840186580nt_int @ Xs @ ( list_u3002344382305578791nt_int @ Ys @ ( minus_minus_nat @ N @ ( size_s5157815400016825771nt_int @ Xs ) ) @ X3 ) ) ) ) ) ).

% list_update_append
thf(fact_1243_mirror1__knights__path,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( knights_path @ ( board @ N @ M ) @ ( mirror1 @ Ps ) ) ) ).

% mirror1_knights_path
thf(fact_1244_nth__non__equal__first__eq,axiom,
    ! [X3: product_prod_int_int,Y2: product_prod_int_int,Xs: list_P5707943133018811711nt_int,N: nat] :
      ( ( X3 != Y2 )
     => ( ( ( nth_Pr4439495888332055232nt_int @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) @ N )
          = Y2 )
        = ( ( ( nth_Pr4439495888332055232nt_int @ Xs @ ( minus_minus_nat @ N @ one_one_nat ) )
            = Y2 )
          & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ) ).

% nth_non_equal_first_eq
thf(fact_1245_take__Cons_H,axiom,
    ! [N: nat,X3: product_prod_int_int,Xs: list_P5707943133018811711nt_int] :
      ( ( ( N = zero_zero_nat )
       => ( ( take_P8218740963776755879nt_int @ N @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
          = nil_Pr2300489316682597567nt_int ) )
      & ( ( N != zero_zero_nat )
       => ( ( take_P8218740963776755879nt_int @ N @ ( cons_P3334398858971670639nt_int @ X3 @ Xs ) )
          = ( cons_P3334398858971670639nt_int @ X3 @ ( take_P8218740963776755879nt_int @ ( minus_minus_nat @ N @ one_one_nat ) @ Xs ) ) ) ) ) ).

% take_Cons'
thf(fact_1246_last__conv__nth,axiom,
    ! [Xs: list_P5707943133018811711nt_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ( last_P3305686521732843992nt_int @ Xs )
        = ( nth_Pr4439495888332055232nt_int @ Xs @ ( minus_minus_nat @ ( size_s5157815400016825771nt_int @ Xs ) @ one_one_nat ) ) ) ) ).

% last_conv_nth
thf(fact_1247_last__list__update,axiom,
    ! [Xs: list_P5707943133018811711nt_int,K: nat,X3: product_prod_int_int] :
      ( ( Xs != nil_Pr2300489316682597567nt_int )
     => ( ( ( K
            = ( minus_minus_nat @ ( size_s5157815400016825771nt_int @ Xs ) @ one_one_nat ) )
         => ( ( last_P3305686521732843992nt_int @ ( list_u3002344382305578791nt_int @ Xs @ K @ X3 ) )
            = X3 ) )
        & ( ( K
           != ( minus_minus_nat @ ( size_s5157815400016825771nt_int @ Xs ) @ one_one_nat ) )
         => ( ( last_P3305686521732843992nt_int @ ( list_u3002344382305578791nt_int @ Xs @ K @ X3 ) )
            = ( last_P3305686521732843992nt_int @ Xs ) ) ) ) ) ).

% last_list_update
thf(fact_1248_knights__path__intro__rev,axiom,
    ! [S_i: product_prod_int_int,B: set_Pr958786334691620121nt_int,S_j: product_prod_int_int,Ps: list_P5707943133018811711nt_int] :
      ( ( member5262025264175285858nt_int @ S_i @ B )
     => ( ( valid_step @ S_i @ S_j )
       => ( ( knights_path @ ( minus_1052850069191792384nt_int @ B @ ( insert5033312907999012233nt_int @ S_i @ bot_bo1796632182523588997nt_int ) ) @ ( cons_P3334398858971670639nt_int @ S_j @ Ps ) )
         => ( knights_path @ B @ ( cons_P3334398858971670639nt_int @ S_i @ ( cons_P3334398858971670639nt_int @ S_j @ Ps ) ) ) ) ) ) ).

% knights_path_intro_rev
thf(fact_1249_hd__rot90__knights__path,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int,I: int,J: int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( ( ( hd_Pro282112905867057956nt_int @ Ps )
          = ( product_Pair_int_int @ I @ J ) )
       => ( ( hd_Pro282112905867057956nt_int @ ( mirror1 @ ( transpose @ Ps ) ) )
          = ( product_Pair_int_int @ ( minus_minus_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) @ J ) @ I ) ) ) ) ).

% hd_rot90_knights_path
thf(fact_1250_Diff__idemp,axiom,
    ! [A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( minus_1052850069191792384nt_int @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) @ B3 )
      = ( minus_1052850069191792384nt_int @ A3 @ B3 ) ) ).

% Diff_idemp
thf(fact_1251_Diff__iff,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
      = ( ( member5262025264175285858nt_int @ C @ A3 )
        & ~ ( member5262025264175285858nt_int @ C @ B3 ) ) ) ).

% Diff_iff
thf(fact_1252_DiffI,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ A3 )
     => ( ~ ( member5262025264175285858nt_int @ C @ B3 )
       => ( member5262025264175285858nt_int @ C @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) ) ) ) ).

% DiffI
thf(fact_1253_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_1254_DiffD2,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
     => ~ ( member5262025264175285858nt_int @ C @ B3 ) ) ).

% DiffD2
thf(fact_1255_DiffD1,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
     => ( member5262025264175285858nt_int @ C @ A3 ) ) ).

% DiffD1
thf(fact_1256_DiffE,axiom,
    ! [C: product_prod_int_int,A3: set_Pr958786334691620121nt_int,B3: set_Pr958786334691620121nt_int] :
      ( ( member5262025264175285858nt_int @ C @ ( minus_1052850069191792384nt_int @ A3 @ B3 ) )
     => ~ ( ( member5262025264175285858nt_int @ C @ A3 )
         => ( member5262025264175285858nt_int @ C @ B3 ) ) ) ).

% DiffE
thf(fact_1257_transpose__nil,axiom,
    ! [Ps: list_P5707943133018811711nt_int] :
      ( ( Ps = nil_Pr2300489316682597567nt_int )
      = ( ( transpose @ Ps )
        = nil_Pr2300489316682597567nt_int ) ) ).

% transpose_nil
thf(fact_1258_KnightsTour_Otranspose_Osimps_I1_J,axiom,
    ( ( transpose @ nil_Pr2300489316682597567nt_int )
    = nil_Pr2300489316682597567nt_int ) ).

% KnightsTour.transpose.simps(1)
thf(fact_1259_drop__transpose,axiom,
    ! [K: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( drop_P5690361596310759935nt_int @ K @ ( transpose @ Ps ) )
      = ( transpose @ ( drop_P5690361596310759935nt_int @ K @ Ps ) ) ) ).

% drop_transpose
thf(fact_1260_transpose__length,axiom,
    ( size_s5157815400016825771nt_int
    = ( ^ [Ps4: list_P5707943133018811711nt_int] : ( size_s5157815400016825771nt_int @ ( transpose @ Ps4 ) ) ) ) ).

% transpose_length
thf(fact_1261_take__transpose,axiom,
    ! [K: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( take_P8218740963776755879nt_int @ K @ ( transpose @ Ps ) )
      = ( transpose @ ( take_P8218740963776755879nt_int @ K @ Ps ) ) ) ).

% take_transpose
thf(fact_1262_transpose__knights__path,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( knights_path @ ( board @ M @ N ) @ ( transpose @ Ps ) ) ) ).

% transpose_knights_path
thf(fact_1263_transpose__knights__circuit,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_circuit @ ( board @ N @ M ) @ Ps )
     => ( knights_circuit @ ( board @ M @ N ) @ ( transpose @ Ps ) ) ) ).

% transpose_knights_circuit

% 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,
    ! [X3: nat,Y2: nat] :
      ( ( if_nat @ $false @ X3 @ Y2 )
      = Y2 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X3: nat,Y2: nat] :
      ( ( if_nat @ $true @ X3 @ Y2 )
      = X3 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ? [Ps6: list_P5707943133018811711nt_int] :
      ( ( knights_path @ ( board @ n @ ( plus_plus_nat @ m_1 @ m_2 ) ) @ Ps6 )
      & ( ( hd_Pro282112905867057956nt_int @ Ps6 )
        = ( hd_Pro282112905867057956nt_int @ ps_1 ) )
      & ( ( last_P3305686521732843992nt_int @ Ps6 )
        = ( last_P3305686521732843992nt_int @ ps_1 ) )
      & ( step_in @ Ps6 @ ( product_Pair_int_int @ i @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j ) ) @ ( product_Pair_int_int @ i2 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ m_1 ) @ j2 ) ) ) ) ).

%------------------------------------------------------------------------------