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

% Status   : Theorem
% Rating   : ? v8.2.0
% Syntax   : Number of formulae    : 1318 ( 780 unt;  84 typ;   0 def)
%            Number of atoms       : 2729 (1315 equ;   0 cnn)
%            Maximal formula atoms :   16 (   2 avg)
%            Number of connectives : 9149 ( 308   ~;  70   |; 111   &;7922   @)
%                                         (   0 <=>; 738  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   16 (   5 avg)
%            Number of types       :   14 (  13 usr)
%            Number of type conns  :  181 ( 181   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   74 (  71 usr;  16 con; 0-3 aty)
%            Number of variables   : 2446 (  55   ^;2343   !;  48   ?;2446   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2023-01-19 09:00:17.801
%------------------------------------------------------------------------------
% 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__Product____Type__Oprod_It__Nat__Onat_Mt__Set__Oset_It__Int__Oint_J_J,type,
    produc9133624956312949779et_int: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__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__Set__Oset_It__Int__Oint_J,type,
    set_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 (71)
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__Int__Oint,type,
    times_times_int: int > int > int ).

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_Ouminus__class_Ouminus_001t__Int__Oint,type,
    uminus_uminus_int: int > int ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Int__Oint,type,
    zero_zero_int: int ).

thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

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

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

thf(sy_c_KnightsTour_Ostep__checker,type,
    step_checker: product_prod_int_int > product_prod_int_int > $o ).

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

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

thf(sy_c_Num_OBitM,type,
    bitM: num > num ).

thf(sy_c_Num_Oinc,type,
    inc: 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__dec_001t__Int__Oint,type,
    neg_nu3811975205180677377ec_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_Oneg__numeral__class_Osub_001t__Int__Oint,type,
    neg_numeral_sub_int: num > num > 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_Onum_Osize__num,type,
    size_num: num > nat ).

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

thf(sy_c_Num_Osqr,type,
    sqr: 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_Parity_Oadjust__div,type,
    adjust_div: product_prod_int_int > int ).

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__Nat__Onat_001t__Set__Oset_It__Int__Oint_J,type,
    produc29655638201817675et_int: nat > set_int > produc9133624956312949779et_int ).

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_v_i_092_060_094sub_062i____,type,
    i_i: int ).

thf(sy_v_i_092_060_094sub_062j____,type,
    i_j: int ).

thf(sy_v_i_092_060_094sub_062k____,type,
    i_k: int ).

thf(sy_v_j_092_060_094sub_062i____,type,
    j_i: int ).

thf(sy_v_j_092_060_094sub_062j____,type,
    j_j: int ).

thf(sy_v_j_092_060_094sub_062k____,type,
    j_k: int ).

thf(sy_v_s_092_060_094sub_062i,type,
    s_i: product_prod_int_int ).

thf(sy_v_s_092_060_094sub_062j,type,
    s_j: product_prod_int_int ).

thf(sy_v_s_092_060_094sub_062k,type,
    s_k: product_prod_int_int ).

% Relevant facts (1224)
thf(fact_0_one__add__one,axiom,
    ( ( plus_plus_int @ one_one_int @ one_one_int )
    = ( numeral_numeral_int @ ( bit0 @ one ) ) ) ).

% one_add_one
thf(fact_1_one__add__one,axiom,
    ( ( plus_plus_nat @ one_one_nat @ one_one_nat )
    = ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ).

% one_add_one
thf(fact_2_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_3_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_4_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_5_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_6_numeral__eq__one__iff,axiom,
    ! [N: num] :
      ( ( ( numeral_numeral_int @ N )
        = one_one_int )
      = ( N = one ) ) ).

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

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

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

% one_eq_numeral_iff
thf(fact_10_semiring__norm_I85_J,axiom,
    ! [M: num] :
      ( ( bit0 @ M )
     != one ) ).

% semiring_norm(85)
thf(fact_11_semiring__norm_I83_J,axiom,
    ! [N: num] :
      ( one
     != ( bit0 @ N ) ) ).

% semiring_norm(83)
thf(fact_12_add__diff__cancel,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ ( plus_plus_int @ A @ B ) @ B )
      = A ) ).

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

% diff_add_cancel
thf(fact_14_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_15_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_16_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_17_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_18_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_19_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_20_numeral__eq__iff,axiom,
    ! [M: num,N: num] :
      ( ( ( numeral_numeral_int @ M )
        = ( numeral_numeral_int @ N ) )
      = ( M = N ) ) ).

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

% numeral_eq_iff
thf(fact_22_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_23_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_24_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_25_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_26_semiring__norm_I87_J,axiom,
    ! [M: num,N: num] :
      ( ( ( bit0 @ M )
        = ( bit0 @ N ) )
      = ( M = N ) ) ).

% semiring_norm(87)
thf(fact_27_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_28_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_29_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_30_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_31_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_32_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_33_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_34_semiring__norm_I2_J,axiom,
    ( ( plus_plus_num @ one @ one )
    = ( bit0 @ one ) ) ).

% semiring_norm(2)
thf(fact_35_numerals_I1_J,axiom,
    ( ( numeral_numeral_nat @ one )
    = one_one_nat ) ).

% numerals(1)
thf(fact_36_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_37_add__One__commute,axiom,
    ! [N: num] :
      ( ( plus_plus_num @ one @ N )
      = ( plus_plus_num @ N @ one ) ) ).

% add_One_commute
thf(fact_38_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_39_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_40_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_41_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_42_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_43_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_44_add_Ocommute,axiom,
    ( plus_plus_int
    = ( ^ [A2: int,B2: int] : ( plus_plus_int @ B2 @ A2 ) ) ) ).

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

% add.commute
thf(fact_46_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_47_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_48_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_49_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_50_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_51_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_52_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_53_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_54_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_55_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_56_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_57_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_58_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_59_one__reorient,axiom,
    ! [X: int] :
      ( ( one_one_int = X )
      = ( X = one_one_int ) ) ).

% one_reorient
thf(fact_60_one__reorient,axiom,
    ! [X: nat] :
      ( ( one_one_nat = X )
      = ( X = one_one_nat ) ) ).

% one_reorient
thf(fact_61_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_62_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_63_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_64_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_65_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_66_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_67_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_68_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_69_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_70_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_71_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_72_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_73_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_74_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_75_one__plus__numeral__commute,axiom,
    ! [X: num] :
      ( ( plus_plus_int @ one_one_int @ ( numeral_numeral_int @ X ) )
      = ( plus_plus_int @ ( numeral_numeral_int @ X ) @ one_one_int ) ) ).

% one_plus_numeral_commute
thf(fact_76_one__plus__numeral__commute,axiom,
    ! [X: num] :
      ( ( plus_plus_nat @ one_one_nat @ ( numeral_numeral_nat @ X ) )
      = ( plus_plus_nat @ ( numeral_numeral_nat @ X ) @ one_one_nat ) ) ).

% one_plus_numeral_commute
thf(fact_77_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_78_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_79_numeral__One,axiom,
    ( ( numeral_numeral_int @ one )
    = one_one_int ) ).

% numeral_One
thf(fact_80_numeral__One,axiom,
    ( ( numeral_numeral_nat @ one )
    = one_one_nat ) ).

% numeral_One
thf(fact_81__092_060open_062step__checker_A_Ii_092_060_094sub_062j_M_Aj_092_060_094sub_062j_J_A_Ii_092_060_094sub_062k_M_Aj_092_060_094sub_062k_J_092_060close_062,axiom,
    step_checker @ ( product_Pair_int_int @ i_j @ j_j ) @ ( product_Pair_int_int @ i_k @ j_k ) ).

% \<open>step_checker (i\<^sub>j, j\<^sub>j) (i\<^sub>k, j\<^sub>k)\<close>
thf(fact_82__092_060open_062step__checker_A_Ii_092_060_094sub_062i_M_Aj_092_060_094sub_062i_J_A_Ii_092_060_094sub_062j_M_Aj_092_060_094sub_062j_J_092_060close_062,axiom,
    step_checker @ ( product_Pair_int_int @ i_i @ j_i ) @ ( product_Pair_int_int @ i_j @ j_j ) ).

% \<open>step_checker (i\<^sub>i, j\<^sub>i) (i\<^sub>j, j\<^sub>j)\<close>
thf(fact_83_dbl__simps_I3_J,axiom,
    ( ( neg_numeral_dbl_int @ one_one_int )
    = ( numeral_numeral_int @ ( bit0 @ one ) ) ) ).

% dbl_simps(3)
thf(fact_84_verit__eq__simplify_I8_J,axiom,
    ! [X2: num,Y2: num] :
      ( ( ( bit0 @ X2 )
        = ( bit0 @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% verit_eq_simplify(8)
thf(fact_85_verit__eq__simplify_I10_J,axiom,
    ! [X2: num] :
      ( one
     != ( bit0 @ X2 ) ) ).

% verit_eq_simplify(10)
thf(fact_86_diff__numeral__special_I3_J,axiom,
    ! [N: num] :
      ( ( minus_minus_int @ one_one_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( numeral_numeral_int @ ( plus_plus_num @ one @ N ) ) ) ).

% diff_numeral_special(3)
thf(fact_87_diff__numeral__special_I4_J,axiom,
    ! [M: num] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ one_one_int )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ ( plus_plus_num @ M @ one ) ) ) ) ).

% diff_numeral_special(4)
thf(fact_88_dbl__dec__def,axiom,
    ( neg_nu3811975205180677377ec_int
    = ( ^ [X3: int] : ( minus_minus_int @ ( plus_plus_int @ X3 @ X3 ) @ one_one_int ) ) ) ).

% dbl_dec_def
thf(fact_89_diff__numeral__special_I10_J,axiom,
    ( ( minus_minus_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int )
    = ( uminus_uminus_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ).

% diff_numeral_special(10)
thf(fact_90_diff__numeral__special_I11_J,axiom,
    ( ( minus_minus_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) )
    = ( numeral_numeral_int @ ( bit0 @ one ) ) ) ).

% diff_numeral_special(11)
thf(fact_91_add__neg__numeral__special_I9_J,axiom,
    ( ( plus_plus_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ one_one_int ) )
    = ( uminus_uminus_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ).

% add_neg_numeral_special(9)
thf(fact_92_add_Oinverse__inverse,axiom,
    ! [A: int] :
      ( ( uminus_uminus_int @ ( uminus_uminus_int @ A ) )
      = A ) ).

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

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

% verit_minus_simplify(4)
thf(fact_95_neg__numeral__eq__iff,axiom,
    ! [M: num,N: num] :
      ( ( ( uminus_uminus_int @ ( numeral_numeral_int @ M ) )
        = ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( M = N ) ) ).

% neg_numeral_eq_iff
thf(fact_96_add__minus__cancel,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ A @ ( plus_plus_int @ ( uminus_uminus_int @ A ) @ B ) )
      = B ) ).

% add_minus_cancel
thf(fact_97_minus__add__cancel,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ ( plus_plus_int @ A @ B ) )
      = B ) ).

% minus_add_cancel
thf(fact_98_minus__add__distrib,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A @ B ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ A ) @ ( uminus_uminus_int @ B ) ) ) ).

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

% minus_diff_eq
thf(fact_100_dbl__dec__simps_I3_J,axiom,
    ( ( neg_nu3811975205180677377ec_int @ one_one_int )
    = one_one_int ) ).

% dbl_dec_simps(3)
thf(fact_101_add__neg__numeral__simps_I3_J,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( uminus_uminus_int @ ( plus_plus_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ N ) ) ) ) ).

% add_neg_numeral_simps(3)
thf(fact_102_diff__minus__eq__add,axiom,
    ! [A: int,B: int] :
      ( ( minus_minus_int @ A @ ( uminus_uminus_int @ B ) )
      = ( plus_plus_int @ A @ B ) ) ).

% diff_minus_eq_add
thf(fact_103_uminus__add__conv__diff,axiom,
    ! [A: int,B: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ B )
      = ( minus_minus_int @ B @ A ) ) ).

% uminus_add_conv_diff
thf(fact_104_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_105_dbl__simps_I1_J,axiom,
    ! [K: num] :
      ( ( neg_numeral_dbl_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ K ) ) )
      = ( uminus_uminus_int @ ( neg_numeral_dbl_int @ ( numeral_numeral_int @ K ) ) ) ) ).

% dbl_simps(1)
thf(fact_106_neg__one__eq__numeral__iff,axiom,
    ! [N: num] :
      ( ( ( uminus_uminus_int @ one_one_int )
        = ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( N = one ) ) ).

% neg_one_eq_numeral_iff
thf(fact_107_numeral__eq__neg__one__iff,axiom,
    ! [N: num] :
      ( ( ( uminus_uminus_int @ ( numeral_numeral_int @ N ) )
        = ( uminus_uminus_int @ one_one_int ) )
      = ( N = one ) ) ).

% numeral_eq_neg_one_iff
thf(fact_108_semiring__norm_I167_J,axiom,
    ! [V: num,W: num,Y: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ V ) ) @ ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ W ) ) @ Y ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ ( plus_plus_num @ V @ W ) ) ) @ Y ) ) ).

% semiring_norm(167)
thf(fact_109_diff__numeral__simps_I3_J,axiom,
    ! [M: num,N: num] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( numeral_numeral_int @ N ) )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ ( plus_plus_num @ M @ N ) ) ) ) ).

% diff_numeral_simps(3)
thf(fact_110_diff__numeral__simps_I2_J,axiom,
    ! [M: num,N: num] :
      ( ( minus_minus_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( numeral_numeral_int @ ( plus_plus_num @ M @ N ) ) ) ).

% diff_numeral_simps(2)
thf(fact_111_dbl__simps_I4_J,axiom,
    ( ( neg_numeral_dbl_int @ ( uminus_uminus_int @ one_one_int ) )
    = ( uminus_uminus_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ).

% dbl_simps(4)
thf(fact_112_equation__minus__iff,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( uminus_uminus_int @ B ) )
      = ( B
        = ( uminus_uminus_int @ A ) ) ) ).

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

% minus_equation_iff
thf(fact_114_step__checker__rev,axiom,
    ! [I: int,J: int,I2: int,J2: int] :
      ( ( step_checker @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I2 @ J2 ) )
     => ( step_checker @ ( product_Pair_int_int @ I2 @ J2 ) @ ( product_Pair_int_int @ I @ J ) ) ) ).

% step_checker_rev
thf(fact_115_verit__negate__coefficient_I3_J,axiom,
    ! [A: int,B: int] :
      ( ( A = B )
     => ( ( uminus_uminus_int @ A )
        = ( uminus_uminus_int @ B ) ) ) ).

% verit_negate_coefficient(3)
thf(fact_116_neg__numeral__neq__numeral,axiom,
    ! [M: num,N: num] :
      ( ( uminus_uminus_int @ ( numeral_numeral_int @ M ) )
     != ( numeral_numeral_int @ N ) ) ).

% neg_numeral_neq_numeral
thf(fact_117_numeral__neq__neg__numeral,axiom,
    ! [M: num,N: num] :
      ( ( numeral_numeral_int @ M )
     != ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) ) ).

