TPTP Problem File: SLH0894^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_03137_116182__6111424_1 [Des23]

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1367 ( 688 unt;  93 typ;   0 def)
%            Number of atoms       : 3184 (1348 equ;   0 cnn)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 10196 ( 296   ~;  88   |; 167   &;8663   @)
%                                         (   0 <=>; 982  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   34 (   6 avg)
%            Number of types       :   14 (  13 usr)
%            Number of type conns  :  230 ( 230   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   83 (  80 usr;  13 con; 0-3 aty)
%            Number of variables   : 2910 (  85   ^;2706   !; 119   ?;2910   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 09:01:38.654
%------------------------------------------------------------------------------
% Could-be-implicit typings (13)
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__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__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__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__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__Num__Onum_Mt__Num__Onum_J,type,
    product_prod_num_num: $tType ).

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

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

thf(ty_n_t__Num__Onum,type,
    num: $tType ).

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

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

% Explicit typings (80)
thf(sy_c_Bit__Operations_Osemiring__bit__operations__class_Ounset__bit_001t__Int__Oint,type,
    bit_se4203085406695923979it_int: nat > int > int ).

thf(sy_c_Bit__Operations_Osemiring__bit__operations__class_Ounset__bit_001t__Nat__Onat,type,
    bit_se4205575877204974255it_nat: nat > nat > nat ).

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_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_Oplus__class_Oplus_001t__Num__Onum,type,
    plus_plus_num: num > num > num ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Nat__Onat,type,
    times_times_nat: nat > nat > nat ).

thf(sy_c_Groups_Otimes__class_Otimes_001t__Num__Onum,type,
    times_times_num: num > num > num ).

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

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

thf(sy_c_If_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    if_Pro3027730157355071871nt_int: $o > product_prod_int_int > product_prod_int_int > product_prod_int_int ).

thf(sy_c_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J,type,
    if_Pro6206227464963214023at_nat: $o > product_prod_nat_nat > product_prod_nat_nat > product_prod_nat_nat ).

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

thf(sy_c_KnightsTour_Oboard__exec,type,
    board_exec: 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__checker,type,
    step_checker: product_prod_int_int > product_prod_int_int > $o ).

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_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_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_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_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_Num_OBitM,type,
    bitM: num > num ).

thf(sy_c_Num_Oneg__numeral__class_Odbl_001t__Int__Oint,type,
    neg_numeral_dbl_int: int > int ).

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

thf(sy_c_Num_Onum_OBit0,type,
    bit0: num > num ).

thf(sy_c_Num_Onum_OBit1,type,
    bit1: num > num ).

thf(sy_c_Num_Onum_OOne,type,
    one: num ).

thf(sy_c_Num_Onumeral__class_Onumeral_001t__Int__Oint,type,
    numeral_numeral_int: num > int ).

thf(sy_c_Num_Onumeral__class_Onumeral_001t__Nat__Onat,type,
    numeral_numeral_nat: num > nat ).

thf(sy_c_Num_Opow,type,
    pow: num > num > num ).

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__Num__Onum,type,
    ord_less_num: num > num > $o ).

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

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

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Num__Onum,type,
    ord_less_eq_num: num > num > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_J,type,
    ord_le2843351958646193337nt_int: set_Pr958786334691620121nt_int > set_Pr958786334691620121nt_int > $o ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Int__Oint,type,
    ord_min_int: int > int > int ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Nat__Onat,type,
    ord_min_nat: nat > nat > nat ).

thf(sy_c_Orderings_Oord__class_Omin_001t__Num__Onum,type,
    ord_min_num: num > num > num ).

thf(sy_c_Parity_Ounique__euclidean__semiring__with__nat__division__class_Odivides__aux_001t__Int__Oint,type,
    unique5329631941980267465ux_int: product_prod_int_int > $o ).

thf(sy_c_Parity_Ounique__euclidean__semiring__with__nat__division__class_Odivides__aux_001t__Nat__Onat,type,
    unique5332122412489317741ux_nat: product_prod_nat_nat > $o ).

thf(sy_c_Parity_Ounique__euclidean__semiring__with__nat__division__class_Odivmod_001t__Int__Oint,type,
    unique5403075989570733136od_int: num > num > product_prod_int_int ).

thf(sy_c_Parity_Ounique__euclidean__semiring__with__nat__division__class_Odivmod_001t__Nat__Onat,type,
    unique5405566460079783412od_nat: num > num > product_prod_nat_nat ).

thf(sy_c_Parity_Ounique__euclidean__semiring__with__nat__division__class_Odivmod__step_001t__Int__Oint,type,
    unique4034149617335721244ep_int: int > product_prod_int_int > product_prod_int_int ).

thf(sy_c_Parity_Ounique__euclidean__semiring__with__nat__division__class_Odivmod__step_001t__Nat__Onat,type,
    unique4036640087844771520ep_nat: nat > product_prod_nat_nat > product_prod_nat_nat ).

thf(sy_c_Power_Opower__class_Opower_001t__Int__Oint,type,
    power_power_int: int > nat > int ).

thf(sy_c_Power_Opower__class_Opower_001t__Nat__Onat,type,
    power_power_nat: nat > nat > nat ).

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__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_001t__Int__Oint_001t__Int__Oint,type,
    product_Pair_int_int: int > int > product_prod_int_int ).

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

thf(sy_c_Product__Type_OPair_001t__Num__Onum_001t__Num__Onum,type,
    product_Pair_num_num: num > num > product_prod_num_num ).

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_Rings_Odivide__class_Odivide_001t__Int__Oint,type,
    divide_divide_int: int > int > int ).

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

thf(sy_c_Rings_Odvd__class_Odvd_001t__Int__Oint,type,
    dvd_dvd_int: int > int > $o ).

thf(sy_c_Rings_Odvd__class_Odvd_001t__Nat__Onat,type,
    dvd_dvd_nat: nat > nat > $o ).

thf(sy_c_Rings_Omodulo__class_Omodulo_001t__Int__Oint,type,
    modulo_modulo_int: int > int > int ).

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

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J,type,
    collec213857154873943460nt_int: ( product_prod_int_int > $o ) > set_Pr958786334691620121nt_int ).

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_v_m,type,
    m: nat ).

thf(sy_v_ma____,type,
    ma: nat ).

thf(sy_v_n,type,
    n: nat ).

thf(sy_v_na____,type,
    na: nat ).

thf(sy_v_x____,type,
    x: nat ).

thf(sy_v_xa____,type,
    xa: nat ).

% Relevant facts (1264)
thf(fact_0__092_060open_062n_A_061_A5_A_092_060or_062_An_A_061_A7_A_092_060or_062_An_A_061_A9_A_092_060or_062_A5_A_092_060le_062_An_A_N_A5_092_060close_062,axiom,
    ( ( na
      = ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) )
    | ( na
      = ( numeral_numeral_nat @ ( bit1 @ ( bit1 @ one ) ) ) )
    | ( na
      = ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ ( bit0 @ one ) ) ) ) )
    | ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ ( minus_minus_nat @ na @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) ) ) ) ).

% \<open>n = 5 \<or> n = 7 \<or> n = 9 \<or> 5 \<le> n - 5\<close>
thf(fact_1_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_2_less_Oprems_I1_J,axiom,
    ( xa
    = ( plus_plus_nat @ na @ ma ) ) ).

% less.prems(1)
thf(fact_3_of__nat__1,axiom,
    ( ( semiri1316708129612266289at_nat @ one_one_nat )
    = one_one_nat ) ).

% of_nat_1
thf(fact_4_of__nat__1,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% of_nat_1
thf(fact_5_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_6_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_7_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_8_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_9_of__nat__eq__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( semiri1316708129612266289at_nat @ M )
        = ( semiri1316708129612266289at_nat @ N ) )
      = ( M = N ) ) ).

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

% of_nat_eq_iff
thf(fact_11_prod_Oinject,axiom,
    ! [X1: num,X2: num,Y1: num,Y2: num] :
      ( ( ( product_Pair_num_num @ X1 @ X2 )
        = ( product_Pair_num_num @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_12_prod_Oinject,axiom,
    ! [X1: nat,X2: nat,Y1: nat,Y2: nat] :
      ( ( ( product_Pair_nat_nat @ X1 @ X2 )
        = ( product_Pair_nat_nat @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_13_prod_Oinject,axiom,
    ! [X1: int,X2: int,Y1: int,Y2: int] :
      ( ( ( product_Pair_int_int @ X1 @ X2 )
        = ( product_Pair_int_int @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_14_prod_Oinject,axiom,
    ! [X1: produc8551481072490612790e_term > option6357759511663192854e_term,X2: product_prod_int_int,Y1: produc8551481072490612790e_term > option6357759511663192854e_term,Y2: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ X1 @ X2 )
        = ( produc5700946648718959541nt_int @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_15_prod_Oinject,axiom,
    ! [X1: int > option6357759511663192854e_term,X2: product_prod_int_int,Y1: int > option6357759511663192854e_term,Y2: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ X1 @ X2 )
        = ( produc4305682042979456191nt_int @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_16_old_Oprod_Oinject,axiom,
    ! [A: num,B: num,A2: num,B2: num] :
      ( ( ( product_Pair_num_num @ A @ B )
        = ( product_Pair_num_num @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_17_old_Oprod_Oinject,axiom,
    ! [A: nat,B: nat,A2: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_18_old_Oprod_Oinject,axiom,
    ! [A: int,B: int,A2: int,B2: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

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

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

% old.prod.inject
thf(fact_21_int__diff__cases,axiom,
    ! [Z: int] :
      ~ ! [M2: nat,N2: nat] :
          ( Z
         != ( minus_minus_int @ ( semiri1314217659103216013at_int @ M2 ) @ ( semiri1314217659103216013at_int @ N2 ) ) ) ).

% int_diff_cases
thf(fact_22_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_23_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_24_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_25_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_26_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_27_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_28__092_060open_062m_A_061_A5_A_092_060or_062_Am_A_061_A6_A_092_060or_062_Am_A_061_A7_A_092_060or_062_Am_A_061_A8_A_092_060or_062_Am_A_061_A9_A_092_060or_062_A10_A_092_060le_062_Am_092_060close_062,axiom,
    ( ( ma
      = ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) )
    | ( ma
      = ( numeral_numeral_nat @ ( bit0 @ ( bit1 @ one ) ) ) )
    | ( ma
      = ( numeral_numeral_nat @ ( bit1 @ ( bit1 @ one ) ) ) )
    | ( ma
      = ( numeral_numeral_nat @ ( bit0 @ ( bit0 @ ( bit0 @ one ) ) ) ) )
    | ( ma
      = ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ ( bit0 @ one ) ) ) ) )
    | ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ ( bit1 @ ( bit0 @ one ) ) ) ) @ ma ) ) ).

% \<open>m = 5 \<or> m = 6 \<or> m = 7 \<or> m = 8 \<or> m = 9 \<or> 10 \<le> m\<close>
thf(fact_29__092_060open_0625_A_092_060le_062_An_092_060close_062,axiom,
    ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ na ).

% \<open>5 \<le> n\<close>
thf(fact_30_add__le__cancel__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_31_add__le__cancel__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
      = ( ord_less_eq_int @ A @ B ) ) ).

% add_le_cancel_left
thf(fact_32_add__le__cancel__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
      = ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_33_add__le__cancel__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
      = ( ord_less_eq_int @ A @ B ) ) ).

% add_le_cancel_right
thf(fact_34_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_35_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_36_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_37_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_38_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_39_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_40_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_41_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_42_diff__add__cancel,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ ( minus_minus_int @ A @ B ) @ B )
      = A ) ).

% diff_add_cancel
thf(fact_43_add__diff__cancel,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ B )
      = A ) ).

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

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

% diff_diff_cancel
thf(fact_46_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_47_of__nat__le__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% of_nat_le_iff
thf(fact_48_of__nat__le__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% of_nat_le_iff
thf(fact_49_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_50_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_51_Nat_Oadd__diff__assoc,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ J ) @ K ) ) ) ).

% Nat.add_diff_assoc
thf(fact_52_Nat_Oadd__diff__assoc2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( minus_minus_nat @ ( plus_plus_nat @ J @ I ) @ K ) ) ) ).

% Nat.add_diff_assoc2
thf(fact_53_Nat_Odiff__diff__right,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( minus_minus_nat @ I @ ( minus_minus_nat @ J @ K ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ I @ K ) @ J ) ) ) ).

% Nat.diff_diff_right
thf(fact_54_less_Oprems_I2_J,axiom,
    ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ na ) ).

% less.prems(2)
thf(fact_55__092_060open_062m_A_061_A5_092_060close_062,axiom,
    ( ma
    = ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) ) ).

% \<open>m = 5\<close>
thf(fact_56_less_Oprems_I3_J,axiom,
    ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ ( ord_min_nat @ na @ ma ) ).

% less.prems(3)
thf(fact_57_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_58_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_59_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_60_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_61_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( K = L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

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

% add_mono_thms_linordered_semiring(3)
thf(fact_63_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( I = J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

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

% add_mono_thms_linordered_semiring(2)
thf(fact_65_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

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

% add_mono_thms_linordered_semiring(1)
thf(fact_67_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_68_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_69_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_70_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_71_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_72_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_73_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_74_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_75_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_76_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_77_add_Ocommute,axiom,
    ( plus_plus_nat
    = ( ^ [A4: nat,B4: nat] : ( plus_plus_nat @ B4 @ A4 ) ) ) ).

% add.commute
thf(fact_78_add_Ocommute,axiom,
    ( plus_plus_int
    = ( ^ [A4: int,B4: int] : ( plus_plus_int @ B4 @ A4 ) ) ) ).

% add.commute
thf(fact_79_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_80_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_81_add__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ D )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

% add_mono
thf(fact_82_add__mono,axiom,
    ! [A: int,B: int,C: int,D: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ C @ D )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ D ) ) ) ) ).

% add_mono
thf(fact_83_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_84_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_85_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_86_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_87_add__left__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) ) ) ).

% add_left_mono
thf(fact_88_add__left__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ord_less_eq_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) ) ) ).

% add_left_mono
thf(fact_89_less__eqE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ~ ! [C2: nat] :
            ( B
           != ( plus_plus_nat @ A @ C2 ) ) ) ).

% less_eqE
thf(fact_90_add__right__mono,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) ) ) ).

% add_right_mono
thf(fact_91_add__right__mono,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) ) ) ).

% add_right_mono
thf(fact_92_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B4: nat] :
        ? [C3: nat] :
          ( B4
          = ( plus_plus_nat @ A4 @ C3 ) ) ) ) ).

% le_iff_add
thf(fact_93_add__le__imp__le__left,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ ( plus_plus_nat @ C @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_94_add__le__imp__le__left,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ C @ A ) @ ( plus_plus_int @ C @ B ) )
     => ( ord_less_eq_int @ A @ B ) ) ).

% add_le_imp_le_left
thf(fact_95_add__le__imp__le__right,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ C ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% add_le_imp_le_right
thf(fact_96_add__le__imp__le__right,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ ( plus_plus_int @ B @ C ) )
     => ( ord_less_eq_int @ A @ B ) ) ).

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

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

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

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

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

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

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

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

% eq_imp_le
thf(fact_105_le__Suc__ex,axiom,
    ! [K: nat,L: nat] :
      ( ( ord_less_eq_nat @ K @ L )
     => ? [N2: nat] :
          ( L
          = ( plus_plus_nat @ K @ N2 ) ) ) ).

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

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

% add_le_mono
thf(fact_108_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_109_eq__diff__iff,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( ( minus_minus_nat @ M @ K )
            = ( minus_minus_nat @ N @ K ) )
          = ( M = N ) ) ) ) ).

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

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

% add_le_mono1
thf(fact_112_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_113_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_114_Nat_Odiff__diff__eq,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ M )
     => ( ( ord_less_eq_nat @ K @ N )
       => ( ( minus_minus_nat @ ( minus_minus_nat @ M @ K ) @ ( minus_minus_nat @ N @ K ) )
          = ( minus_minus_nat @ M @ N ) ) ) ) ).

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

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

% diff_le_self
thf(fact_117_le__diff__conv,axiom,
    ! [J: nat,K: nat,I: nat] :
      ( ( ord_less_eq_nat @ ( minus_minus_nat @ J @ K ) @ I )
      = ( ord_less_eq_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ).

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

% le_diff_iff'
thf(fact_119_zadd__int__left,axiom,
    ! [M: nat,N: nat,Z: int] :
      ( ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N ) @ Z ) )
      = ( plus_plus_int @ ( semiri1314217659103216013at_int @ ( plus_plus_nat @ M @ N ) ) @ Z ) ) ).

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

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

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

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

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

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

% Nat.diff_add_assoc
thf(fact_126_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M3: nat,N3: nat] :
        ? [K2: nat] :
          ( N3
          = ( plus_plus_nat @ M3 @ K2 ) ) ) ) ).

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

% Nat.diff_add_assoc2
thf(fact_128_diff__add__inverse,axiom,
    ! [N: nat,M: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ N @ M ) @ N )
      = M ) ).

% diff_add_inverse
thf(fact_129_diff__add__inverse2,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( plus_plus_nat @ M @ N ) @ N )
      = M ) ).

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

% Nat.le_imp_diff_is_add
thf(fact_131_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K: nat,B: nat] :
      ( ( P @ K )
     => ( ! [Y: nat] :
            ( ( P @ Y )
           => ( ord_less_eq_nat @ Y @ B ) )
       => ? [X3: nat] :
            ( ( P @ X3 )
            & ! [Y3: nat] :
                ( ( P @ Y3 )
               => ( ord_less_eq_nat @ Y3 @ X3 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_132_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ( ( minus_minus_nat @ B @ A )
            = C )
          = ( B
            = ( plus_plus_nat @ C @ A ) ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_imp_diff_is_add
thf(fact_133_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ A @ ( minus_minus_nat @ B @ A ) )
        = B ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_inverse
thf(fact_134_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_diff_right
thf(fact_135_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A )
        = ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc2
thf(fact_136_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ C )
        = ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc2
thf(fact_137_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A )
        = ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.diff_add_assoc
thf(fact_138_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( minus_minus_nat @ ( plus_plus_nat @ C @ B ) @ A ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.add_diff_assoc
thf(fact_139_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ C @ ( minus_minus_nat @ B @ A ) )
        = ( ord_less_eq_nat @ ( plus_plus_nat @ C @ A ) @ B ) ) ) ).

% ordered_cancel_comm_monoid_diff_class.le_diff_conv2
thf(fact_140_le__add__diff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ord_less_eq_nat @ C @ ( minus_minus_nat @ ( plus_plus_nat @ B @ C ) @ A ) ) ) ).

% le_add_diff
thf(fact_141_diff__add,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ B @ A ) @ A )
        = B ) ) ).

% diff_add
thf(fact_142_le__diff__eq,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ A @ ( minus_minus_int @ C @ B ) )
      = ( ord_less_eq_int @ ( plus_plus_int @ A @ B ) @ C ) ) ).

% le_diff_eq
thf(fact_143_diff__le__eq,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ ( minus_minus_int @ A @ B ) @ C )
      = ( ord_less_eq_int @ A @ ( plus_plus_int @ C @ B ) ) ) ).

% diff_le_eq
thf(fact_144_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_145_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_146_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_147_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_148_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_149_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_150_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_151_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_152_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_153_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_154_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_155_of__nat__mono,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ I ) @ ( semiri1316708129612266289at_nat @ J ) ) ) ).

% of_nat_mono
thf(fact_156_of__nat__mono,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ I ) @ ( semiri1314217659103216013at_int @ J ) ) ) ).

% of_nat_mono
thf(fact_157_step__checker_Ocases,axiom,
    ! [X4: produc1219242969750017639nt_int] :
      ~ ! [I2: int,J2: int,I3: int,J3: int] :
          ( X4
         != ( produc3646306378393792727nt_int @ ( product_Pair_int_int @ I2 @ J2 ) @ ( product_Pair_int_int @ I3 @ J3 ) ) ) ).

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

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

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

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

% diff_mono
thf(fact_162_prod__induct3,axiom,
    ! [P: produc2285326912895808259nt_int > $o,X4: produc2285326912895808259nt_int] :
      ( ! [A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: int,C2: int] : ( P @ ( produc5700946648718959541nt_int @ A5 @ ( product_Pair_int_int @ B5 @ C2 ) ) )
     => ( P @ X4 ) ) ).

% prod_induct3
thf(fact_163_prod__induct3,axiom,
    ! [P: produc7773217078559923341nt_int > $o,X4: produc7773217078559923341nt_int] :
      ( ! [A5: int > option6357759511663192854e_term,B5: int,C2: int] : ( P @ ( produc4305682042979456191nt_int @ A5 @ ( product_Pair_int_int @ B5 @ C2 ) ) )
     => ( P @ X4 ) ) ).

% prod_induct3
thf(fact_164_prod__cases3,axiom,
    ! [Y4: produc2285326912895808259nt_int] :
      ~ ! [A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: int,C2: int] :
          ( Y4
         != ( produc5700946648718959541nt_int @ A5 @ ( product_Pair_int_int @ B5 @ C2 ) ) ) ).

% prod_cases3
thf(fact_165_prod__cases3,axiom,
    ! [Y4: produc7773217078559923341nt_int] :
      ~ ! [A5: int > option6357759511663192854e_term,B5: int,C2: int] :
          ( Y4
         != ( produc4305682042979456191nt_int @ A5 @ ( product_Pair_int_int @ B5 @ C2 ) ) ) ).

% prod_cases3
thf(fact_166_Pair__inject,axiom,
    ! [A: num,B: num,A2: num,B2: num] :
      ( ( ( product_Pair_num_num @ A @ B )
        = ( product_Pair_num_num @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_167_Pair__inject,axiom,
    ! [A: nat,B: nat,A2: nat,B2: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_168_Pair__inject,axiom,
    ! [A: int,B: int,A2: int,B2: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_169_Pair__inject,axiom,
    ! [A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int,A2: produc8551481072490612790e_term > option6357759511663192854e_term,B2: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ A @ B )
        = ( produc5700946648718959541nt_int @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_170_Pair__inject,axiom,
    ! [A: int > option6357759511663192854e_term,B: product_prod_int_int,A2: int > option6357759511663192854e_term,B2: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ A @ B )
        = ( produc4305682042979456191nt_int @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_171_prod__cases,axiom,
    ! [P: product_prod_num_num > $o,P2: product_prod_num_num] :
      ( ! [A5: num,B5: num] : ( P @ ( product_Pair_num_num @ A5 @ B5 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_172_prod__cases,axiom,
    ! [P: product_prod_nat_nat > $o,P2: product_prod_nat_nat] :
      ( ! [A5: nat,B5: nat] : ( P @ ( product_Pair_nat_nat @ A5 @ B5 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_173_prod__cases,axiom,
    ! [P: product_prod_int_int > $o,P2: product_prod_int_int] :
      ( ! [A5: int,B5: int] : ( P @ ( product_Pair_int_int @ A5 @ B5 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_174_prod__cases,axiom,
    ! [P: produc2285326912895808259nt_int > $o,P2: produc2285326912895808259nt_int] :
      ( ! [A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: product_prod_int_int] : ( P @ ( produc5700946648718959541nt_int @ A5 @ B5 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_175_prod__cases,axiom,
    ! [P: produc7773217078559923341nt_int > $o,P2: produc7773217078559923341nt_int] :
      ( ! [A5: int > option6357759511663192854e_term,B5: product_prod_int_int] : ( P @ ( produc4305682042979456191nt_int @ A5 @ B5 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_176_surj__pair,axiom,
    ! [P2: product_prod_num_num] :
    ? [X3: num,Y: num] :
      ( P2
      = ( product_Pair_num_num @ X3 @ Y ) ) ).

% surj_pair
thf(fact_177_surj__pair,axiom,
    ! [P2: product_prod_nat_nat] :
    ? [X3: nat,Y: nat] :
      ( P2
      = ( product_Pair_nat_nat @ X3 @ Y ) ) ).

% surj_pair
thf(fact_178_surj__pair,axiom,
    ! [P2: product_prod_int_int] :
    ? [X3: int,Y: int] :
      ( P2
      = ( product_Pair_int_int @ X3 @ Y ) ) ).

% surj_pair
thf(fact_179_surj__pair,axiom,
    ! [P2: produc2285326912895808259nt_int] :
    ? [X3: produc8551481072490612790e_term > option6357759511663192854e_term,Y: product_prod_int_int] :
      ( P2
      = ( produc5700946648718959541nt_int @ X3 @ Y ) ) ).

% surj_pair
thf(fact_180_surj__pair,axiom,
    ! [P2: produc7773217078559923341nt_int] :
    ? [X3: int > option6357759511663192854e_term,Y: product_prod_int_int] :
      ( P2
      = ( produc4305682042979456191nt_int @ X3 @ Y ) ) ).

% surj_pair
thf(fact_181_old_Oprod_Oexhaust,axiom,
    ! [Y4: product_prod_num_num] :
      ~ ! [A5: num,B5: num] :
          ( Y4
         != ( product_Pair_num_num @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_182_old_Oprod_Oexhaust,axiom,
    ! [Y4: product_prod_nat_nat] :
      ~ ! [A5: nat,B5: nat] :
          ( Y4
         != ( product_Pair_nat_nat @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_183_old_Oprod_Oexhaust,axiom,
    ! [Y4: product_prod_int_int] :
      ~ ! [A5: int,B5: int] :
          ( Y4
         != ( product_Pair_int_int @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_184_old_Oprod_Oexhaust,axiom,
    ! [Y4: produc2285326912895808259nt_int] :
      ~ ! [A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: product_prod_int_int] :
          ( Y4
         != ( produc5700946648718959541nt_int @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_185_old_Oprod_Oexhaust,axiom,
    ! [Y4: produc7773217078559923341nt_int] :
      ~ ! [A5: int > option6357759511663192854e_term,B5: product_prod_int_int] :
          ( Y4
         != ( produc4305682042979456191nt_int @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_186_one__reorient,axiom,
    ! [X4: int] :
      ( ( one_one_int = X4 )
      = ( X4 = one_one_int ) ) ).

% one_reorient
thf(fact_187_one__reorient,axiom,
    ! [X4: nat] :
      ( ( one_one_nat = X4 )
      = ( X4 = one_one_nat ) ) ).

% one_reorient
thf(fact_188_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_189_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_190_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_191_int__int__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = ( semiri1314217659103216013at_int @ N ) )
      = ( M = N ) ) ).

% int_int_eq
thf(fact_192_of__nat__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( semiri1314217659103216013at_int @ ( minus_minus_nat @ M @ N ) )
        = ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ) ).

% of_nat_diff
thf(fact_193_of__nat__diff,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( semiri1316708129612266289at_nat @ ( minus_minus_nat @ M @ N ) )
        = ( minus_minus_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ) ).

% of_nat_diff
thf(fact_194_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_195_one__add__one,axiom,
    ( ( plus_plus_nat @ one_one_nat @ one_one_nat )
    = ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ).

% one_add_one
thf(fact_196_one__add__one,axiom,
    ( ( plus_plus_int @ one_one_int @ one_one_int )
    = ( numeral_numeral_int @ ( bit0 @ one ) ) ) ).

% one_add_one
thf(fact_197_numeral__plus__one,axiom,
    ! [N: num] :
      ( ( plus_plus_nat @ ( numeral_numeral_nat @ N ) @ one_one_nat )
      = ( numeral_numeral_nat @ ( plus_plus_num @ N @ one ) ) ) ).

% numeral_plus_one
thf(fact_198_numeral__plus__one,axiom,
    ! [N: num] :
      ( ( plus_plus_int @ ( numeral_numeral_int @ N ) @ one_one_int )
      = ( numeral_numeral_int @ ( plus_plus_num @ N @ one ) ) ) ).

% numeral_plus_one
thf(fact_199_one__plus__numeral,axiom,
    ! [N: num] :
      ( ( plus_plus_nat @ one_one_nat @ ( numeral_numeral_nat @ N ) )
      = ( numeral_numeral_nat @ ( plus_plus_num @ one @ N ) ) ) ).

% one_plus_numeral
thf(fact_200_one__plus__numeral,axiom,
    ! [N: num] :
      ( ( plus_plus_int @ one_one_int @ ( numeral_numeral_int @ N ) )
      = ( numeral_numeral_int @ ( plus_plus_num @ one @ N ) ) ) ).

% one_plus_numeral
thf(fact_201_numeral__le__one__iff,axiom,
    ! [N: num] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ N ) @ one_one_nat )
      = ( ord_less_eq_num @ N @ one ) ) ).

% numeral_le_one_iff
thf(fact_202_numeral__le__one__iff,axiom,
    ! [N: num] :
      ( ( ord_less_eq_int @ ( numeral_numeral_int @ N ) @ one_one_int )
      = ( ord_less_eq_num @ N @ one ) ) ).

% numeral_le_one_iff
thf(fact_203_of__nat__numeral,axiom,
    ! [N: num] :
      ( ( semiri1314217659103216013at_int @ ( numeral_numeral_nat @ N ) )
      = ( numeral_numeral_int @ N ) ) ).

% of_nat_numeral
thf(fact_204_of__nat__numeral,axiom,
    ! [N: num] :
      ( ( semiri1316708129612266289at_nat @ ( numeral_numeral_nat @ N ) )
      = ( numeral_numeral_nat @ N ) ) ).

% of_nat_numeral
thf(fact_205_one__eq__numeral__iff,axiom,
    ! [N: num] :
      ( ( one_one_nat
        = ( numeral_numeral_nat @ N ) )
      = ( one = N ) ) ).

% one_eq_numeral_iff
thf(fact_206_one__eq__numeral__iff,axiom,
    ! [N: num] :
      ( ( one_one_int
        = ( numeral_numeral_int @ N ) )
      = ( one = N ) ) ).

% one_eq_numeral_iff
thf(fact_207_numeral__eq__one__iff,axiom,
    ! [N: num] :
      ( ( ( numeral_numeral_nat @ N )
        = one_one_nat )
      = ( N = one ) ) ).

% numeral_eq_one_iff
thf(fact_208_numeral__eq__one__iff,axiom,
    ! [N: num] :
      ( ( ( numeral_numeral_int @ N )
        = one_one_int )
      = ( N = one ) ) ).

% numeral_eq_one_iff
thf(fact_209_le__add__diff__inverse2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ ( minus_minus_nat @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_210_le__add__diff__inverse2,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( plus_plus_int @ ( minus_minus_int @ A @ B ) @ B )
        = A ) ) ).

% le_add_diff_inverse2
thf(fact_211_le__add__diff__inverse,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( plus_plus_nat @ B @ ( minus_minus_nat @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_212_le__add__diff__inverse,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( plus_plus_int @ B @ ( minus_minus_int @ A @ B ) )
        = A ) ) ).

% le_add_diff_inverse
thf(fact_213_nat__1__add__1,axiom,
    ( ( plus_plus_nat @ one_one_nat @ one_one_nat )
    = ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ).

% nat_1_add_1
thf(fact_214_semiring__norm_I86_J,axiom,
    ! [M: num] :
      ( ( bit1 @ M )
     != one ) ).

% semiring_norm(86)
thf(fact_215_semiring__norm_I84_J,axiom,
    ! [N: num] :
      ( one
     != ( bit1 @ N ) ) ).

% semiring_norm(84)
thf(fact_216_assms_I1_J,axiom,
    ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ n ) ).

% assms(1)
thf(fact_217_numeral__eq__iff,axiom,
    ! [M: num,N: num] :
      ( ( ( numeral_numeral_nat @ M )
        = ( numeral_numeral_nat @ N ) )
      = ( M = N ) ) ).

% numeral_eq_iff
thf(fact_218_numeral__eq__iff,axiom,
    ! [M: num,N: num] :
      ( ( ( numeral_numeral_int @ M )
        = ( numeral_numeral_int @ N ) )
      = ( M = N ) ) ).

% numeral_eq_iff
thf(fact_219_semiring__norm_I87_J,axiom,
    ! [M: num,N: num] :
      ( ( ( bit0 @ M )
        = ( bit0 @ N ) )
      = ( M = N ) ) ).

% semiring_norm(87)
thf(fact_220_semiring__norm_I90_J,axiom,
    ! [M: num,N: num] :
      ( ( ( bit1 @ M )
        = ( bit1 @ N ) )
      = ( M = N ) ) ).

% semiring_norm(90)
thf(fact_221_min_Oidem,axiom,
    ! [A: nat] :
      ( ( ord_min_nat @ A @ A )
      = A ) ).

% min.idem
thf(fact_222_min_Oleft__idem,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_min_nat @ A @ ( ord_min_nat @ A @ B ) )
      = ( ord_min_nat @ A @ B ) ) ).

% min.left_idem
thf(fact_223_min_Oright__idem,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_min_nat @ ( ord_min_nat @ A @ B ) @ B )
      = ( ord_min_nat @ A @ B ) ) ).

% min.right_idem
thf(fact_224_semiring__norm_I83_J,axiom,
    ! [N: num] :
      ( one
     != ( bit0 @ N ) ) ).

% semiring_norm(83)
thf(fact_225_semiring__norm_I85_J,axiom,
    ! [M: num] :
      ( ( bit0 @ M )
     != one ) ).

% semiring_norm(85)
thf(fact_226_dvd__add__triv__right__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( dvd_dvd_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( dvd_dvd_nat @ A @ B ) ) ).

% dvd_add_triv_right_iff
thf(fact_227_dvd__add__triv__right__iff,axiom,
    ! [A: int,B: int] :
      ( ( dvd_dvd_int @ A @ ( plus_plus_int @ B @ A ) )
      = ( dvd_dvd_int @ A @ B ) ) ).

% dvd_add_triv_right_iff
thf(fact_228_dvd__add__triv__left__iff,axiom,
    ! [A: nat,B: nat] :
      ( ( dvd_dvd_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( dvd_dvd_nat @ A @ B ) ) ).

% dvd_add_triv_left_iff
thf(fact_229_dvd__add__triv__left__iff,axiom,
    ! [A: int,B: int] :
      ( ( dvd_dvd_int @ A @ ( plus_plus_int @ A @ B ) )
      = ( dvd_dvd_int @ A @ B ) ) ).

% dvd_add_triv_left_iff
thf(fact_230_semiring__norm_I88_J,axiom,
    ! [M: num,N: num] :
      ( ( bit0 @ M )
     != ( bit1 @ N ) ) ).

% semiring_norm(88)
thf(fact_231_semiring__norm_I89_J,axiom,
    ! [M: num,N: num] :
      ( ( bit1 @ M )
     != ( bit0 @ N ) ) ).

% semiring_norm(89)
thf(fact_232_min_Obounded__iff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( ord_min_nat @ B @ C ) )
      = ( ( ord_less_eq_nat @ A @ B )
        & ( ord_less_eq_nat @ A @ C ) ) ) ).

% min.bounded_iff
thf(fact_233_min_Obounded__iff,axiom,
    ! [A: num,B: num,C: num] :
      ( ( ord_less_eq_num @ A @ ( ord_min_num @ B @ C ) )
      = ( ( ord_less_eq_num @ A @ B )
        & ( ord_less_eq_num @ A @ C ) ) ) ).

% min.bounded_iff
thf(fact_234_min_Obounded__iff,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ ( ord_min_int @ B @ C ) )
      = ( ( ord_less_eq_int @ A @ B )
        & ( ord_less_eq_int @ A @ C ) ) ) ).

% min.bounded_iff
thf(fact_235_min_Oabsorb2,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ A )
     => ( ( ord_min_nat @ A @ B )
        = B ) ) ).

% min.absorb2
thf(fact_236_min_Oabsorb2,axiom,
    ! [B: num,A: num] :
      ( ( ord_less_eq_num @ B @ A )
     => ( ( ord_min_num @ A @ B )
        = B ) ) ).

% min.absorb2
thf(fact_237_min_Oabsorb2,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ B @ A )
     => ( ( ord_min_int @ A @ B )
        = B ) ) ).

% min.absorb2
thf(fact_238_min_Oabsorb1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_min_nat @ A @ B )
        = A ) ) ).

% min.absorb1
thf(fact_239_min_Oabsorb1,axiom,
    ! [A: num,B: num] :
      ( ( ord_less_eq_num @ A @ B )
     => ( ( ord_min_num @ A @ B )
        = A ) ) ).

% min.absorb1
thf(fact_240_min_Oabsorb1,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_min_int @ A @ B )
        = A ) ) ).

% min.absorb1
thf(fact_241_int__eq__iff__numeral,axiom,
    ! [M: nat,V: num] :
      ( ( ( semiri1314217659103216013at_int @ M )
        = ( numeral_numeral_int @ V ) )
      = ( M
        = ( numeral_numeral_nat @ V ) ) ) ).

% int_eq_iff_numeral
thf(fact_242_nat__dvd__1__iff__1,axiom,
    ! [M: nat] :
      ( ( dvd_dvd_nat @ M @ one_one_nat )
      = ( M = one_one_nat ) ) ).

% nat_dvd_1_iff_1
thf(fact_243_semiring__norm_I6_J,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_num @ ( bit0 @ M ) @ ( bit0 @ N ) )
      = ( bit0 @ ( plus_plus_num @ M @ N ) ) ) ).

% semiring_norm(6)
thf(fact_244_semiring__norm_I71_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_eq_num @ ( bit0 @ M ) @ ( bit0 @ N ) )
      = ( ord_less_eq_num @ M @ N ) ) ).

% semiring_norm(71)
thf(fact_245_semiring__norm_I68_J,axiom,
    ! [N: num] : ( ord_less_eq_num @ one @ N ) ).

% semiring_norm(68)
thf(fact_246_semiring__norm_I73_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_eq_num @ ( bit1 @ M ) @ ( bit1 @ N ) )
      = ( ord_less_eq_num @ M @ N ) ) ).

% semiring_norm(73)
thf(fact_247_min__number__of_I1_J,axiom,
    ! [U: num,V: num] :
      ( ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ U ) @ ( numeral_numeral_nat @ V ) )
       => ( ( ord_min_nat @ ( numeral_numeral_nat @ U ) @ ( numeral_numeral_nat @ V ) )
          = ( numeral_numeral_nat @ U ) ) )
      & ( ~ ( ord_less_eq_nat @ ( numeral_numeral_nat @ U ) @ ( numeral_numeral_nat @ V ) )
       => ( ( ord_min_nat @ ( numeral_numeral_nat @ U ) @ ( numeral_numeral_nat @ V ) )
          = ( numeral_numeral_nat @ V ) ) ) ) ).