% numeral_neq_neg_numeral
thf(fact_118_is__num__normalize_I8_J,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A @ B ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% is_num_normalize(8)
thf(fact_119_group__cancel_Oneg1,axiom,
    ! [A3: int,K: int,A: int] :
      ( ( A3
        = ( plus_plus_int @ K @ A ) )
     => ( ( uminus_uminus_int @ A3 )
        = ( plus_plus_int @ ( uminus_uminus_int @ K ) @ ( uminus_uminus_int @ A ) ) ) ) ).

% group_cancel.neg1
thf(fact_120_add_Oinverse__distrib__swap,axiom,
    ! [A: int,B: int] :
      ( ( uminus_uminus_int @ ( plus_plus_int @ A @ B ) )
      = ( plus_plus_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% add.inverse_distrib_swap
thf(fact_121_one__neq__neg__one,axiom,
    ( one_one_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

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

% minus_diff_commute
thf(fact_123_numeral__neq__neg__one,axiom,
    ! [N: num] :
      ( ( numeral_numeral_int @ N )
     != ( uminus_uminus_int @ one_one_int ) ) ).

% numeral_neq_neg_one
thf(fact_124_one__neq__neg__numeral,axiom,
    ! [N: num] :
      ( one_one_int
     != ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) ) ).

% one_neq_neg_numeral
thf(fact_125_group__cancel_Osub2,axiom,
    ! [B3: int,K: int,B: int,A: int] :
      ( ( B3
        = ( plus_plus_int @ K @ B ) )
     => ( ( minus_minus_int @ A @ B3 )
        = ( plus_plus_int @ ( uminus_uminus_int @ K ) @ ( minus_minus_int @ A @ B ) ) ) ) ).

% group_cancel.sub2
thf(fact_126_diff__conv__add__uminus,axiom,
    ( minus_minus_int
    = ( ^ [A2: int,B2: int] : ( plus_plus_int @ A2 @ ( uminus_uminus_int @ B2 ) ) ) ) ).

% diff_conv_add_uminus
thf(fact_127_ab__group__add__class_Oab__diff__conv__add__uminus,axiom,
    ( minus_minus_int
    = ( ^ [A2: int,B2: int] : ( plus_plus_int @ A2 @ ( uminus_uminus_int @ B2 ) ) ) ) ).

% ab_group_add_class.ab_diff_conv_add_uminus
thf(fact_128_dbl__def,axiom,
    ( neg_numeral_dbl_int
    = ( ^ [X3: int] : ( plus_plus_int @ X3 @ X3 ) ) ) ).

% dbl_def
thf(fact_129_uminus__numeral__One,axiom,
    ( ( uminus_uminus_int @ ( numeral_numeral_int @ one ) )
    = ( uminus_uminus_int @ one_one_int ) ) ).

% uminus_numeral_One
thf(fact_130_step__checker_Osimps,axiom,
    ! [I: int,J: int,I2: int,J2: int] :
      ( ( step_checker @ ( product_Pair_int_int @ I @ J ) @ ( product_Pair_int_int @ I2 @ J2 ) )
      = ( ( ( product_Pair_int_int @ ( plus_plus_int @ I @ one_one_int ) @ ( plus_plus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I2 @ J2 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ one_one_int ) @ ( plus_plus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I2 @ J2 ) )
        | ( ( product_Pair_int_int @ ( plus_plus_int @ I @ one_one_int ) @ ( minus_minus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I2 @ J2 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ one_one_int ) @ ( minus_minus_int @ J @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) )
          = ( product_Pair_int_int @ I2 @ J2 ) )
        | ( ( product_Pair_int_int @ ( plus_plus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( plus_plus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I2 @ J2 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( plus_plus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I2 @ J2 ) )
        | ( ( product_Pair_int_int @ ( plus_plus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( minus_minus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I2 @ J2 ) )
        | ( ( product_Pair_int_int @ ( minus_minus_int @ I @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) @ ( minus_minus_int @ J @ one_one_int ) )
          = ( product_Pair_int_int @ I2 @ J2 ) ) ) ) ).

% step_checker.simps
thf(fact_131__092_060open_062s_092_060_094sub_062i_A_061_A_Ii_092_060_094sub_062i_M_Aj_092_060_094sub_062i_J_092_060close_062,axiom,
    ( s_i
    = ( product_Pair_int_int @ i_i @ j_i ) ) ).

% \<open>s\<^sub>i = (i\<^sub>i, j\<^sub>i)\<close>
thf(fact_132__092_060open_062s_092_060_094sub_062k_A_061_A_Ii_092_060_094sub_062k_M_Aj_092_060_094sub_062k_J_092_060close_062,axiom,
    ( s_k
    = ( product_Pair_int_int @ i_k @ j_k ) ) ).

% \<open>s\<^sub>k = (i\<^sub>k, j\<^sub>k)\<close>
thf(fact_133__092_060open_062s_092_060_094sub_062j_A_061_A_Ii_092_060_094sub_062j_M_Aj_092_060_094sub_062j_J_092_060close_062,axiom,
    ( s_j
    = ( product_Pair_int_int @ i_j @ j_j ) ) ).

% \<open>s\<^sub>j = (i\<^sub>j, j\<^sub>j)\<close>
thf(fact_134_dbl__inc__simps_I1_J,axiom,
    ! [K: num] :
      ( ( neg_nu5851722552734809277nc_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ K ) ) )
      = ( uminus_uminus_int @ ( neg_nu3811975205180677377ec_int @ ( numeral_numeral_int @ K ) ) ) ) ).

% dbl_inc_simps(1)
thf(fact_135_dbl__dec__simps_I1_J,axiom,
    ! [K: num] :
      ( ( neg_nu3811975205180677377ec_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ K ) ) )
      = ( uminus_uminus_int @ ( neg_nu5851722552734809277nc_int @ ( numeral_numeral_int @ K ) ) ) ) ).

% dbl_dec_simps(1)
thf(fact_136_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_137_old_Oprod_Oinject,axiom,
    ! [A: nat,B: nat,A4: nat,B4: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A4 @ B4 ) )
      = ( ( A = A4 )
        & ( B = B4 ) ) ) ).

% old.prod.inject
thf(fact_138_old_Oprod_Oinject,axiom,
    ! [A: num,B: num,A4: num,B4: num] :
      ( ( ( product_Pair_num_num @ A @ B )
        = ( product_Pair_num_num @ A4 @ B4 ) )
      = ( ( A = A4 )
        & ( B = B4 ) ) ) ).

% old.prod.inject
thf(fact_139_old_Oprod_Oinject,axiom,
    ! [A: nat,B: set_int,A4: nat,B4: set_int] :
      ( ( ( produc29655638201817675et_int @ A @ B )
        = ( produc29655638201817675et_int @ A4 @ B4 ) )
      = ( ( A = A4 )
        & ( B = B4 ) ) ) ).

% old.prod.inject
thf(fact_140_old_Oprod_Oinject,axiom,
    ! [A: int,B: int,A4: int,B4: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A4 @ B4 ) )
      = ( ( A = A4 )
        & ( B = B4 ) ) ) ).

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

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

% old.prod.inject
thf(fact_143_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_144_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_145_prod_Oinject,axiom,
    ! [X1: nat,X2: set_int,Y1: nat,Y2: set_int] :
      ( ( ( produc29655638201817675et_int @ X1 @ X2 )
        = ( produc29655638201817675et_int @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_146_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_147_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_148_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_149_assms_I1_J,axiom,
    valid_step @ s_i @ s_j ).

% assms(1)
thf(fact_150_assms_I2_J,axiom,
    valid_step @ s_j @ s_k ).

% assms(2)
thf(fact_151__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062i_092_060_094sub_062i_Aj_092_060_094sub_062i_Ai_092_060_094sub_062j_Aj_092_060_094sub_062j_Ai_092_060_094sub_062k_Aj_092_060_094sub_062k_O_A_092_060lbrakk_062s_092_060_094sub_062i_A_061_A_Ii_092_060_094sub_062i_M_Aj_092_060_094sub_062i_J_059_As_092_060_094sub_062j_A_061_A_Ii_092_060_094sub_062j_M_Aj_092_060_094sub_062j_J_059_As_092_060_094sub_062k_A_061_A_Ii_092_060_094sub_062k_M_Aj_092_060_094sub_062k_J_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ( ? [I_i: int,J_i: int] :
          ( s_i
          = ( product_Pair_int_int @ I_i @ J_i ) )
     => ( ? [I_j: int,J_j: int] :
            ( s_j
            = ( product_Pair_int_int @ I_j @ J_j ) )
       => ! [I_k: int,J_k: int] :
            ( s_k
           != ( product_Pair_int_int @ I_k @ J_k ) ) ) ) ).

% \<open>\<And>thesis. (\<And>i\<^sub>i j\<^sub>i i\<^sub>j j\<^sub>j i\<^sub>k j\<^sub>k. \<lbrakk>s\<^sub>i = (i\<^sub>i, j\<^sub>i); s\<^sub>j = (i\<^sub>j, j\<^sub>j); s\<^sub>k = (i\<^sub>k, j\<^sub>k)\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_152_dbl__inc__simps_I4_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ ( uminus_uminus_int @ one_one_int ) )
    = ( uminus_uminus_int @ one_one_int ) ) ).

% dbl_inc_simps(4)
thf(fact_153_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_154_step__checker_Ocases,axiom,
    ! [X: produc1219242969750017639nt_int] :
      ~ ! [I3: int,J3: int,I4: int,J4: int] :
          ( X
         != ( produc3646306378393792727nt_int @ ( product_Pair_int_int @ I3 @ J3 ) @ ( product_Pair_int_int @ I4 @ J4 ) ) ) ).

% step_checker.cases
thf(fact_155_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_nat_nat] :
      ~ ! [A5: nat,B5: nat] :
          ( Y
         != ( product_Pair_nat_nat @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_156_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_num_num] :
      ~ ! [A5: num,B5: num] :
          ( Y
         != ( product_Pair_num_num @ A5 @ B5 ) ) ).

% old.prod.exhaust
thf(fact_157_old_Oprod_Oexhaust,axiom,
    ! [Y: produc9133624956312949779et_int] :
      ~ ! [A5: nat,B5: set_int] :
          ( Y
         != ( produc29655638201817675et_int @ A5 @ B5 ) ) ).

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

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

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

% old.prod.exhaust
thf(fact_161_surj__pair,axiom,
    ! [P: product_prod_nat_nat] :
    ? [X4: nat,Y3: nat] :
      ( P
      = ( product_Pair_nat_nat @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_162_surj__pair,axiom,
    ! [P: product_prod_num_num] :
    ? [X4: num,Y3: num] :
      ( P
      = ( product_Pair_num_num @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_163_surj__pair,axiom,
    ! [P: produc9133624956312949779et_int] :
    ? [X4: nat,Y3: set_int] :
      ( P
      = ( produc29655638201817675et_int @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_164_surj__pair,axiom,
    ! [P: product_prod_int_int] :
    ? [X4: int,Y3: int] :
      ( P
      = ( product_Pair_int_int @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_165_surj__pair,axiom,
    ! [P: produc2285326912895808259nt_int] :
    ? [X4: produc8551481072490612790e_term > option6357759511663192854e_term,Y3: product_prod_int_int] :
      ( P
      = ( produc5700946648718959541nt_int @ X4 @ Y3 ) ) ).

% surj_pair
thf(fact_166_surj__pair,axiom,
    ! [P: produc7773217078559923341nt_int] :
    ? [X4: int > option6357759511663192854e_term,Y3: product_prod_int_int] :
      ( P
      = ( produc4305682042979456191nt_int @ X4 @ Y3 ) ) ).

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

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

% prod_cases
thf(fact_169_prod__cases,axiom,
    ! [P2: produc9133624956312949779et_int > $o,P: produc9133624956312949779et_int] :
      ( ! [A5: nat,B5: set_int] : ( P2 @ ( produc29655638201817675et_int @ A5 @ B5 ) )
     => ( P2 @ P ) ) ).

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

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

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

% prod_cases
thf(fact_173_Pair__inject,axiom,
    ! [A: nat,B: nat,A4: nat,B4: nat] :
      ( ( ( product_Pair_nat_nat @ A @ B )
        = ( product_Pair_nat_nat @ A4 @ B4 ) )
     => ~ ( ( A = A4 )
         => ( B != B4 ) ) ) ).

% Pair_inject
thf(fact_174_Pair__inject,axiom,
    ! [A: num,B: num,A4: num,B4: num] :
      ( ( ( product_Pair_num_num @ A @ B )
        = ( product_Pair_num_num @ A4 @ B4 ) )
     => ~ ( ( A = A4 )
         => ( B != B4 ) ) ) ).

% Pair_inject
thf(fact_175_Pair__inject,axiom,
    ! [A: nat,B: set_int,A4: nat,B4: set_int] :
      ( ( ( produc29655638201817675et_int @ A @ B )
        = ( produc29655638201817675et_int @ A4 @ B4 ) )
     => ~ ( ( A = A4 )
         => ( B != B4 ) ) ) ).

% Pair_inject
thf(fact_176_Pair__inject,axiom,
    ! [A: int,B: int,A4: int,B4: int] :
      ( ( ( product_Pair_int_int @ A @ B )
        = ( product_Pair_int_int @ A4 @ B4 ) )
     => ~ ( ( A = A4 )
         => ( B != B4 ) ) ) ).

% Pair_inject
thf(fact_177_Pair__inject,axiom,
    ! [A: produc8551481072490612790e_term > option6357759511663192854e_term,B: product_prod_int_int,A4: produc8551481072490612790e_term > option6357759511663192854e_term,B4: product_prod_int_int] :
      ( ( ( produc5700946648718959541nt_int @ A @ B )
        = ( produc5700946648718959541nt_int @ A4 @ B4 ) )
     => ~ ( ( A = A4 )
         => ( B != B4 ) ) ) ).

% Pair_inject
thf(fact_178_Pair__inject,axiom,
    ! [A: int > option6357759511663192854e_term,B: product_prod_int_int,A4: int > option6357759511663192854e_term,B4: product_prod_int_int] :
      ( ( ( produc4305682042979456191nt_int @ A @ B )
        = ( produc4305682042979456191nt_int @ A4 @ B4 ) )
     => ~ ( ( A = A4 )
         => ( B != B4 ) ) ) ).

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

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

% prod_cases3
thf(fact_181_prod__induct3,axiom,
    ! [P2: produc2285326912895808259nt_int > $o,X: produc2285326912895808259nt_int] :
      ( ! [A5: produc8551481072490612790e_term > option6357759511663192854e_term,B5: int,C2: int] : ( P2 @ ( produc5700946648718959541nt_int @ A5 @ ( product_Pair_int_int @ B5 @ C2 ) ) )
     => ( P2 @ X ) ) ).

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

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

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

% diff_add_inverse
thf(fact_185_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_186_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_187_dbl__inc__def,axiom,
    ( neg_nu5851722552734809277nc_int
    = ( ^ [X3: int] : ( plus_plus_int @ ( plus_plus_int @ X3 @ X3 ) @ one_one_int ) ) ) ).

% dbl_inc_def
thf(fact_188_minus__sub__one__diff__one,axiom,
    ! [M: num] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ ( neg_numeral_sub_int @ M @ one ) ) @ one_one_int )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) ) ).

% minus_sub_one_diff_one
thf(fact_189_diff__numeral__special_I7_J,axiom,
    ! [N: num] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( neg_numeral_sub_int @ N @ one ) ) ).

% diff_numeral_special(7)
thf(fact_190_diff__numeral__special_I8_J,axiom,
    ! [M: num] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ one_one_int ) )
      = ( neg_numeral_sub_int @ one @ M ) ) ).

% diff_numeral_special(8)
thf(fact_191_add__neg__numeral__special_I1_J,axiom,
    ! [M: num] :
      ( ( plus_plus_int @ one_one_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) )
      = ( neg_numeral_sub_int @ one @ M ) ) ).

% add_neg_numeral_special(1)
thf(fact_192_add__neg__numeral__special_I2_J,axiom,
    ! [M: num] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ one_one_int )
      = ( neg_numeral_sub_int @ one @ M ) ) ).

% add_neg_numeral_special(2)
thf(fact_193_add__neg__numeral__special_I3_J,axiom,
    ! [M: num] :
      ( ( plus_plus_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ one_one_int ) )
      = ( neg_numeral_sub_int @ M @ one ) ) ).

% add_neg_numeral_special(3)
thf(fact_194_add__neg__numeral__special_I4_J,axiom,
    ! [N: num] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ one_one_int ) @ ( numeral_numeral_int @ N ) )
      = ( neg_numeral_sub_int @ N @ one ) ) ).

% add_neg_numeral_special(4)
thf(fact_195_eq__numeral__iff__iszero_I7_J,axiom,
    ! [X: num] :
      ( ( ( uminus_uminus_int @ ( numeral_numeral_int @ X ) )
        = one_one_int )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ ( plus_plus_num @ X @ one ) ) ) ) ).

% eq_numeral_iff_iszero(7)
thf(fact_196_diff__numeral__simps_I1_J,axiom,
    ! [M: num,N: num] :
      ( ( minus_minus_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ N ) )
      = ( neg_numeral_sub_int @ M @ N ) ) ).

% diff_numeral_simps(1)
thf(fact_197_iszero__neg__numeral,axiom,
    ! [W: num] :
      ( ( ring_1_iszero_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ W ) ) )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ W ) ) ) ).

% iszero_neg_numeral
thf(fact_198_sub__num__simps_I6_J,axiom,
    ! [K: num,L: num] :
      ( ( neg_numeral_sub_int @ ( bit0 @ K ) @ ( bit0 @ L ) )
      = ( neg_numeral_dbl_int @ ( neg_numeral_sub_int @ K @ L ) ) ) ).

% sub_num_simps(6)
thf(fact_199_semiring__norm_I166_J,axiom,
    ! [V: num,W: num,Y: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ V ) ) @ ( plus_plus_int @ ( numeral_numeral_int @ W ) @ Y ) )
      = ( plus_plus_int @ ( neg_numeral_sub_int @ W @ V ) @ Y ) ) ).

% semiring_norm(166)
thf(fact_200_semiring__norm_I165_J,axiom,
    ! [V: num,W: num,Y: int] :
      ( ( plus_plus_int @ ( numeral_numeral_int @ V ) @ ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ W ) ) @ Y ) )
      = ( plus_plus_int @ ( neg_numeral_sub_int @ V @ W ) @ Y ) ) ).

% semiring_norm(165)
thf(fact_201_add__neg__numeral__simps_I2_J,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( numeral_numeral_int @ N ) )
      = ( neg_numeral_sub_int @ N @ M ) ) ).

% add_neg_numeral_simps(2)
thf(fact_202_add__neg__numeral__simps_I1_J,axiom,
    ! [M: num,N: num] :
      ( ( plus_plus_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( neg_numeral_sub_int @ M @ N ) ) ).

% add_neg_numeral_simps(1)
thf(fact_203_diff__numeral__simps_I4_J,axiom,
    ! [M: num,N: num] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( neg_numeral_sub_int @ N @ M ) ) ).

% diff_numeral_simps(4)
thf(fact_204_diff__numeral__special_I2_J,axiom,
    ! [M: num] :
      ( ( minus_minus_int @ ( numeral_numeral_int @ M ) @ one_one_int )
      = ( neg_numeral_sub_int @ M @ one ) ) ).

% diff_numeral_special(2)
thf(fact_205_diff__numeral__special_I1_J,axiom,
    ! [N: num] :
      ( ( minus_minus_int @ one_one_int @ ( numeral_numeral_int @ N ) )
      = ( neg_numeral_sub_int @ one @ N ) ) ).

% diff_numeral_special(1)
thf(fact_206_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_207_eq__numeral__iff__iszero_I1_J,axiom,
    ! [X: num,Y: num] :
      ( ( ( numeral_numeral_int @ X )
        = ( numeral_numeral_int @ Y ) )
      = ( ring_1_iszero_int @ ( neg_numeral_sub_int @ X @ Y ) ) ) ).

% eq_numeral_iff_iszero(1)
thf(fact_208_eq__numeral__iff__iszero_I4_J,axiom,
    ! [X: num,Y: num] :
      ( ( ( uminus_uminus_int @ ( numeral_numeral_int @ X ) )
        = ( uminus_uminus_int @ ( numeral_numeral_int @ Y ) ) )
      = ( ring_1_iszero_int @ ( neg_numeral_sub_int @ Y @ X ) ) ) ).

% eq_numeral_iff_iszero(4)
thf(fact_209_not__iszero__numeral,axiom,
    ! [W: num] :
      ~ ( ring_1_iszero_int @ ( numeral_numeral_int @ W ) ) ).

% not_iszero_numeral
thf(fact_210_not__iszero__1,axiom,
    ~ ( ring_1_iszero_int @ one_one_int ) ).

% not_iszero_1
thf(fact_211_eq__iff__iszero__diff,axiom,
    ( ( ^ [Y4: int,Z2: int] : ( Y4 = Z2 ) )
    = ( ^ [X3: int,Y5: int] : ( ring_1_iszero_int @ ( minus_minus_int @ X3 @ Y5 ) ) ) ) ).

% eq_iff_iszero_diff
thf(fact_212_eq__numeral__iff__iszero_I6_J,axiom,
    ! [Y: num] :
      ( ( one_one_int
        = ( numeral_numeral_int @ Y ) )
      = ( ring_1_iszero_int @ ( neg_numeral_sub_int @ one @ Y ) ) ) ).

% eq_numeral_iff_iszero(6)
thf(fact_213_eq__numeral__iff__iszero_I5_J,axiom,
    ! [X: num] :
      ( ( ( numeral_numeral_int @ X )
        = one_one_int )
      = ( ring_1_iszero_int @ ( neg_numeral_sub_int @ X @ one ) ) ) ).

% eq_numeral_iff_iszero(5)
thf(fact_214_neg__numeral__class_Osub__def,axiom,
    ( neg_numeral_sub_int
    = ( ^ [K2: num,L2: num] : ( minus_minus_int @ ( numeral_numeral_int @ K2 ) @ ( numeral_numeral_int @ L2 ) ) ) ) ).

% neg_numeral_class.sub_def
thf(fact_215_step__checker__correct,axiom,
    step_checker = valid_step ).

% step_checker_correct
thf(fact_216_not__iszero__Numeral1,axiom,
    ~ ( ring_1_iszero_int @ ( numeral_numeral_int @ one ) ) ).

% not_iszero_Numeral1
thf(fact_217_not__iszero__neg__1,axiom,
    ~ ( ring_1_iszero_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% not_iszero_neg_1
thf(fact_218_not__iszero__neg__Numeral1,axiom,
    ~ ( ring_1_iszero_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ one ) ) ) ).

% not_iszero_neg_Numeral1
thf(fact_219_eq__numeral__iff__iszero_I2_J,axiom,
    ! [X: num,Y: num] :
      ( ( ( numeral_numeral_int @ X )
        = ( uminus_uminus_int @ ( numeral_numeral_int @ Y ) ) )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ ( plus_plus_num @ X @ Y ) ) ) ) ).

% eq_numeral_iff_iszero(2)
thf(fact_220_eq__numeral__iff__iszero_I3_J,axiom,
    ! [X: num,Y: num] :
      ( ( ( uminus_uminus_int @ ( numeral_numeral_int @ X ) )
        = ( numeral_numeral_int @ Y ) )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ ( plus_plus_num @ X @ Y ) ) ) ) ).

% eq_numeral_iff_iszero(3)
thf(fact_221_eq__numeral__iff__iszero_I8_J,axiom,
    ! [Y: num] :
      ( ( one_one_int
        = ( uminus_uminus_int @ ( numeral_numeral_int @ Y ) ) )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ ( plus_plus_num @ one @ Y ) ) ) ) ).

% eq_numeral_iff_iszero(8)
thf(fact_222_sub__num__simps_I2_J,axiom,
    ! [L: num] :
      ( ( neg_numeral_sub_int @ one @ ( bit0 @ L ) )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ ( bitM @ L ) ) ) ) ).

% sub_num_simps(2)
thf(fact_223_dbl__dec__simps_I4_J,axiom,
    ( ( neg_nu3811975205180677377ec_int @ ( uminus_uminus_int @ one_one_int ) )
    = ( uminus_uminus_int @ ( numeral_numeral_int @ ( bit1 @ one ) ) ) ) ).

% dbl_dec_simps(4)
thf(fact_224_sub__num__simps_I4_J,axiom,
    ! [K: num] :
      ( ( neg_numeral_sub_int @ ( bit0 @ K ) @ one )
      = ( numeral_numeral_int @ ( bitM @ K ) ) ) ).

% sub_num_simps(4)
thf(fact_225_diff__numeral__special_I6_J,axiom,
    ! [M: num] :
      ( ( minus_minus_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ one_one_int ) )
      = ( numeral_numeral_int @ ( inc @ M ) ) ) ).

% diff_numeral_special(6)
thf(fact_226_diff__numeral__special_I5_J,axiom,
    ! [N: num] :
      ( ( minus_minus_int @ ( uminus_uminus_int @ one_one_int ) @ ( numeral_numeral_int @ N ) )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ ( inc @ N ) ) ) ) ).

% diff_numeral_special(5)
thf(fact_227_add__neg__numeral__special_I6_J,axiom,
    ! [M: num] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ one_one_int ) )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ ( inc @ M ) ) ) ) ).

% add_neg_numeral_special(6)
thf(fact_228_add__neg__numeral__special_I5_J,axiom,
    ! [N: num] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ ( inc @ N ) ) ) ) ).

% add_neg_numeral_special(5)
thf(fact_229_sub__num__simps_I3_J,axiom,
    ! [L: num] :
      ( ( neg_numeral_sub_int @ one @ ( bit1 @ L ) )
      = ( uminus_uminus_int @ ( numeral_numeral_int @ ( bit0 @ L ) ) ) ) ).

% sub_num_simps(3)
thf(fact_230_dbl__inc__simps_I3_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ one_one_int )
    = ( numeral_numeral_int @ ( bit1 @ one ) ) ) ).

% dbl_inc_simps(3)
thf(fact_231_verit__eq__simplify_I9_J,axiom,
    ! [X32: num,Y32: num] :
      ( ( ( bit1 @ X32 )
        = ( bit1 @ Y32 ) )
      = ( X32 = Y32 ) ) ).

% verit_eq_simplify(9)
thf(fact_232_semiring__norm_I90_J,axiom,
    ! [M: num,N: num] :
      ( ( ( bit1 @ M )
        = ( bit1 @ N ) )
      = ( M = N ) ) ).

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

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

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

% semiring_norm(84)
thf(fact_236_semiring__norm_I86_J,axiom,
    ! [M: num] :
      ( ( bit1 @ M )
     != one ) ).

% semiring_norm(86)
thf(fact_237_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_238_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_239_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_240_sub__num__simps_I9_J,axiom,
    ! [K: num,L: num] :
      ( ( neg_numeral_sub_int @ ( bit1 @ K ) @ ( bit1 @ L ) )
      = ( neg_numeral_dbl_int @ ( neg_numeral_sub_int @ K @ L ) ) ) ).

% sub_num_simps(9)
thf(fact_241_dbl__dec__simps_I5_J,axiom,
    ! [K: num] :
      ( ( neg_nu3811975205180677377ec_int @ ( numeral_numeral_int @ K ) )
      = ( numeral_numeral_int @ ( bitM @ K ) ) ) ).

% dbl_dec_simps(5)
thf(fact_242_semiring__norm_I3_J,axiom,
    ! [N: num] :
      ( ( plus_plus_num @ one @ ( bit0 @ N ) )
      = ( bit1 @ N ) ) ).

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

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

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

% semiring_norm(8)
thf(fact_246_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_247_sub__num__simps_I8_J,axiom,
    ! [K: num,L: num] :
      ( ( neg_numeral_sub_int @ ( bit1 @ K ) @ ( bit0 @ L ) )
      = ( neg_nu5851722552734809277nc_int @ ( neg_numeral_sub_int @ K @ L ) ) ) ).

% sub_num_simps(8)
thf(fact_248_sub__num__simps_I7_J,axiom,
    ! [K: num,L: num] :
      ( ( neg_numeral_sub_int @ ( bit0 @ K ) @ ( bit1 @ L ) )
      = ( neg_nu3811975205180677377ec_int @ ( neg_numeral_sub_int @ K @ L ) ) ) ).

% sub_num_simps(7)
thf(fact_249_sub__num__simps_I5_J,axiom,
    ! [K: num] :
      ( ( neg_numeral_sub_int @ ( bit1 @ K ) @ one )
      = ( numeral_numeral_int @ ( bit0 @ K ) ) ) ).

% sub_num_simps(5)
thf(fact_250_inc__BitM__eq,axiom,
    ! [N: num] :
      ( ( inc @ ( bitM @ N ) )
      = ( bit0 @ N ) ) ).

% inc_BitM_eq
thf(fact_251_BitM__inc__eq,axiom,
    ! [N: num] :
      ( ( bitM @ ( inc @ N ) )
      = ( bit1 @ N ) ) ).

% BitM_inc_eq
thf(fact_252_inc_Osimps_I2_J,axiom,
    ! [X: num] :
      ( ( inc @ ( bit0 @ X ) )
      = ( bit1 @ X ) ) ).

% inc.simps(2)
thf(fact_253_inc_Osimps_I3_J,axiom,
    ! [X: num] :
      ( ( inc @ ( bit1 @ X ) )
      = ( bit0 @ ( inc @ X ) ) ) ).

% inc.simps(3)
thf(fact_254_semiring__norm_I27_J,axiom,
    ! [N: num] :
      ( ( bitM @ ( bit0 @ N ) )
      = ( bit1 @ ( bitM @ N ) ) ) ).

% semiring_norm(27)
thf(fact_255_semiring__norm_I28_J,axiom,
    ! [N: num] :
      ( ( bitM @ ( bit1 @ N ) )
      = ( bit1 @ ( bit0 @ N ) ) ) ).

% semiring_norm(28)
thf(fact_256_verit__eq__simplify_I14_J,axiom,
    ! [X2: num,X32: num] :
      ( ( bit0 @ X2 )
     != ( bit1 @ X32 ) ) ).

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

% verit_eq_simplify(12)
thf(fact_258_semiring__norm_I26_J,axiom,
    ( ( bitM @ one )
    = one ) ).

% semiring_norm(26)
thf(fact_259_num__induct,axiom,
    ! [P2: num > $o,X: num] :
      ( ( P2 @ one )
     => ( ! [X4: num] :
            ( ( P2 @ X4 )
           => ( P2 @ ( inc @ X4 ) ) )
       => ( P2 @ X ) ) ) ).

% num_induct
thf(fact_260_add__inc,axiom,
    ! [X: num,Y: num] :
      ( ( plus_plus_num @ X @ ( inc @ Y ) )
      = ( inc @ ( plus_plus_num @ X @ Y ) ) ) ).

% add_inc
thf(fact_261_num_Oexhaust,axiom,
    ! [Y: num] :
      ( ( Y != one )
     => ( ! [X22: num] :
            ( Y
           != ( bit0 @ X22 ) )
       => ~ ! [X33: num] :
              ( Y
             != ( bit1 @ X33 ) ) ) ) ).

% num.exhaust
thf(fact_262_inc_Osimps_I1_J,axiom,
    ( ( inc @ one )
    = ( bit0 @ one ) ) ).

% inc.simps(1)
thf(fact_263_add__One,axiom,
    ! [X: num] :
      ( ( plus_plus_num @ X @ one )
      = ( inc @ X ) ) ).

% add_One
thf(fact_264_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_265_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_266_numeral__inc,axiom,
    ! [X: num] :
      ( ( numeral_numeral_int @ ( inc @ X ) )
      = ( plus_plus_int @ ( numeral_numeral_int @ X ) @ one_one_int ) ) ).

% numeral_inc
thf(fact_267_numeral__inc,axiom,
    ! [X: num] :
      ( ( numeral_numeral_nat @ ( inc @ X ) )
      = ( plus_plus_nat @ ( numeral_numeral_nat @ X ) @ one_one_nat ) ) ).

% numeral_inc
thf(fact_268_one__plus__BitM,axiom,
    ! [N: num] :
      ( ( plus_plus_num @ one @ ( bitM @ N ) )
      = ( bit0 @ N ) ) ).

% one_plus_BitM
thf(fact_269_BitM__plus__one,axiom,
    ! [N: num] :
      ( ( plus_plus_num @ ( bitM @ N ) @ one )
      = ( bit0 @ N ) ) ).

% BitM_plus_one
thf(fact_270_sub__inc__One__eq,axiom,
    ! [N: num] :
      ( ( neg_numeral_sub_int @ ( inc @ N ) @ one )
      = ( numeral_numeral_int @ N ) ) ).

% sub_inc_One_eq
thf(fact_271_numeral__BitM,axiom,
    ! [N: num] :
      ( ( numeral_numeral_int @ ( bitM @ N ) )
      = ( minus_minus_int @ ( numeral_numeral_int @ ( bit0 @ N ) ) @ one_one_int ) ) ).

% numeral_BitM
thf(fact_272_xor__num_Ocases,axiom,
    ! [X: product_prod_num_num] :
      ( ( X
       != ( product_Pair_num_num @ one @ one ) )
     => ( ! [N2: num] :
            ( X
           != ( product_Pair_num_num @ one @ ( bit0 @ N2 ) ) )
       => ( ! [N2: num] :
              ( X
             != ( product_Pair_num_num @ one @ ( bit1 @ N2 ) ) )
         => ( ! [M2: num] :
                ( X
               != ( product_Pair_num_num @ ( bit0 @ M2 ) @ one ) )
           => ( ! [M2: num,N2: num] :
                  ( X
                 != ( product_Pair_num_num @ ( bit0 @ M2 ) @ ( bit0 @ N2 ) ) )
             => ( ! [M2: num,N2: num] :
                    ( X
                   != ( product_Pair_num_num @ ( bit0 @ M2 ) @ ( bit1 @ N2 ) ) )
               => ( ! [M2: num] :
                      ( X
                     != ( product_Pair_num_num @ ( bit1 @ M2 ) @ one ) )
                 => ( ! [M2: num,N2: num] :
                        ( X
                       != ( product_Pair_num_num @ ( bit1 @ M2 ) @ ( bit0 @ N2 ) ) )
                   => ~ ! [M2: num,N2: num] :
                          ( X
                         != ( product_Pair_num_num @ ( bit1 @ M2 ) @ ( bit1 @ N2 ) ) ) ) ) ) ) ) ) ) ) ).

% xor_num.cases
thf(fact_273_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_274_sqr_Osimps_I3_J,axiom,
    ! [N: num] :
      ( ( sqr @ ( bit1 @ N ) )
      = ( bit1 @ ( bit0 @ ( plus_plus_num @ ( sqr @ N ) @ N ) ) ) ) ).

% sqr.simps(3)
thf(fact_275_Suc__1,axiom,
    ( ( suc @ one_one_nat )
    = ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ).

% Suc_1
thf(fact_276_not__neg__one__le__neg__numeral__iff,axiom,
    ! [M: num] :
      ( ( ~ ( ord_less_eq_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) ) )
      = ( M != one ) ) ).

% not_neg_one_le_neg_numeral_iff
thf(fact_277_add__2__eq__Suc_H,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( suc @ ( suc @ N ) ) ) ).

% add_2_eq_Suc'
thf(fact_278_add__2__eq__Suc,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
      = ( suc @ ( suc @ N ) ) ) ).

% add_2_eq_Suc
thf(fact_279_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_280_semiring__norm_I68_J,axiom,
    ! [N: num] : ( ord_less_eq_num @ one @ N ) ).

% semiring_norm(68)
thf(fact_281_nat_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% nat.inject
thf(fact_282_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_283_Suc__le__mono,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ ( suc @ M ) )
      = ( ord_less_eq_nat @ N @ M ) ) ).

% Suc_le_mono
thf(fact_284_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_285_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_286_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_287_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_288_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_289_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_290_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_291_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_292_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_293_neg__le__iff__le,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) )
      = ( ord_less_eq_int @ A @ B ) ) ).

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

% semiring_norm(69)
thf(fact_295_add__Suc__right,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ M @ ( suc @ N ) )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc_right
thf(fact_296_Suc__diff__diff,axiom,
    ! [M: nat,N: nat,K: nat] :
      ( ( minus_minus_nat @ ( minus_minus_nat @ ( suc @ M ) @ N ) @ ( suc @ K ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ N ) @ K ) ) ).

% Suc_diff_diff
thf(fact_297_diff__Suc__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( minus_minus_nat @ M @ N ) ) ).

% diff_Suc_Suc
thf(fact_298_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_299_semiring__norm_I70_J,axiom,
    ! [M: num] :
      ~ ( ord_less_eq_num @ ( bit1 @ M ) @ one ) ).

% semiring_norm(70)
thf(fact_300_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_301_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_302_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_303_neg__numeral__le__iff,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( ord_less_eq_num @ N @ M ) ) ).

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

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

% diff_Suc_diff_eq1
thf(fact_306_diff__Suc__1,axiom,
    ! [N: nat] :
      ( ( minus_minus_nat @ ( suc @ N ) @ one_one_nat )
      = N ) ).

% diff_Suc_1
thf(fact_307_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_308_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_309_Suc__numeral,axiom,
    ! [N: num] :
      ( ( suc @ ( numeral_numeral_nat @ N ) )
      = ( numeral_numeral_nat @ ( plus_plus_num @ N @ one ) ) ) ).

% Suc_numeral
thf(fact_310_Suc__diff__le,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_eq_nat @ N @ M )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( suc @ ( minus_minus_nat @ M @ N ) ) ) ) ).

% Suc_diff_le
thf(fact_311_lift__Suc__mono__le,axiom,
    ! [F: nat > num,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_eq_num @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_num @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_312_lift__Suc__mono__le,axiom,
    ! [F: nat > nat,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_eq_nat @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_nat @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_313_lift__Suc__mono__le,axiom,
    ! [F: nat > int,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_eq_int @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_int @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_le
thf(fact_314_lift__Suc__antimono__le,axiom,
    ! [F: nat > num,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_eq_num @ ( F @ ( suc @ N2 ) ) @ ( F @ N2 ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_num @ ( F @ N3 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_315_lift__Suc__antimono__le,axiom,
    ! [F: nat > nat,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_eq_nat @ ( F @ ( suc @ N2 ) ) @ ( F @ N2 ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_nat @ ( F @ N3 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_316_lift__Suc__antimono__le,axiom,
    ! [F: nat > int,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_eq_int @ ( F @ ( suc @ N2 ) ) @ ( F @ N2 ) )
     => ( ( ord_less_eq_nat @ N @ N3 )
       => ( ord_less_eq_int @ ( F @ N3 ) @ ( F @ N ) ) ) ) ).

% lift_Suc_antimono_le
thf(fact_317_Suc__leD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% Suc_leD
thf(fact_318_le__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_eq_nat @ M @ N )
       => ( M
          = ( suc @ N ) ) ) ) ).

% le_SucE
thf(fact_319_le__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_eq_nat @ M @ ( suc @ N ) ) ) ).

% le_SucI
thf(fact_320_Suc__le__D,axiom,
    ! [N: nat,M3: nat] :
      ( ( ord_less_eq_nat @ ( suc @ N ) @ M3 )
     => ? [M2: nat] :
          ( M3
          = ( suc @ M2 ) ) ) ).

% Suc_le_D
thf(fact_321_le__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_eq_nat @ M @ N )
        | ( M
          = ( suc @ N ) ) ) ) ).

% le_Suc_eq
thf(fact_322_Suc__inject,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( suc @ X )
        = ( suc @ Y ) )
     => ( X = Y ) ) ).

% Suc_inject
thf(fact_323_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_324_Suc__n__not__le__n,axiom,
    ! [N: nat] :
      ~ ( ord_less_eq_nat @ ( suc @ N ) @ N ) ).

% Suc_n_not_le_n
thf(fact_325_not__less__eq__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_eq_nat @ M @ N ) )
      = ( ord_less_eq_nat @ ( suc @ N ) @ M ) ) ).

% not_less_eq_eq
thf(fact_326_full__nat__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M4: nat] :
              ( ( ord_less_eq_nat @ ( suc @ M4 ) @ N2 )
             => ( P2 @ M4 ) )
         => ( P2 @ N2 ) )
     => ( P2 @ N ) ) ).

% full_nat_induct
thf(fact_327_nat__induct__at__least,axiom,
    ! [M: nat,N: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( P2 @ M )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ M @ N2 )
             => ( ( P2 @ N2 )
               => ( P2 @ ( suc @ N2 ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct_at_least
thf(fact_328_transitive__stepwise__le,axiom,
    ! [M: nat,N: nat,R: nat > nat > $o] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ! [X4: nat] : ( R @ X4 @ X4 )
       => ( ! [X4: nat,Y3: nat,Z3: nat] :
              ( ( R @ X4 @ Y3 )
             => ( ( R @ Y3 @ Z3 )
               => ( R @ X4 @ Z3 ) ) )
         => ( ! [N2: nat] : ( R @ N2 @ ( suc @ N2 ) )
           => ( R @ M @ N ) ) ) ) ) ).

% transitive_stepwise_le
thf(fact_329_verit__comp__simplify1_I2_J,axiom,
    ! [A: num] : ( ord_less_eq_num @ A @ A ) ).

% verit_comp_simplify1(2)
thf(fact_330_verit__comp__simplify1_I2_J,axiom,
    ! [A: nat] : ( ord_less_eq_nat @ A @ A ) ).

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

% verit_comp_simplify1(2)
thf(fact_332_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_333_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_334_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_335_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_336_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_337_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_338_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_339_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_340_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_341_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_342_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_343_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_344_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_345_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_346_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_347_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_348_le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [A2: nat,B2: nat] :
        ? [C3: nat] :
          ( B2
          = ( plus_plus_nat @ A2 @ C3 ) ) ) ) ).

% le_iff_add
thf(fact_349_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_350_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_351_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_352_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_353_le__numeral__extra_I4_J,axiom,
    ord_less_eq_nat @ one_one_nat @ one_one_nat ).

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

% le_numeral_extra(4)
thf(fact_355_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_356_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_357_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_358_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_359_le__num__One__iff,axiom,
    ! [X: num] :
      ( ( ord_less_eq_num @ X @ one )
      = ( X = one ) ) ).

% le_num_One_iff
thf(fact_360_nat__arith_Osuc1,axiom,
    ! [A3: nat,K: nat,A: nat] :
      ( ( A3
        = ( plus_plus_nat @ K @ A ) )
     => ( ( suc @ A3 )
        = ( plus_plus_nat @ K @ ( suc @ A ) ) ) ) ).

% nat_arith.suc1
thf(fact_361_add__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( suc @ ( plus_plus_nat @ M @ N ) ) ) ).

% add_Suc
thf(fact_362_add__Suc__shift,axiom,
    ! [M: nat,N: nat] :
      ( ( plus_plus_nat @ ( suc @ M ) @ N )
      = ( plus_plus_nat @ M @ ( suc @ N ) ) ) ).

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

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

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