% min_number_of(1)
thf(fact_248_min__number__of_I1_J,axiom,
    ! [U: num,V: num] :
      ( ( ( ord_less_eq_int @ ( numeral_numeral_int @ U ) @ ( numeral_numeral_int @ V ) )
       => ( ( ord_min_int @ ( numeral_numeral_int @ U ) @ ( numeral_numeral_int @ V ) )
          = ( numeral_numeral_int @ U ) ) )
      & ( ~ ( ord_less_eq_int @ ( numeral_numeral_int @ U ) @ ( numeral_numeral_int @ V ) )
       => ( ( ord_min_int @ ( numeral_numeral_int @ U ) @ ( numeral_numeral_int @ V ) )
          = ( numeral_numeral_int @ V ) ) ) ) ).

% min_number_of(1)
thf(fact_249_min__0__1_I6_J,axiom,
    ! [X4: num] :
      ( ( ord_min_nat @ ( numeral_numeral_nat @ X4 ) @ one_one_nat )
      = one_one_nat ) ).

% min_0_1(6)
thf(fact_250_min__0__1_I6_J,axiom,
    ! [X4: num] :
      ( ( ord_min_int @ ( numeral_numeral_int @ X4 ) @ one_one_int )
      = one_one_int ) ).

% min_0_1(6)
thf(fact_251_min__0__1_I5_J,axiom,
    ! [X4: num] :
      ( ( ord_min_nat @ one_one_nat @ ( numeral_numeral_nat @ X4 ) )
      = one_one_nat ) ).

% min_0_1(5)
thf(fact_252_min__0__1_I5_J,axiom,
    ! [X4: num] :
      ( ( ord_min_int @ one_one_int @ ( numeral_numeral_int @ X4 ) )
      = one_one_int ) ).

% min_0_1(5)
thf(fact_253_add__numeral__left,axiom,
    ! [V: num,W: num,Z: nat] :
      ( ( plus_plus_nat @ ( numeral_numeral_nat @ V ) @ ( plus_plus_nat @ ( numeral_numeral_nat @ W ) @ Z ) )
      = ( plus_plus_nat @ ( numeral_numeral_nat @ ( plus_plus_num @ V @ W ) ) @ Z ) ) ).

% add_numeral_left
thf(fact_254_add__numeral__left,axiom,
    ! [V: num,W: num,Z: int] :
      ( ( plus_plus_int @ ( numeral_numeral_int @ V ) @ ( plus_plus_int @ ( numeral_numeral_int @ W ) @ Z ) )
      = ( plus_plus_int @ ( numeral_numeral_int @ ( plus_plus_num @ V @ W ) ) @ Z ) ) ).

% add_numeral_left
thf(fact_255_numeral__plus__numeral,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
      = ( numeral_numeral_nat @ ( plus_plus_num @ M @ N ) ) ) ).

% numeral_plus_numeral
thf(fact_256_numeral__plus__numeral,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ N ) )
      = ( numeral_numeral_int @ ( plus_plus_num @ M @ N ) ) ) ).

% numeral_plus_numeral
thf(fact_257_semiring__norm_I2_J,axiom,
    ( ( plus_plus_num @ one @ one )
    = ( bit0 @ one ) ) ).

% semiring_norm(2)
thf(fact_258_semiring__norm_I7_J,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_num @ ( bit0 @ M ) @ ( bit1 @ N ) )
      = ( bit1 @ ( plus_plus_num @ M @ N ) ) ) ).

% semiring_norm(7)
thf(fact_259_semiring__norm_I9_J,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_num @ ( bit1 @ M ) @ ( bit0 @ N ) )
      = ( bit1 @ ( plus_plus_num @ M @ N ) ) ) ).

% semiring_norm(9)
thf(fact_260_numeral__le__iff,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
      = ( ord_less_eq_num @ M @ N ) ) ).

% numeral_le_iff
thf(fact_261_numeral__le__iff,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_eq_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ N ) )
      = ( ord_less_eq_num @ M @ N ) ) ).

% numeral_le_iff
thf(fact_262_semiring__norm_I69_J,axiom,
    ! [M: num] :
      ~ ( ord_less_eq_num @ ( bit0 @ M ) @ one ) ).

% semiring_norm(69)
thf(fact_263_semiring__norm_I72_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_eq_num @ ( bit0 @ M ) @ ( bit1 @ N ) )
      = ( ord_less_eq_num @ M @ N ) ) ).

% semiring_norm(72)
thf(fact_264_semiring__norm_I70_J,axiom,
    ! [M: num] :
      ~ ( ord_less_eq_num @ ( bit1 @ M ) @ one ) ).

% semiring_norm(70)
thf(fact_265_semiring__norm_I3_J,axiom,
    ! [N: num] :
      ( ( plus_plus_num @ one @ ( bit0 @ N ) )
      = ( bit1 @ N ) ) ).

% semiring_norm(3)
thf(fact_266_semiring__norm_I4_J,axiom,
    ! [N: num] :
      ( ( plus_plus_num @ one @ ( bit1 @ N ) )
      = ( bit0 @ ( plus_plus_num @ N @ one ) ) ) ).

% semiring_norm(4)
thf(fact_267_semiring__norm_I5_J,axiom,
    ! [M: num] :
      ( ( plus_plus_num @ ( bit0 @ M ) @ one )
      = ( bit1 @ M ) ) ).

% semiring_norm(5)
thf(fact_268_semiring__norm_I8_J,axiom,
    ! [M: num] :
      ( ( plus_plus_num @ ( bit1 @ M ) @ one )
      = ( bit0 @ ( plus_plus_num @ M @ one ) ) ) ).

% semiring_norm(8)
thf(fact_269_semiring__norm_I10_J,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_num @ ( bit1 @ M ) @ ( bit1 @ N ) )
      = ( bit0 @ ( plus_plus_num @ ( plus_plus_num @ M @ N ) @ one ) ) ) ).

% semiring_norm(10)
thf(fact_270_assms_I2_J,axiom,
    ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ ( ord_min_nat @ n @ m ) ).

% assms(2)
thf(fact_271_min_Oassoc,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_min_nat @ ( ord_min_nat @ A @ B ) @ C )
      = ( ord_min_nat @ A @ ( ord_min_nat @ B @ C ) ) ) ).

% min.assoc
thf(fact_272_min_Ocommute,axiom,
    ( ord_min_nat
    = ( ^ [A4: nat,B4: nat] : ( ord_min_nat @ B4 @ A4 ) ) ) ).

% min.commute
thf(fact_273_min_Oleft__commute,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( ord_min_nat @ B @ ( ord_min_nat @ A @ C ) )
      = ( ord_min_nat @ A @ ( ord_min_nat @ B @ C ) ) ) ).

% min.left_commute
thf(fact_274_dvd__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_nat @ M @ N )
     => ( ( dvd_dvd_nat @ N @ M )
       => ( M = N ) ) ) ).

% dvd_antisym
thf(fact_275_dvd__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( dvd_dvd_nat @ B @ C )
       => ( dvd_dvd_nat @ A @ C ) ) ) ).

% dvd_trans
thf(fact_276_dvd__trans,axiom,
    ! [A: int,B: int,C: int] :
      ( ( dvd_dvd_int @ A @ B )
     => ( ( dvd_dvd_int @ B @ C )
       => ( dvd_dvd_int @ A @ C ) ) ) ).

% dvd_trans
thf(fact_277_dvd__refl,axiom,
    ! [A: nat] : ( dvd_dvd_nat @ A @ A ) ).

% dvd_refl
thf(fact_278_dvd__refl,axiom,
    ! [A: int] : ( dvd_dvd_int @ A @ A ) ).

% dvd_refl
thf(fact_279_of__nat__min,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( semiri1314217659103216013at_int @ ( ord_min_nat @ X4 @ Y4 ) )
      = ( ord_min_int @ ( semiri1314217659103216013at_int @ X4 ) @ ( semiri1314217659103216013at_int @ Y4 ) ) ) ).

% of_nat_min
thf(fact_280_of__nat__min,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( semiri1316708129612266289at_nat @ ( ord_min_nat @ X4 @ Y4 ) )
      = ( ord_min_nat @ ( semiri1316708129612266289at_nat @ X4 ) @ ( semiri1316708129612266289at_nat @ Y4 ) ) ) ).

% of_nat_min
thf(fact_281_dvd__add__right__iff,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( dvd_dvd_nat @ A @ ( plus_plus_nat @ B @ C ) )
        = ( dvd_dvd_nat @ A @ C ) ) ) ).

% dvd_add_right_iff
thf(fact_282_dvd__add__right__iff,axiom,
    ! [A: int,B: int,C: int] :
      ( ( dvd_dvd_int @ A @ B )
     => ( ( dvd_dvd_int @ A @ ( plus_plus_int @ B @ C ) )
        = ( dvd_dvd_int @ A @ C ) ) ) ).

% dvd_add_right_iff
thf(fact_283_dvd__add__left__iff,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( dvd_dvd_nat @ A @ C )
     => ( ( dvd_dvd_nat @ A @ ( plus_plus_nat @ B @ C ) )
        = ( dvd_dvd_nat @ A @ B ) ) ) ).

% dvd_add_left_iff
thf(fact_284_dvd__add__left__iff,axiom,
    ! [A: int,C: int,B: int] :
      ( ( dvd_dvd_int @ A @ C )
     => ( ( dvd_dvd_int @ A @ ( plus_plus_int @ B @ C ) )
        = ( dvd_dvd_int @ A @ B ) ) ) ).

% dvd_add_left_iff
thf(fact_285_dvd__add,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( dvd_dvd_nat @ A @ C )
       => ( dvd_dvd_nat @ A @ ( plus_plus_nat @ B @ C ) ) ) ) ).

% dvd_add
thf(fact_286_dvd__add,axiom,
    ! [A: int,B: int,C: int] :
      ( ( dvd_dvd_int @ A @ B )
     => ( ( dvd_dvd_int @ A @ C )
       => ( dvd_dvd_int @ A @ ( plus_plus_int @ B @ C ) ) ) ) ).

% dvd_add
thf(fact_287_one__dvd,axiom,
    ! [A: int] : ( dvd_dvd_int @ one_one_int @ A ) ).

% one_dvd
thf(fact_288_one__dvd,axiom,
    ! [A: nat] : ( dvd_dvd_nat @ one_one_nat @ A ) ).

% one_dvd
thf(fact_289_unit__imp__dvd,axiom,
    ! [B: int,A: int] :
      ( ( dvd_dvd_int @ B @ one_one_int )
     => ( dvd_dvd_int @ B @ A ) ) ).

% unit_imp_dvd
thf(fact_290_unit__imp__dvd,axiom,
    ! [B: nat,A: nat] :
      ( ( dvd_dvd_nat @ B @ one_one_nat )
     => ( dvd_dvd_nat @ B @ A ) ) ).

% unit_imp_dvd
thf(fact_291_dvd__unit__imp__unit,axiom,
    ! [A: int,B: int] :
      ( ( dvd_dvd_int @ A @ B )
     => ( ( dvd_dvd_int @ B @ one_one_int )
       => ( dvd_dvd_int @ A @ one_one_int ) ) ) ).

% dvd_unit_imp_unit
thf(fact_292_dvd__unit__imp__unit,axiom,
    ! [A: nat,B: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( dvd_dvd_nat @ B @ one_one_nat )
       => ( dvd_dvd_nat @ A @ one_one_nat ) ) ) ).

% dvd_unit_imp_unit
thf(fact_293_dvd__diff,axiom,
    ! [X4: int,Y4: int,Z: int] :
      ( ( dvd_dvd_int @ X4 @ Y4 )
     => ( ( dvd_dvd_int @ X4 @ Z )
       => ( dvd_dvd_int @ X4 @ ( minus_minus_int @ Y4 @ Z ) ) ) ) ).

% dvd_diff
thf(fact_294_add__One__commute,axiom,
    ! [N: num] :
      ( ( plus_plus_num @ one @ N )
      = ( plus_plus_num @ N @ one ) ) ).

% add_One_commute
thf(fact_295_le__num__One__iff,axiom,
    ! [X4: num] :
      ( ( ord_less_eq_num @ X4 @ one )
      = ( X4 = one ) ) ).

% le_num_One_iff
thf(fact_296_min__le__iff__disj,axiom,
    ! [X4: nat,Y4: nat,Z: nat] :
      ( ( ord_less_eq_nat @ ( ord_min_nat @ X4 @ Y4 ) @ Z )
      = ( ( ord_less_eq_nat @ X4 @ Z )
        | ( ord_less_eq_nat @ Y4 @ Z ) ) ) ).

% min_le_iff_disj
thf(fact_297_min__le__iff__disj,axiom,
    ! [X4: num,Y4: num,Z: num] :
      ( ( ord_less_eq_num @ ( ord_min_num @ X4 @ Y4 ) @ Z )
      = ( ( ord_less_eq_num @ X4 @ Z )
        | ( ord_less_eq_num @ Y4 @ Z ) ) ) ).

% min_le_iff_disj
thf(fact_298_min__le__iff__disj,axiom,
    ! [X4: int,Y4: int,Z: int] :
      ( ( ord_less_eq_int @ ( ord_min_int @ X4 @ Y4 ) @ Z )
      = ( ( ord_less_eq_int @ X4 @ Z )
        | ( ord_less_eq_int @ Y4 @ Z ) ) ) ).

% min_le_iff_disj
thf(fact_299_min_OcoboundedI2,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_eq_nat @ B @ C )
     => ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.coboundedI2
thf(fact_300_min_OcoboundedI2,axiom,
    ! [B: num,C: num,A: num] :
      ( ( ord_less_eq_num @ B @ C )
     => ( ord_less_eq_num @ ( ord_min_num @ A @ B ) @ C ) ) ).

% min.coboundedI2
thf(fact_301_min_OcoboundedI2,axiom,
    ! [B: int,C: int,A: int] :
      ( ( ord_less_eq_int @ B @ C )
     => ( ord_less_eq_int @ ( ord_min_int @ A @ B ) @ C ) ) ).

% min.coboundedI2
thf(fact_302_min_OcoboundedI1,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.coboundedI1
thf(fact_303_min_OcoboundedI1,axiom,
    ! [A: num,C: num,B: num] :
      ( ( ord_less_eq_num @ A @ C )
     => ( ord_less_eq_num @ ( ord_min_num @ A @ B ) @ C ) ) ).

% min.coboundedI1
thf(fact_304_min_OcoboundedI1,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ A @ C )
     => ( ord_less_eq_int @ ( ord_min_int @ A @ B ) @ C ) ) ).

% min.coboundedI1
thf(fact_305_min_Oabsorb__iff2,axiom,
    ( ord_less_eq_nat
    = ( ^ [B4: nat,A4: nat] :
          ( ( ord_min_nat @ A4 @ B4 )
          = B4 ) ) ) ).

% min.absorb_iff2
thf(fact_306_min_Oabsorb__iff2,axiom,
    ( ord_less_eq_num
    = ( ^ [B4: num,A4: num] :
          ( ( ord_min_num @ A4 @ B4 )
          = B4 ) ) ) ).

% min.absorb_iff2
thf(fact_307_min_Oabsorb__iff2,axiom,
    ( ord_less_eq_int
    = ( ^ [B4: int,A4: int] :
          ( ( ord_min_int @ A4 @ B4 )
          = B4 ) ) ) ).

% min.absorb_iff2
thf(fact_308_min_Oabsorb__iff1,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B4: nat] :
          ( ( ord_min_nat @ A4 @ B4 )
          = A4 ) ) ) ).

% min.absorb_iff1
thf(fact_309_min_Oabsorb__iff1,axiom,
    ( ord_less_eq_num
    = ( ^ [A4: num,B4: num] :
          ( ( ord_min_num @ A4 @ B4 )
          = A4 ) ) ) ).

% min.absorb_iff1
thf(fact_310_min_Oabsorb__iff1,axiom,
    ( ord_less_eq_int
    = ( ^ [A4: int,B4: int] :
          ( ( ord_min_int @ A4 @ B4 )
          = A4 ) ) ) ).

% min.absorb_iff1
thf(fact_311_min_Ocobounded2,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ B ) ).

% min.cobounded2
thf(fact_312_min_Ocobounded2,axiom,
    ! [A: num,B: num] : ( ord_less_eq_num @ ( ord_min_num @ A @ B ) @ B ) ).

% min.cobounded2
thf(fact_313_min_Ocobounded2,axiom,
    ! [A: int,B: int] : ( ord_less_eq_int @ ( ord_min_int @ A @ B ) @ B ) ).

% min.cobounded2
thf(fact_314_min_Ocobounded1,axiom,
    ! [A: nat,B: nat] : ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ A ) ).

% min.cobounded1
thf(fact_315_min_Ocobounded1,axiom,
    ! [A: num,B: num] : ( ord_less_eq_num @ ( ord_min_num @ A @ B ) @ A ) ).

% min.cobounded1
thf(fact_316_min_Ocobounded1,axiom,
    ! [A: int,B: int] : ( ord_less_eq_int @ ( ord_min_int @ A @ B ) @ A ) ).

% min.cobounded1
thf(fact_317_min_Oorder__iff,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B4: nat] :
          ( A4
          = ( ord_min_nat @ A4 @ B4 ) ) ) ) ).

% min.order_iff
thf(fact_318_min_Oorder__iff,axiom,
    ( ord_less_eq_num
    = ( ^ [A4: num,B4: num] :
          ( A4
          = ( ord_min_num @ A4 @ B4 ) ) ) ) ).

% min.order_iff
thf(fact_319_min_Oorder__iff,axiom,
    ( ord_less_eq_int
    = ( ^ [A4: int,B4: int] :
          ( A4
          = ( ord_min_int @ A4 @ B4 ) ) ) ) ).

% min.order_iff
thf(fact_320_min_OboundedI,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ A @ C )
       => ( ord_less_eq_nat @ A @ ( ord_min_nat @ B @ C ) ) ) ) ).

% min.boundedI
thf(fact_321_min_OboundedI,axiom,
    ! [A: num,B: num,C: num] :
      ( ( ord_less_eq_num @ A @ B )
     => ( ( ord_less_eq_num @ A @ C )
       => ( ord_less_eq_num @ A @ ( ord_min_num @ B @ C ) ) ) ) ).

% min.boundedI
thf(fact_322_min_OboundedI,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ A @ C )
       => ( ord_less_eq_int @ A @ ( ord_min_int @ B @ C ) ) ) ) ).

% min.boundedI
thf(fact_323_min_OboundedE,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ A @ ( ord_min_nat @ B @ C ) )
     => ~ ( ( ord_less_eq_nat @ A @ B )
         => ~ ( ord_less_eq_nat @ A @ C ) ) ) ).

% min.boundedE
thf(fact_324_min_OboundedE,axiom,
    ! [A: num,B: num,C: num] :
      ( ( ord_less_eq_num @ A @ ( ord_min_num @ B @ C ) )
     => ~ ( ( ord_less_eq_num @ A @ B )
         => ~ ( ord_less_eq_num @ A @ C ) ) ) ).

% min.boundedE
thf(fact_325_min_OboundedE,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ A @ ( ord_min_int @ B @ C ) )
     => ~ ( ( ord_less_eq_int @ A @ B )
         => ~ ( ord_less_eq_int @ A @ C ) ) ) ).

% min.boundedE
thf(fact_326_min_OorderI,axiom,
    ! [A: nat,B: nat] :
      ( ( A
        = ( ord_min_nat @ A @ B ) )
     => ( ord_less_eq_nat @ A @ B ) ) ).

% min.orderI
thf(fact_327_min_OorderI,axiom,
    ! [A: num,B: num] :
      ( ( A
        = ( ord_min_num @ A @ B ) )
     => ( ord_less_eq_num @ A @ B ) ) ).

% min.orderI
thf(fact_328_min_OorderI,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( ord_min_int @ A @ B ) )
     => ( ord_less_eq_int @ A @ B ) ) ).

% min.orderI
thf(fact_329_min_OorderE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( A
        = ( ord_min_nat @ A @ B ) ) ) ).

% min.orderE
thf(fact_330_min_OorderE,axiom,
    ! [A: num,B: num] :
      ( ( ord_less_eq_num @ A @ B )
     => ( A
        = ( ord_min_num @ A @ B ) ) ) ).

% min.orderE
thf(fact_331_min_OorderE,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ B )
     => ( A
        = ( ord_min_int @ A @ B ) ) ) ).

% min.orderE
thf(fact_332_min_Omono,axiom,
    ! [A: nat,C: nat,B: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ C )
     => ( ( ord_less_eq_nat @ B @ D )
       => ( ord_less_eq_nat @ ( ord_min_nat @ A @ B ) @ ( ord_min_nat @ C @ D ) ) ) ) ).

% min.mono
thf(fact_333_min_Omono,axiom,
    ! [A: num,C: num,B: num,D: num] :
      ( ( ord_less_eq_num @ A @ C )
     => ( ( ord_less_eq_num @ B @ D )
       => ( ord_less_eq_num @ ( ord_min_num @ A @ B ) @ ( ord_min_num @ C @ D ) ) ) ) ).

% min.mono
thf(fact_334_min_Omono,axiom,
    ! [A: int,C: int,B: int,D: int] :
      ( ( ord_less_eq_int @ A @ C )
     => ( ( ord_less_eq_int @ B @ D )
       => ( ord_less_eq_int @ ( ord_min_int @ A @ B ) @ ( ord_min_int @ C @ D ) ) ) ) ).

% min.mono
thf(fact_335_min__add__distrib__right,axiom,
    ! [X4: int,Y4: int,Z: int] :
      ( ( plus_plus_int @ X4 @ ( ord_min_int @ Y4 @ Z ) )
      = ( ord_min_int @ ( plus_plus_int @ X4 @ Y4 ) @ ( plus_plus_int @ X4 @ Z ) ) ) ).

% min_add_distrib_right
thf(fact_336_min__add__distrib__right,axiom,
    ! [X4: nat,Y4: nat,Z: nat] :
      ( ( plus_plus_nat @ X4 @ ( ord_min_nat @ Y4 @ Z ) )
      = ( ord_min_nat @ ( plus_plus_nat @ X4 @ Y4 ) @ ( plus_plus_nat @ X4 @ Z ) ) ) ).

% min_add_distrib_right
thf(fact_337_min__add__distrib__left,axiom,
    ! [X4: int,Y4: int,Z: int] :
      ( ( plus_plus_int @ ( ord_min_int @ X4 @ Y4 ) @ Z )
      = ( ord_min_int @ ( plus_plus_int @ X4 @ Z ) @ ( plus_plus_int @ Y4 @ Z ) ) ) ).

% min_add_distrib_left
thf(fact_338_min__add__distrib__left,axiom,
    ! [X4: nat,Y4: nat,Z: nat] :
      ( ( plus_plus_nat @ ( ord_min_nat @ X4 @ Y4 ) @ Z )
      = ( ord_min_nat @ ( plus_plus_nat @ X4 @ Z ) @ ( plus_plus_nat @ Y4 @ Z ) ) ) ).

% min_add_distrib_left
thf(fact_339_min__diff__distrib__left,axiom,
    ! [X4: int,Y4: int,Z: int] :
      ( ( minus_minus_int @ ( ord_min_int @ X4 @ Y4 ) @ Z )
      = ( ord_min_int @ ( minus_minus_int @ X4 @ Z ) @ ( minus_minus_int @ Y4 @ Z ) ) ) ).

% min_diff_distrib_left
thf(fact_340_min__diff,axiom,
    ! [M: nat,I: nat,N: nat] :
      ( ( ord_min_nat @ ( minus_minus_nat @ M @ I ) @ ( minus_minus_nat @ N @ I ) )
      = ( minus_minus_nat @ ( ord_min_nat @ M @ N ) @ I ) ) ).