% le_imp_neg_le
thf(fact_366_zero__induct__lemma,axiom,
    ! [P2: nat > $o,K: nat,I: nat] :
      ( ( P2 @ K )
     => ( ! [N2: nat] :
            ( ( P2 @ ( suc @ N2 ) )
           => ( P2 @ N2 ) )
       => ( P2 @ ( minus_minus_nat @ K @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_367_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_368_le__add1,axiom,
    ! [N: nat,M: nat] : ( ord_less_eq_nat @ N @ ( plus_plus_nat @ N @ M ) ) ).

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

% le_add2
thf(fact_370_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_371_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_372_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_373_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_374_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_375_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_376_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_377_nat__le__iff__add,axiom,
    ( ord_less_eq_nat
    = ( ^ [M5: nat,N4: nat] :
        ? [K2: nat] :
          ( N4
          = ( plus_plus_nat @ M5 @ K2 ) ) ) ) ).

% nat_le_iff_add
thf(fact_378_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_379_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_380_diff__le__self,axiom,
    ! [M: nat,N: nat] : ( ord_less_eq_nat @ ( minus_minus_nat @ M @ N ) @ M ) ).

% diff_le_self
thf(fact_381_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_382_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_383_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_384_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_385_sqr_Osimps_I2_J,axiom,
    ! [N: num] :
      ( ( sqr @ ( bit0 @ N ) )
      = ( bit0 @ ( bit0 @ ( sqr @ N ) ) ) ) ).

% sqr.simps(2)
thf(fact_386_sqr_Osimps_I1_J,axiom,
    ( ( sqr @ one )
    = one ) ).

% sqr.simps(1)
thf(fact_387_one__le__numeral,axiom,
    ! [N: num] : ( ord_less_eq_nat @ one_one_nat @ ( numeral_numeral_nat @ N ) ) ).

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

% one_le_numeral
thf(fact_389_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_390_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_391_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_392_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_393_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_394_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_395_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_396_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_397_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_398_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_399_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_400_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_401_not__numeral__le__neg__numeral,axiom,
    ! [M: num,N: num] :
      ~ ( ord_less_eq_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) ) ).

% not_numeral_le_neg_numeral
thf(fact_402_neg__numeral__le__numeral,axiom,
    ! [M: num,N: num] : ( ord_less_eq_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( numeral_numeral_int @ N ) ) ).

% neg_numeral_le_numeral
thf(fact_403_le__minus__one__simps_I2_J,axiom,
    ord_less_eq_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int ).

% le_minus_one_simps(2)
thf(fact_404_le__minus__one__simps_I4_J,axiom,
    ~ ( ord_less_eq_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% le_minus_one_simps(4)
thf(fact_405_Suc__eq__plus1,axiom,
    ( suc
    = ( ^ [N4: nat] : ( plus_plus_nat @ N4 @ one_one_nat ) ) ) ).

% Suc_eq_plus1
thf(fact_406_plus__1__eq__Suc,axiom,
    ( ( plus_plus_nat @ one_one_nat )
    = suc ) ).

% plus_1_eq_Suc
thf(fact_407_Suc__eq__plus1__left,axiom,
    ( suc
    = ( plus_plus_nat @ one_one_nat ) ) ).

% Suc_eq_plus1_left
thf(fact_408_diff__Suc__eq__diff__pred,axiom,
    ! [M: nat,N: nat] :
      ( ( minus_minus_nat @ M @ ( suc @ N ) )
      = ( minus_minus_nat @ ( minus_minus_nat @ M @ one_one_nat ) @ N ) ) ).

% diff_Suc_eq_diff_pred
thf(fact_409_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_410_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_411_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_412_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_413_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_414_neg__numeral__le__one,axiom,
    ! [M: num] : ( ord_less_eq_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ one_one_int ) ).

% neg_numeral_le_one
thf(fact_415_neg__one__le__numeral,axiom,
    ! [M: num] : ( ord_less_eq_int @ ( uminus_uminus_int @ one_one_int ) @ ( numeral_numeral_int @ M ) ) ).

% neg_one_le_numeral
thf(fact_416_neg__numeral__le__neg__one,axiom,
    ! [M: num] : ( ord_less_eq_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ one_one_int ) ) ).

% neg_numeral_le_neg_one
thf(fact_417_not__numeral__le__neg__one,axiom,
    ! [M: num] :
      ~ ( ord_less_eq_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ one_one_int ) ) ).

% not_numeral_le_neg_one
thf(fact_418_not__one__le__neg__numeral,axiom,
    ! [M: num] :
      ~ ( ord_less_eq_int @ one_one_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) ) ).

% not_one_le_neg_numeral
thf(fact_419_eval__nat__numeral_I3_J,axiom,
    ! [N: num] :
      ( ( numeral_numeral_nat @ ( bit1 @ N ) )
      = ( suc @ ( numeral_numeral_nat @ ( bit0 @ N ) ) ) ) ).

% eval_nat_numeral(3)
thf(fact_420_eval__nat__numeral_I2_J,axiom,
    ! [N: num] :
      ( ( numeral_numeral_nat @ ( bit0 @ N ) )
      = ( suc @ ( numeral_numeral_nat @ ( bitM @ N ) ) ) ) ).

% eval_nat_numeral(2)
thf(fact_421_Suc3__eq__add__3,axiom,
    ! [N: nat] :
      ( ( suc @ ( suc @ ( suc @ N ) ) )
      = ( plus_plus_nat @ ( numeral_numeral_nat @ ( bit1 @ one ) ) @ N ) ) ).

% Suc3_eq_add_3
thf(fact_422_Suc__nat__number__of__add,axiom,
    ! [V: num,N: nat] :
      ( ( suc @ ( plus_plus_nat @ ( numeral_numeral_nat @ V ) @ N ) )
      = ( plus_plus_nat @ ( numeral_numeral_nat @ ( plus_plus_num @ V @ one ) ) @ N ) ) ).

% Suc_nat_number_of_add
thf(fact_423_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_424_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_425_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_426_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_427_int__induct,axiom,
    ! [P2: int > $o,K: int,I: int] :
      ( ( P2 @ K )
     => ( ! [I3: int] :
            ( ( ord_less_eq_int @ K @ I3 )
           => ( ( P2 @ I3 )
             => ( P2 @ ( plus_plus_int @ I3 @ one_one_int ) ) ) )
       => ( ! [I3: int] :
              ( ( ord_less_eq_int @ I3 @ K )
             => ( ( P2 @ I3 )
               => ( P2 @ ( minus_minus_int @ I3 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_induct
thf(fact_428_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_429_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_430_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_431_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_432_int__le__induct,axiom,
    ! [I: int,K: int,P2: int > $o] :
      ( ( ord_less_eq_int @ I @ K )
     => ( ( P2 @ K )
       => ( ! [I3: int] :
              ( ( ord_less_eq_int @ I3 @ K )
             => ( ( P2 @ I3 )
               => ( P2 @ ( minus_minus_int @ I3 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_le_induct
thf(fact_433_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq_nat @ N @ N ) ).

% le_refl
thf(fact_434_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_435_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq_nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_436_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_437_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_438_Nat_Oex__has__greatest__nat,axiom,
    ! [P2: nat > $o,K: nat,B: nat] :
      ( ( P2 @ K )
     => ( ! [Y3: nat] :
            ( ( P2 @ Y3 )
           => ( ord_less_eq_nat @ Y3 @ B ) )
       => ? [X4: nat] :
            ( ( P2 @ X4 )
            & ! [Y6: nat] :
                ( ( P2 @ Y6 )
               => ( ord_less_eq_nat @ Y6 @ X4 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_439_verit__la__generic,axiom,
    ! [A: int,X: int] :
      ( ( ord_less_eq_int @ A @ X )
      | ( A = X )
      | ( ord_less_eq_int @ X @ A ) ) ).

% verit_la_generic
thf(fact_440_int__ge__induct,axiom,
    ! [K: int,I: int,P2: int > $o] :
      ( ( ord_less_eq_int @ K @ I )
     => ( ( P2 @ K )
       => ( ! [I3: int] :
              ( ( ord_less_eq_int @ K @ I3 )
             => ( ( P2 @ I3 )
               => ( P2 @ ( plus_plus_int @ I3 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_ge_induct
thf(fact_441_nat__numeral__diff__1,axiom,
    ! [V: num] :
      ( ( minus_minus_nat @ ( numeral_numeral_nat @ V ) @ one_one_nat )
      = ( nat2 @ ( minus_minus_int @ ( numeral_numeral_int @ V ) @ one_one_int ) ) ) ).

% nat_numeral_diff_1
thf(fact_442_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_443_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_444_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_445_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_446_minus__1__div__2__eq,axiom,
    ( ( divide_divide_int @ ( uminus_uminus_int @ one_one_int ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
    = ( uminus_uminus_int @ one_one_int ) ) ).

% minus_1_div_2_eq
thf(fact_447_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_448_dvd__1__iff__1,axiom,
    ! [M: nat] :
      ( ( dvd_dvd_nat @ M @ ( suc @ zero_zero_nat ) )
      = ( M
        = ( suc @ zero_zero_nat ) ) ) ).

% dvd_1_iff_1
thf(fact_449_dvd__1__left,axiom,
    ! [K: nat] : ( dvd_dvd_nat @ ( suc @ zero_zero_nat ) @ K ) ).

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

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

% bot_nat_0.extremum
thf(fact_452_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_453_Nat_Oadd__0__right,axiom,
    ! [M: nat] :
      ( ( plus_plus_nat @ M @ zero_zero_nat )
      = M ) ).

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

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

% diff_0_eq_0
thf(fact_456_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_457_le__zero__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

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

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

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

% double_zero_sym
thf(fact_461_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_462_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_463_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_464_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_465_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_466_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_467_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_468_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_469_add__eq__0__iff__both__eq__0,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( plus_plus_nat @ X @ Y )
        = zero_zero_nat )
      = ( ( X = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

% add_eq_0_iff_both_eq_0
thf(fact_470_zero__eq__add__iff__both__eq__0,axiom,
    ! [X: nat,Y: nat] :
      ( ( zero_zero_nat
        = ( plus_plus_nat @ X @ Y ) )
      = ( ( X = zero_zero_nat )
        & ( Y = zero_zero_nat ) ) ) ).

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

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

% add_0
thf(fact_473_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_474_diff__self,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ A @ A )
      = zero_zero_int ) ).

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

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

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

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

% diff_zero
thf(fact_479_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_480_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_481_add_Oinverse__neutral,axiom,
    ( ( uminus_uminus_int @ zero_zero_int )
    = zero_zero_int ) ).

% add.inverse_neutral
thf(fact_482_neg__0__equal__iff__equal,axiom,
    ! [A: int] :
      ( ( zero_zero_int
        = ( uminus_uminus_int @ A ) )
      = ( zero_zero_int = A ) ) ).

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

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

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

% neg_equal_zero
thf(fact_486_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_487_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_488_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_489_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_490_bits__div__by__1,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ A @ one_one_nat )
      = A ) ).

% bits_div_by_1
thf(fact_491_bits__div__by__1,axiom,
    ! [A: int] :
      ( ( divide_divide_int @ A @ one_one_int )
      = A ) ).

% bits_div_by_1
thf(fact_492_div__by__1,axiom,
    ! [A: nat] :
      ( ( divide_divide_nat @ A @ one_one_nat )
      = A ) ).

% div_by_1
thf(fact_493_div__by__1,axiom,
    ! [A: int] :
      ( ( divide_divide_int @ A @ one_one_int )
      = A ) ).

% div_by_1
thf(fact_494_dvd__minus__iff,axiom,
    ! [X: int,Y: int] :
      ( ( dvd_dvd_int @ X @ ( uminus_uminus_int @ Y ) )
      = ( dvd_dvd_int @ X @ Y ) ) ).

% dvd_minus_iff
thf(fact_495_minus__dvd__iff,axiom,
    ! [X: int,Y: int] :
      ( ( dvd_dvd_int @ ( uminus_uminus_int @ X ) @ Y )
      = ( dvd_dvd_int @ X @ Y ) ) ).

% minus_dvd_iff
thf(fact_496_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_497_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_498_nat__neg__numeral,axiom,
    ! [K: num] :
      ( ( nat2 @ ( uminus_uminus_int @ ( numeral_numeral_int @ K ) ) )
      = zero_zero_nat ) ).

% nat_neg_numeral
thf(fact_499_dbl__simps_I2_J,axiom,
    ( ( neg_numeral_dbl_int @ zero_zero_int )
    = zero_zero_int ) ).

% dbl_simps(2)
thf(fact_500_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_501_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_502_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_503_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_504_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_505_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_506_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_507_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_508_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_509_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_510_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_511_neg__less__eq__nonneg,axiom,
    ! [A: int] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ A ) @ A )
      = ( ord_less_eq_int @ zero_zero_int @ A ) ) ).

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

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

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

% neg_0_le_iff_le
thf(fact_515_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_516_diff__numeral__special_I9_J,axiom,
    ( ( minus_minus_int @ one_one_int @ one_one_int )
    = zero_zero_int ) ).

% diff_numeral_special(9)
thf(fact_517_ab__left__minus,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ A )
      = zero_zero_int ) ).

% ab_left_minus
thf(fact_518_add_Oright__inverse,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ A @ ( uminus_uminus_int @ A ) )
      = zero_zero_int ) ).

% add.right_inverse
thf(fact_519_verit__minus__simplify_I3_J,axiom,
    ! [B: int] :
      ( ( minus_minus_int @ zero_zero_int @ B )
      = ( uminus_uminus_int @ B ) ) ).

% verit_minus_simplify(3)
thf(fact_520_diff__0,axiom,
    ! [A: int] :
      ( ( minus_minus_int @ zero_zero_int @ A )
      = ( uminus_uminus_int @ A ) ) ).

% diff_0
thf(fact_521_div__self,axiom,
    ! [A: nat] :
      ( ( A != zero_zero_nat )
     => ( ( divide_divide_nat @ A @ A )
        = one_one_nat ) ) ).

% div_self
thf(fact_522_div__self,axiom,
    ! [A: int] :
      ( ( A != zero_zero_int )
     => ( ( divide_divide_int @ A @ A )
        = one_one_int ) ) ).

% div_self
thf(fact_523_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_524_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_525_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_526_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_527_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_528_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_529_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_530_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_531_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_532_Suc__0__div__numeral_I2_J,axiom,
    ! [N: num] :
      ( ( divide_divide_nat @ ( suc @ zero_zero_nat ) @ ( numeral_numeral_nat @ ( bit0 @ N ) ) )
      = zero_zero_nat ) ).

% Suc_0_div_numeral(2)
thf(fact_533_Suc__0__div__numeral_I3_J,axiom,
    ! [N: num] :
      ( ( divide_divide_nat @ ( suc @ zero_zero_nat ) @ ( numeral_numeral_nat @ ( bit1 @ N ) ) )
      = zero_zero_nat ) ).

% Suc_0_div_numeral(3)
thf(fact_534_nat__1,axiom,
    ( ( nat2 @ one_one_int )
    = ( suc @ zero_zero_nat ) ) ).

% nat_1
thf(fact_535_sub__num__simps_I1_J,axiom,
    ( ( neg_numeral_sub_int @ one @ one )
    = zero_zero_int ) ).

% sub_num_simps(1)
thf(fact_536_nat__numeral,axiom,
    ! [K: num] :
      ( ( nat2 @ ( numeral_numeral_int @ K ) )
      = ( numeral_numeral_nat @ K ) ) ).

% nat_numeral
thf(fact_537_dbl__inc__simps_I2_J,axiom,
    ( ( neg_nu5851722552734809277nc_int @ zero_zero_int )
    = one_one_int ) ).

% dbl_inc_simps(2)
thf(fact_538_add__neg__numeral__special_I8_J,axiom,
    ( ( plus_plus_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int )
    = zero_zero_int ) ).

% add_neg_numeral_special(8)
thf(fact_539_add__neg__numeral__special_I7_J,axiom,
    ( ( plus_plus_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) )
    = zero_zero_int ) ).

% add_neg_numeral_special(7)
thf(fact_540_diff__numeral__special_I12_J,axiom,
    ( ( minus_minus_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ one_one_int ) )
    = zero_zero_int ) ).

% diff_numeral_special(12)
thf(fact_541_even__Suc__div__two,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( divide_divide_nat @ ( suc @ N ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( divide_divide_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% even_Suc_div_two
thf(fact_542_odd__Suc__div__two,axiom,
    ! [N: nat] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( divide_divide_nat @ ( suc @ N ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( suc @ ( divide_divide_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ) ).

% odd_Suc_div_two
thf(fact_543_even__Suc,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( suc @ N ) )
      = ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ) ).

% even_Suc
thf(fact_544_even__Suc__Suc__iff,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( suc @ ( suc @ N ) ) )
      = ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ).

% even_Suc_Suc_iff
thf(fact_545_Suc__0__div__numeral_I1_J,axiom,
    ( ( divide_divide_nat @ ( suc @ zero_zero_nat ) @ ( numeral_numeral_nat @ one ) )
    = one_one_nat ) ).

% Suc_0_div_numeral(1)
thf(fact_546_dbl__dec__simps_I2_J,axiom,
    ( ( neg_nu3811975205180677377ec_int @ zero_zero_int )
    = ( uminus_uminus_int @ one_one_int ) ) ).

% dbl_dec_simps(2)
thf(fact_547_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_548_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_549_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_550_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_551_odd__Suc__minus__one,axiom,
    ! [N: nat] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ ( suc @ zero_zero_nat ) ) )
        = N ) ) ).

% odd_Suc_minus_one
thf(fact_552_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_553_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_554_diff__nat__numeral,axiom,
    ! [V: num,V2: num] :
      ( ( minus_minus_nat @ ( numeral_numeral_nat @ V ) @ ( numeral_numeral_nat @ V2 ) )
      = ( nat2 @ ( minus_minus_int @ ( numeral_numeral_int @ V ) @ ( numeral_numeral_int @ V2 ) ) ) ) ).

% diff_nat_numeral
thf(fact_555_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_556_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_557_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_558_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_559_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_560_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_561_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_562_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_563_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_564_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_565_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_566_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_567_not__is__unit__0,axiom,
    ~ ( dvd_dvd_nat @ zero_zero_nat @ one_one_nat ) ).

% not_is_unit_0
thf(fact_568_not__is__unit__0,axiom,
    ~ ( dvd_dvd_int @ zero_zero_int @ one_one_int ) ).

% not_is_unit_0
thf(fact_569_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_570_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_571_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_572_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_573_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_574_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_575_unit__div__eq__0__iff,axiom,
    ! [B: nat,A: nat] :
      ( ( dvd_dvd_nat @ B @ one_one_nat )
     => ( ( ( divide_divide_nat @ A @ B )
          = zero_zero_nat )
        = ( A = zero_zero_nat ) ) ) ).

% unit_div_eq_0_iff
thf(fact_576_unit__div__eq__0__iff,axiom,
    ! [B: int,A: int] :
      ( ( dvd_dvd_int @ B @ one_one_int )
     => ( ( ( divide_divide_int @ A @ B )
          = zero_zero_int )
        = ( A = zero_zero_int ) ) ) ).

% unit_div_eq_0_iff
thf(fact_577_dvd__div__neg,axiom,
    ! [B: int,A: int] :
      ( ( dvd_dvd_int @ B @ A )
     => ( ( divide_divide_int @ A @ ( uminus_uminus_int @ B ) )
        = ( uminus_uminus_int @ ( divide_divide_int @ A @ B ) ) ) ) ).

% dvd_div_neg
thf(fact_578_dvd__neg__div,axiom,
    ! [B: int,A: int] :
      ( ( dvd_dvd_int @ B @ A )
     => ( ( divide_divide_int @ ( uminus_uminus_int @ A ) @ B )
        = ( uminus_uminus_int @ ( divide_divide_int @ A @ B ) ) ) ) ).

% dvd_neg_div
thf(fact_579_zero__reorient,axiom,
    ! [X: nat] :
      ( ( zero_zero_nat = X )
      = ( X = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_580_zero__reorient,axiom,
    ! [X: int] :
      ( ( zero_zero_int = X )
      = ( X = zero_zero_int ) ) ).

% zero_reorient
thf(fact_581_nat__zero__as__int,axiom,
    ( zero_zero_nat
    = ( nat2 @ zero_zero_int ) ) ).

% nat_zero_as_int
thf(fact_582_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_583_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_584_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_585_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_586_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_587_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_588_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_589_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_590_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_591_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_592_one__dvd,axiom,
    ! [A: int] : ( dvd_dvd_int @ one_one_int @ A ) ).

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

% one_dvd
thf(fact_594_dvd__diff,axiom,
    ! [X: int,Y: int,Z: int] :
      ( ( dvd_dvd_int @ X @ Y )
     => ( ( dvd_dvd_int @ X @ Z )
       => ( dvd_dvd_int @ X @ ( minus_minus_int @ Y @ Z ) ) ) ) ).

% dvd_diff
thf(fact_595_even__nat__iff,axiom,
    ! [K: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ K )
     => ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( nat2 @ K ) )
        = ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ K ) ) ) ).

% even_nat_iff
thf(fact_596_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_597_le__numeral__extra_I3_J,axiom,
    ord_less_eq_nat @ zero_zero_nat @ zero_zero_nat ).

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

% le_numeral_extra(3)
thf(fact_599_zero__le,axiom,
    ! [X: nat] : ( ord_less_eq_nat @ zero_zero_nat @ X ) ).

% zero_le
thf(fact_600_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_601_zero__neq__numeral,axiom,
    ! [N: num] :
      ( zero_zero_int
     != ( numeral_numeral_int @ N ) ) ).

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

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

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

% verit_sum_simplify
thf(fact_605_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_606_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_607_add_Ocomm__neutral,axiom,
    ! [A: nat] :
      ( ( plus_plus_nat @ A @ zero_zero_nat )
      = A ) ).

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

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

% add.group_left_neutral
thf(fact_610_zero__neq__one,axiom,
    zero_zero_nat != one_one_nat ).

% zero_neq_one
thf(fact_611_zero__neq__one,axiom,
    zero_zero_int != one_one_int ).

% zero_neq_one
thf(fact_612_eq__iff__diff__eq__0,axiom,
    ( ( ^ [Y4: int,Z2: int] : ( Y4 = Z2 ) )
    = ( ^ [A2: int,B2: int] :
          ( ( minus_minus_int @ A2 @ B2 )
          = zero_zero_int ) ) ) ).

% eq_iff_diff_eq_0
thf(fact_613_nat_Odistinct_I1_J,axiom,
    ! [X2: nat] :
      ( zero_zero_nat
     != ( suc @ X2 ) ) ).

% nat.distinct(1)
thf(fact_614_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_615_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_616_nat_OdiscI,axiom,
    ! [Nat: nat,X2: nat] :
      ( ( Nat
        = ( suc @ X2 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_617_old_Onat_Oexhaust,axiom,
    ! [Y: nat] :
      ( ( Y != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_618_nat__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( P2 @ N2 )
           => ( P2 @ ( suc @ N2 ) ) )
       => ( P2 @ N ) ) ) ).

% nat_induct
thf(fact_619_diff__induct,axiom,
    ! [P2: nat > nat > $o,M: nat,N: nat] :
      ( ! [X4: nat] : ( P2 @ X4 @ zero_zero_nat )
     => ( ! [Y3: nat] : ( P2 @ zero_zero_nat @ ( suc @ Y3 ) )
       => ( ! [X4: nat,Y3: nat] :
              ( ( P2 @ X4 @ Y3 )
             => ( P2 @ ( suc @ X4 ) @ ( suc @ Y3 ) ) )
         => ( P2 @ M @ N ) ) ) ) ).

% diff_induct
thf(fact_620_zero__induct,axiom,
    ! [P2: nat > $o,K: nat] :
      ( ( P2 @ K )
     => ( ! [N2: nat] :
            ( ( P2 @ ( suc @ N2 ) )
           => ( P2 @ N2 ) )
       => ( P2 @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_621_Suc__neq__Zero,axiom,
    ! [M: nat] :
      ( ( suc @ M )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_622_Zero__neq__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_neq_Suc
thf(fact_623_Zero__not__Suc,axiom,
    ! [M: nat] :
      ( zero_zero_nat
     != ( suc @ M ) ) ).

% Zero_not_Suc
thf(fact_624_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M2: nat] :
          ( N
          = ( suc @ M2 ) ) ) ).

% not0_implies_Suc
thf(fact_625_row__exec_Ocases,axiom,
    ! [X: nat] :
      ( ( X != zero_zero_nat )
     => ~ ! [V3: nat] :
            ( X
           != ( suc @ V3 ) ) ) ).

% row_exec.cases
thf(fact_626_board__exec__aux_Ocases,axiom,
    ! [X: produc9133624956312949779et_int] :
      ( ! [M6: set_int] :
          ( X
         != ( produc29655638201817675et_int @ zero_zero_nat @ M6 ) )
     => ~ ! [V3: nat,M6: set_int] :
            ( X
           != ( produc29655638201817675et_int @ ( suc @ V3 ) @ M6 ) ) ) ).

% board_exec_aux.cases
thf(fact_627_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq_nat @ N @ zero_zero_nat )
      = ( N = zero_zero_nat ) ) ).

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

% less_eq_nat.simps(1)
thf(fact_631_plus__nat_Oadd__0,axiom,
    ! [N: nat] :
      ( ( plus_plus_nat @ zero_zero_nat @ N )
      = N ) ).

% plus_nat.add_0
thf(fact_632_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_633_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_634_minus__nat_Odiff__0,axiom,
    ! [M: nat] :
      ( ( minus_minus_nat @ M @ zero_zero_nat )
      = M ) ).

% minus_nat.diff_0
thf(fact_635_plus__int__code_I1_J,axiom,
    ! [K: int] :
      ( ( plus_plus_int @ K @ zero_zero_int )
      = K ) ).

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

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

% minus_int_code(1)
thf(fact_638_minus__int__code_I2_J,axiom,
    ! [L: int] :
      ( ( minus_minus_int @ zero_zero_int @ L )
      = ( uminus_uminus_int @ L ) ) ).

% minus_int_code(2)
thf(fact_639_bit__eq__rec,axiom,
    ( ( ^ [Y4: nat,Z2: nat] : ( Y4 = Z2 ) )
    = ( ^ [A2: nat,B2: nat] :
          ( ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ A2 )
            = ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ B2 ) )
          & ( ( divide_divide_nat @ A2 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
            = ( divide_divide_nat @ B2 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ) ) ).

% bit_eq_rec
thf(fact_640_bit__eq__rec,axiom,
    ( ( ^ [Y4: int,Z2: int] : ( Y4 = Z2 ) )
    = ( ^ [A2: int,B2: int] :
          ( ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A2 )
            = ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ B2 ) )
          & ( ( divide_divide_int @ A2 @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
            = ( divide_divide_int @ B2 @ ( numeral_numeral_int @ ( bit0 @ one ) ) ) ) ) ) ) ).

% bit_eq_rec
thf(fact_641_even__zero,axiom,
    dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ zero_zero_int ).

% even_zero
thf(fact_642_even__zero,axiom,
    dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ zero_zero_nat ).

% even_zero
thf(fact_643_nat__add__distrib,axiom,
    ! [Z: int,Z4: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z )
     => ( ( ord_less_eq_int @ zero_zero_int @ Z4 )
       => ( ( nat2 @ ( plus_plus_int @ Z @ Z4 ) )
          = ( plus_plus_nat @ ( nat2 @ Z ) @ ( nat2 @ Z4 ) ) ) ) ) ).

% nat_add_distrib
thf(fact_644_iszero__0,axiom,
    ring_1_iszero_int @ zero_zero_int ).

% iszero_0
thf(fact_645_iszero__def,axiom,
    ( ring_1_iszero_int
    = ( ^ [Z5: int] : ( Z5 = zero_zero_int ) ) ) ).

% iszero_def
thf(fact_646_nat__diff__distrib_H,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y )
       => ( ( nat2 @ ( minus_minus_int @ X @ Y ) )
          = ( minus_minus_nat @ ( nat2 @ X ) @ ( nat2 @ Y ) ) ) ) ) ).

% nat_diff_distrib'
thf(fact_647_nat__diff__distrib,axiom,
    ! [Z4: int,Z: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z4 )
     => ( ( ord_less_eq_int @ Z4 @ Z )
       => ( ( nat2 @ ( minus_minus_int @ Z @ Z4 ) )
          = ( minus_minus_nat @ ( nat2 @ Z ) @ ( nat2 @ Z4 ) ) ) ) ) ).

% nat_diff_distrib
thf(fact_648_nat__2,axiom,
    ( ( nat2 @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
    = ( suc @ ( suc @ zero_zero_nat ) ) ) ).

% nat_2
thf(fact_649_Suc__nat__eq__nat__zadd1,axiom,
    ! [Z: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ Z )
     => ( ( suc @ ( nat2 @ Z ) )
        = ( nat2 @ ( plus_plus_int @ one_one_int @ Z ) ) ) ) ).

% Suc_nat_eq_nat_zadd1
thf(fact_650_nat__numeral__as__int,axiom,
    ( numeral_numeral_nat
    = ( ^ [I5: num] : ( nat2 @ ( numeral_numeral_int @ I5 ) ) ) ) ).

% nat_numeral_as_int
thf(fact_651_nat__one__as__int,axiom,
    ( one_one_nat
    = ( nat2 @ one_one_int ) ) ).

% nat_one_as_int
thf(fact_652_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_653_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_654_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_655_zero__le__numeral,axiom,
    ! [N: num] : ( ord_less_eq_nat @ zero_zero_nat @ ( numeral_numeral_nat @ N ) ) ).

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

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

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

% not_numeral_le_zero
thf(fact_659_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_660_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_661_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_662_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_663_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_664_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_665_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_666_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_667_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_668_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_669_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_670_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_671_add__nonneg__eq__0__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ( ( plus_plus_nat @ X @ Y )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_672_add__nonneg__eq__0__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y )
       => ( ( ( plus_plus_int @ X @ Y )
            = zero_zero_int )
          = ( ( X = zero_zero_int )
            & ( Y = zero_zero_int ) ) ) ) ) ).

% add_nonneg_eq_0_iff
thf(fact_673_add__nonpos__eq__0__iff,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ X @ zero_zero_nat )
     => ( ( ord_less_eq_nat @ Y @ zero_zero_nat )
       => ( ( ( plus_plus_nat @ X @ Y )
            = zero_zero_nat )
          = ( ( X = zero_zero_nat )
            & ( Y = zero_zero_nat ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_674_add__nonpos__eq__0__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_eq_int @ X @ zero_zero_int )
     => ( ( ord_less_eq_int @ Y @ zero_zero_int )
       => ( ( ( plus_plus_int @ X @ Y )
            = zero_zero_int )
          = ( ( X = zero_zero_int )
            & ( Y = zero_zero_int ) ) ) ) ) ).

% add_nonpos_eq_0_iff
thf(fact_675_not__one__le__zero,axiom,
    ~ ( ord_less_eq_nat @ one_one_nat @ zero_zero_nat ) ).

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

% not_one_le_zero
thf(fact_677_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_678_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_679_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_680_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_681_le__iff__diff__le__0,axiom,
    ( ord_less_eq_int
    = ( ^ [A2: int,B2: int] : ( ord_less_eq_int @ ( minus_minus_int @ A2 @ B2 ) @ zero_zero_int ) ) ) ).

% le_iff_diff_le_0
thf(fact_682_zero__neq__neg__numeral,axiom,
    ! [N: num] :
      ( zero_zero_int
     != ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) ) ).

% zero_neq_neg_numeral
thf(fact_683_neg__eq__iff__add__eq__0,axiom,
    ! [A: int,B: int] :
      ( ( ( uminus_uminus_int @ A )
        = B )
      = ( ( plus_plus_int @ A @ B )
        = zero_zero_int ) ) ).

% neg_eq_iff_add_eq_0
thf(fact_684_eq__neg__iff__add__eq__0,axiom,
    ! [A: int,B: int] :
      ( ( A
        = ( uminus_uminus_int @ B ) )
      = ( ( plus_plus_int @ A @ B )
        = zero_zero_int ) ) ).

% eq_neg_iff_add_eq_0
thf(fact_685_add_Oinverse__unique,axiom,
    ! [A: int,B: int] :
      ( ( ( plus_plus_int @ A @ B )
        = zero_zero_int )
     => ( ( uminus_uminus_int @ A )
        = B ) ) ).

% add.inverse_unique
thf(fact_686_ab__group__add__class_Oab__left__minus,axiom,
    ! [A: int] :
      ( ( plus_plus_int @ ( uminus_uminus_int @ A ) @ A )
      = zero_zero_int ) ).

% ab_group_add_class.ab_left_minus
thf(fact_687_add__eq__0__iff,axiom,
    ! [A: int,B: int] :
      ( ( ( plus_plus_int @ A @ B )
        = zero_zero_int )
      = ( B
        = ( uminus_uminus_int @ A ) ) ) ).

% add_eq_0_iff
thf(fact_688_zero__neq__neg__one,axiom,
    ( zero_zero_int
   != ( uminus_uminus_int @ one_one_int ) ) ).

% zero_neq_neg_one
thf(fact_689_add__is__1,axiom,
    ! [M: nat,N: nat] :
      ( ( ( plus_plus_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% add_is_1
thf(fact_690_one__is__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( plus_plus_nat @ M @ N ) )
      = ( ( ( M
            = ( suc @ zero_zero_nat ) )
          & ( N = zero_zero_nat ) )
        | ( ( M = zero_zero_nat )
          & ( N
            = ( suc @ zero_zero_nat ) ) ) ) ) ).

% one_is_add
thf(fact_691_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_692_One__nat__def,axiom,
    ( one_one_nat
    = ( suc @ zero_zero_nat ) ) ).

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

% odd_nonzero
thf(fact_694_eq__numeral__iff__iszero_I9_J,axiom,
    ! [X: num] :
      ( ( ( numeral_numeral_int @ X )
        = zero_zero_int )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ X ) ) ) ).

% eq_numeral_iff_iszero(9)
thf(fact_695_eq__numeral__iff__iszero_I10_J,axiom,
    ! [Y: num] :
      ( ( zero_zero_int
        = ( numeral_numeral_int @ Y ) )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ Y ) ) ) ).

% eq_numeral_iff_iszero(10)
thf(fact_696_even__numeral,axiom,
    ! [N: num] : ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( numeral_numeral_int @ ( bit0 @ N ) ) ) ).

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

% even_numeral
thf(fact_698_numeral__Bit0__div__2,axiom,
    ! [N: num] :
      ( ( divide_divide_nat @ ( numeral_numeral_nat @ ( bit0 @ N ) ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( numeral_numeral_nat @ N ) ) ).

% numeral_Bit0_div_2
thf(fact_699_numeral__Bit0__div__2,axiom,
    ! [N: num] :
      ( ( divide_divide_int @ ( numeral_numeral_int @ ( bit0 @ N ) ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
      = ( numeral_numeral_int @ N ) ) ).

% numeral_Bit0_div_2
thf(fact_700_neg__numeral__le__zero,axiom,
    ! [N: num] : ( ord_less_eq_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) @ zero_zero_int ) ).

% neg_numeral_le_zero
thf(fact_701_not__zero__le__neg__numeral,axiom,
    ! [N: num] :
      ~ ( ord_less_eq_int @ zero_zero_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) ) ).

% not_zero_le_neg_numeral
thf(fact_702_le__minus__one__simps_I3_J,axiom,
    ~ ( ord_less_eq_int @ zero_zero_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% le_minus_one_simps(3)
thf(fact_703_le__minus__one__simps_I1_J,axiom,
    ord_less_eq_int @ ( uminus_uminus_int @ one_one_int ) @ zero_zero_int ).

% le_minus_one_simps(1)
thf(fact_704_numeral__1__eq__Suc__0,axiom,
    ( ( numeral_numeral_nat @ one )
    = ( suc @ zero_zero_nat ) ) ).

% numeral_1_eq_Suc_0
thf(fact_705_eq__numeral__iff__iszero_I12_J,axiom,
    ! [Y: num] :
      ( ( zero_zero_int
        = ( uminus_uminus_int @ ( numeral_numeral_int @ Y ) ) )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ Y ) ) ) ).

% eq_numeral_iff_iszero(12)
thf(fact_706_eq__numeral__iff__iszero_I11_J,axiom,
    ! [X: num] :
      ( ( ( uminus_uminus_int @ ( numeral_numeral_int @ X ) )
        = zero_zero_int )
      = ( ring_1_iszero_int @ ( numeral_numeral_int @ X ) ) ) ).

% eq_numeral_iff_iszero(11)
thf(fact_707_sub__non__positive,axiom,
    ! [N: num,M: num] :
      ( ( ord_less_eq_int @ ( neg_numeral_sub_int @ N @ M ) @ zero_zero_int )
      = ( ord_less_eq_num @ N @ M ) ) ).

% sub_non_positive
thf(fact_708_sub__non__negative,axiom,
    ! [N: num,M: num] :
      ( ( ord_less_eq_int @ zero_zero_int @ ( neg_numeral_sub_int @ N @ M ) )
      = ( ord_less_eq_num @ M @ N ) ) ).

% sub_non_negative
thf(fact_709_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_710_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_711_odd__one,axiom,
    ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ one_one_int ) ).

% odd_one
thf(fact_712_odd__one,axiom,
    ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ one_one_nat ) ).

% odd_one
thf(fact_713_even__minus,axiom,
    ! [A: int] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( uminus_uminus_int @ A ) )
      = ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ A ) ) ).

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

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

% odd_numeral
thf(fact_716_numeral__Bit1__div__2,axiom,
    ! [N: num] :
      ( ( divide_divide_nat @ ( numeral_numeral_nat @ ( bit1 @ N ) ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( numeral_numeral_nat @ N ) ) ).

% numeral_Bit1_div_2
thf(fact_717_numeral__Bit1__div__2,axiom,
    ! [N: num] :
      ( ( divide_divide_int @ ( numeral_numeral_int @ ( bit1 @ N ) ) @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
      = ( numeral_numeral_int @ N ) ) ).

% numeral_Bit1_div_2
thf(fact_718_odd__numeral__BitM,axiom,
    ! [W: num] :
      ~ ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( numeral_numeral_int @ ( bitM @ W ) ) ) ).

% odd_numeral_BitM
thf(fact_719_odd__numeral__BitM,axiom,
    ! [W: num] :
      ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( numeral_numeral_nat @ ( bitM @ W ) ) ) ).

% odd_numeral_BitM
thf(fact_720_numeral__2__eq__2,axiom,
    ( ( numeral_numeral_nat @ ( bit0 @ one ) )
    = ( suc @ ( suc @ zero_zero_nat ) ) ) ).

% numeral_2_eq_2
thf(fact_721_numeral__3__eq__3,axiom,
    ( ( numeral_numeral_nat @ ( bit1 @ one ) )
    = ( suc @ ( suc @ ( suc @ zero_zero_nat ) ) ) ) ).

% numeral_3_eq_3
thf(fact_722_add__eq__if,axiom,
    ( plus_plus_nat
    = ( ^ [M5: nat,N4: nat] : ( if_nat @ ( M5 = zero_zero_nat ) @ N4 @ ( suc @ ( plus_plus_nat @ ( minus_minus_nat @ M5 @ one_one_nat ) @ N4 ) ) ) ) ) ).

% add_eq_if
thf(fact_723_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_724_nat__induct2,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ zero_zero_nat )
     => ( ( P2 @ one_one_nat )
       => ( ! [N2: nat] :
              ( ( P2 @ N2 )
             => ( P2 @ ( plus_plus_nat @ N2 @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct2
thf(fact_725_div__Suc__eq__div__add3,axiom,
    ! [M: nat,N: nat] :
      ( ( divide_divide_nat @ M @ ( suc @ ( suc @ ( suc @ N ) ) ) )
      = ( divide_divide_nat @ M @ ( plus_plus_nat @ ( numeral_numeral_nat @ ( bit1 @ one ) ) @ N ) ) ) ).

% div_Suc_eq_div_add3
thf(fact_726_Suc__div__eq__add3__div__numeral,axiom,
    ! [M: nat,V: num] :
      ( ( divide_divide_nat @ ( suc @ ( suc @ ( suc @ M ) ) ) @ ( numeral_numeral_nat @ V ) )
      = ( divide_divide_nat @ ( plus_plus_nat @ ( numeral_numeral_nat @ ( bit1 @ one ) ) @ M ) @ ( numeral_numeral_nat @ V ) ) ) ).

% Suc_div_eq_add3_div_numeral
thf(fact_727_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_728_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_729_div2__Suc__Suc,axiom,
    ! [M: nat] :
      ( ( divide_divide_nat @ ( suc @ ( suc @ M ) ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( suc @ ( divide_divide_nat @ M @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% div2_Suc_Suc
thf(fact_730_div__minus__minus,axiom,
    ! [A: int,B: int] :
      ( ( divide_divide_int @ ( uminus_uminus_int @ A ) @ ( uminus_uminus_int @ B ) )
      = ( divide_divide_int @ A @ B ) ) ).

% div_minus_minus
thf(fact_731_div__minus1__right,axiom,
    ! [A: int] :
      ( ( divide_divide_int @ A @ ( uminus_uminus_int @ one_one_int ) )
      = ( uminus_uminus_int @ A ) ) ).

% div_minus1_right
thf(fact_732_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_733_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_734_dvd__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_nat @ M @ N )
     => ( ( dvd_dvd_nat @ N @ M )
       => ( M = N ) ) ) ).

% dvd_antisym
thf(fact_735_dvd__diff__commute,axiom,
    ! [A: int,C: int,B: int] :
      ( ( dvd_dvd_int @ A @ ( minus_minus_int @ C @ B ) )
      = ( dvd_dvd_int @ A @ ( minus_minus_int @ B @ C ) ) ) ).

% dvd_diff_commute
thf(fact_736_div__minus__right,axiom,
    ! [A: int,B: int] :
      ( ( divide_divide_int @ A @ ( uminus_uminus_int @ B ) )
      = ( divide_divide_int @ ( uminus_uminus_int @ A ) @ B ) ) ).

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

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

% div_plus_div_distrib_dvd_left
thf(fact_739_div__plus__div__distrib__dvd__right,axiom,
    ! [C: nat,B: nat,A: nat] :
      ( ( 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_plus_div_distrib_dvd_right
thf(fact_740_div__plus__div__distrib__dvd__right,axiom,
    ! [C: int,B: int,A: int] :
      ( ( 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_plus_div_distrib_dvd_right
thf(fact_741_div__add__self1,axiom,
    ! [B: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ B @ A ) @ B )
        = ( plus_plus_nat @ ( divide_divide_nat @ A @ B ) @ one_one_nat ) ) ) ).

% div_add_self1
thf(fact_742_div__add__self1,axiom,
    ! [B: int,A: int] :
      ( ( B != zero_zero_int )
     => ( ( divide_divide_int @ ( plus_plus_int @ B @ A ) @ B )
        = ( plus_plus_int @ ( divide_divide_int @ A @ B ) @ one_one_int ) ) ) ).

% div_add_self1
thf(fact_743_div__add__self2,axiom,
    ! [B: nat,A: nat] :
      ( ( B != zero_zero_nat )
     => ( ( divide_divide_nat @ ( plus_plus_nat @ A @ B ) @ B )
        = ( plus_plus_nat @ ( divide_divide_nat @ A @ B ) @ one_one_nat ) ) ) ).

% div_add_self2
thf(fact_744_div__add__self2,axiom,
    ! [B: int,A: int] :
      ( ( B != zero_zero_int )
     => ( ( divide_divide_int @ ( plus_plus_int @ A @ B ) @ B )
        = ( plus_plus_int @ ( divide_divide_int @ A @ B ) @ one_one_int ) ) ) ).

% div_add_self2
thf(fact_745_Suc__div__eq__add3__div,axiom,
    ! [M: nat,N: nat] :
      ( ( divide_divide_nat @ ( suc @ ( suc @ ( suc @ M ) ) ) @ N )
      = ( divide_divide_nat @ ( plus_plus_nat @ ( numeral_numeral_nat @ ( bit1 @ one ) ) @ M ) @ N ) ) ).

% Suc_div_eq_add3_div
thf(fact_746_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_747_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_748_minus__one__div__numeral,axiom,
    ! [N: num] :
      ( ( divide_divide_int @ ( uminus_uminus_int @ one_one_int ) @ ( numeral_numeral_int @ N ) )
      = ( uminus_uminus_int @ ( adjust_div @ ( unique5403075989570733136od_int @ one @ N ) ) ) ) ).

% minus_one_div_numeral
thf(fact_749_one__div__minus__numeral,axiom,
    ! [N: num] :
      ( ( divide_divide_int @ one_one_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( uminus_uminus_int @ ( adjust_div @ ( unique5403075989570733136od_int @ one @ N ) ) ) ) ).

% one_div_minus_numeral
thf(fact_750_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_751_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_752_divides__aux__eq,axiom,
    ! [Q: nat,R2: nat] :
      ( ( unique5332122412489317741ux_nat @ ( product_Pair_nat_nat @ Q @ R2 ) )
      = ( R2 = zero_zero_nat ) ) ).

% divides_aux_eq
thf(fact_753_divides__aux__eq,axiom,
    ! [Q: int,R2: int] :
      ( ( unique5329631941980267465ux_int @ ( product_Pair_int_int @ Q @ R2 ) )
      = ( R2 = zero_zero_int ) ) ).

% divides_aux_eq
thf(fact_754_numeral__div__minus__numeral,axiom,
    ! [M: num,N: num] :
      ( ( divide_divide_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( uminus_uminus_int @ ( adjust_div @ ( unique5403075989570733136od_int @ M @ N ) ) ) ) ).

% numeral_div_minus_numeral
thf(fact_755_minus__numeral__div__numeral,axiom,
    ! [M: num,N: num] :
      ( ( divide_divide_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( numeral_numeral_int @ N ) )
      = ( uminus_uminus_int @ ( adjust_div @ ( unique5403075989570733136od_int @ M @ N ) ) ) ) ).

% minus_numeral_div_numeral
thf(fact_756_num_Osize__gen_I3_J,axiom,
    ! [X32: num] :
      ( ( size_num @ ( bit1 @ X32 ) )
      = ( plus_plus_nat @ ( size_num @ X32 ) @ ( suc @ zero_zero_nat ) ) ) ).

% num.size_gen(3)
thf(fact_757_num_Osize__gen_I2_J,axiom,
    ! [X2: num] :
      ( ( size_num @ ( bit0 @ X2 ) )
      = ( plus_plus_nat @ ( size_num @ X2 ) @ ( suc @ zero_zero_nat ) ) ) ).

% num.size_gen(2)
thf(fact_758_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_759_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_760_not__gr__zero,axiom,
    ! [N: nat] :
      ( ( ~ ( ord_less_nat @ zero_zero_nat @ N ) )
      = ( N = zero_zero_nat ) ) ).

% not_gr_zero
thf(fact_761_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_762_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_763_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_764_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_765_neg__less__iff__less,axiom,
    ! [B: int,A: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) )
      = ( ord_less_int @ A @ B ) ) ).

% neg_less_iff_less
thf(fact_766_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_767_semiring__norm_I75_J,axiom,
    ! [M: num] :
      ~ ( ord_less_num @ M @ one ) ).

% semiring_norm(75)
thf(fact_768_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_769_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_770_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_771_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_772_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_773_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_774_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_775_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_776_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_777_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_778_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_779_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_780_neg__less__0__iff__less,axiom,
    ! [A: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A ) @ zero_zero_int )
      = ( ord_less_int @ zero_zero_int @ A ) ) ).

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

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

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

% less_neg_neg
thf(fact_784_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_785_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_786_semiring__norm_I76_J,axiom,
    ! [N: num] : ( ord_less_num @ one @ ( bit0 @ N ) ) ).

% semiring_norm(76)
thf(fact_787_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_788_semiring__norm_I77_J,axiom,
    ! [N: num] : ( ord_less_num @ one @ ( bit1 @ N ) ) ).

% semiring_norm(77)
thf(fact_789_neg__numeral__less__iff,axiom,
    ! [M: num,N: num] :
      ( ( ord_less_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) )
      = ( ord_less_num @ N @ M ) ) ).

% neg_numeral_less_iff
thf(fact_790_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_791_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_792_neg__numeral__less__neg__one__iff,axiom,
    ! [M: num] :
      ( ( ord_less_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( uminus_uminus_int @ one_one_int ) )
      = ( M != one ) ) ).

% neg_numeral_less_neg_one_iff
thf(fact_793_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_794_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_795_sub__positive,axiom,
    ! [N: num,M: num] :
      ( ( ord_less_int @ zero_zero_int @ ( neg_numeral_sub_int @ N @ M ) )
      = ( ord_less_num @ M @ N ) ) ).

% sub_positive
thf(fact_796_sub__negative,axiom,
    ! [N: num,M: num] :
      ( ( ord_less_int @ ( neg_numeral_sub_int @ N @ M ) @ zero_zero_int )
      = ( ord_less_num @ N @ M ) ) ).

% sub_negative
thf(fact_797_verit__comp__simplify1_I3_J,axiom,
    ! [B4: num,A4: num] :
      ( ( ~ ( ord_less_eq_num @ B4 @ A4 ) )
      = ( ord_less_num @ A4 @ B4 ) ) ).

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

% verit_comp_simplify1(3)
thf(fact_799_verit__comp__simplify1_I3_J,axiom,
    ! [B4: int,A4: int] :
      ( ( ~ ( ord_less_eq_int @ B4 @ A4 ) )
      = ( ord_less_int @ A4 @ B4 ) ) ).

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

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

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

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

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

% less_numeral_extra(3)
thf(fact_806_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_807_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_808_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_809_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_810_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_811_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_812_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_813_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_814_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_815_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_816_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_817_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_818_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_819_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_820_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_821_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_822_less__numeral__extra_I4_J,axiom,
    ~ ( ord_less_nat @ one_one_nat @ one_one_nat ) ).

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

% less_numeral_extra(4)
thf(fact_824_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_825_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_826_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_827_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_828_verit__negate__coefficient_I2_J,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ A @ B )
     => ( ord_less_int @ ( uminus_uminus_int @ B ) @ ( uminus_uminus_int @ A ) ) ) ).

% verit_negate_coefficient(2)
thf(fact_829_minus__less__iff,axiom,
    ! [A: int,B: int] :
      ( ( ord_less_int @ ( uminus_uminus_int @ A ) @ B )
      = ( ord_less_int @ ( uminus_uminus_int @ B ) @ A ) ) ).

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

% less_minus_iff
thf(fact_831_verit__comp__simplify1_I1_J,axiom,
    ! [A: num] :
      ~ ( ord_less_num @ A @ A ) ).

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

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

% verit_comp_simplify1(1)
thf(fact_834_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > num,N: nat,M: nat] :
      ( ! [N2: nat] : ( ord_less_num @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_num @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_835_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > nat,N: nat,M: nat] :
      ( ! [N2: nat] : ( ord_less_nat @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_836_lift__Suc__mono__less__iff,axiom,
    ! [F: nat > int,N: nat,M: nat] :
      ( ! [N2: nat] : ( ord_less_int @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_int @ ( F @ N ) @ ( F @ M ) )
        = ( ord_less_nat @ N @ M ) ) ) ).

% lift_Suc_mono_less_iff
thf(fact_837_lift__Suc__mono__less,axiom,
    ! [F: nat > num,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_num @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ N @ N3 )
       => ( ord_less_num @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_838_lift__Suc__mono__less,axiom,
    ! [F: nat > nat,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_nat @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ N @ N3 )
       => ( ord_less_nat @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

% lift_Suc_mono_less
thf(fact_839_lift__Suc__mono__less,axiom,
    ! [F: nat > int,N: nat,N3: nat] :
      ( ! [N2: nat] : ( ord_less_int @ ( F @ N2 ) @ ( F @ ( suc @ N2 ) ) )
     => ( ( ord_less_nat @ N @ N3 )
       => ( ord_less_int @ ( F @ N ) @ ( F @ N3 ) ) ) ) ).

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

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

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

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

% not_numeral_less_zero
thf(fact_844_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_845_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_846_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_847_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_848_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_849_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_850_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_851_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_852_add__less__zeroD,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_int @ ( plus_plus_int @ X @ Y ) @ zero_zero_int )
     => ( ( ord_less_int @ X @ zero_zero_int )
        | ( ord_less_int @ Y @ zero_zero_int ) ) ) ).

% add_less_zeroD
thf(fact_853_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_854_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_855_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_856_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_857_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_858_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_859_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_860_zero__less__one,axiom,
    ord_less_nat @ zero_zero_nat @ one_one_nat ).

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

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

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

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

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

% less_numeral_extra(1)
thf(fact_866_less__iff__diff__less__0,axiom,
    ( ord_less_int
    = ( ^ [A2: int,B2: int] : ( ord_less_int @ ( minus_minus_int @ A2 @ B2 ) @ zero_zero_int ) ) ) ).

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

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

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

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

% less_add_one
thf(fact_871_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_872_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_873_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_874_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_875_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_876_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_877_not__numeral__less__neg__numeral,axiom,
    ! [M: num,N: num] :
      ~ ( ord_less_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) ) ).

% not_numeral_less_neg_numeral
thf(fact_878_neg__numeral__less__numeral,axiom,
    ! [M: num,N: num] : ( ord_less_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ ( numeral_numeral_int @ N ) ) ).

% neg_numeral_less_numeral
thf(fact_879_less__minus__one__simps_I2_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ one_one_int ).

% less_minus_one_simps(2)
thf(fact_880_less__minus__one__simps_I4_J,axiom,
    ~ ( ord_less_int @ one_one_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% less_minus_one_simps(4)
thf(fact_881_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_882_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_883_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_884_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_885_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_886_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_887_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_888_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_889_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_890_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_891_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_892_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_893_zero__less__two,axiom,
    ord_less_nat @ zero_zero_nat @ ( plus_plus_nat @ one_one_nat @ one_one_nat ) ).

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

% zero_less_two
thf(fact_895_not__zero__less__neg__numeral,axiom,
    ! [N: num] :
      ~ ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) ) ).

% not_zero_less_neg_numeral
thf(fact_896_neg__numeral__less__zero,axiom,
    ! [N: num] : ( ord_less_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ N ) ) @ zero_zero_int ) ).

% neg_numeral_less_zero
thf(fact_897_less__minus__one__simps_I1_J,axiom,
    ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ zero_zero_int ).

% less_minus_one_simps(1)
thf(fact_898_less__minus__one__simps_I3_J,axiom,
    ~ ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ one_one_int ) ) ).

% less_minus_one_simps(3)
thf(fact_899_neg__numeral__less__one,axiom,
    ! [M: num] : ( ord_less_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) @ one_one_int ) ).

% neg_numeral_less_one
thf(fact_900_neg__one__less__numeral,axiom,
    ! [M: num] : ( ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ ( numeral_numeral_int @ M ) ) ).

% neg_one_less_numeral
thf(fact_901_not__numeral__less__neg__one,axiom,
    ! [M: num] :
      ~ ( ord_less_int @ ( numeral_numeral_int @ M ) @ ( uminus_uminus_int @ one_one_int ) ) ).

% not_numeral_less_neg_one
thf(fact_902_not__one__less__neg__numeral,axiom,
    ! [M: num] :
      ~ ( ord_less_int @ one_one_int @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) ) ).

% not_one_less_neg_numeral
thf(fact_903_not__neg__one__less__neg__numeral,axiom,
    ! [M: num] :
      ~ ( ord_less_int @ ( uminus_uminus_int @ one_one_int ) @ ( uminus_uminus_int @ ( numeral_numeral_int @ M ) ) ) ).

% not_neg_one_less_neg_numeral
thf(fact_904_num_Osize__gen_I1_J,axiom,
    ( ( size_num @ one )
    = zero_zero_nat ) ).

% num.size_gen(1)
thf(fact_905_divmod__divmod__step,axiom,
    ( unique5405566460079783412od_nat
    = ( ^ [M5: num,N4: num] : ( if_Pro6206227464963214023at_nat @ ( ord_less_num @ M5 @ N4 ) @ ( product_Pair_nat_nat @ zero_zero_nat @ ( numeral_numeral_nat @ M5 ) ) @ ( unique4036640087844771520ep_nat @ ( numeral_numeral_nat @ N4 ) @ ( unique5405566460079783412od_nat @ M5 @ ( bit0 @ N4 ) ) ) ) ) ) ).

% divmod_divmod_step
thf(fact_906_divmod__divmod__step,axiom,
    ( unique5403075989570733136od_int
    = ( ^ [M5: num,N4: num] : ( if_Pro3027730157355071871nt_int @ ( ord_less_num @ M5 @ N4 ) @ ( product_Pair_int_int @ zero_zero_int @ ( numeral_numeral_int @ M5 ) ) @ ( unique4034149617335721244ep_int @ ( numeral_numeral_int @ N4 ) @ ( unique5403075989570733136od_int @ M5 @ ( bit0 @ N4 ) ) ) ) ) ) ).

% divmod_divmod_step
thf(fact_907_minf_I10_J,axiom,
    ! [D: nat,S: nat] :
    ? [Z3: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ X5 @ Z3 )
     => ( ( ~ ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) )
        = ( ~ ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) ) ) ) ).

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

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

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

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

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

% pinf(10)
thf(fact_913_Suc__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_less_eq
thf(fact_914_Suc__mono,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) ) ) ).

% Suc_mono
thf(fact_915_lessI,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( suc @ N ) ) ).

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

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

% less_nat_zero_code
thf(fact_919_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_920_less__Suc0,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( suc @ zero_zero_nat ) )
      = ( N = zero_zero_nat ) ) ).

% less_Suc0
thf(fact_921_zero__less__Suc,axiom,
    ! [N: nat] : ( ord_less_nat @ zero_zero_nat @ ( suc @ N ) ) ).

% zero_less_Suc
thf(fact_922_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_923_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_924_less__one,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ one_one_nat )
      = ( N = zero_zero_nat ) ) ).

% less_one
thf(fact_925_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_926_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_927_Suc__pred,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ ( suc @ zero_zero_nat ) ) )
        = N ) ) ).