% min_diff
thf(fact_341_dvd__diff__nat,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( dvd_dvd_nat @ K @ M )
     => ( ( dvd_dvd_nat @ K @ N )
       => ( dvd_dvd_nat @ K @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% dvd_diff_nat
thf(fact_342_less__eq__dvd__minus,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( dvd_dvd_nat @ M @ N )
        = ( dvd_dvd_nat @ M @ ( minus_minus_nat @ N @ M ) ) ) ) ).

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

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

% dvd_diffD
thf(fact_345_zle__int,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% zle_int
thf(fact_346_int__ge__induct,axiom,
    ! [K: int,I: int,P: int > $o] :
      ( ( ord_less_eq_int @ K @ I )
     => ( ( P @ K )
       => ( ! [I2: int] :
              ( ( ord_less_eq_int @ K @ I2 )
             => ( ( P @ I2 )
               => ( P @ ( plus_plus_int @ I2 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_ge_induct
thf(fact_347_zle__iff__zadd,axiom,
    ( ord_less_eq_int
    = ( ^ [W2: int,Z2: int] :
        ? [N3: nat] :
          ( Z2
          = ( plus_plus_int @ W2 @ ( semiri1314217659103216013at_int @ N3 ) ) ) ) ) ).

% zle_iff_zadd
thf(fact_348_int__le__induct,axiom,
    ! [I: int,K: int,P: int > $o] :
      ( ( ord_less_eq_int @ I @ K )
     => ( ( P @ K )
       => ( ! [I2: int] :
              ( ( ord_less_eq_int @ I2 @ K )
             => ( ( P @ I2 )
               => ( P @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_le_induct
thf(fact_349_board__subset,axiom,
    ! [N_1: nat,N_2: nat,M_1: nat,M_2: nat] :
      ( ( ord_less_eq_nat @ N_1 @ N_2 )
     => ( ( ord_less_eq_nat @ M_1 @ M_2 )
       => ( ord_le2843351958646193337nt_int @ ( board @ N_1 @ M_1 ) @ ( board @ N_2 @ M_2 ) ) ) ) ).

% board_subset
thf(fact_350_board__leq__subset,axiom,
    ! [N_1: nat,N_2: nat,M_1: nat,M_2: nat] :
      ( ( ( ord_less_eq_nat @ N_1 @ N_2 )
        & ( ord_less_eq_nat @ M_1 @ M_2 ) )
     => ( ord_le2843351958646193337nt_int @ ( board @ N_1 @ M_1 ) @ ( board @ N_2 @ M_2 ) ) ) ).

% board_leq_subset
thf(fact_351_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_352_int__induct,axiom,
    ! [P: int > $o,K: int,I: int] :
      ( ( P @ K )
     => ( ! [I2: int] :
            ( ( ord_less_eq_int @ K @ I2 )
           => ( ( P @ I2 )
             => ( P @ ( plus_plus_int @ I2 @ one_one_int ) ) ) )
       => ( ! [I2: int] :
              ( ( ord_less_eq_int @ I2 @ K )
             => ( ( P @ I2 )
               => ( P @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_induct
thf(fact_353_knights__path__board__m__n__geq__1,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( ord_less_eq_nat @ one_one_nat @ ( ord_min_nat @ N @ M ) ) ) ).

% knights_path_board_m_n_geq_1
thf(fact_354_le__numeral__extra_I4_J,axiom,
    ord_less_eq_nat @ one_one_nat @ one_one_nat ).

% le_numeral_extra(4)
thf(fact_355_le__numeral__extra_I4_J,axiom,
    ord_less_eq_int @ one_one_int @ one_one_int ).

% le_numeral_extra(4)
thf(fact_356_one__le__numeral,axiom,
    ! [N: num] : ( ord_less_eq_nat @ one_one_nat @ ( numeral_numeral_nat @ N ) ) ).

% one_le_numeral
thf(fact_357_one__le__numeral,axiom,
    ! [N: num] : ( ord_less_eq_int @ one_one_int @ ( numeral_numeral_int @ N ) ) ).

% one_le_numeral
thf(fact_358_add__le__imp__le__diff,axiom,
    ! [I: nat,K: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ord_less_eq_nat @ I @ ( minus_minus_nat @ N @ K ) ) ) ).

% add_le_imp_le_diff
thf(fact_359_add__le__imp__le__diff,axiom,
    ! [I: int,K: int,N: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ N )
     => ( ord_less_eq_int @ I @ ( minus_minus_int @ N @ K ) ) ) ).

% add_le_imp_le_diff
thf(fact_360_add__le__add__imp__diff__le,axiom,
    ! [I: nat,K: nat,N: nat,J: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
     => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
       => ( ( ord_less_eq_nat @ ( plus_plus_nat @ I @ K ) @ N )
         => ( ( ord_less_eq_nat @ N @ ( plus_plus_nat @ J @ K ) )
           => ( ord_less_eq_nat @ ( minus_minus_nat @ N @ K ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_361_add__le__add__imp__diff__le,axiom,
    ! [I: int,K: int,N: int,J: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ N )
     => ( ( ord_less_eq_int @ N @ ( plus_plus_int @ J @ K ) )
       => ( ( ord_less_eq_int @ ( plus_plus_int @ I @ K ) @ N )
         => ( ( ord_less_eq_int @ N @ ( plus_plus_int @ J @ K ) )
           => ( ord_less_eq_int @ ( minus_minus_int @ N @ K ) @ J ) ) ) ) ) ).

% add_le_add_imp_diff_le
thf(fact_362_one__plus__numeral__commute,axiom,
    ! [X4: num] :
      ( ( plus_plus_nat @ one_one_nat @ ( numeral_numeral_nat @ X4 ) )
      = ( plus_plus_nat @ ( numeral_numeral_nat @ X4 ) @ one_one_nat ) ) ).

% one_plus_numeral_commute
thf(fact_363_one__plus__numeral__commute,axiom,
    ! [X4: num] :
      ( ( plus_plus_int @ one_one_int @ ( numeral_numeral_int @ X4 ) )
      = ( plus_plus_int @ ( numeral_numeral_int @ X4 ) @ one_one_int ) ) ).

% one_plus_numeral_commute
thf(fact_364_numeral__Bit0,axiom,
    ! [N: num] :
      ( ( numeral_numeral_nat @ ( bit0 @ N ) )
      = ( plus_plus_nat @ ( numeral_numeral_nat @ N ) @ ( numeral_numeral_nat @ N ) ) ) ).

% numeral_Bit0
thf(fact_365_numeral__Bit0,axiom,
    ! [N: num] :
      ( ( numeral_numeral_int @ ( bit0 @ N ) )
      = ( plus_plus_int @ ( numeral_numeral_int @ N ) @ ( numeral_numeral_int @ N ) ) ) ).

% numeral_Bit0
thf(fact_366_numeral__One,axiom,
    ( ( numeral_numeral_nat @ one )
    = one_one_nat ) ).

% numeral_One
thf(fact_367_numeral__One,axiom,
    ( ( numeral_numeral_int @ one )
    = one_one_int ) ).

% numeral_One
thf(fact_368_num_Oexhaust,axiom,
    ! [Y4: num] :
      ( ( Y4 != one )
     => ( ! [X22: num] :
            ( Y4
           != ( bit0 @ X22 ) )
       => ~ ! [X32: num] :
              ( Y4
             != ( bit1 @ X32 ) ) ) ) ).

% num.exhaust
thf(fact_369_numerals_I1_J,axiom,
    ( ( numeral_numeral_nat @ one )
    = one_one_nat ) ).

% numerals(1)
thf(fact_370_knights__path__6xm__ul__exists,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M )
     => ? [Ps2: list_P5707943133018811711nt_int] :
          ( ( knights_path @ ( board @ ( numeral_numeral_nat @ ( bit0 @ ( bit1 @ one ) ) ) @ M ) @ Ps2 )
          & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
            = ( product_Pair_int_int @ one_one_int @ one_one_int ) )
          & ( ( last_P3305686521732843992nt_int @ Ps2 )
            = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit1 @ ( bit0 @ one ) ) ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ) ) ).

% knights_path_6xm_ul_exists
thf(fact_371_knights__path__8xm__ul__exists,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M )
     => ? [Ps2: list_P5707943133018811711nt_int] :
          ( ( knights_path @ ( board @ ( numeral_numeral_nat @ ( bit0 @ ( bit0 @ ( bit0 @ one ) ) ) ) @ M ) @ Ps2 )
          & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
            = ( product_Pair_int_int @ one_one_int @ one_one_int ) )
          & ( ( last_P3305686521732843992nt_int @ Ps2 )
            = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit1 @ ( bit1 @ one ) ) ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ) ) ).

% knights_path_8xm_ul_exists
thf(fact_372_numeral__Bit1,axiom,
    ! [N: num] :
      ( ( numeral_numeral_nat @ ( bit1 @ N ) )
      = ( plus_plus_nat @ ( plus_plus_nat @ ( numeral_numeral_nat @ N ) @ ( numeral_numeral_nat @ N ) ) @ one_one_nat ) ) ).

% numeral_Bit1
thf(fact_373_numeral__Bit1,axiom,
    ! [N: num] :
      ( ( numeral_numeral_int @ ( bit1 @ N ) )
      = ( plus_plus_int @ ( plus_plus_int @ ( numeral_numeral_int @ N ) @ ( numeral_numeral_int @ N ) ) @ one_one_int ) ) ).

% numeral_Bit1
thf(fact_374_knights__path__5xm__lr__exists,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M )
     => ? [Ps2: list_P5707943133018811711nt_int] :
          ( ( knights_path @ ( board @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M ) @ Ps2 )
          & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
            = ( product_Pair_int_int @ one_one_int @ one_one_int ) )
          & ( ( last_P3305686521732843992nt_int @ Ps2 )
            = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) ) ) ) ) ).

% knights_path_5xm_lr_exists
thf(fact_375_knights__path__5xm__ur__exists,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M )
     => ? [Ps2: list_P5707943133018811711nt_int] :
          ( ( knights_path @ ( board @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M ) @ Ps2 )
          & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
            = ( product_Pair_int_int @ one_one_int @ one_one_int ) )
          & ( ( last_P3305686521732843992nt_int @ Ps2 )
            = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ ( bit0 @ one ) ) ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) ) ) ) ) ).

% knights_path_5xm_ur_exists
thf(fact_376_even__of__nat,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ).

% even_of_nat
thf(fact_377_even__of__nat,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ).

% even_of_nat
thf(fact_378_less_OIH,axiom,
    ! [Y4: nat,N: nat,M: nat] :
      ( ( ord_less_nat @ Y4 @ xa )
     => ( ( Y4
          = ( plus_plus_nat @ N @ M ) )
       => ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
         => ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ ( ord_min_nat @ N @ M ) )
           => ? [Ps2: list_P5707943133018811711nt_int] :
                ( ( knights_path @ ( board @ N @ M ) @ Ps2 )
                & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
                  = ( product_Pair_int_int @ ( semiri1314217659103216013at_int @ N ) @ one_one_int ) )
                & ( ( last_P3305686521732843992nt_int @ Ps2 )
                  = ( product_Pair_int_int @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ N ) @ one_one_int ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) ) ) ) ) ) ) ) ).

% less.IH
thf(fact_379_even__diff,axiom,
    ! [A: int,B: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ A @ B ) )
      = ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_int @ A @ B ) ) ) ).

% even_diff
thf(fact_380_even__plus__one__iff,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ A @ one_one_nat ) )
      = ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A ) ) ) ).

% even_plus_one_iff
thf(fact_381_even__plus__one__iff,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_int @ A @ one_one_int ) )
      = ( ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A ) ) ) ).

% even_plus_one_iff
thf(fact_382_even__add,axiom,
    ! [A: nat,B: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ A @ B ) )
      = ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
        = ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ B ) ) ) ).

% even_add
thf(fact_383_even__add,axiom,
    ! [A: int,B: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_int @ A @ B ) )
      = ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
        = ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ B ) ) ) ).

% even_add
thf(fact_384_odd__add,axiom,
    ! [A: nat,B: nat] :
      ( ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ A @ B ) ) )
      = ( ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A ) )
       != ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ B ) ) ) ) ).

% odd_add
thf(fact_385_odd__add,axiom,
    ! [A: int,B: int] :
      ( ( ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_int @ A @ B ) ) )
      = ( ( ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A ) )
       != ( ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ B ) ) ) ) ).

% odd_add
thf(fact_386_knights__circuit__exists__even__n__gr10,axiom,
    ! [N: nat,M: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ ( bit1 @ ( bit0 @ one ) ) ) ) @ N )
       => ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M )
         => ( ? [Ps3: list_P5707943133018811711nt_int] :
                ( ( knights_path @ ( board @ ( minus_minus_nat @ N @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) ) @ M ) @ Ps3 )
                & ( ( hd_Pro282112905867057956nt_int @ Ps3 )
                  = ( product_Pair_int_int @ ( semiri1314217659103216013at_int @ ( minus_minus_nat @ N @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) ) ) @ one_one_int ) )
                & ( ( last_P3305686521732843992nt_int @ Ps3 )
                  = ( product_Pair_int_int @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ ( minus_minus_nat @ N @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) ) ) @ one_one_int ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) ) ) )
           => ? [X_1: list_P5707943133018811711nt_int] : ( knights_circuit @ ( board @ M @ N ) @ X_1 ) ) ) ) ) ).

% knights_circuit_exists_even_n_gr10
thf(fact_387_odd__numeral,axiom,
    ! [N: num] :
      ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ ( bit1 @ N ) ) ) ).

% odd_numeral
thf(fact_388_odd__numeral,axiom,
    ! [N: num] :
      ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( numeral_numeral_int @ ( bit1 @ N ) ) ) ).

% odd_numeral
thf(fact_389_odd__one,axiom,
    ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ one_one_nat ) ).

% odd_one
thf(fact_390_odd__one,axiom,
    ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ one_one_int ) ).

% odd_one
thf(fact_391__092_060open_062x_____A_061_An_A_L_Am_092_060close_062,axiom,
    ( x
    = ( plus_plus_nat @ n @ m ) ) ).

% \<open>x__ = n + m\<close>
thf(fact_392_numeral__less__iff,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
      = ( ord_less_num @ M @ N ) ) ).

% numeral_less_iff
thf(fact_393_numeral__less__iff,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ N ) )
      = ( ord_less_num @ M @ N ) ) ).

% numeral_less_iff
thf(fact_394_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_395_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_396_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_397_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_398_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_399_min__less__iff__conj,axiom,
    ! [Z: nat,X4: nat,Y4: nat] :
      ( ( ord_less_nat @ Z @ ( ord_min_nat @ X4 @ Y4 ) )
      = ( ( ord_less_nat @ Z @ X4 )
        & ( ord_less_nat @ Z @ Y4 ) ) ) ).

% min_less_iff_conj
thf(fact_400_min__less__iff__conj,axiom,
    ! [Z: num,X4: num,Y4: num] :
      ( ( ord_less_num @ Z @ ( ord_min_num @ X4 @ Y4 ) )
      = ( ( ord_less_num @ Z @ X4 )
        & ( ord_less_num @ Z @ Y4 ) ) ) ).

% min_less_iff_conj
thf(fact_401_min__less__iff__conj,axiom,
    ! [Z: int,X4: int,Y4: int] :
      ( ( ord_less_int @ Z @ ( ord_min_int @ X4 @ Y4 ) )
      = ( ( ord_less_int @ Z @ X4 )
        & ( ord_less_int @ Z @ Y4 ) ) ) ).

% min_less_iff_conj
thf(fact_402_min_Oabsorb4,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_nat @ B @ A )
     => ( ( ord_min_nat @ A @ B )
        = B ) ) ).

% min.absorb4
thf(fact_403_min_Oabsorb4,axiom,
    ! [B: num,A: num] :
      ( ( ord_less_num @ B @ A )
     => ( ( ord_min_num @ A @ B )
        = B ) ) ).

% min.absorb4
thf(fact_404_min_Oabsorb4,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ A )
     => ( ( ord_min_int @ A @ B )
        = B ) ) ).

% min.absorb4
thf(fact_405_min_Oabsorb3,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_min_nat @ A @ B )
        = A ) ) ).

% min.absorb3
thf(fact_406_min_Oabsorb3,axiom,
    ! [A: num,B: num] :
      ( ( ord_less_num @ A @ B )
     => ( ( ord_min_num @ A @ B )
        = A ) ) ).

% min.absorb3
thf(fact_407_min_Oabsorb3,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_min_int @ A @ B )
        = A ) ) ).

% min.absorb3
thf(fact_408_int__dvd__int__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( dvd_dvd_nat @ M @ N ) ) ).

% int_dvd_int_iff
thf(fact_409_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_410_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_411_one__less__numeral__iff,axiom,
    ! [N: num] :
      ( ( ord_less_nat @ one_one_nat @ ( numeral_numeral_nat @ N ) )
      = ( ord_less_num @ one @ N ) ) ).

% one_less_numeral_iff
thf(fact_412_one__less__numeral__iff,axiom,
    ! [N: num] :
      ( ( ord_less_int @ one_one_int @ ( numeral_numeral_int @ N ) )
      = ( ord_less_num @ one @ N ) ) ).

% one_less_numeral_iff
thf(fact_413_even__diff__nat,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( minus_minus_nat @ M @ N ) )
      = ( ( ord_less_nat @ M @ N )
        | ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ M @ N ) ) ) ) ).

% even_diff_nat
thf(fact_414_linorder__neqE__linordered__idom,axiom,
    ! [X4: int,Y4: int] :
      ( ( X4 != Y4 )
     => ( ~ ( ord_less_int @ X4 @ Y4 )
       => ( ord_less_int @ Y4 @ X4 ) ) ) ).

% linorder_neqE_linordered_idom
thf(fact_415_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_416_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_417_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_418_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_419_linorder__neqE__nat,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( X4 != Y4 )
     => ( ~ ( ord_less_nat @ X4 @ Y4 )
       => ( ord_less_nat @ Y4 @ X4 ) ) ) ).

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

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

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

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

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

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

% less_not_refl
thf(fact_426_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_427_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_428_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_429_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_430_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_431_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_432_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_433_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_434_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_435_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_436_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_437_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_438_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_439_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_440_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_441_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_442_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_443_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

% less_numeral_extra(4)
thf(fact_444_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_int @ one_one_int @ one_one_int ) ).

% less_numeral_extra(4)
thf(fact_445_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_446_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_447_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_448_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_449_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M3: nat,N3: nat] :
          ( ( ord_less_eq_nat @ M3 @ N3 )
          & ( M3 != N3 ) ) ) ) ).

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

% less_imp_le_nat
thf(fact_451_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M3: nat,N3: nat] :
          ( ( ord_less_nat @ M3 @ N3 )
          | ( M3 = N3 ) ) ) ) ).

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

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

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

% less_mono_imp_le_mono
thf(fact_455_zdvd__zdiffD,axiom,
    ! [K: int,M: int,N: int] :
      ( ( dvd_dvd_int @ K @ ( minus_minus_int @ M @ N ) )
     => ( ( dvd_dvd_int @ K @ N )
       => ( dvd_dvd_int @ K @ M ) ) ) ).

% zdvd_zdiffD
thf(fact_456_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_457_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_458_not__add__less1,axiom,
    ! [I: nat,J: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ I @ J ) @ I ) ).

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

% not_add_less2
thf(fact_460_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_461_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_462_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_463_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_464_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_465_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_466_min_Ostrict__coboundedI2,axiom,
    ! [B: nat,C: nat,A: nat] :
      ( ( ord_less_nat @ B @ C )
     => ( ord_less_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.strict_coboundedI2
thf(fact_467_min_Ostrict__coboundedI2,axiom,
    ! [B: num,C: num,A: num] :
      ( ( ord_less_num @ B @ C )
     => ( ord_less_num @ ( ord_min_num @ A @ B ) @ C ) ) ).

% min.strict_coboundedI2
thf(fact_468_min_Ostrict__coboundedI2,axiom,
    ! [B: int,C: int,A: int] :
      ( ( ord_less_int @ B @ C )
     => ( ord_less_int @ ( ord_min_int @ A @ B ) @ C ) ) ).

% min.strict_coboundedI2
thf(fact_469_min_Ostrict__coboundedI1,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_nat @ A @ C )
     => ( ord_less_nat @ ( ord_min_nat @ A @ B ) @ C ) ) ).

% min.strict_coboundedI1
thf(fact_470_min_Ostrict__coboundedI1,axiom,
    ! [A: num,C: num,B: num] :
      ( ( ord_less_num @ A @ C )
     => ( ord_less_num @ ( ord_min_num @ A @ B ) @ C ) ) ).

% min.strict_coboundedI1
thf(fact_471_min_Ostrict__coboundedI1,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_int @ A @ C )
     => ( ord_less_int @ ( ord_min_int @ A @ B ) @ C ) ) ).

% min.strict_coboundedI1
thf(fact_472_min_Ostrict__order__iff,axiom,
    ( ord_less_nat
    = ( ^ [A4: nat,B4: nat] :
          ( ( A4
            = ( ord_min_nat @ A4 @ B4 ) )
          & ( A4 != B4 ) ) ) ) ).

% min.strict_order_iff
thf(fact_473_min_Ostrict__order__iff,axiom,
    ( ord_less_num
    = ( ^ [A4: num,B4: num] :
          ( ( A4
            = ( ord_min_num @ A4 @ B4 ) )
          & ( A4 != B4 ) ) ) ) ).

% min.strict_order_iff
thf(fact_474_min_Ostrict__order__iff,axiom,
    ( ord_less_int
    = ( ^ [A4: int,B4: int] :
          ( ( A4
            = ( ord_min_int @ A4 @ B4 ) )
          & ( A4 != B4 ) ) ) ) ).

% min.strict_order_iff
thf(fact_475_min_Ostrict__boundedE,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ A @ ( ord_min_nat @ B @ C ) )
     => ~ ( ( ord_less_nat @ A @ B )
         => ~ ( ord_less_nat @ A @ C ) ) ) ).

% min.strict_boundedE
thf(fact_476_min_Ostrict__boundedE,axiom,
    ! [A: num,B: num,C: num] :
      ( ( ord_less_num @ A @ ( ord_min_num @ B @ C ) )
     => ~ ( ( ord_less_num @ A @ B )
         => ~ ( ord_less_num @ A @ C ) ) ) ).

% min.strict_boundedE
thf(fact_477_min_Ostrict__boundedE,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ A @ ( ord_min_int @ B @ C ) )
     => ~ ( ( ord_less_int @ A @ B )
         => ~ ( ord_less_int @ A @ C ) ) ) ).

% min.strict_boundedE
thf(fact_478_min__less__iff__disj,axiom,
    ! [X4: nat,Y4: nat,Z: nat] :
      ( ( ord_less_nat @ ( ord_min_nat @ X4 @ Y4 ) @ Z )
      = ( ( ord_less_nat @ X4 @ Z )
        | ( ord_less_nat @ Y4 @ Z ) ) ) ).

% min_less_iff_disj
thf(fact_479_min__less__iff__disj,axiom,
    ! [X4: num,Y4: num,Z: num] :
      ( ( ord_less_num @ ( ord_min_num @ X4 @ Y4 ) @ Z )
      = ( ( ord_less_num @ X4 @ Z )
        | ( ord_less_num @ Y4 @ Z ) ) ) ).

% min_less_iff_disj
thf(fact_480_min__less__iff__disj,axiom,
    ! [X4: int,Y4: int,Z: int] :
      ( ( ord_less_int @ ( ord_min_int @ X4 @ Y4 ) @ Z )
      = ( ( ord_less_int @ X4 @ Z )
        | ( ord_less_int @ Y4 @ Z ) ) ) ).

% min_less_iff_disj
thf(fact_481_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_eq_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(4)
thf(fact_482_add__mono__thms__linordered__field_I4_J,axiom,
    ! [I: int,J: int,K: int,L: int] :
      ( ( ( ord_less_eq_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(4)
thf(fact_483_add__mono__thms__linordered__field_I3_J,axiom,
    ! [I: nat,J: nat,K: nat,L: nat] :
      ( ( ( ord_less_nat @ I @ J )
        & ( ord_less_eq_nat @ K @ L ) )
     => ( ord_less_nat @ ( plus_plus_nat @ I @ K ) @ ( plus_plus_nat @ J @ L ) ) ) ).

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

% add_mono_thms_linordered_field(3)
thf(fact_485_add__le__less__mono,axiom,
    ! [A: nat,B: nat,C: nat,D: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_nat @ C @ D )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ C ) @ ( plus_plus_nat @ B @ D ) ) ) ) ).

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

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

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

% add_less_le_mono
thf(fact_489_not__numeral__less__one,axiom,
    ! [N: num] :
      ~ ( ord_less_nat @ ( numeral_numeral_nat @ N ) @ one_one_nat ) ).

% not_numeral_less_one
thf(fact_490_not__numeral__less__one,axiom,
    ! [N: num] :
      ~ ( ord_less_int @ ( numeral_numeral_int @ N ) @ one_one_int ) ).

% not_numeral_less_one
thf(fact_491_less__add__one,axiom,
    ! [A: nat] : ( ord_less_nat @ A @ ( plus_plus_nat @ A @ one_one_nat ) ) ).

% less_add_one
thf(fact_492_less__add__one,axiom,
    ! [A: int] : ( ord_less_int @ A @ ( plus_plus_int @ A @ one_one_int ) ) ).

% less_add_one
thf(fact_493_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_494_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_495_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_496_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_497_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_498_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_499_mono__nat__linear__lb,axiom,
    ! [F: nat > nat,M: nat,K: nat] :
      ( ! [M2: nat,N2: nat] :
          ( ( ord_less_nat @ M2 @ N2 )
         => ( ord_less_nat @ ( F @ M2 ) @ ( F @ N2 ) ) )
     => ( ord_less_eq_nat @ ( plus_plus_nat @ ( F @ M ) @ K ) @ ( F @ ( plus_plus_nat @ M @ K ) ) ) ) ).

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

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

% diff_less_mono
thf(fact_502_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_503_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_504_dvd__minus__self,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_nat @ M @ ( minus_minus_nat @ N @ M ) )
      = ( ( ord_less_nat @ N @ M )
        | ( dvd_dvd_nat @ M @ N ) ) ) ).

% dvd_minus_self
thf(fact_505_even__diff__iff,axiom,
    ! [K: int,L: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ K @ L ) )
      = ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_int @ K @ L ) ) ) ).

% even_diff_iff
thf(fact_506_less__diff__conv2,axiom,
    ! [K: nat,J: nat,I: nat] :
      ( ( ord_less_eq_nat @ K @ J )
     => ( ( ord_less_nat @ ( minus_minus_nat @ J @ K ) @ I )
        = ( ord_less_nat @ J @ ( plus_plus_nat @ I @ K ) ) ) ) ).

% less_diff_conv2
thf(fact_507_knights__circuit__6xm__exists,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M )
     => ? [X_1: list_P5707943133018811711nt_int] : ( knights_circuit @ ( board @ ( numeral_numeral_nat @ ( bit0 @ ( bit1 @ one ) ) ) @ M ) @ X_1 ) ) ).

% knights_circuit_6xm_exists
thf(fact_508_of__nat__dvd__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) )
      = ( dvd_dvd_nat @ M @ N ) ) ).

% of_nat_dvd_iff
thf(fact_509_of__nat__dvd__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) )
      = ( dvd_dvd_nat @ M @ N ) ) ).

% of_nat_dvd_iff
thf(fact_510_even__numeral,axiom,
    ! [N: num] : ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ ( bit0 @ N ) ) ) ).

% even_numeral
thf(fact_511_even__numeral,axiom,
    ! [N: num] : ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( numeral_numeral_int @ ( bit0 @ N ) ) ) ).

% even_numeral
thf(fact_512_rotate__knights__circuit,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_circuit @ ( board @ N @ M ) @ Ps )
     => ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ ( ord_min_nat @ N @ M ) )
       => ? [Ps2: list_P5707943133018811711nt_int] :
            ( ( knights_circuit @ ( board @ N @ M ) @ Ps2 )
            & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
              = ( product_Pair_int_int @ one_one_int @ one_one_int ) )
            & ( ( last_P3305686521732843992nt_int @ Ps2 )
              = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit1 @ one ) ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ) ) ) ).

% rotate_knights_circuit
thf(fact_513_odd__even__add,axiom,
    ! [A: nat,B: nat] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
     => ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ B )
       => ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% odd_even_add
thf(fact_514_odd__even__add,axiom,
    ! [A: int,B: int] :
      ( ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
     => ( ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ B )
       => ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_int @ A @ B ) ) ) ) ).

% odd_even_add
thf(fact_515_knights__circuit__lr__concat,axiom,
    ! [N: nat,M_1: nat,Ps_1: list_P5707943133018811711nt_int,M_2: nat,Ps_2: list_P5707943133018811711nt_int] :
      ( ( knights_circuit @ ( board @ N @ M_1 ) @ Ps_1 )
     => ( ( knights_circuit @ ( board @ N @ M_2 ) @ Ps_2 )
       => ( ( step_in @ Ps_1 @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ M_1 ) @ one_one_int ) ) @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ ( bit0 @ one ) ) ) @ ( semiri1314217659103216013at_int @ M_1 ) ) )
         => ( ( ( hd_Pro282112905867057956nt_int @ Ps_2 )
              = ( product_Pair_int_int @ one_one_int @ one_one_int ) )
           => ( ( ( last_P3305686521732843992nt_int @ Ps_2 )
                = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit1 @ one ) ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
             => ( ( step_in @ Ps_2 @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ M_2 ) @ one_one_int ) ) @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ ( bit0 @ one ) ) ) @ ( semiri1314217659103216013at_int @ M_2 ) ) )
               => ? [Ps2: list_P5707943133018811711nt_int] :
                    ( ( knights_circuit @ ( board @ N @ ( plus_plus_nat @ M_1 @ M_2 ) ) @ Ps2 )
                    & ( step_in @ Ps2 @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ ( plus_plus_nat @ M_1 @ M_2 ) ) @ one_one_int ) ) @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ ( bit0 @ one ) ) ) @ ( semiri1314217659103216013at_int @ ( plus_plus_nat @ M_1 @ M_2 ) ) ) ) ) ) ) ) ) ) ) ).

% knights_circuit_lr_concat
thf(fact_516_knights__circuit__8xm__exists,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit1 @ ( bit0 @ one ) ) ) @ M )
     => ? [Ps2: list_P5707943133018811711nt_int] :
          ( ( knights_circuit @ ( board @ ( numeral_numeral_nat @ ( bit0 @ ( bit0 @ ( bit0 @ one ) ) ) ) @ M ) @ Ps2 )
          & ( step_in @ Ps2 @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) ) @ ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ ( bit0 @ one ) ) ) @ ( semiri1314217659103216013at_int @ M ) ) ) ) ) ).

% knights_circuit_8xm_exists
thf(fact_517_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_518_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_519_dbl__inc__simps_I3_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ one_one_int )
    = ( numeral_numeral_int @ ( bit1 @ one ) ) ) ).

% dbl_inc_simps(3)
thf(fact_520_int__ops_I2_J,axiom,
    ( ( semiri1314217659103216013at_int @ one_one_nat )
    = one_one_int ) ).

% int_ops(2)
thf(fact_521_verit__eq__simplify_I8_J,axiom,
    ! [X2: num,Y2: num] :
      ( ( ( bit0 @ X2 )
        = ( bit0 @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% verit_eq_simplify(8)
thf(fact_522_verit__eq__simplify_I9_J,axiom,
    ! [X33: num,Y32: num] :
      ( ( ( bit1 @ X33 )
        = ( bit1 @ Y32 ) )
      = ( X33 = Y32 ) ) ).

% verit_eq_simplify(9)
thf(fact_523_semiring__norm_I78_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_num @ ( bit0 @ M ) @ ( bit0 @ N ) )
      = ( ord_less_num @ M @ N ) ) ).

% semiring_norm(78)
thf(fact_524_semiring__norm_I75_J,axiom,
    ! [M: num] :
      ~ ( ord_less_num @ M @ one ) ).

% semiring_norm(75)
thf(fact_525_semiring__norm_I80_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_num @ ( bit1 @ M ) @ ( bit1 @ N ) )
      = ( ord_less_num @ M @ N ) ) ).

% semiring_norm(80)
thf(fact_526_zle__add1__eq__le,axiom,
    ! [W: int,Z: int] :
      ( ( ord_less_int @ W @ ( plus_plus_int @ Z @ one_one_int ) )
      = ( ord_less_eq_int @ W @ Z ) ) ).

% zle_add1_eq_le
thf(fact_527_zle__diff1__eq,axiom,
    ! [W: int,Z: int] :
      ( ( ord_less_eq_int @ W @ ( minus_minus_int @ Z @ one_one_int ) )
      = ( ord_less_int @ W @ Z ) ) ).

% zle_diff1_eq
thf(fact_528_semiring__norm_I76_J,axiom,
    ! [N: num] : ( ord_less_num @ one @ ( bit0 @ N ) ) ).

% semiring_norm(76)
thf(fact_529_semiring__norm_I81_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_num @ ( bit1 @ M ) @ ( bit0 @ N ) )
      = ( ord_less_num @ M @ N ) ) ).

% semiring_norm(81)
thf(fact_530_semiring__norm_I77_J,axiom,
    ! [N: num] : ( ord_less_num @ one @ ( bit1 @ N ) ) ).

% semiring_norm(77)
thf(fact_531_dbl__inc__simps_I5_J,axiom,
    ! [K: num] :
      ( ( neg_nu5851722552734809277nc_int @ ( numeral_numeral_int @ K ) )
      = ( numeral_numeral_int @ ( bit1 @ K ) ) ) ).

% dbl_inc_simps(5)
thf(fact_532_semiring__norm_I74_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_eq_num @ ( bit1 @ M ) @ ( bit0 @ N ) )
      = ( ord_less_num @ M @ N ) ) ).

% semiring_norm(74)
thf(fact_533_semiring__norm_I79_J,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_num @ ( bit0 @ M ) @ ( bit1 @ N ) )
      = ( ord_less_eq_num @ M @ N ) ) ).

% semiring_norm(79)
thf(fact_534_nat__int__comparison_I2_J,axiom,
    ( ord_less_nat
    = ( ^ [A4: nat,B4: nat] : ( ord_less_int @ ( semiri1314217659103216013at_int @ A4 ) @ ( semiri1314217659103216013at_int @ B4 ) ) ) ) ).

% nat_int_comparison(2)
thf(fact_535_zless__add1__eq,axiom,
    ! [W: int,Z: int] :
      ( ( ord_less_int @ W @ ( plus_plus_int @ Z @ one_one_int ) )
      = ( ( ord_less_int @ W @ Z )
        | ( W = Z ) ) ) ).