% Suc_pred
thf(fact_928_Suc__diff__1,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( suc @ ( minus_minus_nat @ N @ one_one_nat ) )
        = N ) ) ).

% Suc_diff_1
thf(fact_929_one__less__nat__eq,axiom,
    ! [Z: int] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ ( nat2 @ Z ) )
      = ( ord_less_int @ one_one_int @ Z ) ) ).

% one_less_nat_eq
thf(fact_930_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_931_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_932_bot__nat__0_Oextremum__strict,axiom,
    ! [A: nat] :
      ~ ( ord_less_nat @ A @ zero_zero_nat ) ).

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

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

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

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

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

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

% infinite_descent0
thf(fact_939_not__less__less__Suc__eq,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% not_less_less_Suc_eq
thf(fact_940_strict__inc__induct,axiom,
    ! [I: nat,J: nat,P2: nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I3: nat] :
            ( ( J
              = ( suc @ I3 ) )
           => ( P2 @ I3 ) )
       => ( ! [I3: nat] :
              ( ( ord_less_nat @ I3 @ J )
             => ( ( P2 @ ( suc @ I3 ) )
               => ( P2 @ I3 ) ) )
         => ( P2 @ I ) ) ) ) ).

% strict_inc_induct
thf(fact_941_less__Suc__induct,axiom,
    ! [I: nat,J: nat,P2: nat > nat > $o] :
      ( ( ord_less_nat @ I @ J )
     => ( ! [I3: nat] : ( P2 @ I3 @ ( suc @ I3 ) )
       => ( ! [I3: nat,J3: nat,K3: nat] :
              ( ( ord_less_nat @ I3 @ J3 )
             => ( ( ord_less_nat @ J3 @ K3 )
               => ( ( P2 @ I3 @ J3 )
                 => ( ( P2 @ J3 @ K3 )
                   => ( P2 @ I3 @ K3 ) ) ) ) )
         => ( P2 @ I @ J ) ) ) ) ).

% less_Suc_induct
thf(fact_942_less__trans__Suc,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_nat @ I @ J )
     => ( ( ord_less_nat @ J @ K )
       => ( ord_less_nat @ ( suc @ I ) @ K ) ) ) ).

% less_trans_Suc
thf(fact_943_Suc__less__SucD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ ( suc @ N ) )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_less_SucD
thf(fact_944_less__antisym,axiom,
    ! [N: nat,M: nat] :
      ( ~ ( ord_less_nat @ N @ M )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
       => ( M = N ) ) ) ).

% less_antisym
thf(fact_945_Suc__less__eq2,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ ( suc @ N ) @ M )
      = ( ? [M7: nat] :
            ( ( M
              = ( suc @ M7 ) )
            & ( ord_less_nat @ N @ M7 ) ) ) ) ).

% Suc_less_eq2
thf(fact_946_All__less__Suc,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
           => ( P2 @ I5 ) ) )
      = ( ( P2 @ N )
        & ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
           => ( P2 @ I5 ) ) ) ) ).

% All_less_Suc
thf(fact_947_not__less__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ~ ( ord_less_nat @ M @ N ) )
      = ( ord_less_nat @ N @ ( suc @ M ) ) ) ).

% not_less_eq
thf(fact_948_less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( ord_less_nat @ M @ N )
        | ( M = N ) ) ) ).

% less_Suc_eq
thf(fact_949_Ex__less__Suc,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
            & ( P2 @ I5 ) ) )
      = ( ( P2 @ N )
        | ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
            & ( P2 @ I5 ) ) ) ) ).

% Ex_less_Suc
thf(fact_950_less__SucI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% less_SucI
thf(fact_951_less__SucE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
     => ( ~ ( ord_less_nat @ M @ N )
       => ( M = N ) ) ) ).

% less_SucE
thf(fact_952_Suc__lessI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ( ( suc @ M )
         != N )
       => ( ord_less_nat @ ( suc @ M ) @ N ) ) ) ).

% Suc_lessI
thf(fact_953_Suc__lessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ ( suc @ I ) @ K )
     => ~ ! [J3: nat] :
            ( ( ord_less_nat @ I @ J3 )
           => ( K
             != ( suc @ J3 ) ) ) ) ).

% Suc_lessE
thf(fact_954_Suc__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_lessD
thf(fact_955_Nat_OlessE,axiom,
    ! [I: nat,K: nat] :
      ( ( ord_less_nat @ I @ K )
     => ( ( K
         != ( suc @ I ) )
       => ~ ! [J3: nat] :
              ( ( ord_less_nat @ I @ J3 )
             => ( K
               != ( suc @ J3 ) ) ) ) ) ).

% Nat.lessE
thf(fact_956_nat__less__le,axiom,
    ( ord_less_nat
    = ( ^ [M5: nat,N4: nat] :
          ( ( ord_less_eq_nat @ M5 @ N4 )
          & ( M5 != N4 ) ) ) ) ).

% nat_less_le
thf(fact_957_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_958_le__eq__less__or__eq,axiom,
    ( ord_less_eq_nat
    = ( ^ [M5: nat,N4: nat] :
          ( ( ord_less_nat @ M5 @ N4 )
          | ( M5 = N4 ) ) ) ) ).

% le_eq_less_or_eq
thf(fact_959_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_960_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_961_less__mono__imp__le__mono,axiom,
    ! [F: nat > nat,I: nat,J: nat] :
      ( ! [I3: nat,J3: nat] :
          ( ( ord_less_nat @ I3 @ J3 )
         => ( ord_less_nat @ ( F @ I3 ) @ ( F @ J3 ) ) )
     => ( ( ord_less_eq_nat @ I @ J )
       => ( ord_less_eq_nat @ ( F @ I ) @ ( F @ J ) ) ) ) ).

% less_mono_imp_le_mono
thf(fact_962_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_963_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_964_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_965_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_966_not__add__less2,axiom,
    ! [J: nat,I: nat] :
      ~ ( ord_less_nat @ ( plus_plus_nat @ J @ I ) @ I ) ).

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

% not_add_less1
thf(fact_968_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_969_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_970_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_971_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_972_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_973_less__not__refl,axiom,
    ! [N: nat] :
      ~ ( ord_less_nat @ N @ N ) ).

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

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

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

% less_irrefl_nat
thf(fact_977_nat__less__induct,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ! [N2: nat] :
          ( ! [M4: nat] :
              ( ( ord_less_nat @ M4 @ N2 )
             => ( P2 @ M4 ) )
         => ( P2 @ N2 ) )
     => ( P2 @ N ) ) ).

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

% infinite_descent
thf(fact_979_linorder__neqE__nat,axiom,
    ! [X: nat,Y: nat] :
      ( ( X != Y )
     => ( ~ ( ord_less_nat @ X @ Y )
       => ( ord_less_nat @ Y @ X ) ) ) ).

% linorder_neqE_nat
thf(fact_980_Ex__less__Suc2,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
            & ( P2 @ I5 ) ) )
      = ( ( P2 @ zero_zero_nat )
        | ? [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
            & ( P2 @ ( suc @ I5 ) ) ) ) ) ).

% Ex_less_Suc2
thf(fact_981_gr0__conv__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
      = ( ? [M5: nat] :
            ( N
            = ( suc @ M5 ) ) ) ) ).

% gr0_conv_Suc
thf(fact_982_All__less__Suc2,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ ( suc @ N ) )
           => ( P2 @ I5 ) ) )
      = ( ( P2 @ zero_zero_nat )
        & ! [I5: nat] :
            ( ( ord_less_nat @ I5 @ N )
           => ( P2 @ ( suc @ I5 ) ) ) ) ) ).

% All_less_Suc2
thf(fact_983_gr0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ? [M2: nat] :
          ( N
          = ( suc @ M2 ) ) ) ).

% gr0_implies_Suc
thf(fact_984_less__Suc__eq__0__disj,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ( M = zero_zero_nat )
        | ? [J5: nat] :
            ( ( M
              = ( suc @ J5 ) )
            & ( ord_less_nat @ J5 @ N ) ) ) ) ).

% less_Suc_eq_0_disj
thf(fact_985_le__imp__less__Suc,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ord_less_nat @ M @ ( suc @ N ) ) ) ).

% le_imp_less_Suc
thf(fact_986_less__eq__Suc__le,axiom,
    ( ord_less_nat
    = ( ^ [N4: nat] : ( ord_less_eq_nat @ ( suc @ N4 ) ) ) ) ).

% less_eq_Suc_le
thf(fact_987_less__Suc__eq__le,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ ( suc @ N ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% less_Suc_eq_le
thf(fact_988_le__less__Suc__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ M @ N )
     => ( ( ord_less_nat @ N @ ( suc @ M ) )
        = ( N = M ) ) ) ).

% le_less_Suc_eq
thf(fact_989_Suc__le__lessD,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
     => ( ord_less_nat @ M @ N ) ) ).

% Suc_le_lessD
thf(fact_990_inc__induct,axiom,
    ! [I: nat,J: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P2 @ J )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ I @ N2 )
             => ( ( ord_less_nat @ N2 @ J )
               => ( ( P2 @ ( suc @ N2 ) )
                 => ( P2 @ N2 ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% inc_induct
thf(fact_991_dec__induct,axiom,
    ! [I: nat,J: nat,P2: nat > $o] :
      ( ( ord_less_eq_nat @ I @ J )
     => ( ( P2 @ I )
       => ( ! [N2: nat] :
              ( ( ord_less_eq_nat @ I @ N2 )
             => ( ( ord_less_nat @ N2 @ J )
               => ( ( P2 @ N2 )
                 => ( P2 @ ( suc @ N2 ) ) ) ) )
         => ( P2 @ J ) ) ) ) ).

% dec_induct
thf(fact_992_Suc__le__eq,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq_nat @ ( suc @ M ) @ N )
      = ( ord_less_nat @ M @ N ) ) ).

% Suc_le_eq
thf(fact_993_Suc__leI,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ( ord_less_eq_nat @ ( suc @ M ) @ N ) ) ).

% Suc_leI
thf(fact_994_ex__least__nat__le,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_eq_nat @ K3 @ N )
            & ! [I6: nat] :
                ( ( ord_less_nat @ I6 @ K3 )
               => ~ ( P2 @ I6 ) )
            & ( P2 @ K3 ) ) ) ) ).

% ex_least_nat_le
thf(fact_995_less__imp__Suc__add,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ? [K3: nat] :
          ( N
          = ( suc @ ( plus_plus_nat @ M @ K3 ) ) ) ) ).

% less_imp_Suc_add
thf(fact_996_less__iff__Suc__add,axiom,
    ( ord_less_nat
    = ( ^ [M5: nat,N4: nat] :
        ? [K2: nat] :
          ( N4
          = ( suc @ ( plus_plus_nat @ M5 @ K2 ) ) ) ) ) ).

% less_iff_Suc_add
thf(fact_997_less__add__Suc2,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ M @ I ) ) ) ).

% less_add_Suc2
thf(fact_998_less__add__Suc1,axiom,
    ! [I: nat,M: nat] : ( ord_less_nat @ I @ ( suc @ ( plus_plus_nat @ I @ M ) ) ) ).

% less_add_Suc1
thf(fact_999_less__natE,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_nat @ M @ N )
     => ~ ! [Q2: nat] :
            ( N
           != ( suc @ ( plus_plus_nat @ M @ Q2 ) ) ) ) ).

% less_natE
thf(fact_1000_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_1001_diff__less__Suc,axiom,
    ! [M: nat,N: nat] : ( ord_less_nat @ ( minus_minus_nat @ M @ N ) @ ( suc @ M ) ) ).

% diff_less_Suc
thf(fact_1002_Suc__diff__Suc,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ N @ M )
     => ( ( suc @ ( minus_minus_nat @ M @ ( suc @ N ) ) )
        = ( minus_minus_nat @ M @ N ) ) ) ).