% zless_add1_eq
thf(fact_536_int__gr__induct,axiom,
    ! [K: int,I: int,P: int > $o] :
      ( ( ord_less_int @ K @ I )
     => ( ( P @ ( plus_plus_int @ K @ one_one_int ) )
       => ( ! [I2: int] :
              ( ( ord_less_int @ K @ I2 )
             => ( ( P @ I2 )
               => ( P @ ( plus_plus_int @ I2 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_gr_induct
thf(fact_537_int__less__induct,axiom,
    ! [I: int,K: int,P: int > $o] :
      ( ( ord_less_int @ I @ K )
     => ( ( P @ ( minus_minus_int @ K @ one_one_int ) )
       => ( ! [I2: int] :
              ( ( ord_less_int @ I2 @ K )
             => ( ( P @ I2 )
               => ( P @ ( minus_minus_int @ I2 @ one_one_int ) ) ) )
         => ( P @ I ) ) ) ) ).

% int_less_induct
thf(fact_538_verit__la__disequality,axiom,
    ! [A: nat,B: nat] :
      ( ( A = B )
      | ~ ( ord_less_eq_nat @ A @ B )
      | ~ ( ord_less_eq_nat @ B @ A ) ) ).

% verit_la_disequality
thf(fact_539_verit__la__disequality,axiom,
    ! [A: num,B: num] :
      ( ( A = B )
      | ~ ( ord_less_eq_num @ A @ B )
      | ~ ( ord_less_eq_num @ B @ A ) ) ).

% verit_la_disequality
thf(fact_540_verit__la__disequality,axiom,
    ! [A: int,B: int] :
      ( ( A = B )
      | ~ ( ord_less_eq_int @ A @ B )
      | ~ ( ord_less_eq_int @ B @ A ) ) ).

% verit_la_disequality
thf(fact_541_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_542_verit__comp__simplify1_I2_J,axiom,
    ! [A: num] : ( ord_less_eq_num @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_543_verit__comp__simplify1_I2_J,axiom,
    ! [A: int] : ( ord_less_eq_int @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_544_verit__comp__simplify1_I2_J,axiom,
    ! [A: set_Pr958786334691620121nt_int] : ( ord_le2843351958646193337nt_int @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_545_verit__comp__simplify1_I1_J,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ A ) ).

% verit_comp_simplify1(1)
thf(fact_546_verit__comp__simplify1_I1_J,axiom,
    ! [A: num] :
      ~ ( ord_less_num @ A @ A ) ).

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

% verit_comp_simplify1(1)
thf(fact_548_zless__imp__add1__zle,axiom,
    ! [W: int,Z: int] :
      ( ( ord_less_int @ W @ Z )
     => ( ord_less_eq_int @ ( plus_plus_int @ W @ one_one_int ) @ Z ) ) ).

% zless_imp_add1_zle
thf(fact_549_add1__zle__eq,axiom,
    ! [W: int,Z: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ W @ one_one_int ) @ Z )
      = ( ord_less_int @ W @ Z ) ) ).

% add1_zle_eq
thf(fact_550_verit__la__generic,axiom,
    ! [A: int,X4: int] :
      ( ( ord_less_eq_int @ A @ X4 )
      | ( A = X4 )
      | ( ord_less_eq_int @ X4 @ A ) ) ).

% verit_la_generic
thf(fact_551_nat__int__comparison_I1_J,axiom,
    ( ( ^ [Y5: nat,Z3: nat] : ( Y5 = Z3 ) )
    = ( ^ [A4: nat,B4: nat] :
          ( ( semiri1314217659103216013at_int @ A4 )
          = ( semiri1314217659103216013at_int @ B4 ) ) ) ) ).

% nat_int_comparison(1)
thf(fact_552_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_553_dbl__inc__def,axiom,
    ( neg_nu5851722552734809277nc_int
    = ( ^ [X: int] : ( plus_plus_int @ ( plus_plus_int @ X @ X ) @ one_one_int ) ) ) ).

% dbl_inc_def
thf(fact_554_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_555_verit__comp__simplify1_I3_J,axiom,
    ! [B2: nat,A2: nat] :
      ( ( ~ ( ord_less_eq_nat @ B2 @ A2 ) )
      = ( ord_less_nat @ A2 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_556_verit__comp__simplify1_I3_J,axiom,
    ! [B2: num,A2: num] :
      ( ( ~ ( ord_less_eq_num @ B2 @ A2 ) )
      = ( ord_less_num @ A2 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_557_verit__comp__simplify1_I3_J,axiom,
    ! [B2: int,A2: int] :
      ( ( ~ ( ord_less_eq_int @ B2 @ A2 ) )
      = ( ord_less_int @ A2 @ B2 ) ) ).

% verit_comp_simplify1(3)
thf(fact_558_verit__eq__simplify_I10_J,axiom,
    ! [X2: num] :
      ( one
     != ( bit0 @ X2 ) ) ).

% verit_eq_simplify(10)
thf(fact_559_verit__eq__simplify_I14_J,axiom,
    ! [X2: num,X33: num] :
      ( ( bit0 @ X2 )
     != ( bit1 @ X33 ) ) ).

% verit_eq_simplify(14)
thf(fact_560_verit__eq__simplify_I12_J,axiom,
    ! [X33: num] :
      ( one
     != ( bit1 @ X33 ) ) ).

% verit_eq_simplify(12)
thf(fact_561_int__ops_I3_J,axiom,
    ! [N: num] :
      ( ( semiri1314217659103216013at_int @ ( numeral_numeral_nat @ N ) )
      = ( numeral_numeral_int @ N ) ) ).

% int_ops(3)
thf(fact_562_nat__int__comparison_I3_J,axiom,
    ( ord_less_eq_nat
    = ( ^ [A4: nat,B4: nat] : ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ A4 ) @ ( semiri1314217659103216013at_int @ B4 ) ) ) ) ).

% nat_int_comparison(3)
thf(fact_563_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_564_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_565_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_566_last__rot90__knights__path,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 @ ( transpose @ Ps ) ) )
          = ( product_Pair_int_int @ ( minus_minus_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M ) @ one_one_int ) @ J ) @ I ) ) ) ) ).

% last_rot90_knights_path
thf(fact_567_knights__path__split__concat,axiom,
    ! [N: nat,M_1: nat,Ps_1: list_P5707943133018811711nt_int,M_2: nat,Ps_2: list_P5707943133018811711nt_int,S_i: product_prod_int_int,S_j: product_prod_int_int,I_h: int,J_h: int,I_l: int,J_l: int] :
      ( ( knights_path @ ( board @ N @ M_1 ) @ Ps_1 )
     => ( ( knights_path @ ( board @ N @ M_2 ) @ Ps_2 )
       => ( ( step_in @ Ps_1 @ S_i @ S_j )
         => ( ( ( hd_Pro282112905867057956nt_int @ Ps_2 )
              = ( product_Pair_int_int @ I_h @ J_h ) )
           => ( ( ( last_P3305686521732843992nt_int @ Ps_2 )
                = ( product_Pair_int_int @ I_l @ J_l ) )
             => ( ( valid_step @ S_i @ ( product_Pair_int_int @ I_h @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M_1 ) @ J_h ) ) )
               => ( ( valid_step @ ( product_Pair_int_int @ I_l @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M_1 ) @ J_l ) ) @ S_j )
                 => ? [Ps2: list_P5707943133018811711nt_int] :
                      ( ( knights_path @ ( board @ N @ ( plus_plus_nat @ M_1 @ M_2 ) ) @ Ps2 )
                      & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
                        = ( hd_Pro282112905867057956nt_int @ Ps_1 ) )
                      & ( ( last_P3305686521732843992nt_int @ Ps2 )
                        = ( last_P3305686521732843992nt_int @ Ps_1 ) ) ) ) ) ) ) ) ) ) ).

% knights_path_split_concat
thf(fact_568_knights__path__split__concatT,axiom,
    ! [N_1: nat,M: nat,Ps_1: list_P5707943133018811711nt_int,N_2: nat,Ps_2: list_P5707943133018811711nt_int,S_i: product_prod_int_int,S_j: product_prod_int_int,I_h: int,J_h: int,I_l: int,J_l: int] :
      ( ( knights_path @ ( board @ N_1 @ M ) @ Ps_1 )
     => ( ( knights_path @ ( board @ N_2 @ M ) @ Ps_2 )
       => ( ( step_in @ Ps_1 @ S_i @ S_j )
         => ( ( ( hd_Pro282112905867057956nt_int @ Ps_2 )
              = ( product_Pair_int_int @ I_h @ J_h ) )
           => ( ( ( last_P3305686521732843992nt_int @ Ps_2 )
                = ( product_Pair_int_int @ I_l @ J_l ) )
             => ( ( valid_step @ S_i @ ( product_Pair_int_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N_1 ) @ I_h ) @ J_h ) )
               => ( ( valid_step @ ( product_Pair_int_int @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ N_1 ) @ I_l ) @ J_l ) @ S_j )
                 => ? [Ps2: list_P5707943133018811711nt_int] :
                      ( ( knights_path @ ( board @ ( plus_plus_nat @ N_1 @ N_2 ) @ M ) @ Ps2 )
                      & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
                        = ( hd_Pro282112905867057956nt_int @ Ps_1 ) )
                      & ( ( last_P3305686521732843992nt_int @ Ps2 )
                        = ( last_P3305686521732843992nt_int @ Ps_1 ) ) ) ) ) ) ) ) ) ) ).

% knights_path_split_concatT
thf(fact_569_knights__path__split__concat__si__prev,axiom,
    ! [N: nat,M_1: nat,Ps_1: list_P5707943133018811711nt_int,M_2: nat,Ps_2: list_P5707943133018811711nt_int,S_i: product_prod_int_int,S_j: product_prod_int_int,I_h: int,J_h: int,I_l: int,J_l: int,I: int,J: int,I4: int,J4: int] :
      ( ( knights_path @ ( board @ N @ M_1 ) @ Ps_1 )
     => ( ( knights_path @ ( board @ N @ M_2 ) @ Ps_2 )
       => ( ( step_in @ Ps_1 @ S_i @ S_j )
         => ( ( ( hd_Pro282112905867057956nt_int @ Ps_2 )
              = ( product_Pair_int_int @ I_h @ J_h ) )
           => ( ( ( last_P3305686521732843992nt_int @ Ps_2 )
                = ( product_Pair_int_int @ I_l @ J_l ) )
             => ( ( step_in @ Ps_2 @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I4 @ J4 ) )
               => ( ( valid_step @ S_i @ ( product_Pair_int_int @ I_h @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M_1 ) @ J_h ) ) )
                 => ( ( valid_step @ ( product_Pair_int_int @ I_l @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M_1 ) @ J_l ) ) @ S_j )
                   => ? [Ps2: list_P5707943133018811711nt_int] :
                        ( ( knights_path @ ( board @ N @ ( plus_plus_nat @ M_1 @ M_2 ) ) @ Ps2 )
                        & ( ( hd_Pro282112905867057956nt_int @ Ps2 )
                          = ( hd_Pro282112905867057956nt_int @ Ps_1 ) )
                        & ( ( last_P3305686521732843992nt_int @ Ps2 )
                          = ( last_P3305686521732843992nt_int @ Ps_1 ) )
                        & ( step_in @ Ps2 @ ( product_Pair_int_int @ I @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M_1 ) @ J ) ) @ ( product_Pair_int_int @ I4 @ ( plus_plus_int @ ( semiri1314217659103216013at_int @ M_1 ) @ J4 ) ) ) ) ) ) ) ) ) ) ) ) ).

% knights_path_split_concat_si_prev
thf(fact_570_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_571_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_572_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_573_trans__valid__step,axiom,
    ! [I: int,J: int,I4: int,J4: int,K_1: int,K_2: int] :
      ( ( valid_step @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I4 @ J4 ) )
     => ( 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 @ I4 @ K_1 ) @ ( plus_plus_int @ J4 @ K_2 ) ) ) ) ).

% trans_valid_step
thf(fact_574_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_575_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_576_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
thf(fact_577_rot90__knights__path,axiom,
    ! [N: nat,M: nat,Ps: list_P5707943133018811711nt_int] :
      ( ( knights_path @ ( board @ N @ M ) @ Ps )
     => ( knights_path @ ( board @ M @ N ) @ ( mirror1 @ ( transpose @ Ps ) ) ) ) ).

% rot90_knights_path
thf(fact_578_knights__circuit__def,axiom,
    ( knights_circuit
    = ( ^ [B4: set_Pr958786334691620121nt_int,Ps4: list_P5707943133018811711nt_int] :
          ( ( knights_path @ B4 @ Ps4 )
          & ( valid_step @ ( last_P3305686521732843992nt_int @ Ps4 ) @ ( hd_Pro282112905867057956nt_int @ Ps4 ) ) ) ) ) ).

% knights_circuit_def
thf(fact_579_dbl__simps_I3_J,axiom,
    ( ( neg_numeral_dbl_int @ one_one_int )
    = ( numeral_numeral_int @ ( bit0 @ one ) ) ) ).

% dbl_simps(3)
thf(fact_580_dbl__simps_I5_J,axiom,
    ! [K: num] :
      ( ( neg_numeral_dbl_int @ ( numeral_numeral_int @ K ) )
      = ( numeral_numeral_int @ ( bit0 @ K ) ) ) ).

% dbl_simps(5)
thf(fact_581_dbl__def,axiom,
    ( neg_numeral_dbl_int
    = ( ^ [X: int] : ( plus_plus_int @ X @ X ) ) ) ).

% dbl_def
thf(fact_582_bounded__Max__nat,axiom,
    ! [P: nat > $o,X4: nat,M5: nat] :
      ( ( P @ X4 )
     => ( ! [X3: nat] :
            ( ( P @ X3 )
           => ( ord_less_eq_nat @ X3 @ M5 ) )
       => ~ ! [M2: nat] :
              ( ( P @ M2 )
             => ~ ! [X5: nat] :
                    ( ( P @ X5 )
                   => ( ord_less_eq_nat @ X5 @ M2 ) ) ) ) ) ).

% bounded_Max_nat
thf(fact_583_small__lazy_H_Ocases,axiom,
    ! [X4: product_prod_int_int] :
      ~ ! [D2: int,I2: int] :
          ( X4
         != ( product_Pair_int_int @ D2 @ I2 ) ) ).

% small_lazy'.cases
thf(fact_584_exhaustive__int_H_Ocases,axiom,
    ! [X4: produc7773217078559923341nt_int] :
      ~ ! [F2: int > option6357759511663192854e_term,D2: int,I2: int] :
          ( X4
         != ( produc4305682042979456191nt_int @ F2 @ ( product_Pair_int_int @ D2 @ I2 ) ) ) ).

% exhaustive_int'.cases
thf(fact_585_full__exhaustive__int_H_Ocases,axiom,
    ! [X4: produc2285326912895808259nt_int] :
      ~ ! [F2: produc8551481072490612790e_term > option6357759511663192854e_term,D2: int,I2: int] :
          ( X4
         != ( produc5700946648718959541nt_int @ F2 @ ( product_Pair_int_int @ D2 @ I2 ) ) ) ).

% full_exhaustive_int'.cases
thf(fact_586_xor__num_Ocases,axiom,
    ! [X4: product_prod_num_num] :
      ( ( X4
       != ( product_Pair_num_num @ one @ one ) )
     => ( ! [N2: num] :
            ( X4
           != ( product_Pair_num_num @ one @ ( bit0 @ N2 ) ) )
       => ( ! [N2: num] :
              ( X4
             != ( product_Pair_num_num @ one @ ( bit1 @ N2 ) ) )
         => ( ! [M2: num] :
                ( X4
               != ( product_Pair_num_num @ ( bit0 @ M2 ) @ one ) )
           => ( ! [M2: num,N2: num] :
                  ( X4
                 != ( product_Pair_num_num @ ( bit0 @ M2 ) @ ( bit0 @ N2 ) ) )
             => ( ! [M2: num,N2: num] :
                    ( X4
                   != ( product_Pair_num_num @ ( bit0 @ M2 ) @ ( bit1 @ N2 ) ) )
               => ( ! [M2: num] :
                      ( X4
                     != ( product_Pair_num_num @ ( bit1 @ M2 ) @ one ) )
                 => ( ! [M2: num,N2: num] :
                        ( X4
                       != ( product_Pair_num_num @ ( bit1 @ M2 ) @ ( bit0 @ N2 ) ) )
                   => ~ ! [M2: num,N2: num] :
                          ( X4
                         != ( product_Pair_num_num @ ( bit1 @ M2 ) @ ( bit1 @ N2 ) ) ) ) ) ) ) ) ) ) ) ).

% xor_num.cases
thf(fact_587_minf_I10_J,axiom,
    ! [D: nat,S: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z4 )
     => ( ( ~ ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) )
        = ( ~ ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) ) ) ) ).

% minf(10)
thf(fact_588_minf_I10_J,axiom,
    ! [D: int,S: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ X5 @ Z4 )
     => ( ( ~ ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) ) )
        = ( ~ ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) ) ) ) ) ).

% minf(10)
thf(fact_589_minf_I9_J,axiom,
    ! [D: nat,S: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z4 )
     => ( ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) )
        = ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) ) ) ).

% minf(9)
thf(fact_590_minf_I9_J,axiom,
    ! [D: int,S: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ X5 @ Z4 )
     => ( ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) )
        = ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) ) ) ) ).

% minf(9)
thf(fact_591_minf_I7_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z4 )
     => ~ ( ord_less_nat @ T @ X5 ) ) ).

% minf(7)
thf(fact_592_minf_I7_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ X5 @ Z4 )
     => ~ ( ord_less_num @ T @ X5 ) ) ).

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

% minf(7)
thf(fact_594_minf_I5_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z4 )
     => ( ord_less_nat @ X5 @ T ) ) ).

% minf(5)
thf(fact_595_minf_I5_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ X5 @ Z4 )
     => ( ord_less_num @ X5 @ T ) ) ).

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

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

% minf(4)
thf(fact_598_minf_I4_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ X5 @ Z4 )
     => ( X5 != T ) ) ).

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

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

% minf(3)
thf(fact_601_minf_I3_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ X5 @ Z4 )
     => ( X5 != T ) ) ).

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

% minf(3)
thf(fact_603_minf_I2_J,axiom,
    ! [P: nat > $o,P3: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ X5 @ Z4 )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(2)
thf(fact_604_minf_I2_J,axiom,
    ! [P: num > $o,P3: num > $o,Q: num > $o,Q2: num > $o] :
      ( ? [Z5: num] :
        ! [X3: num] :
          ( ( ord_less_num @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: num] :
          ! [X3: num] :
            ( ( ord_less_num @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: num] :
          ! [X5: num] :
            ( ( ord_less_num @ X5 @ Z4 )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(2)
thf(fact_605_minf_I2_J,axiom,
    ! [P: int > $o,P3: int > $o,Q: int > $o,Q2: int > $o] :
      ( ? [Z5: int] :
        ! [X3: int] :
          ( ( ord_less_int @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: int] :
          ! [X3: int] :
            ( ( ord_less_int @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: int] :
          ! [X5: int] :
            ( ( ord_less_int @ X5 @ Z4 )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(2)
thf(fact_606_minf_I1_J,axiom,
    ! [P: nat > $o,P3: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ X5 @ Z4 )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(1)
thf(fact_607_minf_I1_J,axiom,
    ! [P: num > $o,P3: num > $o,Q: num > $o,Q2: num > $o] :
      ( ? [Z5: num] :
        ! [X3: num] :
          ( ( ord_less_num @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: num] :
          ! [X3: num] :
            ( ( ord_less_num @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: num] :
          ! [X5: num] :
            ( ( ord_less_num @ X5 @ Z4 )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(1)
thf(fact_608_minf_I1_J,axiom,
    ! [P: int > $o,P3: int > $o,Q: int > $o,Q2: int > $o] :
      ( ? [Z5: int] :
        ! [X3: int] :
          ( ( ord_less_int @ X3 @ Z5 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: int] :
          ! [X3: int] :
            ( ( ord_less_int @ X3 @ Z5 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: int] :
          ! [X5: int] :
            ( ( ord_less_int @ X5 @ Z4 )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% minf(1)
thf(fact_609_pinf_I7_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z4 @ X5 )
     => ( ord_less_nat @ T @ X5 ) ) ).

% pinf(7)
thf(fact_610_pinf_I7_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ Z4 @ X5 )
     => ( ord_less_num @ T @ X5 ) ) ).

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

% pinf(7)
thf(fact_612_pinf_I5_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z4 @ X5 )
     => ~ ( ord_less_nat @ X5 @ T ) ) ).

% pinf(5)
thf(fact_613_pinf_I5_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ Z4 @ X5 )
     => ~ ( ord_less_num @ X5 @ T ) ) ).

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

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

% pinf(4)
thf(fact_616_pinf_I4_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ Z4 @ X5 )
     => ( X5 != T ) ) ).

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

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

% pinf(3)
thf(fact_619_pinf_I3_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ Z4 @ X5 )
     => ( X5 != T ) ) ).

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

% pinf(3)
thf(fact_621_pinf_I2_J,axiom,
    ! [P: nat > $o,P3: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ Z4 @ X5 )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_622_pinf_I2_J,axiom,
    ! [P: num > $o,P3: num > $o,Q: num > $o,Q2: num > $o] :
      ( ? [Z5: num] :
        ! [X3: num] :
          ( ( ord_less_num @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: num] :
          ! [X3: num] :
            ( ( ord_less_num @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: num] :
          ! [X5: num] :
            ( ( ord_less_num @ Z4 @ X5 )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_623_pinf_I2_J,axiom,
    ! [P: int > $o,P3: int > $o,Q: int > $o,Q2: int > $o] :
      ( ? [Z5: int] :
        ! [X3: int] :
          ( ( ord_less_int @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: int] :
          ! [X3: int] :
            ( ( ord_less_int @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: int] :
          ! [X5: int] :
            ( ( ord_less_int @ Z4 @ X5 )
           => ( ( ( P @ X5 )
                | ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                | ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(2)
thf(fact_624_pinf_I1_J,axiom,
    ! [P: nat > $o,P3: nat > $o,Q: nat > $o,Q2: nat > $o] :
      ( ? [Z5: nat] :
        ! [X3: nat] :
          ( ( ord_less_nat @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: nat] :
          ! [X3: nat] :
            ( ( ord_less_nat @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: nat] :
          ! [X5: nat] :
            ( ( ord_less_nat @ Z4 @ X5 )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_625_pinf_I1_J,axiom,
    ! [P: num > $o,P3: num > $o,Q: num > $o,Q2: num > $o] :
      ( ? [Z5: num] :
        ! [X3: num] :
          ( ( ord_less_num @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: num] :
          ! [X3: num] :
            ( ( ord_less_num @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: num] :
          ! [X5: num] :
            ( ( ord_less_num @ Z4 @ X5 )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_626_pinf_I1_J,axiom,
    ! [P: int > $o,P3: int > $o,Q: int > $o,Q2: int > $o] :
      ( ? [Z5: int] :
        ! [X3: int] :
          ( ( ord_less_int @ Z5 @ X3 )
         => ( ( P @ X3 )
            = ( P3 @ X3 ) ) )
     => ( ? [Z5: int] :
          ! [X3: int] :
            ( ( ord_less_int @ Z5 @ X3 )
           => ( ( Q @ X3 )
              = ( Q2 @ X3 ) ) )
       => ? [Z4: int] :
          ! [X5: int] :
            ( ( ord_less_int @ Z4 @ X5 )
           => ( ( ( P @ X5 )
                & ( Q @ X5 ) )
              = ( ( P3 @ X5 )
                & ( Q2 @ X5 ) ) ) ) ) ) ).

% pinf(1)
thf(fact_627_pinf_I6_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z4 @ X5 )
     => ~ ( ord_less_eq_nat @ X5 @ T ) ) ).

% pinf(6)
thf(fact_628_pinf_I6_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ Z4 @ X5 )
     => ~ ( ord_less_eq_num @ X5 @ T ) ) ).

% pinf(6)
thf(fact_629_pinf_I6_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ Z4 @ X5 )
     => ~ ( ord_less_eq_int @ X5 @ T ) ) ).

% pinf(6)
thf(fact_630_pinf_I8_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z4 @ X5 )
     => ( ord_less_eq_nat @ T @ X5 ) ) ).

% pinf(8)
thf(fact_631_pinf_I8_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ Z4 @ X5 )
     => ( ord_less_eq_num @ T @ X5 ) ) ).

% pinf(8)
thf(fact_632_pinf_I8_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ Z4 @ X5 )
     => ( ord_less_eq_int @ T @ X5 ) ) ).

% pinf(8)
thf(fact_633_minf_I6_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z4 )
     => ( ord_less_eq_nat @ X5 @ T ) ) ).

% minf(6)
thf(fact_634_minf_I6_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ X5 @ Z4 )
     => ( ord_less_eq_num @ X5 @ T ) ) ).

% minf(6)
thf(fact_635_minf_I6_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ X5 @ Z4 )
     => ( ord_less_eq_int @ X5 @ T ) ) ).

% minf(6)
thf(fact_636_minf_I8_J,axiom,
    ! [T: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z4 )
     => ~ ( ord_less_eq_nat @ T @ X5 ) ) ).

% minf(8)
thf(fact_637_minf_I8_J,axiom,
    ! [T: num] :
    ? [Z4: num] :
    ! [X5: num] :
      ( ( ord_less_num @ X5 @ Z4 )
     => ~ ( ord_less_eq_num @ T @ X5 ) ) ).

% minf(8)
thf(fact_638_minf_I8_J,axiom,
    ! [T: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ X5 @ Z4 )
     => ~ ( ord_less_eq_int @ T @ X5 ) ) ).

% minf(8)
thf(fact_639_pinf_I9_J,axiom,
    ! [D: nat,S: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z4 @ X5 )
     => ( ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) )
        = ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) ) ) ).

% pinf(9)
thf(fact_640_pinf_I9_J,axiom,
    ! [D: int,S: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ Z4 @ X5 )
     => ( ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) )
        = ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) ) ) ) ).

% pinf(9)
thf(fact_641_pinf_I10_J,axiom,
    ! [D: nat,S: nat] :
    ? [Z4: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z4 @ X5 )
     => ( ( ~ ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) )
        = ( ~ ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) ) ) ) ).

% pinf(10)
thf(fact_642_pinf_I10_J,axiom,
    ! [D: int,S: int] :
    ? [Z4: int] :
    ! [X5: int] :
      ( ( ord_less_int @ Z4 @ X5 )
     => ( ( ~ ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) ) )
        = ( ~ ( dvd_dvd_int @ D @ ( plus_plus_int @ X5 @ S ) ) ) ) ) ).

% pinf(10)
thf(fact_643_step__checker_Osimps,axiom,
    ! [I: int,J: int,I4: int,J4: int] :
      ( ( step_checker @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I4 @ J4 ) )
      = ( ( ( product_Pair_int_int @ ( plus_plus_int @ I @ one_one_int ) @ ( plus_plus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I4 @ J4 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ one_one_int ) @ ( plus_plus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I4 @ J4 ) )
        | ( ( product_Pair_int_int @ ( plus_plus_int @ I @ one_one_int ) @ ( minus_minus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I4 @ J4 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ one_one_int ) @ ( minus_minus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I4 @ J4 ) )
        | ( ( product_Pair_int_int @ ( plus_plus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( plus_plus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I4 @ J4 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( plus_plus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I4 @ J4 ) )
        | ( ( product_Pair_int_int @ ( plus_plus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( minus_minus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I4 @ J4 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( minus_minus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I4 @ J4 ) ) ) ) ).

% step_checker.simps
thf(fact_644_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_645_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_646_valid__step__1__1,axiom,
    ! [I: int,J: int] :
      ( ( valid_step @ ( product_Pair_int_int @ one_one_int @ one_one_int ) @ ( product_Pair_int_int @ I @ J ) )
     => ( ( ord_less_int @ zero_zero_int @ I )
       => ( ( ord_less_int @ zero_zero_int @ J )
         => ( ( ( product_Pair_int_int @ I @ J )
              = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( numeral_numeral_int @ ( bit1 @ one ) ) ) )
            | ( ( product_Pair_int_int @ I @ J )
              = ( product_Pair_int_int @ ( numeral_numeral_int @ ( bit1 @ one ) ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ) ) ) ) ).

% valid_step_1_1
thf(fact_647_board__exec__leq,axiom,
    ! [I: int,J: int,N: nat,M: nat] :
      ( ( member5262025264175285858nt_int @ ( product_Pair_int_int @ I @ J ) @ ( board_exec @ N @ M ) )
      = ( ( ord_less_eq_int @ one_one_int @ I )
        & ( ord_less_eq_int @ I @ ( semiri1314217659103216013at_int @ N ) )
        & ( ord_less_eq_int @ one_one_int @ J )
        & ( ord_less_eq_int @ J @ ( semiri1314217659103216013at_int @ M ) ) ) ) ).

% board_exec_leq
thf(fact_648_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

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

% not_gr_zero
thf(fact_650_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_651_add__0,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ zero_zero_int @ A )
      = A ) ).

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

% add_0
thf(fact_653_zero__eq__add__iff__both__eq__0,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X4 @ Y4 ) )
      = ( ( X4 = zero_zero_nat )
        & ( Y4 = zero_zero_nat ) ) ) ).

% zero_eq_add_iff_both_eq_0
thf(fact_654_add__eq__0__iff__both__eq__0,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( ( plus_plus_nat @ X4 @ Y4 )
        = zero_zero_nat )
      = ( ( X4 = zero_zero_nat )
        & ( Y4 = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_655_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_656_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_657_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_658_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_659_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_660_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_661_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_662_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_663_double__zero__sym,axiom,
    ! [A: int] :
      ( ( zero_zero_int
        = ( plus_plus_int @ A @ A ) )
      = ( A = zero_zero_int ) ) ).

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

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

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

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

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

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

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

% diff_zero
thf(fact_671_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_672_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_673_dvd__0__left__iff,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ zero_zero_int @ A )
      = ( A = zero_zero_int ) ) ).

% dvd_0_left_iff
thf(fact_674_dvd__0__left__iff,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ zero_zero_nat @ A )
      = ( A = zero_zero_nat ) ) ).

% dvd_0_left_iff
thf(fact_675_dvd__0__right,axiom,
    ! [A: int] : ( dvd_dvd_int @ A @ zero_zero_int ) ).

% dvd_0_right
thf(fact_676_dvd__0__right,axiom,
    ! [A: nat] : ( dvd_dvd_nat @ A @ zero_zero_nat ) ).

% dvd_0_right
thf(fact_677_of__nat__0,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% of_nat_0
thf(fact_678_of__nat__0,axiom,
    ( ( semiri1316708129612266289at_nat @ zero_zero_nat )
    = zero_zero_nat ) ).

% of_nat_0
thf(fact_679_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_680_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_681_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_682_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_683_dbl__simps_I2_J,axiom,
    ( ( neg_numeral_dbl_int @ zero_zero_int )
    = zero_zero_int ) ).

% dbl_simps(2)
thf(fact_684_zero__le__double__add__iff__zero__le__single__add,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( plus_plus_int @ A @ A ) )
      = ( ord_less_eq_int @ zero_zero_int @ A ) ) ).

% zero_le_double_add_iff_zero_le_single_add
thf(fact_685_double__add__le__zero__iff__single__add__le__zero,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ A ) @ zero_zero_int )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% double_add_le_zero_iff_single_add_le_zero
thf(fact_686_le__add__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ B @ A ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel2
thf(fact_687_le__add__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ ( plus_plus_int @ B @ A ) )
      = ( ord_less_eq_int @ zero_zero_int @ B ) ) ).

% le_add_same_cancel2
thf(fact_688_le__add__same__cancel1,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ ( plus_plus_nat @ A @ B ) )
      = ( ord_less_eq_nat @ zero_zero_nat @ B ) ) ).

% le_add_same_cancel1
thf(fact_689_le__add__same__cancel1,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ ( plus_plus_int @ A @ B ) )
      = ( ord_less_eq_int @ zero_zero_int @ B ) ) ).

% le_add_same_cancel1
thf(fact_690_add__le__same__cancel2,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel2
thf(fact_691_add__le__same__cancel2,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ A @ B ) @ B )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% add_le_same_cancel2
thf(fact_692_add__le__same__cancel1,axiom,
    ! [B: nat,A: nat] :
      ( ( ord_less_eq_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( ord_less_eq_nat @ A @ zero_zero_nat ) ) ).

% add_le_same_cancel1
thf(fact_693_add__le__same__cancel1,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ B @ A ) @ B )
      = ( ord_less_eq_int @ A @ zero_zero_int ) ) ).

% add_le_same_cancel1
thf(fact_694_diff__ge__0__iff__ge,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( minus_minus_int @ A @ B ) )
      = ( ord_less_eq_int @ B @ A ) ) ).

% diff_ge_0_iff_ge
thf(fact_695_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_696_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_697_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_698_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_699_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_700_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_701_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_702_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_703_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_704_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_705_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_706_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_707_diff__numeral__special_I9_J,axiom,
    ( ( minus_minus_int @ one_one_int @ one_one_int )
    = zero_zero_int ) ).

% diff_numeral_special(9)
thf(fact_708_of__nat__le__0__iff,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ M ) @ zero_zero_nat )
      = ( M = zero_zero_nat ) ) ).

% of_nat_le_0_iff
thf(fact_709_of__nat__le__0__iff,axiom,
    ! [M: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ M ) @ zero_zero_int )
      = ( M = zero_zero_nat ) ) ).

% of_nat_le_0_iff
thf(fact_710_min__0__1_I4_J,axiom,
    ! [X4: num] :
      ( ( ord_min_nat @ ( numeral_numeral_nat @ X4 ) @ zero_zero_nat )
      = zero_zero_nat ) ).

% min_0_1(4)
thf(fact_711_min__0__1_I4_J,axiom,
    ! [X4: num] :
      ( ( ord_min_int @ ( numeral_numeral_int @ X4 ) @ zero_zero_int )
      = zero_zero_int ) ).

% min_0_1(4)
thf(fact_712_min__0__1_I3_J,axiom,
    ! [X4: num] :
      ( ( ord_min_nat @ zero_zero_nat @ ( numeral_numeral_nat @ X4 ) )
      = zero_zero_nat ) ).

% min_0_1(3)
thf(fact_713_min__0__1_I3_J,axiom,
    ! [X4: num] :
      ( ( ord_min_int @ zero_zero_int @ ( numeral_numeral_int @ X4 ) )
      = zero_zero_int ) ).

% min_0_1(3)
thf(fact_714_min__0__1_I2_J,axiom,
    ( ( ord_min_int @ one_one_int @ zero_zero_int )
    = zero_zero_int ) ).

% min_0_1(2)
thf(fact_715_min__0__1_I2_J,axiom,
    ( ( ord_min_nat @ one_one_nat @ zero_zero_nat )
    = zero_zero_nat ) ).

% min_0_1(2)
thf(fact_716_min__0__1_I1_J,axiom,
    ( ( ord_min_int @ zero_zero_int @ one_one_int )
    = zero_zero_int ) ).

% min_0_1(1)
thf(fact_717_min__0__1_I1_J,axiom,
    ( ( ord_min_nat @ zero_zero_nat @ one_one_nat )
    = zero_zero_nat ) ).

% min_0_1(1)
thf(fact_718_dbl__inc__simps_I2_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ zero_zero_int )
    = one_one_int ) ).

% dbl_inc_simps(2)
thf(fact_719_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_720_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_721_zero__le,axiom,
    ! [X4: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X4 ) ).

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

% le_numeral_extra(3)
thf(fact_723_le__numeral__extra_I3_J,axiom,
    ord_less_eq_int @ zero_zero_int @ zero_zero_int ).