% Suc_diff_Suc
thf(fact_1003_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_1004_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_1005_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_1006_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_1007_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_1008_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_1009_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_1010_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_1011_int__gr__induct,axiom,
    ! [K: int,I: int,P2: int > $o] :
      ( ( ord_less_int @ K @ I )
     => ( ( P2 @ ( plus_plus_int @ K @ one_one_int ) )
       => ( ! [I3: int] :
              ( ( ord_less_int @ K @ I3 )
             => ( ( P2 @ I3 )
               => ( P2 @ ( plus_plus_int @ I3 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_gr_induct
thf(fact_1012_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_1013_int__less__induct,axiom,
    ! [I: int,K: int,P2: int > $o] :
      ( ( ord_less_int @ I @ K )
     => ( ( P2 @ ( minus_minus_int @ K @ one_one_int ) )
       => ( ! [I3: int] :
              ( ( ord_less_int @ I3 @ K )
             => ( ( P2 @ I3 )
               => ( P2 @ ( minus_minus_int @ I3 @ one_one_int ) ) ) )
         => ( P2 @ I ) ) ) ) ).

% int_less_induct
thf(fact_1014_ex__least__nat__less,axiom,
    ! [P2: nat > $o,N: nat] :
      ( ( P2 @ N )
     => ( ~ ( P2 @ zero_zero_nat )
       => ? [K3: nat] :
            ( ( ord_less_nat @ K3 @ N )
            & ! [I6: nat] :
                ( ( ord_less_eq_nat @ I6 @ K3 )
               => ~ ( P2 @ I6 ) )
            & ( P2 @ ( suc @ K3 ) ) ) ) ) ).

% ex_least_nat_less
thf(fact_1015_diff__Suc__less,axiom,
    ! [N: nat,I: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ ( minus_minus_nat @ N @ ( suc @ I ) ) @ N ) ) ).

% diff_Suc_less
thf(fact_1016_nat__diff__split__asm,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ~ ( ( ( ord_less_nat @ A @ B )
              & ~ ( P2 @ zero_zero_nat ) )
            | ? [D2: nat] :
                ( ( A
                  = ( plus_plus_nat @ B @ D2 ) )
                & ~ ( P2 @ D2 ) ) ) ) ) ).

% nat_diff_split_asm
thf(fact_1017_nat__diff__split,axiom,
    ! [P2: nat > $o,A: nat,B: nat] :
      ( ( P2 @ ( minus_minus_nat @ A @ B ) )
      = ( ( ( ord_less_nat @ A @ B )
         => ( P2 @ zero_zero_nat ) )
        & ! [D2: nat] :
            ( ( A
              = ( plus_plus_nat @ B @ D2 ) )
           => ( P2 @ D2 ) ) ) ) ).

% nat_diff_split
thf(fact_1018_nat__induct__non__zero,axiom,
    ! [N: nat,P2: nat > $o] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( P2 @ one_one_nat )
       => ( ! [N2: nat] :
              ( ( ord_less_nat @ zero_zero_nat @ N2 )
             => ( ( P2 @ N2 )
               => ( P2 @ ( suc @ N2 ) ) ) )
         => ( P2 @ N ) ) ) ) ).

% nat_induct_non_zero
thf(fact_1019_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_1020_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_1021_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_1022_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_1023_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_1024_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_1025_int__div__less__self,axiom,
    ! [X: int,K: int] :
      ( ( ord_less_int @ zero_zero_int @ X )
     => ( ( ord_less_int @ one_one_int @ K )
       => ( ord_less_int @ ( divide_divide_int @ X @ K ) @ X ) ) ) ).

% int_div_less_self
thf(fact_1026_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_1027_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_1028_Suc__diff__eq__diff__pred,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( minus_minus_nat @ ( suc @ M ) @ N )
        = ( minus_minus_nat @ M @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_diff_eq_diff_pred
thf(fact_1029_Suc__pred_H,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( N
        = ( suc @ ( minus_minus_nat @ N @ one_one_nat ) ) ) ) ).

% Suc_pred'
thf(fact_1030_div__if,axiom,
    ( divide_divide_nat
    = ( ^ [M5: nat,N4: nat] :
          ( if_nat
          @ ( ( ord_less_nat @ M5 @ N4 )
            | ( N4 = zero_zero_nat ) )
          @ zero_zero_nat
          @ ( suc @ ( divide_divide_nat @ ( minus_minus_nat @ M5 @ N4 ) @ N4 ) ) ) ) ) ).

% div_if
thf(fact_1031_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_1032_verit__less__mono__div__int2,axiom,
    ! [A3: int,B3: int,N: int] :
      ( ( ord_less_eq_int @ A3 @ B3 )
     => ( ( ord_less_int @ zero_zero_int @ ( uminus_uminus_int @ N ) )
       => ( ord_less_eq_int @ ( divide_divide_int @ B3 @ N ) @ ( divide_divide_int @ A3 @ N ) ) ) ) ).

% verit_less_mono_div_int2
thf(fact_1033_div__eq__minus1,axiom,
    ! [B: int] :
      ( ( ord_less_int @ zero_zero_int @ B )
     => ( ( divide_divide_int @ ( uminus_uminus_int @ one_one_int ) @ B )
        = ( uminus_uminus_int @ one_one_int ) ) ) ).

% div_eq_minus1
thf(fact_1034_less__2__cases,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
     => ( ( N = zero_zero_nat )
        | ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% less_2_cases
thf(fact_1035_less__2__cases__iff,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( ( N = zero_zero_nat )
        | ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% less_2_cases_iff
thf(fact_1036_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_1037_le__div__geq,axiom,
    ! [N: nat,M: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( ( divide_divide_nat @ M @ N )
          = ( suc @ ( divide_divide_nat @ ( minus_minus_nat @ M @ N ) @ N ) ) ) ) ) ).

% le_div_geq
thf(fact_1038_Suc__n__div__2__gt__zero,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ N )
     => ( ord_less_nat @ zero_zero_nat @ ( divide_divide_nat @ ( suc @ N ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% Suc_n_div_2_gt_zero
thf(fact_1039_div__2__gt__zero,axiom,
    ! [N: nat] :
      ( ( ord_less_nat @ ( suc @ zero_zero_nat ) @ N )
     => ( ord_less_nat @ zero_zero_nat @ ( divide_divide_nat @ N @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% div_2_gt_zero
thf(fact_1040_div__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 )
       => ( ( divide_divide_int @ K @ L )
          = ( uminus_uminus_int @ one_one_int ) ) ) ) ).

% div_pos_neg_trivial
thf(fact_1041_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_1042_pinf_I9_J,axiom,
    ! [D: nat,S: nat] :
    ? [Z3: nat] :
    ! [X5: nat] :
      ( ( ord_less_nat @ Z3 @ X5 )
     => ( ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) )
        = ( dvd_dvd_nat @ D @ ( plus_plus_nat @ X5 @ S ) ) ) ) ).

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

% pinf(9)
thf(fact_1044_full__exhaustive__int_H_Ocases,axiom,
    ! [X: produc2285326912895808259nt_int] :
      ~ ! [F2: produc8551481072490612790e_term > option6357759511663192854e_term,D3: int,I3: int] :
          ( X
         != ( produc5700946648718959541nt_int @ F2 @ ( product_Pair_int_int @ D3 @ I3 ) ) ) ).

% full_exhaustive_int'.cases
thf(fact_1045_exhaustive__int_H_Ocases,axiom,
    ! [X: produc7773217078559923341nt_int] :
      ~ ! [F2: int > option6357759511663192854e_term,D3: int,I3: int] :
          ( X
         != ( produc4305682042979456191nt_int @ F2 @ ( product_Pair_int_int @ D3 @ I3 ) ) ) ).

% exhaustive_int'.cases
thf(fact_1046_small__lazy_H_Ocases,axiom,
    ! [X: product_prod_int_int] :
      ~ ! [D3: int,I3: int] :
          ( X
         != ( product_Pair_int_int @ D3 @ I3 ) ) ).

% small_lazy'.cases
thf(fact_1047_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_1048_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_1049_numeral__power__eq__nat__cancel__iff,axiom,
    ! [X: num,N: nat,Y: int] :
      ( ( ( power_power_nat @ ( numeral_numeral_nat @ X ) @ N )
        = ( nat2 @ Y ) )
      = ( ( power_power_int @ ( numeral_numeral_int @ X ) @ N )
        = Y ) ) ).

% numeral_power_eq_nat_cancel_iff
thf(fact_1050_nat__eq__numeral__power__cancel__iff,axiom,
    ! [Y: int,X: num,N: nat] :
      ( ( ( nat2 @ Y )
        = ( power_power_nat @ ( numeral_numeral_nat @ X ) @ N ) )
      = ( Y
        = ( power_power_int @ ( numeral_numeral_int @ X ) @ N ) ) ) ).

% nat_eq_numeral_power_cancel_iff
thf(fact_1051_numeral__power__le__nat__cancel__iff,axiom,
    ! [X: num,N: nat,A: int] :
      ( ( ord_less_eq_nat @ ( power_power_nat @ ( numeral_numeral_nat @ X ) @ N ) @ ( nat2 @ A ) )
      = ( ord_less_eq_int @ ( power_power_int @ ( numeral_numeral_int @ X ) @ N ) @ A ) ) ).

% numeral_power_le_nat_cancel_iff
thf(fact_1052_nat__le__numeral__power__cancel__iff,axiom,
    ! [A: int,X: num,N: nat] :
      ( ( ord_less_eq_nat @ ( nat2 @ A ) @ ( power_power_nat @ ( numeral_numeral_nat @ X ) @ N ) )
      = ( ord_less_eq_int @ A @ ( power_power_int @ ( numeral_numeral_int @ X ) @ N ) ) ) ).

% nat_le_numeral_power_cancel_iff
thf(fact_1053_nat__less__numeral__power__cancel__iff,axiom,
    ! [A: int,X: num,N: nat] :
      ( ( ord_less_nat @ ( nat2 @ A ) @ ( power_power_nat @ ( numeral_numeral_nat @ X ) @ N ) )
      = ( ord_less_int @ A @ ( power_power_int @ ( numeral_numeral_int @ X ) @ N ) ) ) ).

% nat_less_numeral_power_cancel_iff
thf(fact_1054_numeral__power__less__nat__cancel__iff,axiom,
    ! [X: num,N: nat,A: int] :
      ( ( ord_less_nat @ ( power_power_nat @ ( numeral_numeral_nat @ X ) @ N ) @ ( nat2 @ A ) )
      = ( ord_less_int @ ( power_power_int @ ( numeral_numeral_int @ X ) @ N ) @ A ) ) ).

% numeral_power_less_nat_cancel_iff
thf(fact_1055_Parity_Oring__1__class_Opower__minus__even,axiom,
    ! [N: nat,A: int] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( power_power_int @ ( uminus_uminus_int @ A ) @ N )
        = ( power_power_int @ A @ N ) ) ) ).

% Parity.ring_1_class.power_minus_even
thf(fact_1056_power__minus__odd,axiom,
    ! [N: nat,A: int] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( power_power_int @ ( uminus_uminus_int @ A ) @ N )
        = ( uminus_uminus_int @ ( power_power_int @ A @ N ) ) ) ) ).

% power_minus_odd
thf(fact_1057_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_1058_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_1059_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_1060_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_1061_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_1062_neg__one__odd__power,axiom,
    ! [N: nat] :
      ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N )
        = ( uminus_uminus_int @ one_one_int ) ) ) ).

% neg_one_odd_power
thf(fact_1063_neg__one__even__power,axiom,
    ! [N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
     => ( ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N )
        = one_one_int ) ) ).

% neg_one_even_power
thf(fact_1064_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_1065_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_1066_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_1067_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_1068_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_1069_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_1070_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_1071_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_1072_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_1073_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_1074_div__exp__eq,axiom,
    ! [A: nat,M: nat,N: nat] :
      ( ( divide_divide_nat @ ( divide_divide_nat @ A @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ M ) ) @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) )
      = ( divide_divide_nat @ A @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( plus_plus_nat @ M @ N ) ) ) ) ).

% div_exp_eq
thf(fact_1075_div__exp__eq,axiom,
    ! [A: int,M: nat,N: nat] :
      ( ( divide_divide_int @ ( divide_divide_int @ A @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ M ) ) @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) )
      = ( divide_divide_int @ A @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( plus_plus_nat @ M @ N ) ) ) ) ).

% div_exp_eq
thf(fact_1076_power__diff__power__eq,axiom,
    ! [A: nat,N: nat,M: nat] :
      ( ( A != zero_zero_nat )
     => ( ( ( ord_less_eq_nat @ N @ M )
         => ( ( divide_divide_nat @ ( power_power_nat @ A @ M ) @ ( power_power_nat @ A @ N ) )
            = ( power_power_nat @ A @ ( minus_minus_nat @ M @ N ) ) ) )
        & ( ~ ( ord_less_eq_nat @ N @ M )
         => ( ( divide_divide_nat @ ( power_power_nat @ A @ M ) @ ( power_power_nat @ A @ N ) )
            = ( divide_divide_nat @ one_one_nat @ ( power_power_nat @ A @ ( minus_minus_nat @ N @ M ) ) ) ) ) ) ) ).

% power_diff_power_eq
thf(fact_1077_power__diff__power__eq,axiom,
    ! [A: int,N: nat,M: nat] :
      ( ( A != zero_zero_int )
     => ( ( ( ord_less_eq_nat @ N @ M )
         => ( ( divide_divide_int @ ( power_power_int @ A @ M ) @ ( power_power_int @ A @ N ) )
            = ( power_power_int @ A @ ( minus_minus_nat @ M @ N ) ) ) )
        & ( ~ ( ord_less_eq_nat @ N @ M )
         => ( ( divide_divide_int @ ( power_power_int @ A @ M ) @ ( power_power_int @ A @ N ) )
            = ( divide_divide_int @ one_one_int @ ( power_power_int @ A @ ( minus_minus_nat @ N @ M ) ) ) ) ) ) ) ).

% power_diff_power_eq
thf(fact_1078_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_1079_neg__one__power__add__eq__neg__one__power__diff,axiom,
    ! [K: nat,N: nat] :
      ( ( ord_less_eq_nat @ K @ N )
     => ( ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ ( plus_plus_nat @ N @ K ) )
        = ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ ( minus_minus_nat @ N @ K ) ) ) ) ).

% neg_one_power_add_eq_neg_one_power_diff
thf(fact_1080_uminus__power__if,axiom,
    ! [N: nat,A: int] :
      ( ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
       => ( ( power_power_int @ ( uminus_uminus_int @ A ) @ N )
          = ( power_power_int @ A @ N ) ) )
      & ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
       => ( ( power_power_int @ ( uminus_uminus_int @ A ) @ N )
          = ( uminus_uminus_int @ ( power_power_int @ A @ N ) ) ) ) ) ).

% uminus_power_if
thf(fact_1081_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_1082_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_1083_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_1084_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_1085_minus__one__power__iff,axiom,
    ! [N: nat] :
      ( ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
       => ( ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N )
          = one_one_int ) )
      & ( ~ ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
       => ( ( power_power_int @ ( uminus_uminus_int @ one_one_int ) @ N )
          = ( uminus_uminus_int @ one_one_int ) ) ) ) ).

% minus_one_power_iff
thf(fact_1086_minus__1__div__exp__eq__int,axiom,
    ! [N: nat] :
      ( ( divide_divide_int @ ( uminus_uminus_int @ one_one_int ) @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) )
      = ( uminus_uminus_int @ one_one_int ) ) ).

% minus_1_div_exp_eq_int
thf(fact_1087_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_1088_int__power__div__base,axiom,
    ! [M: nat,K: int] :
      ( ( ord_less_nat @ zero_zero_nat @ M )
     => ( ( ord_less_int @ zero_zero_int @ K )
       => ( ( divide_divide_int @ ( power_power_int @ K @ M ) @ K )
          = ( power_power_int @ K @ ( minus_minus_nat @ M @ ( suc @ zero_zero_nat ) ) ) ) ) ) ).

% int_power_div_base
thf(fact_1089_even__mask__div__iff_H,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( divide_divide_nat @ ( minus_minus_nat @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ M ) @ one_one_nat ) @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% even_mask_div_iff'
thf(fact_1090_even__mask__div__iff_H,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( divide_divide_int @ ( minus_minus_int @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ M ) @ one_one_int ) @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) ) )
      = ( ord_less_eq_nat @ M @ N ) ) ).

% even_mask_div_iff'
thf(fact_1091_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_1092_even__mask__div__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( divide_divide_nat @ ( minus_minus_nat @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ M ) @ one_one_nat ) @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) )
      = ( ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
          = zero_zero_nat )
        | ( ord_less_eq_nat @ M @ N ) ) ) ).

% even_mask_div_iff
thf(fact_1093_even__mask__div__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( divide_divide_int @ ( minus_minus_int @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ M ) @ one_one_int ) @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) ) )
      = ( ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N )
          = zero_zero_int )
        | ( ord_less_eq_nat @ M @ N ) ) ) ).

% even_mask_div_iff
thf(fact_1094_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_1095_power2__eq__iff__nonneg,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ zero_zero_nat @ X )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ( ( power_power_nat @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
            = ( power_power_nat @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
          = ( X = Y ) ) ) ) ).

% power2_eq_iff_nonneg
thf(fact_1096_power2__eq__iff__nonneg,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_eq_int @ zero_zero_int @ X )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y )
       => ( ( ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
            = ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
          = ( X = Y ) ) ) ) ).

% power2_eq_iff_nonneg
thf(fact_1097_power__one,axiom,
    ! [N: nat] :
      ( ( power_power_nat @ one_one_nat @ N )
      = one_one_nat ) ).

% power_one
thf(fact_1098_power__one,axiom,
    ! [N: nat] :
      ( ( power_power_int @ one_one_int @ N )
      = one_one_int ) ).

% power_one
thf(fact_1099_power__one__right,axiom,
    ! [A: nat] :
      ( ( power_power_nat @ A @ one_one_nat )
      = A ) ).

% power_one_right
thf(fact_1100_power__one__right,axiom,
    ! [A: int] :
      ( ( power_power_int @ A @ one_one_nat )
      = A ) ).

% power_one_right
thf(fact_1101_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_1102_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_1103_power__zero__numeral,axiom,
    ! [K: num] :
      ( ( power_power_nat @ zero_zero_nat @ ( numeral_numeral_nat @ K ) )
      = zero_zero_nat ) ).

% power_zero_numeral
thf(fact_1104_power__zero__numeral,axiom,
    ! [K: num] :
      ( ( power_power_int @ zero_zero_int @ ( numeral_numeral_nat @ K ) )
      = zero_zero_int ) ).

% power_zero_numeral
thf(fact_1105_power__strict__increasing__iff,axiom,
    ! [B: nat,X: nat,Y: nat] :
      ( ( ord_less_nat @ one_one_nat @ B )
     => ( ( ord_less_nat @ ( power_power_nat @ B @ X ) @ ( power_power_nat @ B @ Y ) )
        = ( ord_less_nat @ X @ Y ) ) ) ).

% power_strict_increasing_iff
thf(fact_1106_power__strict__increasing__iff,axiom,
    ! [B: int,X: nat,Y: nat] :
      ( ( ord_less_int @ one_one_int @ B )
     => ( ( ord_less_int @ ( power_power_int @ B @ X ) @ ( power_power_int @ B @ Y ) )
        = ( ord_less_nat @ X @ Y ) ) ) ).

% power_strict_increasing_iff
thf(fact_1107_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_1108_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_1109_power__increasing__iff,axiom,
    ! [B: nat,X: nat,Y: nat] :
      ( ( ord_less_nat @ one_one_nat @ B )
     => ( ( ord_less_eq_nat @ ( power_power_nat @ B @ X ) @ ( power_power_nat @ B @ Y ) )
        = ( ord_less_eq_nat @ X @ Y ) ) ) ).

% power_increasing_iff
thf(fact_1110_power__increasing__iff,axiom,
    ! [B: int,X: nat,Y: nat] :
      ( ( ord_less_int @ one_one_int @ B )
     => ( ( ord_less_eq_int @ ( power_power_int @ B @ X ) @ ( power_power_int @ B @ Y ) )
        = ( ord_less_eq_nat @ X @ Y ) ) ) ).

% power_increasing_iff
thf(fact_1111_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_1112_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_1113_power2__minus,axiom,
    ! [A: int] :
      ( ( power_power_int @ ( uminus_uminus_int @ A ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( power_power_int @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ).

% power2_minus
thf(fact_1114_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_1115_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_1116_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_1117_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_1118_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_1119_power__0,axiom,
    ! [A: nat] :
      ( ( power_power_nat @ A @ zero_zero_nat )
      = one_one_nat ) ).

% power_0
thf(fact_1120_power__0,axiom,
    ! [A: int] :
      ( ( power_power_int @ A @ zero_zero_nat )
      = one_one_int ) ).

% power_0
thf(fact_1121_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_1122_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_1123_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_1124_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_1125_power__gt1,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_nat @ one_one_nat @ A )
     => ( ord_less_nat @ one_one_nat @ ( power_power_nat @ A @ ( suc @ N ) ) ) ) ).

% power_gt1
thf(fact_1126_power__gt1,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_int @ one_one_int @ A )
     => ( ord_less_int @ one_one_int @ ( power_power_int @ A @ ( suc @ N ) ) ) ) ).

% power_gt1
thf(fact_1127_power__increasing,axiom,
    ! [N: nat,N5: nat,A: nat] :
      ( ( ord_less_eq_nat @ N @ N5 )
     => ( ( ord_less_eq_nat @ one_one_nat @ A )
       => ( ord_less_eq_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ A @ N5 ) ) ) ) ).

% power_increasing
thf(fact_1128_power__increasing,axiom,
    ! [N: nat,N5: nat,A: int] :
      ( ( ord_less_eq_nat @ N @ N5 )
     => ( ( ord_less_eq_int @ one_one_int @ A )
       => ( ord_less_eq_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ A @ N5 ) ) ) ) ).