% le_numeral_extra(3)
thf(fact_724_less__numeral__extra_I3_J,axiom,
    ~ ( ord_less_nat @ zero_zero_nat @ zero_zero_nat ) ).

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

% less_numeral_extra(3)
thf(fact_726_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_727_gr__implies__not__zero,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( N != zero_zero_nat ) ) ).

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

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

% gr_zeroI
thf(fact_730_zero__neq__numeral,axiom,
    ! [N: num] :
      ( zero_zero_nat
     != ( numeral_numeral_nat @ N ) ) ).

% zero_neq_numeral
thf(fact_731_zero__neq__numeral,axiom,
    ! [N: num] :
      ( zero_zero_int
     != ( numeral_numeral_int @ N ) ) ).

% zero_neq_numeral
thf(fact_732_zero__reorient,axiom,
    ! [X4: int] :
      ( ( zero_zero_int = X4 )
      = ( X4 = zero_zero_int ) ) ).

% zero_reorient
thf(fact_733_zero__reorient,axiom,
    ! [X4: nat] :
      ( ( zero_zero_nat = X4 )
      = ( X4 = zero_zero_nat ) ) ).

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

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

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

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

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

% add.comm_neutral
thf(fact_739_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_740_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_741_zero__neq__one,axiom,
    zero_zero_int != one_one_int ).

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

% zero_neq_one
thf(fact_743_eq__iff__diff__eq__0,axiom,
    ( ( ^ [Y5: int,Z3: int] : ( Y5 = Z3 ) )
    = ( ^ [A4: int,B4: int] :
          ( ( minus_minus_int @ A4 @ B4 )
          = zero_zero_int ) ) ) ).

% eq_iff_diff_eq_0
thf(fact_744_dvd__0__left,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ zero_zero_int @ A )
     => ( A = zero_zero_int ) ) ).

% dvd_0_left
thf(fact_745_dvd__0__left,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ zero_zero_nat @ A )
     => ( A = zero_zero_nat ) ) ).

% dvd_0_left
thf(fact_746_less__eq__int__code_I1_J,axiom,
    ord_less_eq_int @ zero_zero_int @ zero_zero_int ).

% less_eq_int_code(1)
thf(fact_747_imp__le__cong,axiom,
    ! [X4: int,X6: int,P: $o,P3: $o] :
      ( ( X4 = X6 )
     => ( ( ( ord_less_eq_int @ zero_zero_int @ X6 )
         => ( P = P3 ) )
       => ( ( ( ord_less_eq_int @ zero_zero_int @ X4 )
           => P )
          = ( ( ord_less_eq_int @ zero_zero_int @ X6 )
           => P3 ) ) ) ) ).

% imp_le_cong
thf(fact_748_conj__le__cong,axiom,
    ! [X4: int,X6: int,P: $o,P3: $o] :
      ( ( X4 = X6 )
     => ( ( ( ord_less_eq_int @ zero_zero_int @ X6 )
         => ( P = P3 ) )
       => ( ( ( ord_less_eq_int @ zero_zero_int @ X4 )
            & P )
          = ( ( ord_less_eq_int @ zero_zero_int @ X6 )
            & P3 ) ) ) ) ).

% conj_le_cong
thf(fact_749_plus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( plus_plus_int @ K @ zero_zero_int )
      = K ) ).

% plus_int_code(1)
thf(fact_750_plus__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( plus_plus_int @ zero_zero_int @ L )
      = L ) ).

% plus_int_code(2)
thf(fact_751_less__int__code_I1_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ zero_zero_int ) ).

% less_int_code(1)
thf(fact_752_minus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( minus_minus_int @ K @ zero_zero_int )
      = K ) ).

% minus_int_code(1)
thf(fact_753_step__checker__rev,axiom,
    ! [I: int,J: int,I4: int,J4: int] :
      ( ( step_checker @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I4 @ J4 ) )
     => ( step_checker @ ( product_Pair_int_int @ I4 @ J4 ) @ ( product_Pair_int_int @ I @ J ) ) ) ).

% step_checker_rev
thf(fact_754_step__checker__correct,axiom,
    step_checker = valid_step ).

% step_checker_correct
thf(fact_755_not__numeral__le__zero,axiom,
    ! [N: num] :
      ~ ( ord_less_eq_nat @ ( numeral_numeral_nat @ N ) @ zero_zero_nat ) ).

% not_numeral_le_zero
thf(fact_756_not__numeral__le__zero,axiom,
    ! [N: num] :
      ~ ( ord_less_eq_int @ ( numeral_numeral_int @ N ) @ zero_zero_int ) ).

% not_numeral_le_zero
thf(fact_757_zero__le__numeral,axiom,
    ! [N: num] : ( ord_less_eq_nat @ zero_zero_nat @ ( numeral_numeral_nat @ N ) ) ).

% zero_le_numeral
thf(fact_758_zero__le__numeral,axiom,
    ! [N: num] : ( ord_less_eq_int @ zero_zero_int @ ( numeral_numeral_int @ N ) ) ).

% zero_le_numeral
thf(fact_759_add__nonpos__eq__0__iff,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( ord_less_eq_nat @ X4 @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y4 @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X4 @ Y4 )
            = zero_zero_nat )
          = ( ( X4 = zero_zero_nat )
            & ( Y4 = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_760_add__nonpos__eq__0__iff,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_eq_int @ X4 @ zero_zero_int )
     => ( ( ord_less_eq_int @ Y4 @ zero_zero_int )
       => ( ( ( plus_plus_int @ X4 @ Y4 )
            = zero_zero_int )
          = ( ( X4 = zero_zero_int )
            & ( Y4 = zero_zero_int ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_761_add__nonneg__eq__0__iff,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X4 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y4 )
       => ( ( ( plus_plus_nat @ X4 @ Y4 )
            = zero_zero_nat )
          = ( ( X4 = zero_zero_nat )
            & ( Y4 = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_762_add__nonneg__eq__0__iff,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X4 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y4 )
       => ( ( ( plus_plus_int @ X4 @ Y4 )
            = zero_zero_int )
          = ( ( X4 = zero_zero_int )
            & ( Y4 = zero_zero_int ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_763_add__nonpos__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_nonpos
thf(fact_764_add__nonpos__nonpos,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ zero_zero_int )
     => ( ( ord_less_eq_int @ B @ zero_zero_int )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ B ) @ zero_zero_int ) ) ) ).

% add_nonpos_nonpos
thf(fact_765_add__nonneg__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_eq_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_766_add__nonneg__nonneg,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ zero_zero_int @ B )
       => ( ord_less_eq_int @ zero_zero_int @ ( plus_plus_int @ A @ B ) ) ) ) ).

% add_nonneg_nonneg
thf(fact_767_add__increasing2,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ C )
     => ( ( ord_less_eq_nat @ B @ A )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_768_add__increasing2,axiom,
    ! [C: int,B: int,A: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ C )
     => ( ( ord_less_eq_int @ B @ A )
       => ( ord_less_eq_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% add_increasing2
thf(fact_769_add__decreasing2,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( ord_less_eq_nat @ C @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ A @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_770_add__decreasing2,axiom,
    ! [C: int,A: int,B: int] :
      ( ( ord_less_eq_int @ C @ zero_zero_int )
     => ( ( ord_less_eq_int @ A @ B )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ B ) ) ) ).

% add_decreasing2
thf(fact_771_add__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_eq_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_772_add__increasing,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ord_less_eq_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% add_increasing
thf(fact_773_add__decreasing,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ C @ B )
       => ( ord_less_eq_nat @ ( plus_plus_nat @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_774_add__decreasing,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ord_less_eq_int @ A @ zero_zero_int )
     => ( ( ord_less_eq_int @ C @ B )
       => ( ord_less_eq_int @ ( plus_plus_int @ A @ C ) @ B ) ) ) ).

% add_decreasing
thf(fact_775_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one_class.zero_le_one
thf(fact_776_zero__less__one__class_Ozero__le__one,axiom,
    ord_less_eq_int @ zero_zero_int @ one_one_int ).

% zero_less_one_class.zero_le_one
thf(fact_777_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_nat @ zero_zero_nat @ one_one_nat ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_778_linordered__nonzero__semiring__class_Ozero__le__one,axiom,
    ord_less_eq_int @ zero_zero_int @ one_one_int ).

% linordered_nonzero_semiring_class.zero_le_one
thf(fact_779_not__one__le__zero,axiom,
    ~ ( ord_less_eq_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_le_zero
thf(fact_780_not__one__le__zero,axiom,
    ~ ( ord_less_eq_int @ one_one_int @ zero_zero_int ) ).

% not_one_le_zero
thf(fact_781_not__numeral__less__zero,axiom,
    ! [N: num] :
      ~ ( ord_less_nat @ ( numeral_numeral_nat @ N ) @ zero_zero_nat ) ).

% not_numeral_less_zero
thf(fact_782_not__numeral__less__zero,axiom,
    ! [N: num] :
      ~ ( ord_less_int @ ( numeral_numeral_int @ N ) @ zero_zero_int ) ).

% not_numeral_less_zero
thf(fact_783_zero__less__numeral,axiom,
    ! [N: num] : ( ord_less_nat @ zero_zero_nat @ ( numeral_numeral_nat @ N ) ) ).

% zero_less_numeral
thf(fact_784_zero__less__numeral,axiom,
    ! [N: num] : ( ord_less_int @ zero_zero_int @ ( numeral_numeral_int @ N ) ) ).

% zero_less_numeral
thf(fact_785_le__iff__diff__le__0,axiom,
    ( ord_less_eq_int
    = ( ^ [A4: int,B4: int] : ( ord_less_eq_int @ ( minus_minus_int @ A4 @ B4 ) @ zero_zero_int ) ) ) ).

% le_iff_diff_le_0
thf(fact_786_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_787_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_788_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_789_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_790_canonically__ordered__monoid__add__class_OlessE,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ B )
     => ~ ! [C2: nat] :
            ( ( B
              = ( plus_plus_nat @ A @ C2 ) )
           => ( C2 = zero_zero_nat ) ) ) ).

% canonically_ordered_monoid_add_class.lessE
thf(fact_791_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_792_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_793_add__less__zeroD,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_int @ ( plus_plus_int @ X4 @ Y4 ) @ zero_zero_int )
     => ( ( ord_less_int @ X4 @ zero_zero_int )
        | ( ord_less_int @ Y4 @ zero_zero_int ) ) ) ).

% add_less_zeroD
thf(fact_794_not__one__less__zero,axiom,
    ~ ( ord_less_nat @ one_one_nat @ zero_zero_nat ) ).

% not_one_less_zero
thf(fact_795_not__one__less__zero,axiom,
    ~ ( ord_less_int @ one_one_int @ zero_zero_int ) ).

% not_one_less_zero
thf(fact_796_zero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% zero_less_one
thf(fact_797_zero__less__one,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% zero_less_one
thf(fact_798_less__numeral__extra_I1_J,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

% less_numeral_extra(1)
thf(fact_799_less__numeral__extra_I1_J,axiom,
    ord_less_int @ zero_zero_int @ one_one_int ).

% less_numeral_extra(1)
thf(fact_800_less__iff__diff__less__0,axiom,
    ( ord_less_int
    = ( ^ [A4: int,B4: int] : ( ord_less_int @ ( minus_minus_int @ A4 @ B4 ) @ zero_zero_int ) ) ) ).

% less_iff_diff_less_0
thf(fact_801_of__nat__0__le__iff,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ ( semiri1316708129612266289at_nat @ N ) ) ).

% of_nat_0_le_iff
thf(fact_802_of__nat__0__le__iff,axiom,
    ! [N: nat] : ( ord_less_eq_int @ zero_zero_int @ ( semiri1314217659103216013at_int @ N ) ) ).

% of_nat_0_le_iff
thf(fact_803_not__is__unit__0,axiom,
    ~ ( dvd_dvd_int @ zero_zero_int @ one_one_int ) ).

% not_is_unit_0
thf(fact_804_not__is__unit__0,axiom,
    ~ ( dvd_dvd_nat @ zero_zero_nat @ one_one_nat ) ).

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

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

% of_nat_less_0_iff
thf(fact_807_odd__nonzero,axiom,
    ! [Z: int] :
      ( ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z ) @ Z )
     != zero_zero_int ) ).

% odd_nonzero
thf(fact_808_zero__le__imp__eq__int,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ? [N2: nat] :
          ( K
          = ( semiri1314217659103216013at_int @ N2 ) ) ) ).

% zero_le_imp_eq_int
thf(fact_809_nonneg__int__cases,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ~ ! [N2: nat] :
            ( K
           != ( semiri1314217659103216013at_int @ N2 ) ) ) ).

% nonneg_int_cases
thf(fact_810_zdvd__antisym__nonneg,axiom,
    ! [M: int,N: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ M )
     => ( ( ord_less_eq_int @ zero_zero_int @ N )
       => ( ( dvd_dvd_int @ M @ N )
         => ( ( dvd_dvd_int @ N @ M )
           => ( M = N ) ) ) ) ) ).

% zdvd_antisym_nonneg
thf(fact_811_zdvd__not__zless,axiom,
    ! [M: int,N: int] :
      ( ( ord_less_int @ zero_zero_int @ M )
     => ( ( ord_less_int @ M @ N )
       => ~ ( dvd_dvd_int @ N @ M ) ) ) ).

% zdvd_not_zless
thf(fact_812_board__exec__correct,axiom,
    board = board_exec ).

% board_exec_correct
thf(fact_813_add__strict__increasing2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing2
thf(fact_814_add__strict__increasing2,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ B @ C )
       => ( ord_less_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% add_strict_increasing2
thf(fact_815_add__strict__increasing,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ B @ C )
       => ( ord_less_nat @ B @ ( plus_plus_nat @ A @ C ) ) ) ) ).

% add_strict_increasing
thf(fact_816_add__strict__increasing,axiom,
    ! [A: int,B: int,C: int] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ B @ C )
       => ( ord_less_int @ B @ ( plus_plus_int @ A @ C ) ) ) ) ).

% add_strict_increasing
thf(fact_817_add__pos__nonneg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_pos_nonneg
thf(fact_818_add__pos__nonneg,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ zero_zero_int @ B )
       => ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A @ B ) ) ) ) ).

% add_pos_nonneg
thf(fact_819_add__nonpos__neg,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( ( ord_less_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_nonpos_neg
thf(fact_820_add__nonpos__neg,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ zero_zero_int )
     => ( ( ord_less_int @ B @ zero_zero_int )
       => ( ord_less_int @ ( plus_plus_int @ A @ B ) @ zero_zero_int ) ) ) ).

% add_nonpos_neg
thf(fact_821_add__nonneg__pos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ A @ B ) ) ) ) ).

% add_nonneg_pos
thf(fact_822_add__nonneg__pos,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ zero_zero_int @ B )
       => ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ A @ B ) ) ) ) ).

% add_nonneg_pos
thf(fact_823_add__neg__nonpos,axiom,
    ! [A: nat,B: nat] :
      ( ( ord_less_nat @ A @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ B @ zero_zero_nat )
       => ( ord_less_nat @ ( plus_plus_nat @ A @ B ) @ zero_zero_nat ) ) ) ).

% add_neg_nonpos
thf(fact_824_add__neg__nonpos,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ zero_zero_int )
     => ( ( ord_less_eq_int @ B @ zero_zero_int )
       => ( ord_less_int @ ( plus_plus_int @ A @ B ) @ zero_zero_int ) ) ) ).

% add_neg_nonpos
thf(fact_825_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

% zero_less_two
thf(fact_826_zero__less__two,axiom,
    ord_less_int @ zero_zero_int @ ( plus_plus_int @ one_one_int @ one_one_int ) ).

% zero_less_two
thf(fact_827_int__one__le__iff__zero__less,axiom,
    ! [Z: int] :
      ( ( ord_less_eq_int @ one_one_int @ Z )
      = ( ord_less_int @ zero_zero_int @ Z ) ) ).

% int_one_le_iff_zero_less
thf(fact_828_odd__less__0__iff,axiom,
    ! [Z: int] :
      ( ( ord_less_int @ ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z ) @ Z ) @ zero_zero_int )
      = ( ord_less_int @ Z @ zero_zero_int ) ) ).

% odd_less_0_iff
thf(fact_829_zdvd__imp__le,axiom,
    ! [Z: int,N: int] :
      ( ( dvd_dvd_int @ Z @ N )
     => ( ( ord_less_int @ zero_zero_int @ N )
       => ( ord_less_eq_int @ Z @ N ) ) ) ).

% zdvd_imp_le
thf(fact_830_even__zero,axiom,
    dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ zero_zero_nat ).

% even_zero
thf(fact_831_even__zero,axiom,
    dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ zero_zero_int ).

% even_zero
thf(fact_832_le__imp__0__less,axiom,
    ! [Z: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z )
     => ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ one_one_int @ Z ) ) ) ).

% le_imp_0_less
thf(fact_833_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_834_zdiff__int__split,axiom,
    ! [P: int > $o,X4: nat,Y4: nat] :
      ( ( P @ ( semiri1314217659103216013at_int @ ( minus_minus_nat @ X4 @ Y4 ) ) )
      = ( ( ( ord_less_eq_nat @ Y4 @ X4 )
         => ( P @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ X4 ) @ ( semiri1314217659103216013at_int @ Y4 ) ) ) )
        & ( ( ord_less_nat @ X4 @ Y4 )
         => ( P @ zero_zero_int ) ) ) ) ).

% zdiff_int_split
thf(fact_835_divides__aux__eq,axiom,
    ! [Q3: int,R: int] :
      ( ( unique5329631941980267465ux_int @ ( product_Pair_int_int @ Q3 @ R ) )
      = ( R = zero_zero_int ) ) ).

% divides_aux_eq
thf(fact_836_divides__aux__eq,axiom,
    ! [Q3: nat,R: nat] :
      ( ( unique5332122412489317741ux_nat @ ( product_Pair_nat_nat @ Q3 @ R ) )
      = ( R = zero_zero_nat ) ) ).

% divides_aux_eq
thf(fact_837_divmod__algorithm__code_I3_J,axiom,
    ! [N: num] :
      ( ( unique5405566460079783412od_nat @ one @ ( bit1 @ N ) )
      = ( product_Pair_nat_nat @ zero_zero_nat @ ( numeral_numeral_nat @ one ) ) ) ).

% divmod_algorithm_code(3)
thf(fact_838_divmod__algorithm__code_I3_J,axiom,
    ! [N: num] :
      ( ( unique5403075989570733136od_int @ one @ ( bit1 @ N ) )
      = ( product_Pair_int_int @ zero_zero_int @ ( numeral_numeral_int @ one ) ) ) ).

% divmod_algorithm_code(3)
thf(fact_839_divmod__algorithm__code_I2_J,axiom,
    ! [N: num] :
      ( ( unique5405566460079783412od_nat @ one @ ( bit0 @ N ) )
      = ( product_Pair_nat_nat @ zero_zero_nat @ ( numeral_numeral_nat @ one ) ) ) ).

% divmod_algorithm_code(2)
thf(fact_840_divmod__algorithm__code_I2_J,axiom,
    ! [N: num] :
      ( ( unique5403075989570733136od_int @ one @ ( bit0 @ N ) )
      = ( product_Pair_int_int @ zero_zero_int @ ( numeral_numeral_int @ one ) ) ) ).

% divmod_algorithm_code(2)
thf(fact_841_less__nat__zero__code,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ zero_zero_nat ) ).

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

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

% bot_nat_0.extremum
thf(fact_845_le0,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

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

% Nat.add_0_right
thf(fact_848_diff__0__eq__0,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% diff_0_eq_0
thf(fact_849_diff__self__eq__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ M )
      = zero_zero_nat ) ).

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

% min_0R
thf(fact_851_min__0L,axiom,
    ! [N: nat] :
      ( ( ord_min_nat @ zero_zero_nat @ N )
      = zero_zero_nat ) ).

% min_0L
thf(fact_852_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_853_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_854_diff__is__0__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% diff_is_0_eq
thf(fact_855_diff__is__0__eq_H,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( minus_minus_nat @ M @ N )
        = zero_zero_nat ) ) ).

% diff_is_0_eq'
thf(fact_856_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_857_dvd__numeral__simp,axiom,
    ! [M: num,N: num] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
      = ( unique5332122412489317741ux_nat @ ( unique5405566460079783412od_nat @ N @ M ) ) ) ).

% dvd_numeral_simp
thf(fact_858_dvd__numeral__simp,axiom,
    ! [M: num,N: num] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ N ) )
      = ( unique5329631941980267465ux_int @ ( unique5403075989570733136od_int @ N @ M ) ) ) ).

% dvd_numeral_simp
thf(fact_859_divmod__algorithm__code_I1_J,axiom,
    ! [M: num] :
      ( ( unique5405566460079783412od_nat @ M @ one )
      = ( product_Pair_nat_nat @ ( numeral_numeral_nat @ M ) @ zero_zero_nat ) ) ).

% divmod_algorithm_code(1)
thf(fact_860_divmod__algorithm__code_I1_J,axiom,
    ! [M: num] :
      ( ( unique5403075989570733136od_int @ M @ one )
      = ( product_Pair_int_int @ ( numeral_numeral_int @ M ) @ zero_zero_int ) ) ).

% divmod_algorithm_code(1)
thf(fact_861_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

% bot_nat_0.extremum_strict
thf(fact_862_gr0I,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

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

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

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

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

% gr_implies_not0
thf(fact_867_infinite__descent0,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( ~ ( P @ N2 )
             => ? [M4: nat] :
                  ( ( ord_less_nat @ M4 @ N2 )
                  & ~ ( P @ M4 ) ) ) )
       => ( P @ N ) ) ) ).

% infinite_descent0
thf(fact_868_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

% le_0_eq
thf(fact_869_bot__nat__0_Oextremum__uniqueI,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
     => ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_uniqueI
thf(fact_870_bot__nat__0_Oextremum__unique,axiom,
    ! [A: nat] :
      ( ( ord_less_eq_nat @ A @ zero_zero_nat )
      = ( A = zero_zero_nat ) ) ).

% bot_nat_0.extremum_unique
thf(fact_871_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ zero_zero_nat @ N ) ).

% less_eq_nat.simps(1)
thf(fact_872_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_873_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_874_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_875_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_876_ex__least__nat__le,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ N )
     => ( ~ ( P @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I5: nat] :
                ( ( ord_less_nat @ I5 @ K3 )
               => ~ ( P @ I5 ) )
            & ( P @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_877_less__imp__add__positive,axiom,
    ! [I: nat,J: nat] :
      ( ( ord_less_nat @ I @ J )
     => ? [K3: nat] :
          ( ( ord_less_nat @ zero_zero_nat @ K3 )
          & ( ( plus_plus_nat @ I @ K3 )
            = J ) ) ) ).

% less_imp_add_positive
thf(fact_878_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_879_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_880_nat__dvd__not__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ( ( ord_less_nat @ M @ N )
       => ~ ( dvd_dvd_nat @ N @ M ) ) ) ).

% nat_dvd_not_less
thf(fact_881_int__ops_I1_J,axiom,
    ( ( semiri1314217659103216013at_int @ zero_zero_nat )
    = zero_zero_int ) ).

% int_ops(1)
thf(fact_882_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_883_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_884_dvd__imp__le,axiom,
    ! [K: nat,N: nat] :
      ( ( dvd_dvd_nat @ K @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ord_less_eq_nat @ K @ N ) ) ) ).

% dvd_imp_le
thf(fact_885_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_886_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_887_odd__pos,axiom,
    ! [N: nat] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ord_less_nat @ zero_zero_nat @ N ) ) ).

% odd_pos
thf(fact_888_nat__induct2,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ( P @ one_one_nat )
       => ( ! [N2: nat] :
              ( ( P @ N2 )
             => ( P @ ( plus_plus_nat @ N2 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) )
         => ( P @ N ) ) ) ) ).

% nat_induct2
thf(fact_889_divmod__algorithm__code_I6_J,axiom,
    ! [M: num,N: num] :
      ( ( ( ord_less_eq_num @ M @ N )
       => ( ( unique5405566460079783412od_nat @ ( bit0 @ M ) @ ( bit1 @ N ) )
          = ( product_Pair_nat_nat @ zero_zero_nat @ ( numeral_numeral_nat @ ( bit0 @ M ) ) ) ) )
      & ( ~ ( ord_less_eq_num @ M @ N )
       => ( ( unique5405566460079783412od_nat @ ( bit0 @ M ) @ ( bit1 @ N ) )
          = ( unique4036640087844771520ep_nat @ ( numeral_numeral_nat @ ( bit1 @ N ) ) @ ( unique5405566460079783412od_nat @ ( bit0 @ M ) @ ( bit0 @ ( bit1 @ N ) ) ) ) ) ) ) ).

% divmod_algorithm_code(6)
thf(fact_890_divmod__algorithm__code_I6_J,axiom,
    ! [M: num,N: num] :
      ( ( ( ord_less_eq_num @ M @ N )
       => ( ( unique5403075989570733136od_int @ ( bit0 @ M ) @ ( bit1 @ N ) )
          = ( product_Pair_int_int @ zero_zero_int @ ( numeral_numeral_int @ ( bit0 @ M ) ) ) ) )
      & ( ~ ( ord_less_eq_num @ M @ N )
       => ( ( unique5403075989570733136od_int @ ( bit0 @ M ) @ ( bit1 @ N ) )
          = ( unique4034149617335721244ep_int @ ( numeral_numeral_int @ ( bit1 @ N ) ) @ ( unique5403075989570733136od_int @ ( bit0 @ M ) @ ( bit0 @ ( bit1 @ N ) ) ) ) ) ) ) ).

% divmod_algorithm_code(6)
thf(fact_891_divmod__algorithm__code_I7_J,axiom,
    ! [M: num,N: num] :
      ( ( ( ord_less_num @ M @ N )
       => ( ( unique5405566460079783412od_nat @ ( bit1 @ M ) @ ( bit1 @ N ) )
          = ( product_Pair_nat_nat @ zero_zero_nat @ ( numeral_numeral_nat @ ( bit1 @ M ) ) ) ) )
      & ( ~ ( ord_less_num @ M @ N )
       => ( ( unique5405566460079783412od_nat @ ( bit1 @ M ) @ ( bit1 @ N ) )
          = ( unique4036640087844771520ep_nat @ ( numeral_numeral_nat @ ( bit1 @ N ) ) @ ( unique5405566460079783412od_nat @ ( bit1 @ M ) @ ( bit0 @ ( bit1 @ N ) ) ) ) ) ) ) ).

% divmod_algorithm_code(7)
thf(fact_892_divmod__algorithm__code_I7_J,axiom,
    ! [M: num,N: num] :
      ( ( ( ord_less_num @ M @ N )
       => ( ( unique5403075989570733136od_int @ ( bit1 @ M ) @ ( bit1 @ N ) )
          = ( product_Pair_int_int @ zero_zero_int @ ( numeral_numeral_int @ ( bit1 @ M ) ) ) ) )
      & ( ~ ( ord_less_num @ M @ N )
       => ( ( unique5403075989570733136od_int @ ( bit1 @ M ) @ ( bit1 @ N ) )
          = ( unique4034149617335721244ep_int @ ( numeral_numeral_int @ ( bit1 @ N ) ) @ ( unique5403075989570733136od_int @ ( bit1 @ M ) @ ( bit0 @ ( bit1 @ N ) ) ) ) ) ) ) ).

% divmod_algorithm_code(7)
thf(fact_893_divmod__divmod__step,axiom,
    ( unique5405566460079783412od_nat
    = ( ^ [M3: num,N3: num] : ( if_Pro6206227464963214023at_nat @ ( ord_less_num @ M3 @ N3 ) @ ( product_Pair_nat_nat @ zero_zero_nat @ ( numeral_numeral_nat @ M3 ) ) @ ( unique4036640087844771520ep_nat @ ( numeral_numeral_nat @ N3 ) @ ( unique5405566460079783412od_nat @ M3 @ ( bit0 @ N3 ) ) ) ) ) ) ).

% divmod_divmod_step
thf(fact_894_divmod__divmod__step,axiom,
    ( unique5403075989570733136od_int
    = ( ^ [M3: num,N3: num] : ( if_Pro3027730157355071871nt_int @ ( ord_less_num @ M3 @ N3 ) @ ( product_Pair_int_int @ zero_zero_int @ ( numeral_numeral_int @ M3 ) ) @ ( unique4034149617335721244ep_int @ ( numeral_numeral_int @ N3 ) @ ( unique5403075989570733136od_int @ M3 @ ( bit0 @ N3 ) ) ) ) ) ) ).

% divmod_divmod_step
thf(fact_895_dvd__pos__nat,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( dvd_dvd_nat @ M @ N )
       => ( ord_less_nat @ zero_zero_nat @ M ) ) ) ).

% dvd_pos_nat
thf(fact_896_power__le__zero__eq__numeral,axiom,
    ! [A: int,W: num] :
      ( ( ord_less_eq_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ W ) ) @ zero_zero_int )
      = ( ( ord_less_nat @ zero_zero_nat @ ( numeral_numeral_nat @ W ) )
        & ( ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ W ) )
            & ( ord_less_eq_int @ A @ zero_zero_int ) )
          | ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ W ) )
            & ( A = zero_zero_int ) ) ) ) ) ).

% power_le_zero_eq_numeral
thf(fact_897_even__unset__bit__iff,axiom,
    ! [M: nat,A: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( bit_se4205575877204974255it_nat @ M @ A ) )
      = ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
        | ( M = zero_zero_nat ) ) ) ).

% even_unset_bit_iff
thf(fact_898_even__unset__bit__iff,axiom,
    ! [M: nat,A: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( bit_se4203085406695923979it_int @ M @ A ) )
      = ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
        | ( M = zero_zero_nat ) ) ) ).

% even_unset_bit_iff
thf(fact_899_unset__bit__nonnegative__int__iff,axiom,
    ! [N: nat,K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( bit_se4203085406695923979it_int @ N @ K ) )
      = ( ord_less_eq_int @ zero_zero_int @ K ) ) ).

% unset_bit_nonnegative_int_iff
thf(fact_900_unset__bit__negative__int__iff,axiom,
    ! [N: nat,K: int] :
      ( ( ord_less_int @ ( bit_se4203085406695923979it_int @ N @ K ) @ zero_zero_int )
      = ( ord_less_int @ K @ zero_zero_int ) ) ).

% unset_bit_negative_int_iff
thf(fact_901_pow__divides__pow__iff,axiom,
    ! [N: nat,A: int,B: int] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( dvd_dvd_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ B @ N ) )
        = ( dvd_dvd_int @ A @ B ) ) ) ).

% pow_divides_pow_iff
thf(fact_902_pow__divides__pow__iff,axiom,
    ! [N: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( dvd_dvd_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ B @ N ) )
        = ( dvd_dvd_nat @ A @ B ) ) ) ).

% pow_divides_pow_iff
thf(fact_903_even__power,axiom,
    ! [A: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( power_power_nat @ A @ N ) )
      = ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% even_power
thf(fact_904_even__power,axiom,
    ! [A: int,N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( power_power_int @ A @ N ) )
      = ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% even_power
thf(fact_905_zero__le__power__eq__numeral,axiom,
    ! [A: int,W: num] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ W ) ) )
      = ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ W ) )
        | ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ W ) )
          & ( ord_less_eq_int @ zero_zero_int @ A ) ) ) ) ).

% zero_le_power_eq_numeral
thf(fact_906_power__less__zero__eq,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_int @ ( power_power_int @ A @ N ) @ zero_zero_int )
      = ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
        & ( ord_less_int @ A @ zero_zero_int ) ) ) ).

% power_less_zero_eq
thf(fact_907_power__less__zero__eq__numeral,axiom,
    ! [A: int,W: num] :
      ( ( ord_less_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ W ) ) @ zero_zero_int )
      = ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ W ) )
        & ( ord_less_int @ A @ zero_zero_int ) ) ) ).

% power_less_zero_eq_numeral
thf(fact_908_semiring__parity__class_Oeven__mask__iff,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( minus_minus_nat @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) @ one_one_nat ) )
      = ( N = zero_zero_nat ) ) ).

% semiring_parity_class.even_mask_iff
thf(fact_909_semiring__parity__class_Oeven__mask__iff,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_int @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) @ one_one_int ) )
      = ( N = zero_zero_nat ) ) ).

% semiring_parity_class.even_mask_iff
thf(fact_910_zero__less__power__eq__numeral,axiom,
    ! [A: int,W: num] :
      ( ( ord_less_int @ zero_zero_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ W ) ) )
      = ( ( ( numeral_numeral_nat @ W )
          = zero_zero_nat )
        | ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ W ) )
          & ( A != zero_zero_int ) )
        | ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ W ) )
          & ( ord_less_int @ zero_zero_int @ A ) ) ) ) ).

% zero_less_power_eq_numeral
thf(fact_911_unset__bit__less__eq,axiom,
    ! [N: nat,K: int] : ( ord_less_eq_int @ ( bit_se4203085406695923979it_int @ N @ K ) @ K ) ).

% unset_bit_less_eq
thf(fact_912_gcd__nat_Oasym,axiom,
    ! [A: nat,B: nat] :
      ( ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) )
     => ~ ( ( dvd_dvd_nat @ B @ A )
          & ( B != A ) ) ) ).

% gcd_nat.asym
thf(fact_913_gcd__nat_Orefl,axiom,
    ! [A: nat] : ( dvd_dvd_nat @ A @ A ) ).

% gcd_nat.refl
thf(fact_914_gcd__nat_Otrans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( dvd_dvd_nat @ B @ C )
       => ( dvd_dvd_nat @ A @ C ) ) ) ).

% gcd_nat.trans
thf(fact_915_gcd__nat_Oeq__iff,axiom,
    ( ( ^ [Y5: nat,Z3: nat] : ( Y5 = Z3 ) )
    = ( ^ [A4: nat,B4: nat] :
          ( ( dvd_dvd_nat @ A4 @ B4 )
          & ( dvd_dvd_nat @ B4 @ A4 ) ) ) ) ).

% gcd_nat.eq_iff
thf(fact_916_gcd__nat_Oirrefl,axiom,
    ! [A: nat] :
      ~ ( ( dvd_dvd_nat @ A @ A )
        & ( A != A ) ) ).

% gcd_nat.irrefl
thf(fact_917_gcd__nat_Oantisym,axiom,
    ! [A: nat,B: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( dvd_dvd_nat @ B @ A )
       => ( A = B ) ) ) ).

% gcd_nat.antisym
thf(fact_918_gcd__nat_Ostrict__trans,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) )
     => ( ( ( dvd_dvd_nat @ B @ C )
          & ( B != C ) )
       => ( ( dvd_dvd_nat @ A @ C )
          & ( A != C ) ) ) ) ).

% gcd_nat.strict_trans
thf(fact_919_gcd__nat_Ostrict__trans1,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( ( dvd_dvd_nat @ B @ C )
          & ( B != C ) )
       => ( ( dvd_dvd_nat @ A @ C )
          & ( A != C ) ) ) ) ).

% gcd_nat.strict_trans1
thf(fact_920_gcd__nat_Ostrict__trans2,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) )
     => ( ( dvd_dvd_nat @ B @ C )
       => ( ( dvd_dvd_nat @ A @ C )
          & ( A != C ) ) ) ) ).

% gcd_nat.strict_trans2
thf(fact_921_gcd__nat_Ostrict__iff__not,axiom,
    ! [A: nat,B: nat] :
      ( ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) )
      = ( ( dvd_dvd_nat @ A @ B )
        & ~ ( dvd_dvd_nat @ B @ A ) ) ) ).

% gcd_nat.strict_iff_not
thf(fact_922_gcd__nat_Oorder__iff__strict,axiom,
    ( dvd_dvd_nat
    = ( ^ [A4: nat,B4: nat] :
          ( ( ( dvd_dvd_nat @ A4 @ B4 )
            & ( A4 != B4 ) )
          | ( A4 = B4 ) ) ) ) ).

% gcd_nat.order_iff_strict
thf(fact_923_gcd__nat_Ostrict__iff__order,axiom,
    ! [A: nat,B: nat] :
      ( ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) )
      = ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) ) ) ).

% gcd_nat.strict_iff_order
thf(fact_924_gcd__nat_Ostrict__implies__order,axiom,
    ! [A: nat,B: nat] :
      ( ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) )
     => ( dvd_dvd_nat @ A @ B ) ) ).

% gcd_nat.strict_implies_order
thf(fact_925_gcd__nat_Ostrict__implies__not__eq,axiom,
    ! [A: nat,B: nat] :
      ( ( ( dvd_dvd_nat @ A @ B )
        & ( A != B ) )
     => ( A != B ) ) ).

% gcd_nat.strict_implies_not_eq
thf(fact_926_gcd__nat_Onot__eq__order__implies__strict,axiom,
    ! [A: nat,B: nat] :
      ( ( A != B )
     => ( ( dvd_dvd_nat @ A @ B )
       => ( ( dvd_dvd_nat @ A @ B )
          & ( A != B ) ) ) ) ).

% gcd_nat.not_eq_order_implies_strict
thf(fact_927_exp__add__not__zero__imp__left,axiom,
    ! [M: nat,N: nat] :
      ( ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ M @ N ) )
       != zero_zero_nat )
     => ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ M )
       != zero_zero_nat ) ) ).

% exp_add_not_zero_imp_left
thf(fact_928_exp__add__not__zero__imp__left,axiom,
    ! [M: nat,N: nat] :
      ( ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_nat @ M @ N ) )
       != zero_zero_int )
     => ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ M )
       != zero_zero_int ) ) ).

% exp_add_not_zero_imp_left
thf(fact_929_exp__add__not__zero__imp__right,axiom,
    ! [M: nat,N: nat] :
      ( ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ M @ N ) )
       != zero_zero_nat )
     => ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
       != zero_zero_nat ) ) ).

% exp_add_not_zero_imp_right
thf(fact_930_exp__add__not__zero__imp__right,axiom,
    ! [M: nat,N: nat] :
      ( ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_nat @ M @ N ) )
       != zero_zero_int )
     => ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N )
       != zero_zero_int ) ) ).

% exp_add_not_zero_imp_right
thf(fact_931_exp__not__zero__imp__exp__diff__not__zero,axiom,
    ! [N: nat,M: nat] :
      ( ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
       != zero_zero_nat )
     => ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( minus_minus_nat @ N @ M ) )
       != zero_zero_nat ) ) ).

% exp_not_zero_imp_exp_diff_not_zero
thf(fact_932_exp__not__zero__imp__exp__diff__not__zero,axiom,
    ! [N: nat,M: nat] :
      ( ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N )
       != zero_zero_int )
     => ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_nat @ N @ M ) )
       != zero_zero_int ) ) ).

% exp_not_zero_imp_exp_diff_not_zero
thf(fact_933_power__mono__odd,axiom,
    ! [N: nat,A: int,B: int] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( ord_less_eq_int @ A @ B )
       => ( ord_less_eq_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ B @ N ) ) ) ) ).

% power_mono_odd
thf(fact_934_not__exp__less__eq__0__int,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_int @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) @ zero_zero_int ) ).

% not_exp_less_eq_0_int
thf(fact_935_zero__le__power__eq,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( power_power_int @ A @ N ) )
      = ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
        | ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
          & ( ord_less_eq_int @ zero_zero_int @ A ) ) ) ) ).

% zero_le_power_eq
thf(fact_936_zero__le__odd__power,axiom,
    ! [N: nat,A: int] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( ord_less_eq_int @ zero_zero_int @ ( power_power_int @ A @ N ) )
        = ( ord_less_eq_int @ zero_zero_int @ A ) ) ) ).

% zero_le_odd_power
thf(fact_937_zero__le__even__power,axiom,
    ! [N: nat,A: int] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ord_less_eq_int @ zero_zero_int @ ( power_power_int @ A @ N ) ) ) ).

% zero_le_even_power
thf(fact_938_zero__less__power__eq,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_int @ zero_zero_int @ ( power_power_int @ A @ N ) )
      = ( ( N = zero_zero_nat )
        | ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
          & ( A != zero_zero_int ) )
        | ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
          & ( ord_less_int @ zero_zero_int @ A ) ) ) ) ).

% zero_less_power_eq
thf(fact_939_Euclid__induct,axiom,
    ! [P: nat > nat > $o,A: nat,B: nat] :
      ( ! [A5: nat,B5: nat] :
          ( ( P @ A5 @ B5 )
          = ( P @ B5 @ A5 ) )
     => ( ! [A5: nat] : ( P @ A5 @ zero_zero_nat )
       => ( ! [A5: nat,B5: nat] :
              ( ( P @ A5 @ B5 )
             => ( P @ A5 @ ( plus_plus_nat @ A5 @ B5 ) ) )
         => ( P @ A @ B ) ) ) ) ).

% Euclid_induct
thf(fact_940_gcd__nat_Oextremum__uniqueI,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ zero_zero_nat @ A )
     => ( A = zero_zero_nat ) ) ).

% gcd_nat.extremum_uniqueI
thf(fact_941_gcd__nat_Onot__eq__extremum,axiom,
    ! [A: nat] :
      ( ( A != zero_zero_nat )
      = ( ( dvd_dvd_nat @ A @ zero_zero_nat )
        & ( A != zero_zero_nat ) ) ) ).

% gcd_nat.not_eq_extremum
thf(fact_942_gcd__nat_Oextremum__unique,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ zero_zero_nat @ A )
      = ( A = zero_zero_nat ) ) ).

% gcd_nat.extremum_unique
thf(fact_943_gcd__nat_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ( dvd_dvd_nat @ zero_zero_nat @ A )
        & ( zero_zero_nat != A ) ) ).

% gcd_nat.extremum_strict
thf(fact_944_gcd__nat_Oextremum,axiom,
    ! [A: nat] : ( dvd_dvd_nat @ A @ zero_zero_nat ) ).

% gcd_nat.extremum
thf(fact_945_power__le__zero__eq,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_eq_int @ ( power_power_int @ A @ N ) @ zero_zero_int )
      = ( ( ord_less_nat @ zero_zero_nat @ N )
        & ( ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
            & ( ord_less_eq_int @ A @ zero_zero_int ) )
          | ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
            & ( A = zero_zero_int ) ) ) ) ) ).

% power_le_zero_eq
thf(fact_946_of__nat__less__numeral__power__cancel__iff,axiom,
    ! [X4: nat,I: num,N: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ X4 ) @ ( power_power_int @ ( numeral_numeral_int @ I ) @ N ) )
      = ( ord_less_nat @ X4 @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) ) ) ).

% of_nat_less_numeral_power_cancel_iff
thf(fact_947_of__nat__less__numeral__power__cancel__iff,axiom,
    ! [X4: nat,I: num,N: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ X4 ) @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) )
      = ( ord_less_nat @ X4 @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) ) ) ).

% of_nat_less_numeral_power_cancel_iff
thf(fact_948_numeral__power__less__of__nat__cancel__iff,axiom,
    ! [I: num,N: nat,X4: nat] :
      ( ( ord_less_int @ ( power_power_int @ ( numeral_numeral_int @ I ) @ N ) @ ( semiri1314217659103216013at_int @ X4 ) )
      = ( ord_less_nat @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) @ X4 ) ) ).

% numeral_power_less_of_nat_cancel_iff
thf(fact_949_numeral__power__less__of__nat__cancel__iff,axiom,
    ! [I: num,N: nat,X4: nat] :
      ( ( ord_less_nat @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) @ ( semiri1316708129612266289at_nat @ X4 ) )
      = ( ord_less_nat @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) @ X4 ) ) ).

% numeral_power_less_of_nat_cancel_iff
thf(fact_950_numeral__power__le__of__nat__cancel__iff,axiom,
    ! [I: num,N: nat,X4: nat] :
      ( ( ord_less_eq_nat @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) @ ( semiri1316708129612266289at_nat @ X4 ) )
      = ( ord_less_eq_nat @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) @ X4 ) ) ).

% numeral_power_le_of_nat_cancel_iff
thf(fact_951_numeral__power__le__of__nat__cancel__iff,axiom,
    ! [I: num,N: nat,X4: nat] :
      ( ( ord_less_eq_int @ ( power_power_int @ ( numeral_numeral_int @ I ) @ N ) @ ( semiri1314217659103216013at_int @ X4 ) )
      = ( ord_less_eq_nat @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) @ X4 ) ) ).

% numeral_power_le_of_nat_cancel_iff
thf(fact_952_power__one,axiom,
    ! [N: nat] :
      ( ( power_power_int @ one_one_int @ N )
      = one_one_int ) ).

% power_one
thf(fact_953_power__one,axiom,
    ! [N: nat] :
      ( ( power_power_nat @ one_one_nat @ N )
      = one_one_nat ) ).

% power_one
thf(fact_954_power__one__right,axiom,
    ! [A: int] :
      ( ( power_power_int @ A @ one_one_nat )
      = A ) ).

% power_one_right
thf(fact_955_power__one__right,axiom,
    ! [A: nat] :
      ( ( power_power_nat @ A @ one_one_nat )
      = A ) ).

% power_one_right
thf(fact_956_power__inject__exp,axiom,
    ! [A: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ A )
     => ( ( ( power_power_nat @ A @ M )
          = ( power_power_nat @ A @ N ) )
        = ( M = N ) ) ) ).

% power_inject_exp
thf(fact_957_power__inject__exp,axiom,
    ! [A: int,M: nat,N: nat] :
      ( ( ord_less_int @ one_one_int @ A )
     => ( ( ( power_power_int @ A @ M )
          = ( power_power_int @ A @ N ) )
        = ( M = N ) ) ) ).

% power_inject_exp
thf(fact_958_power__zero__numeral,axiom,
    ! [K: num] :
      ( ( power_power_int @ zero_zero_int @ ( numeral_numeral_nat @ K ) )
      = zero_zero_int ) ).

% power_zero_numeral
thf(fact_959_power__zero__numeral,axiom,
    ! [K: num] :
      ( ( power_power_nat @ zero_zero_nat @ ( numeral_numeral_nat @ K ) )
      = zero_zero_nat ) ).

% power_zero_numeral
thf(fact_960_nat__zero__less__power__iff,axiom,
    ! [X4: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( power_power_nat @ X4 @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ X4 )
        | ( N = zero_zero_nat ) ) ) ).

% nat_zero_less_power_iff
thf(fact_961_of__nat__power,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( power_power_nat @ M @ N ) )
      = ( power_power_int @ ( semiri1314217659103216013at_int @ M ) @ N ) ) ).

% of_nat_power
thf(fact_962_of__nat__power,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( power_power_nat @ M @ N ) )
      = ( power_power_nat @ ( semiri1316708129612266289at_nat @ M ) @ N ) ) ).

% of_nat_power
thf(fact_963_of__nat__eq__of__nat__power__cancel__iff,axiom,
    ! [B: nat,W: nat,X4: nat] :
      ( ( ( power_power_int @ ( semiri1314217659103216013at_int @ B ) @ W )
        = ( semiri1314217659103216013at_int @ X4 ) )
      = ( ( power_power_nat @ B @ W )
        = X4 ) ) ).

% of_nat_eq_of_nat_power_cancel_iff
thf(fact_964_of__nat__eq__of__nat__power__cancel__iff,axiom,
    ! [B: nat,W: nat,X4: nat] :
      ( ( ( power_power_nat @ ( semiri1316708129612266289at_nat @ B ) @ W )
        = ( semiri1316708129612266289at_nat @ X4 ) )
      = ( ( power_power_nat @ B @ W )
        = X4 ) ) ).

% of_nat_eq_of_nat_power_cancel_iff
thf(fact_965_of__nat__power__eq__of__nat__cancel__iff,axiom,
    ! [X4: nat,B: nat,W: nat] :
      ( ( ( semiri1314217659103216013at_int @ X4 )
        = ( power_power_int @ ( semiri1314217659103216013at_int @ B ) @ W ) )
      = ( X4
        = ( power_power_nat @ B @ W ) ) ) ).

% of_nat_power_eq_of_nat_cancel_iff
thf(fact_966_of__nat__power__eq__of__nat__cancel__iff,axiom,
    ! [X4: nat,B: nat,W: nat] :
      ( ( ( semiri1316708129612266289at_nat @ X4 )
        = ( power_power_nat @ ( semiri1316708129612266289at_nat @ B ) @ W ) )
      = ( X4
        = ( power_power_nat @ B @ W ) ) ) ).

% of_nat_power_eq_of_nat_cancel_iff
thf(fact_967_power__strict__increasing__iff,axiom,
    ! [B: nat,X4: nat,Y4: nat] :
      ( ( ord_less_nat @ one_one_nat @ B )
     => ( ( ord_less_nat @ ( power_power_nat @ B @ X4 ) @ ( power_power_nat @ B @ Y4 ) )
        = ( ord_less_nat @ X4 @ Y4 ) ) ) ).

% power_strict_increasing_iff
thf(fact_968_power__strict__increasing__iff,axiom,
    ! [B: int,X4: nat,Y4: nat] :
      ( ( ord_less_int @ one_one_int @ B )
     => ( ( ord_less_int @ ( power_power_int @ B @ X4 ) @ ( power_power_int @ B @ Y4 ) )
        = ( ord_less_nat @ X4 @ Y4 ) ) ) ).

% power_strict_increasing_iff
thf(fact_969_power__eq__0__iff,axiom,
    ! [A: int,N: nat] :
      ( ( ( power_power_int @ A @ N )
        = zero_zero_int )
      = ( ( A = zero_zero_int )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% power_eq_0_iff
thf(fact_970_power__eq__0__iff,axiom,
    ! [A: nat,N: nat] :
      ( ( ( power_power_nat @ A @ N )
        = zero_zero_nat )
      = ( ( A = zero_zero_nat )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% power_eq_0_iff
thf(fact_971_power__strict__decreasing__iff,axiom,
    ! [B: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ B )
     => ( ( ord_less_nat @ B @ one_one_nat )
       => ( ( ord_less_nat @ ( power_power_nat @ B @ M ) @ ( power_power_nat @ B @ N ) )
          = ( ord_less_nat @ N @ M ) ) ) ) ).

% power_strict_decreasing_iff
thf(fact_972_power__strict__decreasing__iff,axiom,
    ! [B: int,M: nat,N: nat] :
      ( ( ord_less_int @ zero_zero_int @ B )
     => ( ( ord_less_int @ B @ one_one_int )
       => ( ( ord_less_int @ ( power_power_int @ B @ M ) @ ( power_power_int @ B @ N ) )
          = ( ord_less_nat @ N @ M ) ) ) ) ).

% power_strict_decreasing_iff
thf(fact_973_power__increasing__iff,axiom,
    ! [B: nat,X4: nat,Y4: nat] :
      ( ( ord_less_nat @ one_one_nat @ B )
     => ( ( ord_less_eq_nat @ ( power_power_nat @ B @ X4 ) @ ( power_power_nat @ B @ Y4 ) )
        = ( ord_less_eq_nat @ X4 @ Y4 ) ) ) ).

% power_increasing_iff
thf(fact_974_power__increasing__iff,axiom,
    ! [B: int,X4: nat,Y4: nat] :
      ( ( ord_less_int @ one_one_int @ B )
     => ( ( ord_less_eq_int @ ( power_power_int @ B @ X4 ) @ ( power_power_int @ B @ Y4 ) )
        = ( ord_less_eq_nat @ X4 @ Y4 ) ) ) ).

% power_increasing_iff
thf(fact_975_power__mono__iff,axiom,
    ! [A: nat,B: nat,N: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ( ord_less_nat @ zero_zero_nat @ N )
         => ( ( ord_less_eq_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ B @ N ) )
            = ( ord_less_eq_nat @ A @ B ) ) ) ) ) ).

% power_mono_iff
thf(fact_976_power__mono__iff,axiom,
    ! [A: int,B: int,N: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ zero_zero_int @ B )
       => ( ( ord_less_nat @ zero_zero_nat @ N )
         => ( ( ord_less_eq_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ B @ N ) )
            = ( ord_less_eq_int @ A @ B ) ) ) ) ) ).

% power_mono_iff
thf(fact_977_zero__eq__power2,axiom,
    ! [A: int] :
      ( ( ( power_power_int @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = zero_zero_int )
      = ( A = zero_zero_int ) ) ).

% zero_eq_power2
thf(fact_978_zero__eq__power2,axiom,
    ! [A: nat] :
      ( ( ( power_power_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = zero_zero_nat )
      = ( A = zero_zero_nat ) ) ).

% zero_eq_power2
thf(fact_979_of__nat__le__of__nat__power__cancel__iff,axiom,
    ! [B: nat,W: nat,X4: nat] :
      ( ( ord_less_eq_nat @ ( power_power_nat @ ( semiri1316708129612266289at_nat @ B ) @ W ) @ ( semiri1316708129612266289at_nat @ X4 ) )
      = ( ord_less_eq_nat @ ( power_power_nat @ B @ W ) @ X4 ) ) ).

% of_nat_le_of_nat_power_cancel_iff
thf(fact_980_of__nat__le__of__nat__power__cancel__iff,axiom,
    ! [B: nat,W: nat,X4: nat] :
      ( ( ord_less_eq_int @ ( power_power_int @ ( semiri1314217659103216013at_int @ B ) @ W ) @ ( semiri1314217659103216013at_int @ X4 ) )
      = ( ord_less_eq_nat @ ( power_power_nat @ B @ W ) @ X4 ) ) ).

% of_nat_le_of_nat_power_cancel_iff
thf(fact_981_of__nat__power__le__of__nat__cancel__iff,axiom,
    ! [X4: nat,B: nat,W: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ X4 ) @ ( power_power_nat @ ( semiri1316708129612266289at_nat @ B ) @ W ) )
      = ( ord_less_eq_nat @ X4 @ ( power_power_nat @ B @ W ) ) ) ).

% of_nat_power_le_of_nat_cancel_iff
thf(fact_982_of__nat__power__le__of__nat__cancel__iff,axiom,
    ! [X4: nat,B: nat,W: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ X4 ) @ ( power_power_int @ ( semiri1314217659103216013at_int @ B ) @ W ) )
      = ( ord_less_eq_nat @ X4 @ ( power_power_nat @ B @ W ) ) ) ).

% of_nat_power_le_of_nat_cancel_iff
thf(fact_983_of__nat__power__less__of__nat__cancel__iff,axiom,
    ! [X4: nat,B: nat,W: nat] :
      ( ( ord_less_int @ ( semiri1314217659103216013at_int @ X4 ) @ ( power_power_int @ ( semiri1314217659103216013at_int @ B ) @ W ) )
      = ( ord_less_nat @ X4 @ ( power_power_nat @ B @ W ) ) ) ).

% of_nat_power_less_of_nat_cancel_iff
thf(fact_984_of__nat__power__less__of__nat__cancel__iff,axiom,
    ! [X4: nat,B: nat,W: nat] :
      ( ( ord_less_nat @ ( semiri1316708129612266289at_nat @ X4 ) @ ( power_power_nat @ ( semiri1316708129612266289at_nat @ B ) @ W ) )
      = ( ord_less_nat @ X4 @ ( power_power_nat @ B @ W ) ) ) ).

% of_nat_power_less_of_nat_cancel_iff
thf(fact_985_of__nat__less__of__nat__power__cancel__iff,axiom,
    ! [B: nat,W: nat,X4: nat] :
      ( ( ord_less_int @ ( power_power_int @ ( semiri1314217659103216013at_int @ B ) @ W ) @ ( semiri1314217659103216013at_int @ X4 ) )
      = ( ord_less_nat @ ( power_power_nat @ B @ W ) @ X4 ) ) ).

% of_nat_less_of_nat_power_cancel_iff
thf(fact_986_of__nat__less__of__nat__power__cancel__iff,axiom,
    ! [B: nat,W: nat,X4: nat] :
      ( ( ord_less_nat @ ( power_power_nat @ ( semiri1316708129612266289at_nat @ B ) @ W ) @ ( semiri1316708129612266289at_nat @ X4 ) )
      = ( ord_less_nat @ ( power_power_nat @ B @ W ) @ X4 ) ) ).

% of_nat_less_of_nat_power_cancel_iff
thf(fact_987_numeral__power__eq__of__nat__cancel__iff,axiom,
    ! [X4: num,N: nat,Y4: nat] :
      ( ( ( power_power_int @ ( numeral_numeral_int @ X4 ) @ N )
        = ( semiri1314217659103216013at_int @ Y4 ) )
      = ( ( power_power_nat @ ( numeral_numeral_nat @ X4 ) @ N )
        = Y4 ) ) ).

% numeral_power_eq_of_nat_cancel_iff
thf(fact_988_numeral__power__eq__of__nat__cancel__iff,axiom,
    ! [X4: num,N: nat,Y4: nat] :
      ( ( ( power_power_nat @ ( numeral_numeral_nat @ X4 ) @ N )
        = ( semiri1316708129612266289at_nat @ Y4 ) )
      = ( ( power_power_nat @ ( numeral_numeral_nat @ X4 ) @ N )
        = Y4 ) ) ).

% numeral_power_eq_of_nat_cancel_iff
thf(fact_989_real__of__nat__eq__numeral__power__cancel__iff,axiom,
    ! [Y4: nat,X4: num,N: nat] :
      ( ( ( semiri1314217659103216013at_int @ Y4 )
        = ( power_power_int @ ( numeral_numeral_int @ X4 ) @ N ) )
      = ( Y4
        = ( power_power_nat @ ( numeral_numeral_nat @ X4 ) @ N ) ) ) ).

% real_of_nat_eq_numeral_power_cancel_iff
thf(fact_990_real__of__nat__eq__numeral__power__cancel__iff,axiom,
    ! [Y4: nat,X4: num,N: nat] :
      ( ( ( semiri1316708129612266289at_nat @ Y4 )
        = ( power_power_nat @ ( numeral_numeral_nat @ X4 ) @ N ) )
      = ( Y4
        = ( power_power_nat @ ( numeral_numeral_nat @ X4 ) @ N ) ) ) ).

% real_of_nat_eq_numeral_power_cancel_iff
thf(fact_991_power__decreasing__iff,axiom,
    ! [B: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ B )
     => ( ( ord_less_nat @ B @ one_one_nat )
       => ( ( ord_less_eq_nat @ ( power_power_nat @ B @ M ) @ ( power_power_nat @ B @ N ) )
          = ( ord_less_eq_nat @ N @ M ) ) ) ) ).

% power_decreasing_iff
thf(fact_992_power__decreasing__iff,axiom,
    ! [B: int,M: nat,N: nat] :
      ( ( ord_less_int @ zero_zero_int @ B )
     => ( ( ord_less_int @ B @ one_one_int )
       => ( ( ord_less_eq_int @ ( power_power_int @ B @ M ) @ ( power_power_int @ B @ N ) )
          = ( ord_less_eq_nat @ N @ M ) ) ) ) ).

% power_decreasing_iff
thf(fact_993_power2__eq__iff__nonneg,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X4 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y4 )
       => ( ( ( power_power_nat @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
            = ( power_power_nat @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
          = ( X4 = Y4 ) ) ) ) ).

% power2_eq_iff_nonneg
thf(fact_994_power2__eq__iff__nonneg,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X4 )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y4 )
       => ( ( ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
            = ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
          = ( X4 = Y4 ) ) ) ) ).

% power2_eq_iff_nonneg
thf(fact_995_power2__less__eq__zero__iff,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ zero_zero_int )
      = ( A = zero_zero_int ) ) ).

% power2_less_eq_zero_iff
thf(fact_996_zero__less__power2,axiom,
    ! [A: int] :
      ( ( ord_less_int @ zero_zero_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
      = ( A != zero_zero_int ) ) ).

% zero_less_power2
thf(fact_997_of__nat__zero__less__power__iff,axiom,
    ! [X4: nat,N: nat] :
      ( ( ord_less_int @ zero_zero_int @ ( power_power_int @ ( semiri1314217659103216013at_int @ X4 ) @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ X4 )
        | ( N = zero_zero_nat ) ) ) ).

% of_nat_zero_less_power_iff
thf(fact_998_of__nat__zero__less__power__iff,axiom,
    ! [X4: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( power_power_nat @ ( semiri1316708129612266289at_nat @ X4 ) @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ X4 )
        | ( N = zero_zero_nat ) ) ) ).

% of_nat_zero_less_power_iff
thf(fact_999_of__nat__le__numeral__power__cancel__iff,axiom,
    ! [X4: nat,I: num,N: nat] :
      ( ( ord_less_eq_nat @ ( semiri1316708129612266289at_nat @ X4 ) @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) )
      = ( ord_less_eq_nat @ X4 @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) ) ) ).

% of_nat_le_numeral_power_cancel_iff
thf(fact_1000_of__nat__le__numeral__power__cancel__iff,axiom,
    ! [X4: nat,I: num,N: nat] :
      ( ( ord_less_eq_int @ ( semiri1314217659103216013at_int @ X4 ) @ ( power_power_int @ ( numeral_numeral_int @ I ) @ N ) )
      = ( ord_less_eq_nat @ X4 @ ( power_power_nat @ ( numeral_numeral_nat @ I ) @ N ) ) ) ).

% of_nat_le_numeral_power_cancel_iff
thf(fact_1001_nat__power__less__imp__less,axiom,
    ! [I: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ I )
     => ( ( ord_less_nat @ ( power_power_nat @ I @ M ) @ ( power_power_nat @ I @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% nat_power_less_imp_less
thf(fact_1002_dvd__power__same,axiom,
    ! [X4: int,Y4: int,N: nat] :
      ( ( dvd_dvd_int @ X4 @ Y4 )
     => ( dvd_dvd_int @ ( power_power_int @ X4 @ N ) @ ( power_power_int @ Y4 @ N ) ) ) ).

% dvd_power_same
thf(fact_1003_dvd__power__same,axiom,
    ! [X4: nat,Y4: nat,N: nat] :
      ( ( dvd_dvd_nat @ X4 @ Y4 )
     => ( dvd_dvd_nat @ ( power_power_nat @ X4 @ N ) @ ( power_power_nat @ Y4 @ N ) ) ) ).

% dvd_power_same
thf(fact_1004_power__mono,axiom,
    ! [A: nat,B: nat,N: nat] :
      ( ( ord_less_eq_nat @ A @ B )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ord_less_eq_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ B @ N ) ) ) ) ).

% power_mono
thf(fact_1005_power__mono,axiom,
    ! [A: int,B: int,N: nat] :
      ( ( ord_less_eq_int @ A @ B )
     => ( ( ord_less_eq_int @ zero_zero_int @ A )
       => ( ord_less_eq_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ B @ N ) ) ) ) ).

% power_mono
thf(fact_1006_zero__le__power,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ord_less_eq_nat @ zero_zero_nat @ ( power_power_nat @ A @ N ) ) ) ).

% zero_le_power
thf(fact_1007_zero__le__power,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ord_less_eq_int @ zero_zero_int @ ( power_power_int @ A @ N ) ) ) ).

% zero_le_power
thf(fact_1008_zero__less__power,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ord_less_nat @ zero_zero_nat @ ( power_power_nat @ A @ N ) ) ) ).

% zero_less_power
thf(fact_1009_zero__less__power,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ord_less_int @ zero_zero_int @ ( power_power_int @ A @ N ) ) ) ).

% zero_less_power
thf(fact_1010_one__le__power,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_eq_nat @ one_one_nat @ A )
     => ( ord_less_eq_nat @ one_one_nat @ ( power_power_nat @ A @ N ) ) ) ).

% one_le_power
thf(fact_1011_one__le__power,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_eq_int @ one_one_int @ A )
     => ( ord_less_eq_int @ one_one_int @ ( power_power_int @ A @ N ) ) ) ).

% one_le_power
thf(fact_1012_power__0,axiom,
    ! [A: int] :
      ( ( power_power_int @ A @ zero_zero_nat )
      = one_one_int ) ).

% power_0
thf(fact_1013_power__0,axiom,
    ! [A: nat] :
      ( ( power_power_nat @ A @ zero_zero_nat )
      = one_one_nat ) ).

% power_0
thf(fact_1014_le__imp__power__dvd,axiom,
    ! [M: nat,N: nat,A: int] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( dvd_dvd_int @ ( power_power_int @ A @ M ) @ ( power_power_int @ A @ N ) ) ) ).

% le_imp_power_dvd
thf(fact_1015_le__imp__power__dvd,axiom,
    ! [M: nat,N: nat,A: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( dvd_dvd_nat @ ( power_power_nat @ A @ M ) @ ( power_power_nat @ A @ N ) ) ) ).

% le_imp_power_dvd
thf(fact_1016_power__le__dvd,axiom,
    ! [A: int,N: nat,B: int,M: nat] :
      ( ( dvd_dvd_int @ ( power_power_int @ A @ N ) @ B )
     => ( ( ord_less_eq_nat @ M @ N )
       => ( dvd_dvd_int @ ( power_power_int @ A @ M ) @ B ) ) ) ).

% power_le_dvd
thf(fact_1017_power__le__dvd,axiom,
    ! [A: nat,N: nat,B: nat,M: nat] :
      ( ( dvd_dvd_nat @ ( power_power_nat @ A @ N ) @ B )
     => ( ( ord_less_eq_nat @ M @ N )
       => ( dvd_dvd_nat @ ( power_power_nat @ A @ M ) @ B ) ) ) ).

% power_le_dvd
thf(fact_1018_dvd__power__le,axiom,
    ! [X4: int,Y4: int,N: nat,M: nat] :
      ( ( dvd_dvd_int @ X4 @ Y4 )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( dvd_dvd_int @ ( power_power_int @ X4 @ N ) @ ( power_power_int @ Y4 @ M ) ) ) ) ).

% dvd_power_le
thf(fact_1019_dvd__power__le,axiom,
    ! [X4: nat,Y4: nat,N: nat,M: nat] :
      ( ( dvd_dvd_nat @ X4 @ Y4 )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( dvd_dvd_nat @ ( power_power_nat @ X4 @ N ) @ ( power_power_nat @ Y4 @ M ) ) ) ) ).

% dvd_power_le
thf(fact_1020_power__less__imp__less__base,axiom,
    ! [A: nat,N: nat,B: nat] :
      ( ( ord_less_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ B @ N ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
       => ( ord_less_nat @ A @ B ) ) ) ).