% power_increasing
thf(fact_1129_power__strict__increasing,axiom,
    ! [N: nat,N5: nat,A: nat] :
      ( ( ord_less_nat @ N @ N5 )
     => ( ( ord_less_nat @ one_one_nat @ A )
       => ( ord_less_nat @ ( power_power_nat @ A @ N ) @ ( power_power_nat @ A @ N5 ) ) ) ) ).

% power_strict_increasing
thf(fact_1130_power__strict__increasing,axiom,
    ! [N: nat,N5: nat,A: int] :
      ( ( ord_less_nat @ N @ N5 )
     => ( ( ord_less_int @ one_one_int @ A )
       => ( ord_less_int @ ( power_power_int @ A @ N ) @ ( power_power_int @ A @ N5 ) ) ) ) ).

% power_strict_increasing
thf(fact_1131_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_1132_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_1133_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_1134_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_1135_less__exp,axiom,
    ! [N: nat] : ( ord_less_nat @ N @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) ).

% less_exp
thf(fact_1136_power__minus__Bit0,axiom,
    ! [X: int,K: num] :
      ( ( power_power_int @ ( uminus_uminus_int @ X ) @ ( numeral_numeral_nat @ ( bit0 @ K ) ) )
      = ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ K ) ) ) ) ).

% power_minus_Bit0
thf(fact_1137_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_1138_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_1139_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_1140_power__minus__Bit1,axiom,
    ! [X: int,K: num] :
      ( ( power_power_int @ ( uminus_uminus_int @ X ) @ ( numeral_numeral_nat @ ( bit1 @ K ) ) )
      = ( uminus_uminus_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit1 @ K ) ) ) ) ) ).

% power_minus_Bit1
thf(fact_1141_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_1142_power__Suc__le__self,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 @ ( suc @ N ) ) @ A ) ) ) ).

% power_Suc_le_self
thf(fact_1143_power__Suc__le__self,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 @ ( suc @ N ) ) @ A ) ) ) ).

% power_Suc_le_self
thf(fact_1144_power__Suc__less__one,axiom,
    ! [A: nat,N: nat] :
      ( ( ord_less_nat @ zero_zero_nat @ A )
     => ( ( ord_less_nat @ A @ one_one_nat )
       => ( ord_less_nat @ ( power_power_nat @ A @ ( suc @ N ) ) @ one_one_nat ) ) ) ).

% power_Suc_less_one
thf(fact_1145_power__Suc__less__one,axiom,
    ! [A: int,N: nat] :
      ( ( ord_less_int @ zero_zero_int @ A )
     => ( ( ord_less_int @ A @ one_one_int )
       => ( ord_less_int @ ( power_power_int @ A @ ( suc @ N ) ) @ one_one_int ) ) ) ).

% power_Suc_less_one
thf(fact_1146_power__decreasing,axiom,
    ! [N: nat,N5: nat,A: nat] :
      ( ( ord_less_eq_nat @ N @ N5 )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ A )
       => ( ( ord_less_eq_nat @ A @ one_one_nat )
         => ( ord_less_eq_nat @ ( power_power_nat @ A @ N5 ) @ ( power_power_nat @ A @ N ) ) ) ) ) ).

% power_decreasing
thf(fact_1147_power__decreasing,axiom,
    ! [N: nat,N5: nat,A: int] :
      ( ( ord_less_eq_nat @ N @ N5 )
     => ( ( ord_less_eq_int @ zero_zero_int @ A )
       => ( ( ord_less_eq_int @ A @ one_one_int )
         => ( ord_less_eq_int @ ( power_power_int @ A @ N5 ) @ ( power_power_int @ A @ N ) ) ) ) ) ).

% power_decreasing
thf(fact_1148_power__strict__decreasing,axiom,
    ! [N: nat,N5: nat,A: nat] :
      ( ( ord_less_nat @ N @ N5 )
     => ( ( ord_less_nat @ zero_zero_nat @ A )
       => ( ( ord_less_nat @ A @ one_one_nat )
         => ( ord_less_nat @ ( power_power_nat @ A @ N5 ) @ ( power_power_nat @ A @ N ) ) ) ) ) ).

% power_strict_decreasing
thf(fact_1149_power__strict__decreasing,axiom,
    ! [N: nat,N5: nat,A: int] :
      ( ( ord_less_nat @ N @ N5 )
     => ( ( ord_less_int @ zero_zero_int @ A )
       => ( ( ord_less_int @ A @ one_one_int )
         => ( ord_less_int @ ( power_power_int @ A @ N5 ) @ ( power_power_int @ A @ N ) ) ) ) ) ).

% power_strict_decreasing
thf(fact_1150_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_1151_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_1152_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_1153_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_1154_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_1155_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_1156_dvd__power__iff,axiom,
    ! [X: nat,M: nat,N: nat] :
      ( ( X != zero_zero_nat )
     => ( ( dvd_dvd_nat @ ( power_power_nat @ X @ M ) @ ( power_power_nat @ X @ N ) )
        = ( ( dvd_dvd_nat @ X @ one_one_nat )
          | ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% dvd_power_iff
thf(fact_1157_dvd__power__iff,axiom,
    ! [X: int,M: nat,N: nat] :
      ( ( X != zero_zero_int )
     => ( ( dvd_dvd_int @ ( power_power_int @ X @ M ) @ ( power_power_int @ X @ N ) )
        = ( ( dvd_dvd_int @ X @ one_one_int )
          | ( ord_less_eq_nat @ M @ N ) ) ) ) ).

% dvd_power_iff
thf(fact_1158_zero__power2,axiom,
    ( ( power_power_nat @ zero_zero_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = zero_zero_nat ) ).

% zero_power2
thf(fact_1159_zero__power2,axiom,
    ( ( power_power_int @ zero_zero_int @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = zero_zero_int ) ).

% zero_power2
thf(fact_1160_dvd__power,axiom,
    ! [N: nat,X: nat] :
      ( ( ( ord_less_nat @ zero_zero_nat @ N )
        | ( X = one_one_nat ) )
     => ( dvd_dvd_nat @ X @ ( power_power_nat @ X @ N ) ) ) ).

% dvd_power
thf(fact_1161_dvd__power,axiom,
    ! [N: nat,X: int] :
      ( ( ( ord_less_nat @ zero_zero_nat @ N )
        | ( X = one_one_int ) )
     => ( dvd_dvd_int @ X @ ( power_power_int @ X @ N ) ) ) ).

% dvd_power
thf(fact_1162_one__power2,axiom,
    ( ( power_power_nat @ one_one_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = one_one_nat ) ).

% one_power2
thf(fact_1163_one__power2,axiom,
    ( ( power_power_int @ one_one_int @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
    = one_one_int ) ).

% one_power2
thf(fact_1164_power2__commute,axiom,
    ! [X: int,Y: int] :
      ( ( power_power_int @ ( minus_minus_int @ X @ Y ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
      = ( power_power_int @ ( minus_minus_int @ Y @ X ) @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ).

% power2_commute
thf(fact_1165_power2__eq__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
      = ( ( X = Y )
        | ( X
          = ( uminus_uminus_int @ Y ) ) ) ) ).

% power2_eq_iff
thf(fact_1166_power__diff,axiom,
    ! [A: nat,N: nat,M: nat] :
      ( ( A != zero_zero_nat )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( ( power_power_nat @ A @ ( minus_minus_nat @ M @ N ) )
          = ( divide_divide_nat @ ( power_power_nat @ A @ M ) @ ( power_power_nat @ A @ N ) ) ) ) ) ).

% power_diff
thf(fact_1167_power__diff,axiom,
    ! [A: int,N: nat,M: nat] :
      ( ( A != zero_zero_int )
     => ( ( ord_less_eq_nat @ N @ M )
       => ( ( power_power_int @ A @ ( minus_minus_nat @ M @ N ) )
          = ( divide_divide_int @ ( power_power_int @ A @ M ) @ ( power_power_int @ A @ N ) ) ) ) ) ).

% power_diff
thf(fact_1168_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_1169_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_1170_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_1171_power2__eq__imp__eq,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( power_power_nat @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( power_power_nat @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ X )
       => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
         => ( X = Y ) ) ) ) ).

% power2_eq_imp_eq
thf(fact_1172_power2__eq__imp__eq,axiom,
    ! [X: int,Y: int] :
      ( ( ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ X )
       => ( ( ord_less_eq_int @ zero_zero_int @ Y )
         => ( X = Y ) ) ) ) ).

% power2_eq_imp_eq
thf(fact_1173_power2__le__imp__le,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_eq_nat @ ( power_power_nat @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_nat @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ord_less_eq_nat @ X @ Y ) ) ) ).

% power2_le_imp_le
thf(fact_1174_power2__le__imp__le,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_eq_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y )
       => ( ord_less_eq_int @ X @ Y ) ) ) ).

% power2_le_imp_le
thf(fact_1175_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_1176_sum__power2__eq__zero__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ( plus_plus_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
        = zero_zero_int )
      = ( ( X = zero_zero_int )
        & ( Y = zero_zero_int ) ) ) ).

% sum_power2_eq_zero_iff
thf(fact_1177_power2__eq__1__iff,axiom,
    ! [A: int] :
      ( ( ( power_power_int @ A @ ( numeral_numeral_nat @ ( bit0 @ one ) ) )
        = one_one_int )
      = ( ( A = one_one_int )
        | ( A
          = ( uminus_uminus_int @ one_one_int ) ) ) ) ).

% power2_eq_1_iff
thf(fact_1178_power2__less__imp__less,axiom,
    ! [X: nat,Y: nat] :
      ( ( ord_less_nat @ ( power_power_nat @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_nat @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_nat @ zero_zero_nat @ Y )
       => ( ord_less_nat @ X @ Y ) ) ) ).

% power2_less_imp_less
thf(fact_1179_power2__less__imp__less,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) )
     => ( ( ord_less_eq_int @ zero_zero_int @ Y )
       => ( ord_less_int @ X @ Y ) ) ) ).

% power2_less_imp_less
thf(fact_1180_sum__power2__le__zero__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_eq_int @ ( plus_plus_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) @ zero_zero_int )
      = ( ( X = zero_zero_int )
        & ( Y = zero_zero_int ) ) ) ).

% sum_power2_le_zero_iff
thf(fact_1181_sum__power2__ge__zero,axiom,
    ! [X: int,Y: int] : ( ord_less_eq_int @ zero_zero_int @ ( plus_plus_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) ) ).

% sum_power2_ge_zero
thf(fact_1182_not__sum__power2__lt__zero,axiom,
    ! [X: int,Y: int] :
      ~ ( ord_less_int @ ( plus_plus_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) @ zero_zero_int ) ).

% not_sum_power2_lt_zero
thf(fact_1183_sum__power2__gt__zero__iff,axiom,
    ! [X: int,Y: int] :
      ( ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ ( power_power_int @ Y @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) ) )
      = ( ( X != zero_zero_int )
        | ( Y != zero_zero_int ) ) ) ).

% sum_power2_gt_zero_iff
thf(fact_1184_square__le__1,axiom,
    ! [X: int] :
      ( ( ord_less_eq_int @ ( uminus_uminus_int @ one_one_int ) @ X )
     => ( ( ord_less_eq_int @ X @ one_one_int )
       => ( ord_less_eq_int @ ( power_power_int @ X @ ( numeral_numeral_nat @ ( bit0 @ one ) ) ) @ one_one_int ) ) ) ).

% square_le_1
thf(fact_1185_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_1186_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_1187_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_1188_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_1189_even__mult__exp__div__exp__iff,axiom,
    ! [A: nat,M: nat,N: nat] :
      ( ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( divide_divide_nat @ ( times_times_nat @ A @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ M ) ) @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N ) ) )
      = ( ( ord_less_nat @ N @ M )
        | ( ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ N )
          = zero_zero_nat )
        | ( ( ord_less_eq_nat @ M @ N )
          & ( dvd_dvd_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( divide_divide_nat @ A @ ( power_power_nat @ ( numeral_numeral_nat @ ( bit0 @ one ) ) @ ( minus_minus_nat @ N @ M ) ) ) ) ) ) ) ).

% even_mult_exp_div_exp_iff
thf(fact_1190_even__mult__exp__div__exp__iff,axiom,
    ! [A: int,M: nat,N: nat] :
      ( ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( divide_divide_int @ ( times_times_int @ A @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ M ) ) @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N ) ) )
      = ( ( ord_less_nat @ N @ M )
        | ( ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ N )
          = zero_zero_int )
        | ( ( ord_less_eq_nat @ M @ N )
          & ( dvd_dvd_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( divide_divide_int @ A @ ( power_power_int @ ( numeral_numeral_int @ ( bit0 @ one ) ) @ ( minus_minus_nat @ N @ M ) ) ) ) ) ) ) ).

% even_mult_exp_div_exp_iff
thf(fact_1191_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_1192_semiring__norm_I11_J,axiom,
    ! [M: num] :
      ( ( times_times_num @ M @ one )
      = M ) ).

% semiring_norm(11)
thf(fact_1193_semiring__norm_I12_J,axiom,
    ! [N: num] :
      ( ( times_times_num @ one @ N )
      = N ) ).

% semiring_norm(12)
thf(fact_1194_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_1195_mult__0__right,axiom,
    ! [M: nat] :
      ( ( times_times_nat @ M @ zero_zero_nat )
      = zero_zero_nat ) ).

% mult_0_right
thf(fact_1196_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_1197_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_1198_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_1199_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_1200_numeral__times__numeral,axiom,
    ! [M: num,N: num] :
      ( ( times_times_int @ ( numeral_numeral_int @ M ) @ ( numeral_numeral_int @ N ) )
      = ( numeral_numeral_int @ ( times_times_num @ M @ N ) ) ) ).

% numeral_times_numeral
thf(fact_1201_numeral__times__numeral,axiom,
    ! [M: num,N: num] :
      ( ( times_times_nat @ ( numeral_numeral_nat @ M ) @ ( numeral_numeral_nat @ N ) )
      = ( numeral_numeral_nat @ ( times_times_num @ M @ N ) ) ) ).

% numeral_times_numeral
thf(fact_1202_mult__numeral__left__semiring__numeral,axiom,
    ! [V: num,W: num,Z: int] :
      ( ( times_times_int @ ( numeral_numeral_int @ V ) @ ( times_times_int @ ( numeral_numeral_int @ W ) @ Z ) )
      = ( times_times_int @ ( numeral_numeral_int @ ( times_times_num @ V @ W ) ) @ Z ) ) ).

% mult_numeral_left_semiring_numeral
thf(fact_1203_mult__numeral__left__semiring__numeral,axiom,
    ! [V: num,W: num,Z: nat] :
      ( ( times_times_nat @ ( numeral_numeral_nat @ V ) @ ( times_times_nat @ ( numeral_numeral_nat @ W ) @ Z ) )
      = ( times_times_nat @ ( numeral_numeral_nat @ ( times_times_num @ V @ W ) ) @ Z ) ) ).

% mult_numeral_left_semiring_numeral
thf(fact_1204_mult__1,axiom,
    ! [A: int] :
      ( ( times_times_int @ one_one_int @ A )
      = A ) ).

% mult_1
thf(fact_1205_mult__1,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ one_one_nat @ A )
      = A ) ).

% mult_1
thf(fact_1206_mult_Oright__neutral,axiom,
    ! [A: int] :
      ( ( times_times_int @ A @ one_one_int )
      = A ) ).

% mult.right_neutral
thf(fact_1207_mult_Oright__neutral,axiom,
    ! [A: nat] :
      ( ( times_times_nat @ A @ one_one_nat )
      = A ) ).

% mult.right_neutral
thf(fact_1208_mult__minus__right,axiom,
    ! [A: int,B: int] :
      ( ( times_times_int @ A @ ( uminus_uminus_int @ B ) )
      = ( uminus_uminus_int @ ( times_times_int @ A @ B ) ) ) ).

% mult_minus_right
thf(fact_1209_minus__mult__minus,axiom,
    ! [A: int,B: int] :
      ( ( times_times_int @ ( uminus_uminus_int @ A ) @ ( uminus_uminus_int @ B ) )
      = ( times_times_int @ A @ B ) ) ).

% minus_mult_minus
thf(fact_1210_mult__minus__left,axiom,
    ! [A: int,B: int] :
      ( ( times_times_int @ ( uminus_uminus_int @ A ) @ B )
      = ( uminus_uminus_int @ ( times_times_int @ A @ B ) ) ) ).

% mult_minus_left
thf(fact_1211_num__double,axiom,
    ! [N: num] :
      ( ( times_times_num @ ( bit0 @ one ) @ N )
      = ( bit0 @ N ) ) ).

% num_double
thf(fact_1212_mult__eq__1__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( times_times_nat @ M @ N )
        = ( suc @ zero_zero_nat ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% mult_eq_1_iff
thf(fact_1213_one__eq__mult__iff,axiom,
    ! [M: nat,N: nat] :
      ( ( ( suc @ zero_zero_nat )
        = ( times_times_nat @ M @ N ) )
      = ( ( M
          = ( suc @ zero_zero_nat ) )
        & ( N
          = ( suc @ zero_zero_nat ) ) ) ) ).

% one_eq_mult_iff
thf(fact_1214_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_1215_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_1216_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_1217_mod__add__self1,axiom,
    ! [B: int,A: int] :
      ( ( modulo_modulo_int @ ( plus_plus_int @ B @ A ) @ B )
      = ( modulo_modulo_int @ A @ B ) ) ).

% mod_add_self1
thf(fact_1218_mod__add__self1,axiom,
    ! [B: nat,A: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ B @ A ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

% mod_add_self1
thf(fact_1219_mod__add__self2,axiom,
    ! [A: int,B: int] :
      ( ( modulo_modulo_int @ ( plus_plus_int @ A @ B ) @ B )
      = ( modulo_modulo_int @ A @ B ) ) ).

% mod_add_self2
thf(fact_1220_mod__add__self2,axiom,
    ! [A: nat,B: nat] :
      ( ( modulo_modulo_nat @ ( plus_plus_nat @ A @ B ) @ B )
      = ( modulo_modulo_nat @ A @ B ) ) ).

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

% minus_mod_self2
thf(fact_1222_Suc__mod__mult__self4,axiom,
    ! [N: nat,K: nat,M: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( plus_plus_nat @ ( times_times_nat @ N @ K ) @ M ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ M ) @ N ) ) ).

% Suc_mod_mult_self4
thf(fact_1223_Suc__mod__mult__self3,axiom,
    ! [K: nat,N: nat,M: nat] :
      ( ( modulo_modulo_nat @ ( suc @ ( plus_plus_nat @ ( times_times_nat @ K @ N ) @ M ) ) @ N )
      = ( modulo_modulo_nat @ ( suc @ M ) @ N ) ) ).

% Suc_mod_mult_self3

% Helper facts (7)
thf(help_If_2_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Nat__Onat_T,axiom,
    ! [X: nat,Y: nat] :
      ( ( if_nat @ $true @ X @ Y )
      = X ) ).

thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_T,axiom,
    ! [X: product_prod_int_int,Y: product_prod_int_int] :
      ( ( if_Pro3027730157355071871nt_int @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Int__Oint_Mt__Int__Oint_J_T,axiom,
    ! [X: product_prod_int_int,Y: product_prod_int_int] :
      ( ( if_Pro3027730157355071871nt_int @ $true @ X @ Y )
      = X ) ).

thf(help_If_3_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [P2: $o] :
      ( ( P2 = $true )
      | ( P2 = $false ) ) ).

thf(help_If_2_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Product____Type__Oprod_It__Nat__Onat_Mt__Nat__Onat_J_T,axiom,
    ! [X: product_prod_nat_nat,Y: product_prod_nat_nat] :
      ( ( if_Pro6206227464963214023at_nat @ $true @ X @ Y )
      = X ) ).

% Conjectures (3)
thf(conj_0,hypothesis,
    ( ( ( plus_plus_int @ i_i @ one_one_int )
      = i_j )
    & ( ( plus_plus_int @ j_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
      = j_j ) ) ).

thf(conj_1,hypothesis,
    ( ( ( plus_plus_int @ i_j @ one_one_int )
      = i_k )
    & ( ( plus_plus_int @ j_j @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
      = j_k ) ) ).

thf(conj_2,conjecture,
    ( ( ( ( plus_plus_int @ i_i @ one_one_int )
       != i_k )
      | ( ( plus_plus_int @ j_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != j_k ) )
    & ( ( ( minus_minus_int @ i_i @ one_one_int )
       != i_k )
      | ( ( plus_plus_int @ j_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != j_k ) )
    & ( ( ( plus_plus_int @ i_i @ one_one_int )
       != i_k )
      | ( ( minus_minus_int @ j_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != j_k ) )
    & ( ( ( minus_minus_int @ i_i @ one_one_int )
       != i_k )
      | ( ( minus_minus_int @ j_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != j_k ) )
    & ( ( ( plus_plus_int @ i_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != i_k )
      | ( ( plus_plus_int @ j_i @ one_one_int )
       != j_k ) )
    & ( ( ( minus_minus_int @ i_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != i_k )
      | ( ( plus_plus_int @ j_i @ one_one_int )
       != j_k ) )
    & ( ( ( plus_plus_int @ i_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != i_k )
      | ( ( minus_minus_int @ j_i @ one_one_int )
       != j_k ) )
    & ( ( ( minus_minus_int @ i_i @ ( numeral_numeral_int @ ( bit0 @ one ) ) )
       != i_k )
      | ( ( minus_minus_int @ j_i @ one_one_int )
       != j_k ) ) ) ).

%------------------------------------------------------------------------------