% power_less_imp_less_base
thf(fact_1021_power__less__imp__less__base,axiom,
    ! [A: int,N: nat,B: int] :
      ( ( ord_less_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ B @ N ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ B )
       => ( ord_less_int @ A @ B ) ) ) ).

% power_less_imp_less_base
thf(fact_1022_power__le__one,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ A )
     => ( ( ord_less_eq_nat @ A @ one_one_nat )
       => ( ord_less_eq_nat @ ( power_power_nat @ A @ N ) @ one_one_nat ) ) ) ).

% power_le_one
thf(fact_1023_power__le__one,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_eq_int @ A @ one_one_int )
       => ( ord_less_eq_int @ ( power_power_int @ A @ N ) @ one_one_int ) ) ) ).

% power_le_one
thf(fact_1024_power__0__left,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( power_power_int @ zero_zero_int @ N )
          = one_one_int ) )
      & ( ( N != zero_zero_nat )
       => ( ( power_power_int @ zero_zero_int @ N )
          = zero_zero_int ) ) ) ).

% power_0_left
thf(fact_1025_power__0__left,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( power_power_nat @ zero_zero_nat @ N )
          = one_one_nat ) )
      & ( ( N != zero_zero_nat )
       => ( ( power_power_nat @ zero_zero_nat @ N )
          = zero_zero_nat ) ) ) ).

% power_0_left
thf(fact_1026_power__increasing,axiom,
    ! [N: nat,N4: nat,A: nat] :
      ( ( ord_less_eq_nat @ N @ N4 )
     => ( ( ord_less_eq_nat @ one_one_nat @ A )
       => ( ord_less_eq_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ A @ N4 ) ) ) ) ).

% power_increasing
thf(fact_1027_power__increasing,axiom,
    ! [N: nat,N4: nat,A: int] :
      ( ( ord_less_eq_nat @ N @ N4 )
     => ( ( ord_less_eq_int @ one_one_int @ A )
       => ( ord_less_eq_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ A @ N4 ) ) ) ) ).

% power_increasing
thf(fact_1028_power__less__imp__less__exp,axiom,
    ! [A: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ A )
     => ( ( ord_less_nat @ ( power_power_nat @ A @ M ) @ ( power_power_nat @ A @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% power_less_imp_less_exp
thf(fact_1029_power__less__imp__less__exp,axiom,
    ! [A: int,M: nat,N: nat] :
      ( ( ord_less_int @ one_one_int @ A )
     => ( ( ord_less_int @ ( power_power_int @ A @ M ) @ ( power_power_int @ A @ N ) )
       => ( ord_less_nat @ M @ N ) ) ) ).

% power_less_imp_less_exp
thf(fact_1030_power__strict__increasing,axiom,
    ! [N: nat,N4: nat,A: nat] :
      ( ( ord_less_nat @ N @ N4 )
     => ( ( ord_less_nat @ one_one_nat @ A )
       => ( ord_less_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ A @ N4 ) ) ) ) ).

% power_strict_increasing
thf(fact_1031_power__strict__increasing,axiom,
    ! [N: nat,N4: nat,A: int] :
      ( ( ord_less_nat @ N @ N4 )
     => ( ( ord_less_int @ one_one_int @ A )
       => ( ord_less_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ A @ N4 ) ) ) ) ).

% power_strict_increasing
thf(fact_1032_zero__power,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( power_power_int @ zero_zero_int @ N )
        = zero_zero_int ) ) ).

% zero_power
thf(fact_1033_zero__power,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( power_power_nat @ zero_zero_nat @ N )
        = zero_zero_nat ) ) ).

% zero_power
thf(fact_1034_is__unit__power__iff,axiom,
    ! [A: int,N: nat] :
      ( ( dvd_dvd_int @ ( power_power_int @ A @ N ) @ one_one_int )
      = ( ( dvd_dvd_int @ A @ one_one_int )
        | ( N = zero_zero_nat ) ) ) ).

% is_unit_power_iff
thf(fact_1035_is__unit__power__iff,axiom,
    ! [A: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( power_power_nat @ A @ N ) @ one_one_nat )
      = ( ( dvd_dvd_nat @ A @ one_one_nat )
        | ( N = zero_zero_nat ) ) ) ).

% is_unit_power_iff
thf(fact_1036_less__exp,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ).

% less_exp
thf(fact_1037_power2__nat__le__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( power_power_nat @ M @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% power2_nat_le_imp_le
thf(fact_1038_power2__nat__le__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( power_power_nat @ M @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% power2_nat_le_eq_le
thf(fact_1039_self__le__ge2__pow,axiom,
    ! [K: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ K )
     => ( ord_less_eq_nat @ M @ ( power_power_nat @ K @ M ) ) ) ).

% self_le_ge2_pow
thf(fact_1040_power__dvd__imp__le,axiom,
    ! [I: nat,M: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( power_power_nat @ I @ M ) @ ( power_power_nat @ I @ N ) )
     => ( ( ord_less_nat @ one_one_nat @ I )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% power_dvd_imp_le
thf(fact_1041_power__decreasing,axiom,
    ! [N: nat,N4: nat,A: nat] :
      ( ( ord_less_eq_nat @ N @ N4 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ( ord_less_eq_nat @ A @ one_one_nat )
         => ( ord_less_eq_nat @ ( power_power_nat @ A @ N4 ) @ ( power_power_nat @ A @ N ) ) ) ) ) ).

% power_decreasing
thf(fact_1042_power__decreasing,axiom,
    ! [N: nat,N4: nat,A: int] :
      ( ( ord_less_eq_nat @ N @ N4 )
     => ( ( ord_less_eq_int @ zero_zero_int @ A )
       => ( ( ord_less_eq_int @ A @ one_one_int )
         => ( ord_less_eq_int @ ( power_power_int @ A @ N4 ) @ ( power_power_int @ A @ N ) ) ) ) ) ).

% power_decreasing
thf(fact_1043_power__strict__decreasing,axiom,
    ! [N: nat,N4: nat,A: nat] :
      ( ( ord_less_nat @ N @ N4 )
     => ( ( ord_less_nat @ zero_zero_nat @ A )
       => ( ( ord_less_nat @ A @ one_one_nat )
         => ( ord_less_nat @ ( power_power_nat @ A @ N4 ) @ ( power_power_nat @ A @ N ) ) ) ) ) ).

% power_strict_decreasing
thf(fact_1044_power__strict__decreasing,axiom,
    ! [N: nat,N4: nat,A: int] :
      ( ( ord_less_nat @ N @ N4 )
     => ( ( ord_less_int @ zero_zero_int @ A )
       => ( ( ord_less_int @ A @ one_one_int )
         => ( ord_less_int @ ( power_power_int @ A @ N4 ) @ ( power_power_int @ A @ N ) ) ) ) ) ).

% power_strict_decreasing
thf(fact_1045_power__le__imp__le__exp,axiom,
    ! [A: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ A )
     => ( ( ord_less_eq_nat @ ( power_power_nat @ A @ M ) @ ( power_power_nat @ A @ N ) )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% power_le_imp_le_exp
thf(fact_1046_power__le__imp__le__exp,axiom,
    ! [A: int,M: nat,N: nat] :
      ( ( ord_less_int @ one_one_int @ A )
     => ( ( ord_less_eq_int @ ( power_power_int @ A @ M ) @ ( power_power_int @ A @ N ) )
       => ( ord_less_eq_nat @ M @ N ) ) ) ).

% power_le_imp_le_exp
thf(fact_1047_power__eq__iff__eq__base,axiom,
    ! [N: nat,A: nat,B: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
         => ( ( ( power_power_nat @ A @ N )
              = ( power_power_nat @ B @ N ) )
            = ( A = B ) ) ) ) ) ).

% power_eq_iff_eq_base
thf(fact_1048_power__eq__iff__eq__base,axiom,
    ! [N: nat,A: int,B: int] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_eq_int @ zero_zero_int @ A )
       => ( ( ord_less_eq_int @ zero_zero_int @ B )
         => ( ( ( power_power_int @ A @ N )
              = ( power_power_int @ B @ N ) )
            = ( A = B ) ) ) ) ) ).

% power_eq_iff_eq_base
thf(fact_1049_power__eq__imp__eq__base,axiom,
    ! [A: nat,N: nat,B: nat] :
      ( ( ( power_power_nat @ A @ N )
        = ( power_power_nat @ B @ N ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ B )
         => ( ( ord_less_nat @ zero_zero_nat @ N )
           => ( A = B ) ) ) ) ) ).

% power_eq_imp_eq_base
thf(fact_1050_power__eq__imp__eq__base,axiom,
    ! [A: int,N: nat,B: int] :
      ( ( ( power_power_int @ A @ N )
        = ( power_power_int @ B @ N ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ A )
       => ( ( ord_less_eq_int @ zero_zero_int @ B )
         => ( ( ord_less_nat @ zero_zero_nat @ N )
           => ( A = B ) ) ) ) ) ).

% power_eq_imp_eq_base
thf(fact_1051_self__le__power,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_eq_nat @ one_one_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ord_less_eq_nat @ A @ ( power_power_nat @ A @ N ) ) ) ) ).

% self_le_power
thf(fact_1052_self__le__power,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_eq_int @ one_one_int @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ord_less_eq_int @ A @ ( power_power_int @ A @ N ) ) ) ) ).

% self_le_power
thf(fact_1053_zero__power2,axiom,
    ( ( power_power_int @ zero_zero_int @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = zero_zero_int ) ).

% zero_power2
thf(fact_1054_zero__power2,axiom,
    ( ( power_power_nat @ zero_zero_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = zero_zero_nat ) ).

% zero_power2
thf(fact_1055_one__less__power,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ord_less_nat @ one_one_nat @ ( power_power_nat @ A @ N ) ) ) ) ).

% one_less_power
thf(fact_1056_one__less__power,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_int @ one_one_int @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ord_less_int @ one_one_int @ ( power_power_int @ A @ N ) ) ) ) ).

% one_less_power
thf(fact_1057_dvd__power__iff,axiom,
    ! [X4: int,M: nat,N: nat] :
      ( ( X4 != zero_zero_int )
     => ( ( dvd_dvd_int @ ( power_power_int @ X4 @ M ) @ ( power_power_int @ X4 @ N ) )
        = ( ( dvd_dvd_int @ X4 @ one_one_int )
          | ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% dvd_power_iff
thf(fact_1058_dvd__power__iff,axiom,
    ! [X4: nat,M: nat,N: nat] :
      ( ( X4 != zero_zero_nat )
     => ( ( dvd_dvd_nat @ ( power_power_nat @ X4 @ M ) @ ( power_power_nat @ X4 @ N ) )
        = ( ( dvd_dvd_nat @ X4 @ one_one_nat )
          | ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% dvd_power_iff
thf(fact_1059_one__power2,axiom,
    ( ( power_power_int @ one_one_int @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = one_one_int ) ).

% one_power2
thf(fact_1060_one__power2,axiom,
    ( ( power_power_nat @ one_one_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = one_one_nat ) ).

% one_power2
thf(fact_1061_power2__commute,axiom,
    ! [X4: int,Y4: int] :
      ( ( power_power_int @ ( minus_minus_int @ X4 @ Y4 ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( power_power_int @ ( minus_minus_int @ Y4 @ X4 ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ).

% power2_commute
thf(fact_1062_dvd__power,axiom,
    ! [N: nat,X4: int] :
      ( ( ( ord_less_nat @ zero_zero_nat @ N )
        | ( X4 = one_one_int ) )
     => ( dvd_dvd_int @ X4 @ ( power_power_int @ X4 @ N ) ) ) ).

% dvd_power
thf(fact_1063_dvd__power,axiom,
    ! [N: nat,X4: nat] :
      ( ( ( ord_less_nat @ zero_zero_nat @ N )
        | ( X4 = one_one_nat ) )
     => ( dvd_dvd_nat @ X4 @ ( power_power_nat @ X4 @ N ) ) ) ).

% dvd_power
thf(fact_1064_diff__le__diff__pow,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ K )
     => ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ ( minus_minus_nat @ ( power_power_nat @ K @ M ) @ ( power_power_nat @ K @ N ) ) ) ) ).

% diff_le_diff_pow
thf(fact_1065_dvd__power__iff__le,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ K )
     => ( ( dvd_dvd_nat @ ( power_power_nat @ K @ M ) @ ( power_power_nat @ K @ N ) )
        = ( ord_less_eq_nat @ M @ N ) ) ) ).

% dvd_power_iff_le
thf(fact_1066_power__strict__mono,axiom,
    ! [A: nat,B: nat,N: nat] :
      ( ( ord_less_nat @ A @ B )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ( ord_less_nat @ zero_zero_nat @ N )
         => ( ord_less_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ B @ N ) ) ) ) ) ).

% power_strict_mono
thf(fact_1067_power__strict__mono,axiom,
    ! [A: int,B: int,N: nat] :
      ( ( ord_less_int @ A @ B )
     => ( ( ord_less_eq_int @ zero_zero_int @ A )
       => ( ( ord_less_nat @ zero_zero_nat @ N )
         => ( ord_less_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ B @ N ) ) ) ) ) ).

% power_strict_mono
thf(fact_1068_power2__le__imp__le,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( ord_less_eq_nat @ ( power_power_nat @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_nat @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y4 )
       => ( ord_less_eq_nat @ X4 @ Y4 ) ) ) ).

% power2_le_imp_le
thf(fact_1069_power2__le__imp__le,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_eq_int @ ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y4 )
       => ( ord_less_eq_int @ X4 @ Y4 ) ) ) ).

% power2_le_imp_le
thf(fact_1070_power2__eq__imp__eq,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( ( power_power_nat @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( power_power_nat @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ X4 )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ Y4 )
         => ( X4 = Y4 ) ) ) ) ).

% power2_eq_imp_eq
thf(fact_1071_power2__eq__imp__eq,axiom,
    ! [X4: int,Y4: int] :
      ( ( ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ X4 )
       => ( ( ord_less_eq_int @ zero_zero_int @ Y4 )
         => ( X4 = Y4 ) ) ) ) ).

% power2_eq_imp_eq
thf(fact_1072_zero__le__power2,axiom,
    ! [A: int] : ( ord_less_eq_int @ zero_zero_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ).

% zero_le_power2
thf(fact_1073_power2__less__0,axiom,
    ! [A: int] :
      ~ ( ord_less_int @ ( power_power_int @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ zero_zero_int ) ).

% power2_less_0
thf(fact_1074_sum__power2__eq__zero__iff,axiom,
    ! [X4: int,Y4: int] :
      ( ( ( plus_plus_int @ ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
        = zero_zero_int )
      = ( ( X4 = zero_zero_int )
        & ( Y4 = zero_zero_int ) ) ) ).

% sum_power2_eq_zero_iff
thf(fact_1075_power2__less__imp__less,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( ord_less_nat @ ( power_power_nat @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_nat @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y4 )
       => ( ord_less_nat @ X4 @ Y4 ) ) ) ).

% power2_less_imp_less
thf(fact_1076_power2__less__imp__less,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_int @ ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y4 )
       => ( ord_less_int @ X4 @ Y4 ) ) ) ).

% power2_less_imp_less
thf(fact_1077_sum__power2__le__zero__iff,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) @ zero_zero_int )
      = ( ( X4 = zero_zero_int )
        & ( Y4 = zero_zero_int ) ) ) ).

% sum_power2_le_zero_iff
thf(fact_1078_sum__power2__ge__zero,axiom,
    ! [X4: int,Y4: int] : ( ord_less_eq_int @ zero_zero_int @ ( plus_plus_int @ ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% sum_power2_ge_zero
thf(fact_1079_sum__power2__gt__zero__iff,axiom,
    ! [X4: int,Y4: int] :
      ( ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) )
      = ( ( X4 != zero_zero_int )
        | ( Y4 != zero_zero_int ) ) ) ).

% sum_power2_gt_zero_iff
thf(fact_1080_not__sum__power2__lt__zero,axiom,
    ! [X4: int,Y4: int] :
      ~ ( ord_less_int @ ( plus_plus_int @ ( power_power_int @ X4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y4 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) @ zero_zero_int ) ).

% not_sum_power2_lt_zero
thf(fact_1081_ex__power__ivl2,axiom,
    ! [B: nat,K: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ B )
     => ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ K )
       => ? [N2: nat] :
            ( ( ord_less_nat @ ( power_power_nat @ B @ N2 ) @ K )
            & ( ord_less_eq_nat @ K @ ( power_power_nat @ B @ ( plus_plus_nat @ N2 @ one_one_nat ) ) ) ) ) ) ).

% ex_power_ivl2
thf(fact_1082_ex__power__ivl1,axiom,
    ! [B: nat,K: nat] :
      ( ( ord_less_eq_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ B )
     => ( ( ord_less_eq_nat @ one_one_nat @ K )
       => ? [N2: nat] :
            ( ( ord_less_eq_nat @ ( power_power_nat @ B @ N2 ) @ K )
            & ( ord_less_nat @ K @ ( power_power_nat @ B @ ( plus_plus_nat @ N2 @ one_one_nat ) ) ) ) ) ) ).

% ex_power_ivl1
thf(fact_1083_even__succ__div__exp,axiom,
    ! [A: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( divide_divide_nat @ ( plus_plus_nat @ one_one_nat @ A ) @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) )
          = ( divide_divide_nat @ A @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ) ) ) ).

% even_succ_div_exp
thf(fact_1084_even__succ__div__exp,axiom,
    ! [A: int,N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( divide_divide_int @ ( plus_plus_int @ one_one_int @ A ) @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) )
          = ( divide_divide_int @ A @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) ) ) ) ) ).

% even_succ_div_exp
thf(fact_1085_even__succ__mod__exp,axiom,
    ! [A: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( modulo_modulo_nat @ ( plus_plus_nat @ one_one_nat @ A ) @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) )
          = ( plus_plus_nat @ one_one_nat @ ( modulo_modulo_nat @ A @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ) ) ) ) ).

% even_succ_mod_exp
thf(fact_1086_even__succ__mod__exp,axiom,
    ! [A: int,N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( modulo_modulo_int @ ( plus_plus_int @ one_one_int @ A ) @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) )
          = ( plus_plus_int @ one_one_int @ ( modulo_modulo_int @ A @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) ) ) ) ) ) ).

% even_succ_mod_exp
thf(fact_1087_power__numeral,axiom,
    ! [K: num,L: num] :
      ( ( power_power_nat @ ( numeral_numeral_nat @ K ) @ ( numeral_numeral_nat @ L ) )
      = ( numeral_numeral_nat @ ( pow @ K @ L ) ) ) ).

% power_numeral
thf(fact_1088_power__numeral,axiom,
    ! [K: num,L: num] :
      ( ( power_power_int @ ( numeral_numeral_int @ K ) @ ( numeral_numeral_nat @ L ) )
      = ( numeral_numeral_int @ ( pow @ K @ L ) ) ) ).

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

% div_0
thf(fact_1090_div__0,axiom,
    ! [A: int] :
      ( ( divide_divide_int @ zero_zero_int @ A )
      = zero_zero_int ) ).

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

% div_by_0
thf(fact_1092_div__by__0,axiom,
    ! [A: int] :
      ( ( divide_divide_int @ A @ zero_zero_int )
      = zero_zero_int ) ).

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

% div_by_1
thf(fact_1094_div__by__1,axiom,
    ! [A: int] :
      ( ( divide_divide_int @ A @ one_one_int )
      = A ) ).

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

% bits_div_by_1
thf(fact_1096_bits__div__by__1,axiom,
    ! [A: int] :
      ( ( divide_divide_int @ A @ one_one_int )
      = A ) ).

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

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

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

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

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

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

% mod_0
thf(fact_1103_div__dvd__div,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( dvd_dvd_nat @ A @ C )
       => ( ( dvd_dvd_nat @ ( divide_divide_nat @ B @ A ) @ ( divide_divide_nat @ C @ A ) )
          = ( dvd_dvd_nat @ B @ C ) ) ) ) ).

% div_dvd_div
thf(fact_1104_div__dvd__div,axiom,
    ! [A: int,B: int,C: int] :
      ( ( dvd_dvd_int @ A @ B )
     => ( ( dvd_dvd_int @ A @ C )
       => ( ( dvd_dvd_int @ ( divide_divide_int @ B @ A ) @ ( divide_divide_int @ C @ A ) )
          = ( dvd_dvd_int @ B @ C ) ) ) ) ).

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

% div_self
thf(fact_1106_div__self,axiom,
    ! [A: int] :
      ( ( A != zero_zero_int )
     => ( ( divide_divide_int @ A @ A )
        = one_one_int ) ) ).

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

% mod_by_1
thf(fact_1108_mod__by__1,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ A @ one_one_int )
      = zero_zero_int ) ).

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

% bits_mod_by_1
thf(fact_1110_bits__mod__by__1,axiom,
    ! [A: int] :
      ( ( modulo_modulo_int @ A @ one_one_int )
      = zero_zero_int ) ).

% bits_mod_by_1
thf(fact_1111_div__add,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( dvd_dvd_nat @ C @ A )
     => ( ( dvd_dvd_nat @ C @ B )
       => ( ( divide_divide_nat @ ( plus_plus_nat @ A @ B ) @ C )
          = ( plus_plus_nat @ ( divide_divide_nat @ A @ C ) @ ( divide_divide_nat @ B @ C ) ) ) ) ) ).

% div_add
thf(fact_1112_div__add,axiom,
    ! [C: int,A: int,B: int] :
      ( ( dvd_dvd_int @ C @ A )
     => ( ( dvd_dvd_int @ C @ B )
       => ( ( divide_divide_int @ ( plus_plus_int @ A @ B ) @ C )
          = ( plus_plus_int @ ( divide_divide_int @ A @ C ) @ ( divide_divide_int @ B @ C ) ) ) ) ) ).

% div_add
thf(fact_1113_unit__div__1__div__1,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ A @ one_one_nat )
     => ( ( divide_divide_nat @ one_one_nat @ ( divide_divide_nat @ one_one_nat @ A ) )
        = A ) ) ).

% unit_div_1_div_1
thf(fact_1114_unit__div__1__div__1,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ A @ one_one_int )
     => ( ( divide_divide_int @ one_one_int @ ( divide_divide_int @ one_one_int @ A ) )
        = A ) ) ).

% unit_div_1_div_1
thf(fact_1115_unit__div__1__unit,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ A @ one_one_nat )
     => ( dvd_dvd_nat @ ( divide_divide_nat @ one_one_nat @ A ) @ one_one_nat ) ) ).

% unit_div_1_unit
thf(fact_1116_unit__div__1__unit,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ A @ one_one_int )
     => ( dvd_dvd_int @ ( divide_divide_int @ one_one_int @ A ) @ one_one_int ) ) ).

% unit_div_1_unit
thf(fact_1117_unit__div,axiom,
    ! [A: nat,B: nat] :
      ( ( dvd_dvd_nat @ A @ one_one_nat )
     => ( ( dvd_dvd_nat @ B @ one_one_nat )
       => ( dvd_dvd_nat @ ( divide_divide_nat @ A @ B ) @ one_one_nat ) ) ) ).

% unit_div
thf(fact_1118_unit__div,axiom,
    ! [A: int,B: int] :
      ( ( dvd_dvd_int @ A @ one_one_int )
     => ( ( dvd_dvd_int @ B @ one_one_int )
       => ( dvd_dvd_int @ ( divide_divide_int @ A @ B ) @ one_one_int ) ) ) ).

% unit_div
thf(fact_1119_div__diff,axiom,
    ! [C: int,A: int,B: int] :
      ( ( dvd_dvd_int @ C @ A )
     => ( ( dvd_dvd_int @ C @ B )
       => ( ( divide_divide_int @ ( minus_minus_int @ A @ B ) @ C )
          = ( minus_minus_int @ ( divide_divide_int @ A @ C ) @ ( divide_divide_int @ B @ C ) ) ) ) ) ).

% div_diff
thf(fact_1120_dvd__imp__mod__0,axiom,
    ! [A: nat,B: nat] :
      ( ( dvd_dvd_nat @ A @ B )
     => ( ( modulo_modulo_nat @ B @ A )
        = zero_zero_nat ) ) ).

% dvd_imp_mod_0
thf(fact_1121_dvd__imp__mod__0,axiom,
    ! [A: int,B: int] :
      ( ( dvd_dvd_int @ A @ B )
     => ( ( modulo_modulo_int @ B @ A )
        = zero_zero_int ) ) ).

% dvd_imp_mod_0
thf(fact_1122_bits__one__mod__two__eq__one,axiom,
    ( ( modulo_modulo_nat @ one_one_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = one_one_nat ) ).

% bits_one_mod_two_eq_one
thf(fact_1123_bits__one__mod__two__eq__one,axiom,
    ( ( modulo_modulo_int @ one_one_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
    = one_one_int ) ).

% bits_one_mod_two_eq_one
thf(fact_1124_one__mod__two__eq__one,axiom,
    ( ( modulo_modulo_nat @ one_one_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = one_one_nat ) ).

% one_mod_two_eq_one
thf(fact_1125_one__mod__two__eq__one,axiom,
    ( ( modulo_modulo_int @ one_one_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
    = one_one_int ) ).

% one_mod_two_eq_one
thf(fact_1126_even__mod__2__iff,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( modulo_modulo_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
      = ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A ) ) ).

% even_mod_2_iff
thf(fact_1127_even__mod__2__iff,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( modulo_modulo_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
      = ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A ) ) ).

% even_mod_2_iff
thf(fact_1128_bits__1__div__2,axiom,
    ( ( divide_divide_nat @ one_one_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = zero_zero_nat ) ).

% bits_1_div_2
thf(fact_1129_bits__1__div__2,axiom,
    ( ( divide_divide_int @ one_one_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
    = zero_zero_int ) ).

% bits_1_div_2
thf(fact_1130_one__div__two__eq__zero,axiom,
    ( ( divide_divide_nat @ one_one_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = zero_zero_nat ) ).

% one_div_two_eq_zero
thf(fact_1131_one__div__two__eq__zero,axiom,
    ( ( divide_divide_int @ one_one_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
    = zero_zero_int ) ).

% one_div_two_eq_zero
thf(fact_1132_not__mod__2__eq__0__eq__1,axiom,
    ! [A: nat] :
      ( ( ( modulo_modulo_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
       != zero_zero_nat )
      = ( ( modulo_modulo_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = one_one_nat ) ) ).

% not_mod_2_eq_0_eq_1
thf(fact_1133_not__mod__2__eq__0__eq__1,axiom,
    ! [A: int] :
      ( ( ( modulo_modulo_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != zero_zero_int )
      = ( ( modulo_modulo_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
        = one_one_int ) ) ).

% not_mod_2_eq_0_eq_1
thf(fact_1134_not__mod__2__eq__1__eq__0,axiom,
    ! [A: nat] :
      ( ( ( modulo_modulo_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
       != one_one_nat )
      = ( ( modulo_modulo_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = zero_zero_nat ) ) ).

% not_mod_2_eq_1_eq_0
thf(fact_1135_not__mod__2__eq__1__eq__0,axiom,
    ! [A: int] :
      ( ( ( modulo_modulo_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != one_one_int )
      = ( ( modulo_modulo_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
        = zero_zero_int ) ) ).

% not_mod_2_eq_1_eq_0
thf(fact_1136_even__succ__div__2,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ one_one_nat @ A ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( divide_divide_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% even_succ_div_2
thf(fact_1137_even__succ__div__2,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
     => ( ( divide_divide_int @ ( plus_plus_int @ one_one_int @ A ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
        = ( divide_divide_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ) ).

% even_succ_div_2
thf(fact_1138_odd__succ__div__two,axiom,
    ! [A: nat] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( plus_plus_nat @ ( divide_divide_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ one_one_nat ) ) ) ).

% odd_succ_div_two
thf(fact_1139_odd__succ__div__two,axiom,
    ! [A: int] :
      ( ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
     => ( ( divide_divide_int @ ( plus_plus_int @ A @ one_one_int ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
        = ( plus_plus_int @ ( divide_divide_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ one_one_int ) ) ) ).

% odd_succ_div_two
thf(fact_1140_even__succ__div__two,axiom,
    ! [A: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ A @ one_one_nat ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( divide_divide_nat @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% even_succ_div_two
thf(fact_1141_even__succ__div__two,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A )
     => ( ( divide_divide_int @ ( plus_plus_int @ A @ one_one_int ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
        = ( divide_divide_int @ A @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ) ).

% even_succ_div_two
thf(fact_1142_cong__exp__iff__simps_I9_J,axiom,
    ! [M: num,Q3: num,N: num] :
      ( ( ( modulo_modulo_nat @ ( numeral_numeral_nat @ ( bit0 @ M ) ) @ ( numeral_numeral_nat @ ( bit0 @ Q3 ) ) )
        = ( modulo_modulo_nat @ ( numeral_numeral_nat @ ( bit0 @ N ) ) @ ( numeral_numeral_nat @ ( bit0 @ Q3 ) ) ) )
      = ( ( modulo_modulo_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ Q3 ) )
        = ( modulo_modulo_nat @ ( numeral_numeral_nat @ N ) @ ( numeral_numeral_nat @ Q3 ) ) ) ) ).

% cong_exp_iff_simps(9)
thf(fact_1143_cong__exp__iff__simps_I9_J,axiom,
    ! [M: num,Q3: num,N: num] :
      ( ( ( modulo_modulo_int @ ( numeral_numeral_int @ ( bit0 @ M ) ) @ ( numeral_numeral_int @ ( bit0 @ Q3 ) ) )
        = ( modulo_modulo_int @ ( numeral_numeral_int @ ( bit0 @ N ) ) @ ( numeral_numeral_int @ ( bit0 @ Q3 ) ) ) )
      = ( ( modulo_modulo_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ Q3 ) )
        = ( modulo_modulo_int @ ( numeral_numeral_int @ N ) @ ( numeral_numeral_int @ Q3 ) ) ) ) ).

% cong_exp_iff_simps(9)
thf(fact_1144_cong__exp__iff__simps_I4_J,axiom,
    ! [M: num,N: num] :
      ( ( modulo_modulo_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ one ) )
      = ( modulo_modulo_nat @ ( numeral_numeral_nat @ N ) @ ( numeral_numeral_nat @ one ) ) ) ).

% cong_exp_iff_simps(4)
thf(fact_1145_cong__exp__iff__simps_I4_J,axiom,
    ! [M: num,N: num] :
      ( ( modulo_modulo_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ one ) )
      = ( modulo_modulo_int @ ( numeral_numeral_int @ N ) @ ( numeral_numeral_int @ one ) ) ) ).

% cong_exp_iff_simps(4)
thf(fact_1146_mod__0__imp__dvd,axiom,
    ! [A: nat,B: nat] :
      ( ( ( modulo_modulo_nat @ A @ B )
        = zero_zero_nat )
     => ( dvd_dvd_nat @ B @ A ) ) ).

% mod_0_imp_dvd
thf(fact_1147_mod__0__imp__dvd,axiom,
    ! [A: int,B: int] :
      ( ( ( modulo_modulo_int @ A @ B )
        = zero_zero_int )
     => ( dvd_dvd_int @ B @ A ) ) ).

% mod_0_imp_dvd
thf(fact_1148_dvd__eq__mod__eq__0,axiom,
    ( dvd_dvd_nat
    = ( ^ [A4: nat,B4: nat] :
          ( ( modulo_modulo_nat @ B4 @ A4 )
          = zero_zero_nat ) ) ) ).

% dvd_eq_mod_eq_0
thf(fact_1149_dvd__eq__mod__eq__0,axiom,
    ( dvd_dvd_int
    = ( ^ [A4: int,B4: int] :
          ( ( modulo_modulo_int @ B4 @ A4 )
          = zero_zero_int ) ) ) ).

% dvd_eq_mod_eq_0
thf(fact_1150_mod__eq__0__iff__dvd,axiom,
    ! [A: nat,B: nat] :
      ( ( ( modulo_modulo_nat @ A @ B )
        = zero_zero_nat )
      = ( dvd_dvd_nat @ B @ A ) ) ).

% mod_eq_0_iff_dvd
thf(fact_1151_mod__eq__0__iff__dvd,axiom,
    ! [A: int,B: int] :
      ( ( ( modulo_modulo_int @ A @ B )
        = zero_zero_int )
      = ( dvd_dvd_int @ B @ A ) ) ).

% mod_eq_0_iff_dvd
thf(fact_1152_int__ops_I9_J,axiom,
    ! [A: nat,B: nat] :
      ( ( semiri1314217659103216013at_int @ ( modulo_modulo_nat @ A @ B ) )
      = ( modulo_modulo_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ).

% int_ops(9)
thf(fact_1153_int__ops_I8_J,axiom,
    ! [A: nat,B: nat] :
      ( ( semiri1314217659103216013at_int @ ( divide_divide_nat @ A @ B ) )
      = ( divide_divide_int @ ( semiri1314217659103216013at_int @ A ) @ ( semiri1314217659103216013at_int @ B ) ) ) ).

% int_ops(8)
thf(fact_1154_unique__euclidean__semiring__with__nat__class_Oof__nat__div,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( divide_divide_nat @ M @ N ) )
      = ( divide_divide_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% unique_euclidean_semiring_with_nat_class.of_nat_div
thf(fact_1155_unique__euclidean__semiring__with__nat__class_Oof__nat__div,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( divide_divide_nat @ M @ N ) )
      = ( divide_divide_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% unique_euclidean_semiring_with_nat_class.of_nat_div
thf(fact_1156_of__nat__mod,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( modulo_modulo_nat @ M @ N ) )
      = ( modulo_modulo_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% of_nat_mod
thf(fact_1157_of__nat__mod,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1316708129612266289at_nat @ ( modulo_modulo_nat @ M @ N ) )
      = ( modulo_modulo_nat @ ( semiri1316708129612266289at_nat @ M ) @ ( semiri1316708129612266289at_nat @ N ) ) ) ).

% of_nat_mod
thf(fact_1158_div__div__div__same,axiom,
    ! [D: nat,B: nat,A: nat] :
      ( ( dvd_dvd_nat @ D @ B )
     => ( ( dvd_dvd_nat @ B @ A )
       => ( ( divide_divide_nat @ ( divide_divide_nat @ A @ D ) @ ( divide_divide_nat @ B @ D ) )
          = ( divide_divide_nat @ A @ B ) ) ) ) ).

% div_div_div_same
thf(fact_1159_div__div__div__same,axiom,
    ! [D: int,B: int,A: int] :
      ( ( dvd_dvd_int @ D @ B )
     => ( ( dvd_dvd_int @ B @ A )
       => ( ( divide_divide_int @ ( divide_divide_int @ A @ D ) @ ( divide_divide_int @ B @ D ) )
          = ( divide_divide_int @ A @ B ) ) ) ) ).

% div_div_div_same
thf(fact_1160_dvd__div__eq__cancel,axiom,
    ! [A: nat,C: nat,B: nat] :
      ( ( ( divide_divide_nat @ A @ C )
        = ( divide_divide_nat @ B @ C ) )
     => ( ( dvd_dvd_nat @ C @ A )
       => ( ( dvd_dvd_nat @ C @ B )
         => ( A = B ) ) ) ) ).

% dvd_div_eq_cancel
thf(fact_1161_dvd__div__eq__cancel,axiom,
    ! [A: int,C: int,B: int] :
      ( ( ( divide_divide_int @ A @ C )
        = ( divide_divide_int @ B @ C ) )
     => ( ( dvd_dvd_int @ C @ A )
       => ( ( dvd_dvd_int @ C @ B )
         => ( A = B ) ) ) ) ).

% dvd_div_eq_cancel
thf(fact_1162_dvd__div__eq__iff,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( dvd_dvd_nat @ C @ A )
     => ( ( dvd_dvd_nat @ C @ B )
       => ( ( ( divide_divide_nat @ A @ C )
            = ( divide_divide_nat @ B @ C ) )
          = ( A = B ) ) ) ) ).

% dvd_div_eq_iff
thf(fact_1163_dvd__div__eq__iff,axiom,
    ! [C: int,A: int,B: int] :
      ( ( dvd_dvd_int @ C @ A )
     => ( ( dvd_dvd_int @ C @ B )
       => ( ( ( divide_divide_int @ A @ C )
            = ( divide_divide_int @ B @ C ) )
          = ( A = B ) ) ) ) ).

% dvd_div_eq_iff
thf(fact_1164_dvd__mod__imp__dvd,axiom,
    ! [C: nat,A: nat,B: nat] :
      ( ( dvd_dvd_nat @ C @ ( modulo_modulo_nat @ A @ B ) )
     => ( ( dvd_dvd_nat @ C @ B )
       => ( dvd_dvd_nat @ C @ A ) ) ) ).

% dvd_mod_imp_dvd
thf(fact_1165_dvd__mod__imp__dvd,axiom,
    ! [C: int,A: int,B: int] :
      ( ( dvd_dvd_int @ C @ ( modulo_modulo_int @ A @ B ) )
     => ( ( dvd_dvd_int @ C @ B )
       => ( dvd_dvd_int @ C @ A ) ) ) ).

% dvd_mod_imp_dvd
thf(fact_1166_dvd__mod__iff,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( dvd_dvd_nat @ C @ B )
     => ( ( dvd_dvd_nat @ C @ ( modulo_modulo_nat @ A @ B ) )
        = ( dvd_dvd_nat @ C @ A ) ) ) ).

% dvd_mod_iff
thf(fact_1167_dvd__mod__iff,axiom,
    ! [C: int,B: int,A: int] :
      ( ( dvd_dvd_int @ C @ B )
     => ( ( dvd_dvd_int @ C @ ( modulo_modulo_int @ A @ B ) )
        = ( dvd_dvd_int @ C @ A ) ) ) ).

% dvd_mod_iff
thf(fact_1168_divmod__def,axiom,
    ( unique5405566460079783412od_nat
    = ( ^ [M3: num,N3: num] : ( product_Pair_nat_nat @ ( divide_divide_nat @ ( numeral_numeral_nat @ M3 ) @ ( numeral_numeral_nat @ N3 ) ) @ ( modulo_modulo_nat @ ( numeral_numeral_nat @ M3 ) @ ( numeral_numeral_nat @ N3 ) ) ) ) ) ).

% divmod_def
thf(fact_1169_divmod__def,axiom,
    ( unique5403075989570733136od_int
    = ( ^ [M3: num,N3: num] : ( product_Pair_int_int @ ( divide_divide_int @ ( numeral_numeral_int @ M3 ) @ ( numeral_numeral_int @ N3 ) ) @ ( modulo_modulo_int @ ( numeral_numeral_int @ M3 ) @ ( numeral_numeral_int @ N3 ) ) ) ) ) ).

% divmod_def
thf(fact_1170_divmod_H__nat__def,axiom,
    ( unique5405566460079783412od_nat
    = ( ^ [M3: num,N3: num] : ( product_Pair_nat_nat @ ( divide_divide_nat @ ( numeral_numeral_nat @ M3 ) @ ( numeral_numeral_nat @ N3 ) ) @ ( modulo_modulo_nat @ ( numeral_numeral_nat @ M3 ) @ ( numeral_numeral_nat @ N3 ) ) ) ) ) ).

% divmod'_nat_def
thf(fact_1171_divmod__int__def,axiom,
    ( unique5403075989570733136od_int
    = ( ^ [M3: num,N3: num] : ( product_Pair_int_int @ ( divide_divide_int @ ( numeral_numeral_int @ M3 ) @ ( numeral_numeral_int @ N3 ) ) @ ( modulo_modulo_int @ ( numeral_numeral_int @ M3 ) @ ( numeral_numeral_int @ N3 ) ) ) ) ) ).

% divmod_int_def
thf(fact_1172_zdiv__mono__strict,axiom,
    ! [A3: int,B3: int,N: int] :
      ( ( ord_less_int @ A3 @ B3 )
     => ( ( ord_less_int @ zero_zero_int @ N )
       => ( ( ( modulo_modulo_int @ A3 @ N )
            = zero_zero_int )
         => ( ( ( modulo_modulo_int @ B3 @ N )
              = zero_zero_int )
           => ( ord_less_int @ ( divide_divide_int @ A3 @ N ) @ ( divide_divide_int @ B3 @ N ) ) ) ) ) ) ).

% zdiv_mono_strict
thf(fact_1173_div__less__mono,axiom,
    ! [A3: nat,B3: nat,N: nat] :
      ( ( ord_less_nat @ A3 @ B3 )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ( ( modulo_modulo_nat @ A3 @ N )
            = zero_zero_nat )
         => ( ( ( modulo_modulo_nat @ B3 @ N )
              = zero_zero_nat )
           => ( ord_less_nat @ ( divide_divide_nat @ A3 @ N ) @ ( divide_divide_nat @ B3 @ N ) ) ) ) ) ) ).

% div_less_mono
thf(fact_1174_dvd__minus__mod,axiom,
    ! [B: nat,A: nat] : ( dvd_dvd_nat @ B @ ( minus_minus_nat @ A @ ( modulo_modulo_nat @ A @ B ) ) ) ).

% dvd_minus_mod
thf(fact_1175_dvd__minus__mod,axiom,
    ! [B: int,A: int] : ( dvd_dvd_int @ B @ ( minus_minus_int @ A @ ( modulo_modulo_int @ A @ B ) ) ) ).

% dvd_minus_mod
thf(fact_1176_dvd__div__eq__0__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( dvd_dvd_nat @ B @ A )
     => ( ( ( divide_divide_nat @ A @ B )
          = zero_zero_nat )
        = ( A = zero_zero_nat ) ) ) ).

% dvd_div_eq_0_iff
thf(fact_1177_dvd__div__eq__0__iff,axiom,
    ! [B: int,A: int] :
      ( ( dvd_dvd_int @ B @ A )
     => ( ( ( divide_divide_int @ A @ B )
          = zero_zero_int )
        = ( A = zero_zero_int ) ) ) ).

% dvd_div_eq_0_iff
thf(fact_1178_gcd__nat__induct,axiom,
    ! [P: nat > nat > $o,M: nat,N: nat] :
      ( ! [M2: nat] : ( P @ M2 @ zero_zero_nat )
     => ( ! [M2: nat,N2: nat] :
            ( ( ord_less_nat @ zero_zero_nat @ N2 )
           => ( ( P @ N2 @ ( modulo_modulo_nat @ M2 @ N2 ) )
             => ( P @ M2 @ N2 ) ) )
       => ( P @ M @ N ) ) ) ).

% gcd_nat_induct
thf(fact_1179_dvd__div__unit__iff,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( dvd_dvd_nat @ B @ one_one_nat )
     => ( ( dvd_dvd_nat @ A @ ( divide_divide_nat @ C @ B ) )
        = ( dvd_dvd_nat @ A @ C ) ) ) ).

% dvd_div_unit_iff
thf(fact_1180_dvd__div__unit__iff,axiom,
    ! [B: int,A: int,C: int] :
      ( ( dvd_dvd_int @ B @ one_one_int )
     => ( ( dvd_dvd_int @ A @ ( divide_divide_int @ C @ B ) )
        = ( dvd_dvd_int @ A @ C ) ) ) ).

% dvd_div_unit_iff
thf(fact_1181_div__unit__dvd__iff,axiom,
    ! [B: nat,A: nat,C: nat] :
      ( ( dvd_dvd_nat @ B @ one_one_nat )
     => ( ( dvd_dvd_nat @ ( divide_divide_nat @ A @ B ) @ C )
        = ( dvd_dvd_nat @ A @ C ) ) ) ).

% div_unit_dvd_iff
thf(fact_1182_div__unit__dvd__iff,axiom,
    ! [B: int,A: int,C: int] :
      ( ( dvd_dvd_int @ B @ one_one_int )
     => ( ( dvd_dvd_int @ ( divide_divide_int @ A @ B ) @ C )
        = ( dvd_dvd_int @ A @ C ) ) ) ).

% div_unit_dvd_iff
thf(fact_1183_unit__div__cancel,axiom,
    ! [A: nat,B: nat,C: nat] :
      ( ( dvd_dvd_nat @ A @ one_one_nat )
     => ( ( ( divide_divide_nat @ B @ A )
          = ( divide_divide_nat @ C @ A ) )
        = ( B = C ) ) ) ).

% unit_div_cancel
thf(fact_1184_unit__div__cancel,axiom,
    ! [A: int,B: int,C: int] :
      ( ( dvd_dvd_int @ A @ one_one_int )
     => ( ( ( divide_divide_int @ B @ A )
          = ( divide_divide_int @ C @ A ) )
        = ( B = C ) ) ) ).

% unit_div_cancel
thf(fact_1185_div__power,axiom,
    ! [B: nat,A: nat,N: nat] :
      ( ( dvd_dvd_nat @ B @ A )
     => ( ( power_power_nat @ ( divide_divide_nat @ A @ B ) @ N )
        = ( divide_divide_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ B @ N ) ) ) ) ).

% div_power
thf(fact_1186_div__power,axiom,
    ! [B: int,A: int,N: nat] :
      ( ( dvd_dvd_int @ B @ A )
     => ( ( power_power_int @ ( divide_divide_int @ A @ B ) @ N )
        = ( divide_divide_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ B @ N ) ) ) ) ).

% div_power
thf(fact_1187_verit__le__mono__div,axiom,
    ! [A3: nat,B3: nat,N: nat] :
      ( ( ord_less_nat @ A3 @ B3 )
     => ( ( ord_less_nat @ zero_zero_nat @ N )
       => ( ord_less_eq_nat
          @ ( plus_plus_nat @ ( divide_divide_nat @ A3 @ N )
            @ ( if_nat
              @ ( ( modulo_modulo_nat @ B3 @ N )
                = zero_zero_nat )
              @ one_one_nat
              @ zero_zero_nat ) )
          @ ( divide_divide_nat @ B3 @ N ) ) ) ) ).

% verit_le_mono_div
thf(fact_1188_verit__le__mono__div__int,axiom,
    ! [A3: int,B3: int,N: int] :
      ( ( ord_less_int @ A3 @ B3 )
     => ( ( ord_less_int @ zero_zero_int @ N )
       => ( ord_less_eq_int
          @ ( plus_plus_int @ ( divide_divide_int @ A3 @ N )
            @ ( if_int
              @ ( ( modulo_modulo_int @ B3 @ N )
                = zero_zero_int )
              @ one_one_int
              @ zero_zero_int ) )
          @ ( divide_divide_int @ B3 @ N ) ) ) ) ).

% verit_le_mono_div_int
thf(fact_1189_pow_Osimps_I1_J,axiom,
    ! [X4: num] :
      ( ( pow @ X4 @ one )
      = X4 ) ).

% pow.simps(1)
thf(fact_1190_even__even__mod__4__iff,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
      = ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( modulo_modulo_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ ( bit0 @ one ) ) ) ) ) ) ).

% even_even_mod_4_iff
thf(fact_1191_mod2__gr__0,axiom,
    ! [M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( modulo_modulo_nat @ M @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
      = ( ( modulo_modulo_nat @ M @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = one_one_nat ) ) ).

% mod2_gr_0
thf(fact_1192_half__negative__int__iff,axiom,
    ! [K: int] :
      ( ( ord_less_int @ ( divide_divide_int @ K @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ zero_zero_int )
      = ( ord_less_int @ K @ zero_zero_int ) ) ).

% half_negative_int_iff
thf(fact_1193_mod__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( modulo_modulo_nat @ M @ N )
        = M ) ) ).

% mod_less
thf(fact_1194_zdiv__numeral__Bit0,axiom,
    ! [V: num,W: num] :
      ( ( divide_divide_int @ ( numeral_numeral_int @ ( bit0 @ V ) ) @ ( numeral_numeral_int @ ( bit0 @ W ) ) )
      = ( divide_divide_int @ ( numeral_numeral_int @ V ) @ ( numeral_numeral_int @ W ) ) ) ).

% zdiv_numeral_Bit0
thf(fact_1195_div__less,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( divide_divide_nat @ M @ N )
        = zero_zero_nat ) ) ).

% div_less
thf(fact_1196_zdiv__numeral__Bit1,axiom,
    ! [V: num,W: num] :
      ( ( divide_divide_int @ ( numeral_numeral_int @ ( bit1 @ V ) ) @ ( numeral_numeral_int @ ( bit0 @ W ) ) )
      = ( divide_divide_int @ ( numeral_numeral_int @ V ) @ ( numeral_numeral_int @ W ) ) ) ).

% zdiv_numeral_Bit1
thf(fact_1197_div__neg__neg__trivial,axiom,
    ! [K: int,L: int] :
      ( ( ord_less_eq_int @ K @ zero_zero_int )
     => ( ( ord_less_int @ L @ K )
       => ( ( divide_divide_int @ K @ L )
          = zero_zero_int ) ) ) ).

% div_neg_neg_trivial
thf(fact_1198_div__pos__pos__trivial,axiom,
    ! [K: int,L: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ( ( ord_less_int @ K @ L )
       => ( ( divide_divide_int @ K @ L )
          = zero_zero_int ) ) ) ).

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

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

% mod_pos_pos_trivial
thf(fact_1201_add__self__div__2,axiom,
    ! [M: nat] :
      ( ( divide_divide_nat @ ( plus_plus_nat @ M @ M ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = M ) ).

% add_self_div_2
thf(fact_1202_add__self__mod__2,axiom,
    ! [M: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ M @ M ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = zero_zero_nat ) ).

% add_self_mod_2
thf(fact_1203_half__nonnegative__int__iff,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( divide_divide_int @ K @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
      = ( ord_less_eq_int @ zero_zero_int @ K ) ) ).

% half_nonnegative_int_iff
thf(fact_1204_mod__less__eq__dividend,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( modulo_modulo_nat @ M @ N ) @ M ) ).

% mod_less_eq_dividend
thf(fact_1205_div__le__dividend,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( divide_divide_nat @ M @ N ) @ M ) ).

% div_le_dividend
thf(fact_1206_div__le__mono,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ ( divide_divide_nat @ M @ K ) @ ( divide_divide_nat @ N @ K ) ) ) ).

% div_le_mono
thf(fact_1207_zdiv__int,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( divide_divide_nat @ M @ N ) )
      = ( divide_divide_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% zdiv_int
thf(fact_1208_zmod__int,axiom,
    ! [M: nat,N: nat] :
      ( ( semiri1314217659103216013at_int @ ( modulo_modulo_nat @ M @ N ) )
      = ( modulo_modulo_int @ ( semiri1314217659103216013at_int @ M ) @ ( semiri1314217659103216013at_int @ N ) ) ) ).

% zmod_int
thf(fact_1209_Euclidean__Division_Odiv__eq__0__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( divide_divide_nat @ M @ N )
        = zero_zero_nat )
      = ( ( ord_less_nat @ M @ N )
        | ( N = zero_zero_nat ) ) ) ).

% Euclidean_Division.div_eq_0_iff
thf(fact_1210_mod__less__divisor,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( modulo_modulo_nat @ M @ N ) @ N ) ) ).

% mod_less_divisor
thf(fact_1211_mod__if,axiom,
    ( modulo_modulo_nat
    = ( ^ [M3: nat,N3: nat] : ( if_nat @ ( ord_less_nat @ M3 @ N3 ) @ M3 @ ( modulo_modulo_nat @ ( minus_minus_nat @ M3 @ N3 ) @ N3 ) ) ) ) ).

% mod_if
thf(fact_1212_le__mod__geq,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( modulo_modulo_nat @ M @ N )
        = ( modulo_modulo_nat @ ( minus_minus_nat @ M @ N ) @ N ) ) ) ).

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

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

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

% neg_mod_bound
thf(fact_1216_pos__imp__zdiv__neg__iff,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ zero_zero_int @ B )
     => ( ( ord_less_int @ ( divide_divide_int @ A @ B ) @ zero_zero_int )
        = ( ord_less_int @ A @ zero_zero_int ) ) ) ).

% pos_imp_zdiv_neg_iff
thf(fact_1217_neg__imp__zdiv__neg__iff,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ zero_zero_int )
     => ( ( ord_less_int @ ( divide_divide_int @ A @ B ) @ zero_zero_int )
        = ( ord_less_int @ zero_zero_int @ A ) ) ) ).

% neg_imp_zdiv_neg_iff
thf(fact_1218_div__neg__pos__less0,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ zero_zero_int )
     => ( ( ord_less_int @ zero_zero_int @ B )
       => ( ord_less_int @ ( divide_divide_int @ A @ B ) @ zero_zero_int ) ) ) ).

% div_neg_pos_less0
thf(fact_1219_div__greater__zero__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( divide_divide_nat @ M @ N ) )
      = ( ( ord_less_eq_nat @ N @ M )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% div_greater_zero_iff
thf(fact_1220_div__le__mono2,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ( ( ord_less_eq_nat @ M @ N )
       => ( ord_less_eq_nat @ ( divide_divide_nat @ K @ N ) @ ( divide_divide_nat @ K @ M ) ) ) ) ).

% div_le_mono2
thf(fact_1221_mod__le__divisor,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_eq_nat @ ( modulo_modulo_nat @ M @ N ) @ N ) ) ).

% mod_le_divisor
thf(fact_1222_div__less__dividend,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ one_one_nat @ N )
     => ( ( ord_less_nat @ zero_zero_nat @ M )
       => ( ord_less_nat @ ( divide_divide_nat @ M @ N ) @ M ) ) ) ).

% div_less_dividend
thf(fact_1223_div__eq__dividend__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ( ( ( divide_divide_nat @ M @ N )
          = M )
        = ( N = one_one_nat ) ) ) ).

% div_eq_dividend_iff
thf(fact_1224_mod__greater__zero__iff__not__dvd,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( modulo_modulo_nat @ M @ N ) )
      = ( ~ ( dvd_dvd_nat @ N @ M ) ) ) ).

% mod_greater_zero_iff_not_dvd
thf(fact_1225_mod__eq__dvd__iff__nat,axiom,
    ! [N: nat,M: nat,Q3: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( ( modulo_modulo_nat @ M @ Q3 )
          = ( modulo_modulo_nat @ N @ Q3 ) )
        = ( dvd_dvd_nat @ Q3 @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% mod_eq_dvd_iff_nat
thf(fact_1226_int__div__less__self,axiom,
    ! [X4: int,K: int] :
      ( ( ord_less_int @ zero_zero_int @ X4 )
     => ( ( ord_less_int @ one_one_int @ K )
       => ( ord_less_int @ ( divide_divide_int @ X4 @ K ) @ X4 ) ) ) ).

% int_div_less_self
thf(fact_1227_zdiv__mono1,axiom,
    ! [A: int,A2: int,B: int] :
      ( ( ord_less_eq_int @ A @ A2 )
     => ( ( ord_less_int @ zero_zero_int @ B )
       => ( ord_less_eq_int @ ( divide_divide_int @ A @ B ) @ ( divide_divide_int @ A2 @ B ) ) ) ) ).

% zdiv_mono1
thf(fact_1228_zdiv__mono2,axiom,
    ! [A: int,B2: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ zero_zero_int @ B2 )
       => ( ( ord_less_eq_int @ B2 @ B )
         => ( ord_less_eq_int @ ( divide_divide_int @ A @ B ) @ ( divide_divide_int @ A @ B2 ) ) ) ) ) ).

% zdiv_mono2
thf(fact_1229_zdiv__eq__0__iff,axiom,
    ! [I: int,K: int] :
      ( ( ( divide_divide_int @ I @ K )
        = zero_zero_int )
      = ( ( K = zero_zero_int )
        | ( ( ord_less_eq_int @ zero_zero_int @ I )
          & ( ord_less_int @ I @ K ) )
        | ( ( ord_less_eq_int @ I @ zero_zero_int )
          & ( ord_less_int @ K @ I ) ) ) ) ).

% zdiv_eq_0_iff
thf(fact_1230_zdiv__mono1__neg,axiom,
    ! [A: int,A2: int,B: int] :
      ( ( ord_less_eq_int @ A @ A2 )
     => ( ( ord_less_int @ B @ zero_zero_int )
       => ( ord_less_eq_int @ ( divide_divide_int @ A2 @ B ) @ ( divide_divide_int @ A @ B ) ) ) ) ).

% zdiv_mono1_neg
thf(fact_1231_zdiv__mono2__neg,axiom,
    ! [A: int,B2: int,B: int] :
      ( ( ord_less_int @ A @ zero_zero_int )
     => ( ( ord_less_int @ zero_zero_int @ B2 )
       => ( ( ord_less_eq_int @ B2 @ B )
         => ( ord_less_eq_int @ ( divide_divide_int @ A @ B2 ) @ ( divide_divide_int @ A @ B ) ) ) ) ) ).

% zdiv_mono2_neg
thf(fact_1232_div__int__pos__iff,axiom,
    ! [K: int,L: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( divide_divide_int @ K @ L ) )
      = ( ( K = zero_zero_int )
        | ( L = zero_zero_int )
        | ( ( ord_less_eq_int @ zero_zero_int @ K )
          & ( ord_less_eq_int @ zero_zero_int @ L ) )
        | ( ( ord_less_int @ K @ zero_zero_int )
          & ( ord_less_int @ L @ zero_zero_int ) ) ) ) ).

% div_int_pos_iff
thf(fact_1233_div__nonneg__neg__le0,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ B @ zero_zero_int )
       => ( ord_less_eq_int @ ( divide_divide_int @ A @ B ) @ zero_zero_int ) ) ) ).

% div_nonneg_neg_le0
thf(fact_1234_div__nonpos__pos__le0,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ A @ zero_zero_int )
     => ( ( ord_less_int @ zero_zero_int @ B )
       => ( ord_less_eq_int @ ( divide_divide_int @ A @ B ) @ zero_zero_int ) ) ) ).

% div_nonpos_pos_le0
thf(fact_1235_pos__imp__zdiv__pos__iff,axiom,
    ! [K: int,I: int] :
      ( ( ord_less_int @ zero_zero_int @ K )
     => ( ( ord_less_int @ zero_zero_int @ ( divide_divide_int @ I @ K ) )
        = ( ord_less_eq_int @ K @ I ) ) ) ).

% pos_imp_zdiv_pos_iff
thf(fact_1236_neg__imp__zdiv__nonneg__iff,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ B @ zero_zero_int )
     => ( ( ord_less_eq_int @ zero_zero_int @ ( divide_divide_int @ A @ B ) )
        = ( ord_less_eq_int @ A @ zero_zero_int ) ) ) ).

% neg_imp_zdiv_nonneg_iff
thf(fact_1237_pos__imp__zdiv__nonneg__iff,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ zero_zero_int @ B )
     => ( ( ord_less_eq_int @ zero_zero_int @ ( divide_divide_int @ A @ B ) )
        = ( ord_less_eq_int @ zero_zero_int @ A ) ) ) ).

% pos_imp_zdiv_nonneg_iff
thf(fact_1238_nonneg1__imp__zdiv__pos__iff,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ zero_zero_int @ ( divide_divide_int @ A @ B ) )
        = ( ( ord_less_eq_int @ B @ A )
          & ( ord_less_int @ zero_zero_int @ B ) ) ) ) ).

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

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

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

% zmod_trivial_iff
thf(fact_1242_mod__nat__eqI,axiom,
    ! [R: nat,N: nat,M: nat] :
      ( ( ord_less_nat @ R @ N )
     => ( ( ord_less_eq_nat @ R @ M )
       => ( ( dvd_dvd_nat @ N @ ( minus_minus_nat @ M @ R ) )
         => ( ( modulo_modulo_nat @ M @ N )
            = R ) ) ) ) ).

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

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

% mod_pos_geq
thf(fact_1245_mod__int__pos__iff,axiom,
    ! [K: int,L: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( modulo_modulo_int @ K @ L ) )
      = ( ( dvd_dvd_int @ L @ K )
        | ( ( L = zero_zero_int )
          & ( ord_less_eq_int @ zero_zero_int @ K ) )
        | ( ord_less_int @ zero_zero_int @ L ) ) ) ).

% mod_int_pos_iff
thf(fact_1246_div__pos__geq,axiom,
    ! [L: int,K: int] :
      ( ( ord_less_int @ zero_zero_int @ L )
     => ( ( ord_less_eq_int @ L @ K )
       => ( ( divide_divide_int @ K @ L )
          = ( plus_plus_int @ ( divide_divide_int @ ( minus_minus_int @ K @ L ) @ L ) @ one_one_int ) ) ) ) ).

% div_pos_geq
thf(fact_1247_divmod__BitM__2__eq,axiom,
    ! [M: num] :
      ( ( unique5403075989570733136od_int @ ( bitM @ M ) @ ( bit0 @ one ) )
      = ( product_Pair_int_int @ ( minus_minus_int @ ( numeral_numeral_int @ M ) @ one_one_int ) @ one_one_int ) ) ).

% divmod_BitM_2_eq
thf(fact_1248_semiring__norm_I13_J,axiom,
    ! [M: num,N: num] :
      ( ( times_times_num @ ( bit0 @ M ) @ ( bit0 @ N ) )
      = ( bit0 @ ( bit0 @ ( times_times_num @ M @ N ) ) ) ) ).

% semiring_norm(13)
thf(fact_1249_semiring__norm_I11_J,axiom,
    ! [M: num] :
      ( ( times_times_num @ M @ one )
      = M ) ).

% semiring_norm(11)
thf(fact_1250_semiring__norm_I12_J,axiom,
    ! [N: num] :
      ( ( times_times_num @ one @ N )
      = N ) ).

% semiring_norm(12)
thf(fact_1251_mult__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ( times_times_nat @ M @ K )
        = ( times_times_nat @ N @ K ) )
      = ( ( M = N )
        | ( K = zero_zero_nat ) ) ) ).

% mult_cancel2
thf(fact_1252_mult__cancel1,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ( times_times_nat @ K @ M )
        = ( times_times_nat @ K @ N ) )
      = ( ( M = N )
        | ( K = zero_zero_nat ) ) ) ).

% mult_cancel1
thf(fact_1253_mult__0__right,axiom,
    ! [M: nat] :
      ( ( times_times_nat @ M @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_0_right
thf(fact_1254_mult__is__0,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = zero_zero_nat )
      = ( ( M = zero_zero_nat )
        | ( N = zero_zero_nat ) ) ) ).

% mult_is_0
thf(fact_1255_nat__mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = one_one_nat )
      = ( ( M = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_mult_eq_1_iff
thf(fact_1256_nat__1__eq__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( one_one_nat
        = ( times_times_nat @ M @ N ) )
      = ( ( M = one_one_nat )
        & ( N = one_one_nat ) ) ) ).

% nat_1_eq_mult_iff
thf(fact_1257_num__double,axiom,
    ! [N: num] :
      ( ( times_times_num @ ( bit0 @ one ) @ N )
      = ( bit0 @ N ) ) ).

% num_double
thf(fact_1258_mult__less__cancel2,axiom,
    ! [M: nat,K: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ M @ K ) @ ( times_times_nat @ N @ K ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
        & ( ord_less_nat @ M @ N ) ) ) ).

% mult_less_cancel2
thf(fact_1259_nat__0__less__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ ( times_times_nat @ M @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ M )
        & ( ord_less_nat @ zero_zero_nat @ N ) ) ) ).

% nat_0_less_mult_iff
thf(fact_1260_nat__mult__less__cancel__disj,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( ord_less_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
      = ( ( ord_less_nat @ zero_zero_nat @ K )
        & ( ord_less_nat @ M @ N ) ) ) ).

% nat_mult_less_cancel_disj
thf(fact_1261_semiring__norm_I14_J,axiom,
    ! [M: num,N: num] :
      ( ( times_times_num @ ( bit0 @ M ) @ ( bit1 @ N ) )
      = ( bit0 @ ( times_times_num @ M @ ( bit1 @ N ) ) ) ) ).

% semiring_norm(14)
thf(fact_1262_semiring__norm_I15_J,axiom,
    ! [M: num,N: num] :
      ( ( times_times_num @ ( bit1 @ M ) @ ( bit0 @ N ) )
      = ( bit0 @ ( times_times_num @ ( bit1 @ M ) @ N ) ) ) ).

% semiring_norm(15)
thf(fact_1263_nat__mult__dvd__cancel__disj,axiom,
    ! [K: nat,M: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( times_times_nat @ K @ M ) @ ( times_times_nat @ K @ N ) )
      = ( ( K = zero_zero_nat )
        | ( dvd_dvd_nat @ M @ N ) ) ) ).

% nat_mult_dvd_cancel_disj

% Helper facts (9)
thf(help_If_2_1_If_001t__Int__Oint_T,axiom,
    ! [X4: int,Y4: int] :
      ( ( if_int @ $false @ X4 @ Y4 )
      = Y4 ) ).

thf(help_If_1_1_If_001t__Int__Oint_T,axiom,
    ! [X4: int,Y4: int] :
      ( ( if_int @ $true @ X4 @ Y4 )
      = X4 ) ).

thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( if_nat @ $false @ X4 @ Y4 )
      = Y4 ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X4: nat,Y4: nat] :
      ( ( if_nat @ $true @ X4 @ Y4 )
      = X4 ) ).

thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_T,axiom,
    ! [X4: product_prod_int_int,Y4: product_prod_int_int] :
      ( ( if_Pro3027730157355071871nt_int @ $false @ X4 @ Y4 )
      = Y4 ) ).

thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_T,axiom,
    ! [X4: product_prod_int_int,Y4: product_prod_int_int] :
      ( ( if_Pro3027730157355071871nt_int @ $true @ X4 @ Y4 )
      = X4 ) ).

thf(help_If_3_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X4: product_prod_nat_nat,Y4: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $false @ X4 @ Y4 )
      = Y4 ) ).

thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X4: product_prod_nat_nat,Y4: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $true @ X4 @ Y4 )
      = X4 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ? [Ps3: list_P5707943133018811711nt_int] :
      ( ( knights_path @ ( board @ na @ ma ) @ Ps3 )
      & ( ( hd_Pro282112905867057956nt_int @ Ps3 )
        = ( product_Pair_int_int @ ( semiri1314217659103216013at_int @ na ) @ one_one_int ) )
      & ( ( last_P3305686521732843992nt_int @ Ps3 )
        = ( product_Pair_int_int @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ na ) @ one_one_int ) @ ( minus_minus_int @ ( semiri1314217659103216013at_int @ ma ) @ one_one_int ) ) ) ) ).

%------------------------------------------------------------------------------