TPTP Problem File: SCT170+7.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SCT170+7 : TPTP v8.2.0. Released v5.3.0.
% Domain   : Social Choice Theory
% Problem  : Arrow's Impossibility Theorem line 204, 1000 axioms selected
% Version  : Especial.
% English  :

% Refs     : [BN10]  Boehme & Nipkow (2010), Sledgehammer: Judgement Day
%          : [Bla11] Blanchette (2011), Email to Geoff Sutcliffe
% Source   : [Bla11]
% Names    : arrow_1000_fofpt_l204 [Bla11]

% Status   : Theorem
% Rating   : 1.00 v7.4.0, 0.97 v7.3.0, 0.93 v7.1.0, 0.91 v7.0.0, 1.00 v5.3.0
% Syntax   : Number of formulae    : 1165 ( 396 unt;   0 def)
%            Number of atoms       : 2744 ( 976 equ)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 1873 ( 294   ~;  62   |; 169   &)
%                                         ( 220 <=>;1128  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   19 (   6 avg)
%            Maximal term depth    :   25 (   2 avg)
%            Number of predicates  :   32 (  31 usr;   0 prp; 1-2 aty)
%            Number of functors    :  108 ( 108 usr;  26 con; 0-4 aty)
%            Number of variables   : 3813 (3710   !; 103   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 17:26:43
%          : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (106)
fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_OIIA_res,axiom,
    ti(fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),arrow_1541970350le_IIA) = arrow_1541970350le_IIA ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_OLin_res,axiom,
    ti(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),arrow_1568854078le_Lin) = arrow_1568854078le_Lin ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_OProf_res,axiom,
    ti(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),arrow_301600364e_Prof) = arrow_301600364e_Prof ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_Oabove_res,axiom,
    ti(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),arrow_357225482_above) = arrow_357225482_above ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_Obelow_res,hypothesis,
    ti(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),arrow_1665824030_below) = arrow_1665824030_below ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_Odictator_res,axiom,
    ti(fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,bool)),arrow_708804735ctator) = arrow_708804735ctator ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_Omkbot_res,axiom,
    ti(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1622070166_mkbot) = arrow_1622070166_mkbot ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_Omktop_res,axiom,
    ti(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1770777252_mktop) = arrow_1770777252_mktop ).

fof(tsy_c_Arrow__Order__Mirabelle__atbwwtcaxb_Ounanimity_res,axiom,
    ti(fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),arrow_1066301521nimity) = arrow_1066301521nimity ).

fof(tsy_c_COMBB_res,axiom,
    ! [X_b,X_c,X_a] : ti(fun(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c))),combb(X_b,X_c,X_a)) = combb(X_b,X_c,X_a) ).

fof(tsy_c_COMBC_res,axiom,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c))),combc(X_a,X_b,X_c)) = combc(X_a,X_b,X_c) ).

fof(tsy_c_COMBI_res,axiom,
    ! [X_a] : ti(fun(X_a,X_a),combi(X_a)) = combi(X_a) ).

fof(tsy_c_COMBK_res,axiom,
    ! [X_a,X_b] : ti(fun(X_a,fun(X_b,X_a)),combk(X_a,X_b)) = combk(X_a,X_b) ).

fof(tsy_c_COMBS_res,axiom,
    ! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c))),combs(X_a,X_b,X_c)) = combs(X_a,X_b,X_c) ).

fof(tsy_c_FunDef_Oin__rel_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),in_rel(X_a,X_b)) = in_rel(X_a,X_b) ).

fof(tsy_c_FuncSet_OPi_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool))),pi(X_a,X_b)) = pi(X_a,X_b) ).

fof(tsy_c_Groups_Ominus__class_Ominus_res,axiom,
    ! [X_a] :
      ( minus(X_a)
     => ti(fun(X_a,fun(X_a,X_a)),minus_minus(X_a)) = minus_minus(X_a) ) ).

fof(tsy_c_Groups_Oone__class_Oone_res,axiom,
    ! [X_a] :
      ( one(X_a)
     => ti(X_a,one_one(X_a)) = one_one(X_a) ) ).

fof(tsy_c_Groups_Oplus__class_Oplus_0_res,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ti(fun(X_a,fun(X_a,X_a)),plus_plus(X_a)) = plus_plus(X_a) ) ).

fof(tsy_c_Groups_Oplus__class_Oplus_1_res,axiom,
    ! [X_a] :
      ( ab_semigroup_add(X_a)
     => ti(fun(X_a,fun(X_a,X_a)),plus_plus(X_a)) = plus_plus(X_a) ) ).

fof(tsy_c_Groups_Oplus__class_Oplus_2_res,axiom,
    ! [X_a] :
      ( cancel_semigroup_add(X_a)
     => ti(fun(X_a,fun(X_a,X_a)),plus_plus(X_a)) = plus_plus(X_a) ) ).

fof(tsy_c_Groups_Ozero__class_Ozero_res,axiom,
    ! [X_a] :
      ( zero(X_a)
     => ti(X_a,zero_zero(X_a)) = zero_zero(X_a) ) ).

fof(tsy_c_HOL_Oequal__class_Oequal_res,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => ti(fun(X_a,fun(X_a,bool)),equal_equal(X_a)) = equal_equal(X_a) ) ).

fof(tsy_c_HOL_Oundefined_res,axiom,
    ! [X_a] : ti(X_a,undefined(X_a)) = undefined(X_a) ).

fof(tsy_c_If_res,axiom,
    ! [X_a] : ti(fun(bool,fun(X_a,fun(X_a,X_a))),if(X_a)) = if(X_a) ).

fof(tsy_c_List_Oappend_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(list(X_a),list(X_a))),append(X_a)) = append(X_a) ).

fof(tsy_c_List_Obutlast_res,axiom,
    ! [X_a] : ti(fun(list(X_a),list(X_a)),butlast(X_a)) = butlast(X_a) ).

fof(tsy_c_List_Odistinct_res,axiom,
    ! [X_a] : ti(fun(list(X_a),bool),distinct(X_a)) = distinct(X_a) ).

fof(tsy_c_List_Odrop_res,axiom,
    ! [X_a] : ti(fun(nat,fun(list(X_a),list(X_a))),drop(X_a)) = drop(X_a) ).

fof(tsy_c_List_OdropWhile_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(list(X_a),list(X_a))),dropWhile(X_a)) = dropWhile(X_a) ).

fof(tsy_c_List_Ohd_res,axiom,
    ! [X_a] : ti(fun(list(X_a),X_a),hd(X_a)) = hd(X_a) ).

fof(tsy_c_List_Oinsert_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(list(X_a),list(X_a))),insert(X_a)) = insert(X_a) ).

fof(tsy_c_List_Olast_res,axiom,
    ! [X_a] : ti(fun(list(X_a),X_a),last(X_a)) = last(X_a) ).

fof(tsy_c_List_Olenlex_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool)),lenlex(X_a)) = lenlex(X_a) ).

fof(tsy_c_List_Olex_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool)),lex(X_a)) = lex(X_a) ).

fof(tsy_c_List_Olexn_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(nat,fun(product_prod(list(X_a),list(X_a)),bool))),lexn(X_a)) = lexn(X_a) ).

fof(tsy_c_List_Olexord_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool)),lexord(X_a)) = lexord(X_a) ).

fof(tsy_c_List_Olinorder__class_Osorted_res,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ti(fun(list(X_a),bool),linorder_sorted(X_a)) = linorder_sorted(X_a) ) ).

fof(tsy_c_List_Olist_OCons_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(list(X_a),list(X_a))),cons(X_a)) = cons(X_a) ).

fof(tsy_c_List_Olist_ONil_res,axiom,
    ! [X_a] : ti(list(X_a),nil(X_a)) = nil(X_a) ).

fof(tsy_c_List_Olist_Olist__case_res,axiom,
    ! [X_a,X_b] : ti(fun(X_a,fun(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a))),list_case(X_a,X_b)) = list_case(X_a,X_b) ).

fof(tsy_c_List_Olist_Olist__rec_res,axiom,
    ! [X_a,X_b] : ti(fun(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a))),list_rec(X_a,X_b)) = list_rec(X_a,X_b) ).

fof(tsy_c_List_Olist_Olist__size_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,nat),fun(list(X_a),nat)),list_size(X_a)) = list_size(X_a) ).

fof(tsy_c_List_Olist__all2_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool))),list_all2(X_a,X_b)) = list_all2(X_a,X_b) ).

fof(tsy_c_List_Olist__update_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(nat,fun(X_a,list(X_a)))),list_update(X_a)) = list_update(X_a) ).

fof(tsy_c_List_Olistrel_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool)),listrel(X_a)) = listrel(X_a) ).

fof(tsy_c_List_Olistrel1_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool)),listrel1(X_a)) = listrel1(X_a) ).

fof(tsy_c_List_Olistrelp_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool))),listrelp(X_a)) = listrelp(X_a) ).

fof(tsy_c_List_Olistset_res,axiom,
    ! [X_a] : ti(fun(list(fun(X_a,bool)),fun(list(X_a),bool)),listset(X_a)) = listset(X_a) ).

fof(tsy_c_List_Omaps_res,axiom,
    ! [X_b,X_a] : ti(fun(fun(X_b,list(X_a)),fun(list(X_b),list(X_a))),maps(X_b,X_a)) = maps(X_b,X_a) ).

fof(tsy_c_List_Onth_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(nat,X_a)),nth(X_a)) = nth(X_a) ).

fof(tsy_c_List_Onull_res,axiom,
    ! [X_b] : ti(fun(list(X_b),bool),null(X_b)) = null(X_b) ).

fof(tsy_c_List_Opartition_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(list(X_a),product_prod(list(X_a),list(X_a)))),partition(X_a)) = partition(X_a) ).

fof(tsy_c_List_Oreplicate_res,axiom,
    ! [X_a] : ti(fun(nat,fun(X_a,list(X_a))),replicate(X_a)) = replicate(X_a) ).

fof(tsy_c_List_Orev_res,axiom,
    ! [X_a] : ti(fun(list(X_a),list(X_a)),rev(X_a)) = rev(X_a) ).

fof(tsy_c_List_Orotate1_res,axiom,
    ! [X_a] : ti(fun(list(X_a),list(X_a)),rotate1(X_a)) = rotate1(X_a) ).

fof(tsy_c_List_Oset_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(X_a,bool)),set(X_a)) = set(X_a) ).

fof(tsy_c_List_Oset__Cons_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool))),set_Cons(X_a)) = set_Cons(X_a) ).

fof(tsy_c_List_Osplice_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(list(X_a),list(X_a))),splice(X_a)) = splice(X_a) ).

fof(tsy_c_List_Osublist_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(fun(nat,bool),list(X_a))),sublist(X_a)) = sublist(X_a) ).

fof(tsy_c_List_Otake_res,axiom,
    ! [X_a] : ti(fun(nat,fun(list(X_a),list(X_a))),take(X_a)) = take(X_a) ).

fof(tsy_c_List_OtakeWhile_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(list(X_a),list(X_a))),takeWhile(X_a)) = takeWhile(X_a) ).

fof(tsy_c_List_Otl_res,axiom,
    ! [X_a] : ti(fun(list(X_a),list(X_a)),tl(X_a)) = tl(X_a) ).

fof(tsy_c_List_Ozip_res,axiom,
    ! [X_a,X_b] : ti(fun(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b)))),zip(X_a,X_b)) = zip(X_a,X_b) ).

fof(tsy_c_Nat_OSuc_res,axiom,
    ti(fun(nat,nat),suc) = suc ).

fof(tsy_c_Nat_Onat_Onat__case_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(fun(nat,X_a),fun(nat,X_a))),nat_case(X_a)) = nat_case(X_a) ).

fof(tsy_c_Nat_Onat_Onat__size_res,axiom,
    ti(fun(nat,nat),nat_size) = nat_size ).

fof(tsy_c_Nat_Osize__class_Osize_0_res,axiom,
    ti(fun(nat,nat),size_size(nat)) = size_size(nat) ).

fof(tsy_c_Nat_Osize__class_Osize_1_res,axiom,
    ! [X_a] : ti(fun(list(X_a),nat),size_size(list(X_a))) = size_size(list(X_a)) ).

fof(tsy_c_Order__Relation_Ostrict__linear__order__on_res,axiom,
    ti(fun(fun(arrow_2142409994le_alt,bool),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),order_215145569der_on(arrow_2142409994le_alt)) = order_215145569der_on(arrow_2142409994le_alt) ).

fof(tsy_c_Orderings_Oord_Omin_res,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ti(fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,X_a))),min(X_a)) = min(X_a) ) ).

fof(tsy_c_Orderings_Oord__class_Oless_res,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ti(fun(X_a,fun(X_a,bool)),ord_less(X_a)) = ord_less(X_a) ) ).

fof(tsy_c_Orderings_Oord__class_Oless__eq_res,axiom,
    ! [X_b] :
      ( ord(X_b)
     => ti(fun(X_b,fun(X_b,bool)),ord_less_eq(X_b)) = ord_less_eq(X_b) ) ).

fof(tsy_c_Orderings_Oord__class_Omin_res,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ti(fun(X_a,fun(X_a,X_a)),ord_min(X_a)) = ord_min(X_a) ) ).

fof(tsy_c_Orderings_Otop__class_Otop_res,axiom,
    ! [X_a] :
      ( top(X_a)
     => ti(X_a,top_top(X_a)) = top_top(X_a) ) ).

fof(tsy_c_Predicate_Oreflp_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,fun(X_a,bool)),bool),reflp(X_a)) = reflp(X_a) ).

fof(tsy_c_Product__Type_OPair_res,axiom,
    ! [X_a,X_b] : ti(fun(X_a,fun(X_b,product_prod(X_a,X_b))),product_Pair(X_a,X_b)) = product_Pair(X_a,X_b) ).

fof(tsy_c_Product__Type_Ocurry_res,axiom,
    ! [X_a,X_b,X_c] : ti(fun(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c))),product_curry(X_a,X_b,X_c)) = product_curry(X_a,X_b,X_c) ).

fof(tsy_c_Product__Type_Ointernal__split_res,axiom,
    ! [X_b,X_c,X_a] : ti(fun(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a)),produc1605651328_split(X_b,X_c,X_a)) = produc1605651328_split(X_b,X_c,X_a) ).

fof(tsy_c_Product__Type_Omap__pair_res,axiom,
    ! [X_a,X_c,X_b,X_d] : ti(fun(fun(X_a,X_c),fun(fun(X_b,X_d),fun(product_prod(X_a,X_b),product_prod(X_c,X_d)))),product_map_pair(X_a,X_c,X_b,X_d)) = product_map_pair(X_a,X_c,X_b,X_d) ).

fof(tsy_c_Product__Type_Oprod_Oprod__case_res,axiom,
    ! [X_b,X_c,X_a] : ti(fun(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a)),product_prod_case(X_b,X_c,X_a)) = product_prod_case(X_b,X_c,X_a) ).

fof(tsy_c_Product__Type_Oprod_Oprod__rec_res,axiom,
    ! [X_b,X_c,X_a] : ti(fun(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a)),product_prod_rec(X_b,X_c,X_a)) = product_prod_rec(X_b,X_c,X_a) ).

fof(tsy_c_Relation_Orefl__on_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool)),refl_on(X_a)) = refl_on(X_a) ).

fof(tsy_c_Set_OCollect_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(X_a,bool)),collect(X_a)) = collect(X_a) ).

fof(tsy_c_Transitive__Closure_Ortrancl_res,axiom,
    ! [X_a] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),transitive_rtrancl(X_a)) = transitive_rtrancl(X_a) ).

fof(tsy_c_Wellfounded_Olex__prod_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool))),lex_prod(X_a,X_b)) = lex_prod(X_a,X_b) ).

fof(tsy_c_Wellfounded_Omeasure_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,nat),fun(product_prod(X_a,X_a),bool)),measure(X_a)) = measure(X_a) ).

fof(tsy_c_Wellfounded_Omlex__prod_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,nat),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool))),mlex_prod(X_a)) = mlex_prod(X_a) ).

fof(tsy_c_fEx_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),bool),fEx(X_a)) = fEx(X_a) ).

fof(tsy_c_fFalse_res,axiom,
    ti(bool,fFalse) = fFalse ).

fof(tsy_c_fNot_res,axiom,
    ti(fun(bool,bool),fNot) = fNot ).

fof(tsy_c_fTrue_res,axiom,
    ti(bool,fTrue) = fTrue ).

fof(tsy_c_fconj_res,axiom,
    ti(fun(bool,fun(bool,bool)),fconj) = fconj ).

fof(tsy_c_fdisj_res,axiom,
    ti(fun(bool,fun(bool,bool)),fdisj) = fdisj ).

fof(tsy_c_fequal_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(X_a,bool)),fequal(X_a)) = fequal(X_a) ).

fof(tsy_c_hAPP_arg1,axiom,
    ! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,ti(fun(X_a,X_c),B_1_1),B_2_1) = hAPP(X_a,X_c,B_1_1,B_2_1) ).

fof(tsy_c_hAPP_arg2,axiom,
    ! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,B_1_1,ti(X_a,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1) ).

fof(tsy_c_hAPP_res,axiom,
    ! [X_c,X_a,B_1_1,B_2_1] : ti(X_c,hAPP(X_a,X_c,B_1_1,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1) ).

fof(tsy_c_hBOOL_arg1,hypothesis,
    ! [B_1_1] :
      ( hBOOL(ti(bool,B_1_1))
    <=> hBOOL(B_1_1) ) ).

fof(tsy_c_member_res,axiom,
    ! [X_b] : ti(fun(X_b,fun(fun(X_b,bool),bool)),member(X_b)) = member(X_b) ).

fof(tsy_v_F_res,axiom,
    ti(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),f) = f ).

fof(tsy_v_P_H_____res,axiom,
    ti(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),p_1) = p_1 ).

fof(tsy_v_P_____res,hypothesis,
    ti(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),p) = p ).

fof(tsy_v_a_____res,hypothesis,
    ti(arrow_2142409994le_alt,a) = a ).

fof(tsy_v_b_____res,hypothesis,
    ti(arrow_2142409994le_alt,b) = b ).

fof(tsy_v_c_____res,hypothesis,
    ti(arrow_2142409994le_alt,c) = c ).

%----Relevant facts (996)
fof(fact_0__096P_A_058_AProf_096,axiom,
    hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),p),arrow_301600364e_Prof)) ).

fof(fact_1_assms_I3_J,axiom,
    hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool,arrow_1541970350le_IIA,f)) ).

fof(fact_2_u,axiom,
    hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool,arrow_1066301521nimity,f)) ).

fof(fact_3__096a_A_126_061_Ab_096,axiom,
    a != b ).

fof(fact_4_dist,axiom,
    hBOOL(hAPP(list(arrow_2142409994le_alt),bool,distinct(arrow_2142409994le_alt),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),a),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),b),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),c),nil(arrow_2142409994le_alt)))))) ).

fof(fact_5_iff,axiom,
    ! [I] :
      ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),a),b)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),p,I)))
    <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),b),a)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),p_1,I))) ) ).

fof(fact_6__096_B_Bthesis_O_A_I_B_Bc_O_Adistinct_A_091a_M_Ab_M_Ac_093_A_061_061_062_,axiom,
    ~ ! [C_2] : ~ hBOOL(hAPP(list(arrow_2142409994le_alt),bool,distinct(arrow_2142409994le_alt),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),a),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),b),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),C_2),nil(arrow_2142409994le_alt)))))) ).

fof(fact_7__096_I_Fp_O_Abelow_A_Ibelow_A_IP_Ap_J_Ac_Ab_J_Ab_Aa_J_A_058_AProf_096,axiom,
    hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))))),combb(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1998540521e_indi),arrow_1665824030_below),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))))),combb(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1998540521e_indi),arrow_1665824030_below),p)),c)),b))),b)),a)),arrow_301600364e_Prof)) ).

fof(fact_8__096_I_Fp_O_Abelow_A_Ibelow_A_Ibelow_A_IP_Ap_J_Ac_Ab_J_Ab_Aa_J_Aa_Ac_J_A_,axiom,
    hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))))),combb(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1998540521e_indi),arrow_1665824030_below),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))))),combb(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1998540521e_indi),arrow_1665824030_below),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))))),combb(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1998540521e_indi),arrow_1665824030_below),p)),c)),b))),b)),a))),a)),c)),arrow_301600364e_Prof)) ).

fof(fact_9__096_I_Fp_O_Abelow_A_IP_Ap_J_Ac_Ab_J_A_058_AProf_096,axiom,
    hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(arrow_2142409994le_alt,fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),combc(arrow_1998540521e_indi,arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)))),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))))),combb(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1998540521e_indi),arrow_1665824030_below),p)),c)),b)),arrow_301600364e_Prof)) ).

fof(fact_10_in__mkbot,axiom,
    ! [X_1,Y_1,L_3,Z_2] :
      ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),arrow_1622070166_mkbot,L_3),Z_2)))
    <=> ( ti(arrow_2142409994le_alt,Y_1) != ti(arrow_2142409994le_alt,Z_2)
        & ( ti(arrow_2142409994le_alt,X_1) = ti(arrow_2142409994le_alt,Z_2)
         => ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Y_1) )
        & ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Z_2)
         => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),L_3)) ) ) ) ).

fof(fact_11_in__mktop,axiom,
    ! [X_1,Y_1,L_3,Z_2] :
      ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),arrow_1770777252_mktop,L_3),Z_2)))
    <=> ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Z_2)
        & ( ti(arrow_2142409994le_alt,Y_1) = ti(arrow_2142409994le_alt,Z_2)
         => ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Y_1) )
        & ( ti(arrow_2142409994le_alt,Y_1) != ti(arrow_2142409994le_alt,Z_2)
         => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),L_3)) ) ) ) ).

fof(fact_12_in__below,axiom,
    ! [X_1,Y_1,L_3,Aa,Ba] :
      ( ti(arrow_2142409994le_alt,Aa) != ti(arrow_2142409994le_alt,Ba)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
       => ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1665824030_below,L_3),Aa),Ba)))
        <=> ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Y_1)
            & ( ti(arrow_2142409994le_alt,Y_1) = ti(arrow_2142409994le_alt,Aa)
             => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Ba)),L_3)) )
            & ( ti(arrow_2142409994le_alt,Y_1) != ti(arrow_2142409994le_alt,Aa)
             => ( ( ti(arrow_2142409994le_alt,X_1) = ti(arrow_2142409994le_alt,Aa)
                 => ( ti(arrow_2142409994le_alt,Y_1) = ti(arrow_2142409994le_alt,Ba)
                    | hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Ba),Y_1)),L_3)) ) )
                & ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Aa)
                 => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),L_3)) ) ) ) ) ) ) ) ).

fof(fact_13_split__paired__All,axiom,
    ! [X_a,X_b,Pa] :
      ( ! [X1] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))
    <=> ! [A_5,B_2] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2))) ) ).

fof(fact_14_Pair__eq,axiom,
    ! [X_b,X_a,Aa,Ba,A_3,B_3] :
      ( hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B_3)
    <=> ( ti(X_a,Aa) = ti(X_a,A_3)
        & ti(X_b,Ba) = ti(X_b,B_3) ) ) ).

fof(fact_15_Pair__inject,axiom,
    ! [X_b,X_a,A_1,B,A_6,B_4] :
      ( hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_1),B) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_6),B_4)
     => ~ ( ti(X_a,A_1) = ti(X_a,A_6)
         => ti(X_b,B) != ti(X_b,B_4) ) ) ).

fof(fact_16_in__rel__def,axiom,
    ! [X_b,X_a,R_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),in_rel(X_a,X_b),R_2),X_1),Y_1))
    <=> hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_1),Y_1)),R_2)) ) ).

fof(fact_17_below__Lin,axiom,
    ! [L_3,X_1,Y_1] :
      ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Y_1)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
       => hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1665824030_below,L_3),X_1),Y_1)),arrow_1568854078le_Lin)) ) ) ).

fof(fact_18__096P_H_A_058_AProf_096,axiom,
    hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),p_1),arrow_301600364e_Prof)) ).

fof(fact_19__C1_C,axiom,
    ! [P_a,Pa,A_3,B_3,Aa,Ba] :
      ( ti(arrow_2142409994le_alt,Aa) != ti(arrow_2142409994le_alt,Ba)
     => ( ti(arrow_2142409994le_alt,A_3) != ti(arrow_2142409994le_alt,B_3)
       => ( ti(arrow_2142409994le_alt,Aa) != ti(arrow_2142409994le_alt,B_3)
         => ( ti(arrow_2142409994le_alt,Ba) != ti(arrow_2142409994le_alt,A_3)
           => ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),Pa),arrow_301600364e_Prof))
             => ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),P_a),arrow_301600364e_Prof))
               => ( ! [I] :
                      ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Aa),Ba)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Pa,I)))
                    <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_3),B_3)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),P_a,I))) )
                 => ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Aa),Ba)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),f,Pa)))
                   => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_3),B_3)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),f,P_a))) ) ) ) ) ) ) ) ) ).

fof(fact_20__C2_C,axiom,
    ! [P_a,Pa,A_3,B_3,Aa,Ba] :
      ( ti(arrow_2142409994le_alt,Aa) != ti(arrow_2142409994le_alt,Ba)
     => ( ti(arrow_2142409994le_alt,A_3) != ti(arrow_2142409994le_alt,B_3)
       => ( ti(arrow_2142409994le_alt,Aa) != ti(arrow_2142409994le_alt,B_3)
         => ( ti(arrow_2142409994le_alt,Ba) != ti(arrow_2142409994le_alt,A_3)
           => ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),Pa),arrow_301600364e_Prof))
             => ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),P_a),arrow_301600364e_Prof))
               => ( ! [I] :
                      ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Aa),Ba)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Pa,I)))
                    <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_3),B_3)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),P_a,I))) )
                 => ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Aa),Ba)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),f,Pa)))
                  <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_3),B_3)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),f,P_a))) ) ) ) ) ) ) ) ) ).

fof(fact_21_assms_I1_J,axiom,
    hBOOL(hAPP(fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),f),hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool)),pi(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),arrow_301600364e_Prof),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),combk(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1568854078le_Lin)))) ).

fof(fact_22_const__Lin__Prof,axiom,
    ! [L_3] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
     => hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),combk(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),arrow_1998540521e_indi),L_3)),arrow_301600364e_Prof)) ) ).

fof(fact_23_mkbot__Lin,axiom,
    ! [X_1,L_3] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
     => hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),arrow_1622070166_mkbot,L_3),X_1)),arrow_1568854078le_Lin)) ) ).

fof(fact_24_mktop__Lin,axiom,
    ! [X_1,L_3] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
     => hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),arrow_1770777252_mktop,L_3),X_1)),arrow_1568854078le_Lin)) ) ).

fof(fact_25_Lin__irrefl,axiom,
    ! [Aa,Ba,L_3] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
     => ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Aa),Ba)),L_3))
       => ~ hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Ba),Aa)),L_3)) ) ) ).

fof(fact_26_notin__Lin__iff,axiom,
    ! [X_1,Y_1,L_3] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
     => ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Y_1)
       => ( ~ hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),L_3))
        <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Y_1),X_1)),L_3)) ) ) ) ).

fof(fact_27_third__alt,axiom,
    ! [A_1,B] :
      ( ti(arrow_2142409994le_alt,A_1) != ti(arrow_2142409994le_alt,B)
     => ? [C_2] : hBOOL(hAPP(list(arrow_2142409994le_alt),bool,distinct(arrow_2142409994le_alt),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),A_1),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),B),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),C_2),nil(arrow_2142409994le_alt)))))) ) ).

fof(fact_28_IIA__def,axiom,
    ! [Fa_1] :
      ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool,arrow_1541970350le_IIA,Fa_1))
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),X_2),arrow_301600364e_Prof))
         => ! [Xa] :
              ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),Xa),arrow_301600364e_Prof))
             => ! [A_5,B_2] :
                  ( ! [I] :
                      ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),X_2,I)))
                    <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Xa,I))) )
                 => ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Fa_1,X_2)))
                  <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Fa_1,Xa))) ) ) ) ) ) ).

fof(fact_29_unanimity__def,axiom,
    ! [Fa_1] :
      ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool,arrow_1066301521nimity,Fa_1))
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),X_2),arrow_301600364e_Prof))
         => ! [A_5,B_2] :
              ( ! [I] : hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),X_2,I)))
             => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Fa_1,X_2))) ) ) ) ).

fof(fact_30_complete__Lin,axiom,
    ! [Aa,Ba] :
      ( ti(arrow_2142409994le_alt,Aa) != ti(arrow_2142409994le_alt,Ba)
     => ? [X_2] :
          ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),X_2),arrow_1568854078le_Lin))
          & hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Aa),Ba)),X_2)) ) ) ).

fof(fact_31_in__above,axiom,
    ! [X_1,Y_1,L_3,Aa,Ba] :
      ( ti(arrow_2142409994le_alt,Aa) != ti(arrow_2142409994le_alt,Ba)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
       => ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_357225482_above,L_3),Aa),Ba)))
        <=> ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Y_1)
            & ( ti(arrow_2142409994le_alt,X_1) = ti(arrow_2142409994le_alt,Ba)
             => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),Aa),Y_1)),L_3)) )
            & ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Ba)
             => ( ( ti(arrow_2142409994le_alt,Y_1) = ti(arrow_2142409994le_alt,Ba)
                 => ( ti(arrow_2142409994le_alt,X_1) = ti(arrow_2142409994le_alt,Aa)
                    | hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Aa)),L_3)) ) )
                & ( ti(arrow_2142409994le_alt,Y_1) != ti(arrow_2142409994le_alt,Ba)
                 => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),X_1),Y_1)),L_3)) ) ) ) ) ) ) ) ).

fof(fact_32_prod_Orecs,axiom,
    ! [X_b,X_c,X_a,F1,Aa,Ba] : hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_rec(X_b,X_c,X_a),F1),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),Aa),Ba)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1,Aa),Ba) ).

fof(fact_33_distinct_Osimps_I1_J,axiom,
    ! [X_a] : hBOOL(hAPP(list(X_a),bool,distinct(X_a),nil(X_a))) ).

fof(fact_34_list_Osimps_I2_J,axiom,
    ! [X_a,A_6,List_4] : nil(X_a) != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_6),List_4) ).

fof(fact_35_list_Osimps_I3_J,axiom,
    ! [X_a,A_6,List_4] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_6),List_4) != nil(X_a) ).

fof(fact_36_alt3,axiom,
    ? [A_5,B_2,C_2] : hBOOL(hAPP(list(arrow_2142409994le_alt),bool,distinct(arrow_2142409994le_alt),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),A_5),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),B_2),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),C_2),nil(arrow_2142409994le_alt)))))) ).

fof(fact_37_linear__alt,axiom,
    ? [L_4] : hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_4),arrow_1568854078le_Lin)) ).

fof(fact_38_dictator__def,axiom,
    ! [Fa_1,I_1] :
      ( hBOOL(hAPP(arrow_1998540521e_indi,bool,hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,bool),arrow_708804735ctator,Fa_1),I_1))
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),X_2),arrow_301600364e_Prof))
         => hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Fa_1,X_2) = hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),X_2,I_1) ) ) ).

fof(fact_39_list_Oinject,axiom,
    ! [X_a,Aa,List,A_3,List_3] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),List) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),List_3)
    <=> ( ti(X_a,Aa) = ti(X_a,A_3)
        & List = List_3 ) ) ).

fof(fact_40_not__Cons__self2,axiom,
    ! [X_a,X,Xs] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs) != Xs ).

fof(fact_41_not__Cons__self,axiom,
    ! [X_a,Xs,X] : Xs != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs) ).

fof(fact_42_above__Lin,axiom,
    ! [L_3,X_1,Y_1] :
      ( ti(arrow_2142409994le_alt,X_1) != ti(arrow_2142409994le_alt,Y_1)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),L_3),arrow_1568854078le_Lin))
       => hBOOL(hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),bool),member(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_357225482_above,L_3),X_1),Y_1)),arrow_1568854078le_Lin)) ) ) ).

fof(fact_43_dictatorI,axiom,
    ! [I_1,Fa_1] :
      ( hBOOL(hAPP(fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),Fa_1),hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool)),pi(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),arrow_301600364e_Prof),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),combk(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1568854078le_Lin))))
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool,hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),bool),member(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),X_2),arrow_301600364e_Prof))
           => ! [A_5,B_2] :
                ( ti(arrow_2142409994le_alt,A_5) != ti(arrow_2142409994le_alt,B_2)
               => ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),X_2,I_1)))
                 => hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),A_5),B_2)),hAPP(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),Fa_1,X_2))) ) ) )
       => hBOOL(hAPP(arrow_1998540521e_indi,bool,hAPP(fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),fun(arrow_1998540521e_indi,bool),arrow_708804735ctator,Fa_1),I_1)) ) ) ).

fof(fact_44_PiE,axiom,
    ! [X_a,X_b,X_1,F,A_2,B_1] :
      ( hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),F),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1)))
     => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,fun(X_b,bool),B_1,X_1)))
       => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2)) ) ) ).

fof(fact_45_list_Oexhaust,axiom,
    ! [X_a,Y] :
      ( Y != nil(X_a)
     => ~ ! [A_5,List_2] : Y != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_5),List_2) ) ).

fof(fact_46_neq__Nil__conv,axiom,
    ! [X_a,Xs_1] :
      ( Xs_1 != nil(X_a)
    <=> ? [Y_2,Ys_2] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Ys_2) ) ).

fof(fact_47_funcset__id,axiom,
    ! [X_a,A_2] : hBOOL(hAPP(fun(fun(X_a,X_a),bool),bool,hAPP(fun(X_a,X_a),fun(fun(fun(X_a,X_a),bool),bool),member(fun(X_a,X_a)),combi(X_a)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,X_a),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_a,bool)),fun(fun(X_a,X_a),bool)),pi(X_a,X_a),A_2),hAPP(fun(X_a,bool),fun(X_a,fun(X_a,bool)),combk(fun(X_a,bool),X_a),A_2)))) ).

fof(fact_48_funcset__mem,axiom,
    ! [X_a,X_b,X_1,F,A_2,B_1] :
      ( hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),F),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),hAPP(fun(X_b,bool),fun(X_a,fun(X_b,bool)),combk(fun(X_b,bool),X_a),B_1))))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(X_a,X_b,F,X_1)),B_1)) ) ) ).

fof(fact_49_splice_Osimps_I2_J,axiom,
    ! [X_a,V_1,Va] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),V_1),Va)),nil(X_a)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),V_1),Va) ).

fof(fact_50_list_Osimps_I4_J,axiom,
    ! [X_b,X_a,F1,F2] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a)),list_case(X_a,X_b),F1),F2),nil(X_b)) = ti(X_a,F1) ).

fof(fact_51_list_Osimps_I5_J,axiom,
    ! [X_b,X_a,F1,F2,Aa,List] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),X_a)),fun(list(X_b),X_a)),list_case(X_a,X_b),F1),F2),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Aa),List)) = hAPP(list(X_b),X_a,hAPP(X_b,fun(list(X_b),X_a),F2,Aa),List) ).

fof(fact_52_split__paired__Ex,axiom,
    ! [X_a,X_b,Pa] :
      ( ? [X1] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))
    <=> ? [A_5,B_2] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2))) ) ).

fof(fact_53_prod__induct6,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa] :
      ( ! [A_5,B_2,C_2,D_3,E,F_1] : hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),A_5),hAPP(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),B_2),hAPP(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),hAPP(X_c,fun(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_Pair(X_c,product_prod(X_d,product_prod(X_e,X_f))),C_2),hAPP(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f)),hAPP(X_d,fun(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f))),product_Pair(X_d,product_prod(X_e,X_f)),D_3),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E),F_1)))))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),bool,Pa,X_1)) ) ).

fof(fact_54_splice_Osimps_I3_J,axiom,
    ! [X_a,X,Xs,Y,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),Xs),Ys_1))) ).

fof(fact_55_splice_Osimps_I1_J,axiom,
    ! [X_a,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),nil(X_a)),Ys_1) = Ys_1 ).

fof(fact_56_splice__Nil2,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),Xs),nil(X_a)) = Xs ).

fof(fact_57_Pi__mem,axiom,
    ! [X_a,X_b,X_1,F,A_2,B_1] :
      ( hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),F),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1)))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,fun(X_b,bool),B_1,X_1))) ) ) ).

fof(fact_58_prod__cases6,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_f,Y] :
      ~ ! [A_5,B_2,C_2,D_3,E,F_1] : ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),Y) != hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),A_5),hAPP(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),product_prod(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),B_2),hAPP(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f))),hAPP(X_c,fun(product_prod(X_d,product_prod(X_e,X_f)),product_prod(X_c,product_prod(X_d,product_prod(X_e,X_f)))),product_Pair(X_c,product_prod(X_d,product_prod(X_e,X_f))),C_2),hAPP(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f)),hAPP(X_d,fun(product_prod(X_e,X_f),product_prod(X_d,product_prod(X_e,X_f))),product_Pair(X_d,product_prod(X_e,X_f)),D_3),hAPP(X_f,product_prod(X_e,X_f),hAPP(X_e,fun(X_f,product_prod(X_e,X_f)),product_Pair(X_e,X_f),E),F_1))))) ).

fof(fact_59_prod__cases5,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,Y] :
      ~ ! [A_5,B_2,C_2,D_3,E] : ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),Y) != hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_5),hAPP(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,X_e))),B_2),hAPP(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e)),hAPP(X_c,fun(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e))),product_Pair(X_c,product_prod(X_d,X_e)),C_2),hAPP(X_e,product_prod(X_d,X_e),hAPP(X_d,fun(X_e,product_prod(X_d,X_e)),product_Pair(X_d,X_e),D_3),E)))) ).

fof(fact_60_prod__induct5,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_1,Pa] :
      ( ! [A_5,B_2,C_2,D_3,E] : hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),A_5),hAPP(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e))),hAPP(X_b,fun(product_prod(X_c,product_prod(X_d,X_e)),product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),product_Pair(X_b,product_prod(X_c,product_prod(X_d,X_e))),B_2),hAPP(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e)),hAPP(X_c,fun(product_prod(X_d,X_e),product_prod(X_c,product_prod(X_d,X_e))),product_Pair(X_c,product_prod(X_d,X_e)),C_2),hAPP(X_e,product_prod(X_d,X_e),hAPP(X_d,fun(X_e,product_prod(X_d,X_e)),product_Pair(X_d,X_e),D_3),E))))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,product_prod(X_d,X_e)))),bool,Pa,X_1)) ) ).

fof(fact_61_Pi__I,axiom,
    ! [X_b,X_a,F,B_1,A_2] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
         => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,fun(X_b,bool),B_1,X_2))) )
     => hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),F),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1))) ) ).

fof(fact_62_prod__cases4,axiom,
    ! [X_a,X_b,X_c,X_d,Y] :
      ~ ! [A_5,B_2,C_2,D_3] : ti(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),Y) != hAPP(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d)))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,X_d))),A_5),hAPP(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d)),hAPP(X_b,fun(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d))),product_Pair(X_b,product_prod(X_c,X_d)),B_2),hAPP(X_d,product_prod(X_c,X_d),hAPP(X_c,fun(X_d,product_prod(X_c,X_d)),product_Pair(X_c,X_d),C_2),D_3))) ).

fof(fact_63_prod__induct4,axiom,
    ! [X_a,X_b,X_c,X_d,X_1,Pa] :
      ( ! [A_5,B_2,C_2,D_3] : hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,hAPP(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),hAPP(X_a,fun(product_prod(X_b,product_prod(X_c,X_d)),product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d)))),product_Pair(X_a,product_prod(X_b,product_prod(X_c,X_d))),A_5),hAPP(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d)),hAPP(X_b,fun(product_prod(X_c,X_d),product_prod(X_b,product_prod(X_c,X_d))),product_Pair(X_b,product_prod(X_c,X_d)),B_2),hAPP(X_d,product_prod(X_c,X_d),hAPP(X_c,fun(X_d,product_prod(X_c,X_d)),product_Pair(X_c,X_d),C_2),D_3)))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,X_1)) ) ).

fof(fact_64_prod__cases3,axiom,
    ! [X_a,X_b,X_c,Y] :
      ~ ! [A_5,B_2,C_2] : ti(product_prod(X_a,product_prod(X_b,X_c)),Y) != hAPP(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c)),hAPP(X_a,fun(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c))),product_Pair(X_a,product_prod(X_b,X_c)),A_5),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),B_2),C_2)) ).

fof(fact_65_prod__induct3,axiom,
    ! [X_a,X_b,X_c,X_1,Pa] :
      ( ! [A_5,B_2,C_2] : hBOOL(hAPP(product_prod(X_a,product_prod(X_b,X_c)),bool,Pa,hAPP(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c)),hAPP(X_a,fun(product_prod(X_b,X_c),product_prod(X_a,product_prod(X_b,X_c))),product_Pair(X_a,product_prod(X_b,X_c)),A_5),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),B_2),C_2))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,X_c)),bool,Pa,X_1)) ) ).

fof(fact_66_funcsetI,axiom,
    ! [X_b,X_a,F,B_1,A_2] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
         => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(X_a,X_b,F,X_2)),B_1)) )
     => hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),F),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),hAPP(fun(X_b,bool),fun(X_a,fun(X_b,bool)),combk(fun(X_b,bool),X_a),B_1)))) ) ).

fof(fact_67_Pi__I_H,axiom,
    ! [X_b,X_a,F,B_1,A_2] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
         => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,fun(X_b,bool),B_1,X_2))) )
     => hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),F),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1))) ) ).

fof(fact_68_Pi__cong,axiom,
    ! [X_b,X_a,B_1,F,G,A_2] :
      ( ! [W] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),W),A_2))
         => hAPP(X_a,X_b,F,W) = hAPP(X_a,X_b,G,W) )
     => ( hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),F),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1)))
      <=> hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(X_a,X_b),fun(fun(fun(X_a,X_b),bool),bool),member(fun(X_a,X_b)),G),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1))) ) ) ).

fof(fact_69_PairE,axiom,
    ! [X_a,X_b,P_2] :
      ~ ! [X_2,Y_2] : ti(product_prod(X_a,X_b),P_2) != hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2) ).

fof(fact_70_prod_Oexhaust,axiom,
    ! [X_a,X_b,Y] :
      ~ ! [A_5,B_2] : ti(product_prod(X_a,X_b),Y) != hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2) ).

fof(fact_71_pred__equals__eq2,axiom,
    ! [X_a,X_b,S_2,R_2] :
      ( ! [X_2,Xa] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Xa)),R_2))
        <=> hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Xa)),S_2)) )
    <=> ti(fun(product_prod(X_a,X_b),bool),R_2) = ti(fun(product_prod(X_a,X_b),bool),S_2) ) ).

fof(fact_72_internal__split__conv,axiom,
    ! [X_b,X_c,X_a,Ca,Aa,Ba] : hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),produc1605651328_split(X_b,X_c,X_a),Ca),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),Aa),Ba)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),Ca,Aa),Ba) ).

fof(fact_73_insert__Nil,axiom,
    ! [X_a,X] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X),nil(X_a)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)) ).

fof(fact_74_list__nonempty__induct,axiom,
    ! [X_a,Pa,Xs_1] :
      ( Xs_1 != nil(X_a)
     => ( ! [X_2] : hBOOL(hAPP(list(X_a),bool,Pa,hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),nil(X_a))))
       => ( ! [X_2,Xs_2] :
              ( Xs_2 != nil(X_a)
             => ( hBOOL(hAPP(list(X_a),bool,Pa,Xs_2))
               => hBOOL(hAPP(list(X_a),bool,Pa,hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2))) ) )
         => hBOOL(hAPP(list(X_a),bool,Pa,Xs_1)) ) ) ) ).

fof(fact_75_ext,axiom,
    ! [X_a,X_b,F,G] :
      ( ! [X_2] : hAPP(X_a,X_b,F,X_2) = hAPP(X_a,X_b,G,X_2)
     => ti(fun(X_a,X_b),F) = ti(fun(X_a,X_b),G) ) ).

fof(fact_76_mem__def,axiom,
    ! [X_a,X_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
    <=> hBOOL(hAPP(X_a,bool,A_2,X_1)) ) ).

fof(fact_77_Collect__def,axiom,
    ! [X_a,Pa] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa) = ti(fun(X_a,bool),Pa) ).

fof(fact_78_list_Orecs_I1_J,axiom,
    ! [X_b,X_a,F1,F2] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a)),list_rec(X_a,X_b),F1),F2),nil(X_b)) = ti(X_a,F1) ).

fof(fact_79_list_Orecs_I2_J,axiom,
    ! [X_b,X_a,F1,F2,Aa,List] : hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a)),list_rec(X_a,X_b),F1),F2),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Aa),List)) = hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(X_b,fun(list(X_b),fun(X_a,X_a)),F2,Aa),List),hAPP(list(X_b),X_a,hAPP(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a),hAPP(X_a,fun(fun(X_b,fun(list(X_b),fun(X_a,X_a))),fun(list(X_b),X_a)),list_rec(X_a,X_b),F1),F2),List)) ).

fof(fact_80_curry__def,axiom,
    ! [X_b,X_c,X_a,X_2,Xa,Xb_1] : hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),X_2),Xa),Xb_1) = hAPP(product_prod(X_a,X_b),X_c,X_2,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Xa),Xb_1)) ).

fof(fact_81_curryI,axiom,
    ! [X_a,X_b,F,Aa,Ba] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,F,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba)))
     => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),product_curry(X_a,X_b,bool),F),Aa),Ba)) ) ).

fof(fact_82_curryE,axiom,
    ! [X_b,X_a,F,Aa,Ba] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),product_curry(X_a,X_b,bool),F),Aa),Ba))
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,F,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba))) ) ).

fof(fact_83_curryD,axiom,
    ! [X_b,X_a,F,Aa,Ba] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),product_curry(X_a,X_b,bool),F),Aa),Ba))
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,F,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba))) ) ).

fof(fact_84_distinct__insert,axiom,
    ! [X_a,X,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X),Xs))) ) ).

fof(fact_85_curry__conv,axiom,
    ! [X_c,X_a,X_b,F,Aa,Ba] : hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),hAPP(fun(product_prod(X_b,X_c),X_a),fun(X_b,fun(X_c,X_a)),product_curry(X_b,X_c,X_a),F),Aa),Ba) = hAPP(product_prod(X_b,X_c),X_a,F,hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),Aa),Ba)) ).

fof(fact_86_null__rec_I2_J,axiom,
    ! [X_b] : hBOOL(hAPP(list(X_b),bool,null(X_b),nil(X_b))) ).

fof(fact_87_List_Onull__def,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,null(X_a),Xs_1))
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_88_eq__Nil__null,axiom,
    ! [X_a,Xs_1] :
      ( Xs_1 = nil(X_a)
    <=> hBOOL(hAPP(list(X_a),bool,null(X_a),Xs_1)) ) ).

fof(fact_89_null__rec_I1_J,axiom,
    ! [X_a,X,Xs] : ~ hBOOL(hAPP(list(X_a),bool,null(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs))) ).

fof(fact_90_Prof__def,axiom,
    arrow_301600364e_Prof = hAPP(fun(arrow_1998540521e_indi,fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool),hAPP(fun(arrow_1998540521e_indi,bool),fun(fun(arrow_1998540521e_indi,fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),fun(fun(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),bool)),pi(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),top_top(fun(arrow_1998540521e_indi,bool))),hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),fun(arrow_1998540521e_indi,fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool)),combk(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),arrow_1998540521e_indi),arrow_1568854078le_Lin)) ).

fof(fact_91_lexord__cons__cons,axiom,
    ! [X_a,Aa,X_1,Ba,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),X_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Ba),Y_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
    <=> ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),R_1))
        | ( ti(X_a,Aa) = ti(X_a,Ba)
          & hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ) ) ).

fof(fact_92_maps__simps_I2_J,axiom,
    ! [X_b,X_a,F] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(X_a)),maps(X_b,X_a),F),nil(X_b)) = nil(X_a) ).

fof(fact_93_sorted__single,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X] : hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)))) ) ).

fof(fact_94_distinct__butlast,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
       => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs))) ) ) ).

fof(fact_95_last_Osimps,axiom,
    ! [X_a,X,Xs] :
      ( ( Xs = nil(X_a)
       => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = ti(X_a,X) )
      & ( Xs != nil(X_a)
       => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ) ).

fof(fact_96_top1I,axiom,
    ! [X_a,X_1] : hBOOL(hAPP(X_a,bool,top_top(fun(X_a,bool)),X_1)) ).

fof(fact_97_sorted_ONil,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),nil(X_a))) ) ).

fof(fact_98_sorted__butlast,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs] :
          ( Xs != nil(X_a)
         => ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs))
           => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs))) ) ) ) ).

fof(fact_99_Pi__UNIV,axiom,
    ! [X_a,X_b,A_2] : hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),hAPP(fun(X_b,bool),fun(X_a,fun(X_b,bool)),combk(fun(X_b,bool),X_a),top_top(fun(X_b,bool)))) = top_top(fun(fun(X_a,X_b),bool)) ).

fof(fact_100_butlast_Osimps_I1_J,axiom,
    ! [X_a] : hAPP(list(X_a),list(X_a),butlast(X_a),nil(X_a)) = nil(X_a) ).

fof(fact_101_lexord__Nil__right,axiom,
    ! [X_a,X_1,R_1] : ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),nil(X_a))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ).

fof(fact_102_butlast_Osimps_I2_J,axiom,
    ! [X_a,X,Xs] :
      ( ( Xs = nil(X_a)
       => hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = nil(X_a) )
      & ( Xs != nil(X_a)
       => hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)) ) ) ).

fof(fact_103_last__ConsL,axiom,
    ! [X_a,X,Xs] :
      ( Xs = nil(X_a)
     => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = ti(X_a,X) ) ).

fof(fact_104_last__ConsR,axiom,
    ! [X_a,X,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ).

fof(fact_105_lexord__Nil__left,axiom,
    ! [X_a,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),nil(X_a)),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
    <=> ? [A_5,X_2] : Y_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_5),X_2) ) ).

fof(fact_106_lexord__linear,axiom,
    ! [X_a,X_1,Y_1,R_1] :
      ( ! [A_5,B_2] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_5),B_2)),R_1))
          | ti(X_a,A_5) = ti(X_a,B_2)
          | hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B_2),A_5)),R_1)) )
     => ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
        | X_1 = Y_1
        | hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Y_1),X_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ) ).

fof(fact_107_lexord__irreflexive,axiom,
    ! [X_a,Xs_1,R_1] :
      ( ! [X_2] : ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),X_2)),R_1))
     => ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Xs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ).

fof(fact_108_iso__tuple__UNIV__I,axiom,
    ! [X_a,X_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),top_top(fun(X_a,bool)))) ).

fof(fact_109_UNIV__I,axiom,
    ! [X_a,X_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),top_top(fun(X_a,bool)))) ).

fof(fact_110_top__apply,axiom,
    ! [X_b,X_a] :
      ( top(X_a)
     => ! [X_1] : hAPP(X_b,X_a,top_top(fun(X_b,X_a)),X_1) = top_top(X_a) ) ).

fof(fact_111_takeWhile__not__last,axiom,
    ! [X_a,Xs_1] :
      ( Xs_1 != nil(X_a)
     => ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),hAPP(list(X_a),X_a,last(X_a),Xs_1)))),Xs_1) = hAPP(list(X_a),list(X_a),butlast(X_a),Xs_1) ) ) ).

fof(fact_112_equal__Nil__null,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),equal_equal(list(X_a)),Xs_1),nil(X_a)))
    <=> hBOOL(hAPP(list(X_a),bool,null(X_a),Xs_1)) ) ).

fof(fact_113_partition_Osimps_I1_J,axiom,
    ! [X_a,Pa] : hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(fun(X_a,bool),fun(list(X_a),product_prod(list(X_a),list(X_a))),partition(X_a),Pa),nil(X_a)) = hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),nil(X_a)),nil(X_a)) ).

fof(fact_114_append__butlast__last__id,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(list(X_a),X_a,last(X_a),Xs)),nil(X_a))) = Xs ) ).

fof(fact_115_takeWhile__tail,axiom,
    ! [X_a,Xs_1,L_1,Pa,X_1] :
      ( ~ hBOOL(hAPP(X_a,bool,Pa,X_1))
     => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),L_1))) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1) ) ).

fof(fact_116_append__eq__appendI,axiom,
    ! [X_a,Ys_1,Us_2,Xs,Xs1,Zs_2] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Xs1) = Zs_2
     => ( Ys_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Us_2)
       => hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_2),Us_2) ) ) ).

fof(fact_117_append__same__eq,axiom,
    ! [X_a,Ys,Xs_1,Zs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_1),Xs_1)
    <=> Ys = Zs_1 ) ).

fof(fact_118_same__append__eq,axiom,
    ! [X_a,Xs_1,Ys,Zs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Zs_1)
    <=> Ys = Zs_1 ) ).

fof(fact_119_append__eq__append__conv2,axiom,
    ! [X_a,Xs_1,Ys,Zs_1,Ts] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_1),Ts)
    <=> ? [Us] :
          ( ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_1),Us)
            & hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ys) = Ts )
          | ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Us) = Zs_1
            & Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ts) ) ) ) ).

fof(fact_120_append__assoc,axiom,
    ! [X_a,Xs,Ys_1,Zs_2] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),Zs_2) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_2)) ).

fof(fact_121_equal__list__def,axiom,
    ! [X_a,X_1,Y_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),equal_equal(list(X_a)),X_1),Y_1))
    <=> X_1 = Y_1 ) ).

fof(fact_122_append__Cons,axiom,
    ! [X_a,X,Xs,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) ).

fof(fact_123_Cons__eq__appendI,axiom,
    ! [X_a,Xs,Zs_2,X,Xs1,Ys_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs1) = Ys_1
     => ( Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Zs_2)
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Zs_2) ) ) ).

fof(fact_124_append__Nil,axiom,
    ! [X_a,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),nil(X_a)),Ys_1) = Ys_1 ).

fof(fact_125_Nil__is__append__conv,axiom,
    ! [X_a,Xs_1,Ys] :
      ( nil(X_a) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)
    <=> ( Xs_1 = nil(X_a)
        & Ys = nil(X_a) ) ) ).

fof(fact_126_append__Nil2,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),nil(X_a)) = Xs ).

fof(fact_127_self__append__conv,axiom,
    ! [X_a,Xs_1,Ys] :
      ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)
    <=> Ys = nil(X_a) ) ).

fof(fact_128_self__append__conv2,axiom,
    ! [X_a,Ys,Xs_1] :
      ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_129_append__is__Nil__conv,axiom,
    ! [X_a,Xs_1,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys) = nil(X_a)
    <=> ( Xs_1 = nil(X_a)
        & Ys = nil(X_a) ) ) ).

fof(fact_130_append__self__conv,axiom,
    ! [X_a,Xs_1,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys) = Xs_1
    <=> Ys = nil(X_a) ) ).

fof(fact_131_append__self__conv2,axiom,
    ! [X_a,Xs_1,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys) = Ys
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_132_eq__Nil__appendI,axiom,
    ! [X_a,Xs,Ys_1] :
      ( Xs = Ys_1
     => Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),nil(X_a)),Ys_1) ) ).

fof(fact_133_takeWhile_Osimps_I1_J,axiom,
    ! [X_a,Pa] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),nil(X_a)) = nil(X_a) ).

fof(fact_134_distinct__takeWhile,axiom,
    ! [X_a,Pa,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))) ) ).

fof(fact_135_sorted__takeWhile,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Pa,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))) ) ) ).

fof(fact_136_append__eq__Cons__conv,axiom,
    ! [X_a,Ys,Zs_1,X_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Zs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)
    <=> ( ( Ys = nil(X_a)
          & Zs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) )
        | ? [Ys_3] :
            ( Ys = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Ys_3)
            & hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),Zs_1) = Xs_1 ) ) ) ).

fof(fact_137_Cons__eq__append__conv,axiom,
    ! [X_a,X_1,Xs_1,Ys,Zs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Zs_1)
    <=> ( ( Ys = nil(X_a)
          & hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) = Zs_1 )
        | ? [Ys_3] :
            ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Ys_3) = Ys
            & Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),Zs_1) ) ) ) ).

fof(fact_138_append1__eq__conv,axiom,
    ! [X_a,Xs_1,X_1,Ys,Y_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),nil(X_a)))
    <=> ( Xs_1 = Ys
        & ti(X_a,X_1) = ti(X_a,Y_1) ) ) ).

fof(fact_139_butlast__append,axiom,
    ! [X_a,Xs,Ys_1] :
      ( ( Ys_1 = nil(X_a)
       => hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),butlast(X_a),Xs) )
      & ( Ys_1 != nil(X_a)
       => hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),butlast(X_a),Ys_1)) ) ) ).

fof(fact_140_last__appendL,axiom,
    ! [X_a,Xs,Ys_1] :
      ( Ys_1 = nil(X_a)
     => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ).

fof(fact_141_last__appendR,axiom,
    ! [X_a,Xs,Ys_1] :
      ( Ys_1 != nil(X_a)
     => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),X_a,last(X_a),Ys_1) ) ).

fof(fact_142_last__append,axiom,
    ! [X_a,Xs,Ys_1] :
      ( ( Ys_1 = nil(X_a)
       => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),X_a,last(X_a),Xs) )
      & ( Ys_1 != nil(X_a)
       => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),X_a,last(X_a),Ys_1) ) ) ).

fof(fact_143_lexord__append__leftI,axiom,
    ! [X_a,X_1,U,V,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),U),V)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),U)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),V))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ).

fof(fact_144_takeWhile_Osimps_I2_J,axiom,
    ! [X_a,Xs_1,Pa,X_1] :
      ( ( hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1)) )
      & ( ~ hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = nil(X_a) ) ) ).

fof(fact_145_maps__simps_I1_J,axiom,
    ! [X_b,X_a,F,X_1,Xs_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(X_a)),maps(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_b,list(X_a),F,X_1)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(X_a)),maps(X_b,X_a),F),Xs_1)) ).

fof(fact_146_butlast__snoc,axiom,
    ! [X_a,Xs,X] : hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)))) = Xs ).

fof(fact_147_last__snoc,axiom,
    ! [X_a,Xs,X] : hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)))) = ti(X_a,X) ).

fof(fact_148_UNIV__def,axiom,
    ! [X_a] : top_top(fun(X_a,bool)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(bool,fun(X_a,bool),combk(bool,X_a),fTrue)) ).

fof(fact_149_lexord__append__left__rightI,axiom,
    ! [X_a,U,X_1,Y_1,Aa,Ba,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),R_1))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),U),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),X_1))),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),U),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Ba),Y_1)))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ).

fof(fact_150_snoc__eq__iff__butlast,axiom,
    ! [X_a,Xs_1,X_1,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))) = Ys
    <=> ( Ys != nil(X_a)
        & hAPP(list(X_a),list(X_a),butlast(X_a),Ys) = Xs_1
        & hAPP(list(X_a),X_a,last(X_a),Ys) = ti(X_a,X_1) ) ) ).

fof(fact_151_lexord__append__rightI,axiom,
    ! [X_a,X_1,R_1,Y_1] :
      ( ? [B_2,Z] : Y_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),B_2),Z)
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),Y_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ).

fof(fact_152_lexord__append__leftD,axiom,
    ! [X_a,X_1,U,V,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),U)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),X_1),V))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
     => ( ! [A_5] : ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_5),A_5)),R_1))
       => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),U),V)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ) ).

fof(fact_153_rev__induct,axiom,
    ! [X_a,Xs_1,Pa] :
      ( hBOOL(hAPP(list(X_a),bool,Pa,nil(X_a)))
     => ( ! [X_2,Xs_2] :
            ( hBOOL(hAPP(list(X_a),bool,Pa,Xs_2))
           => hBOOL(hAPP(list(X_a),bool,Pa,hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),nil(X_a))))) )
       => hBOOL(hAPP(list(X_a),bool,Pa,Xs_1)) ) ) ).

fof(fact_154_rev__cases,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => ~ ! [Ys_2,Y_2] : Xs != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),nil(X_a))) ) ).

fof(fact_155_snoc__listrel1__snoc__iff,axiom,
    ! [X_a,Xs_1,X_1,Ys,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)))),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),nil(X_a))))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
    <=> ( ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
          & ti(X_a,X_1) = ti(X_a,Y_1) )
        | ( Xs_1 = Ys
          & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1)) ) ) ) ).

fof(fact_156_rotate1__def,axiom,
    ! [X_a,Xs_1] : hAPP(list(X_a),list(X_a),rotate1(X_a),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),list(X_a)),hAPP(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),list(X_a))),list_case(list(X_a),X_a),nil(X_a)),hAPP(fun(X_a,list(X_a)),fun(X_a,fun(list(X_a),list(X_a))),hAPP(fun(list(X_a),fun(list(X_a),list(X_a))),fun(fun(X_a,list(X_a)),fun(X_a,fun(list(X_a),list(X_a)))),combb(list(X_a),fun(list(X_a),list(X_a)),X_a),hAPP(fun(list(X_a),fun(list(X_a),list(X_a))),fun(list(X_a),fun(list(X_a),list(X_a))),combc(list(X_a),list(X_a),list(X_a)),append(X_a))),hAPP(list(X_a),fun(X_a,list(X_a)),hAPP(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),fun(X_a,list(X_a))),combc(X_a,list(X_a),list(X_a)),cons(X_a)),nil(X_a)))),Xs_1) ).

fof(fact_157_rotate__simps,axiom,
    ! [X_b,X_a,X,Xs] :
      ( hAPP(list(X_a),list(X_a),rotate1(X_a),nil(X_a)) = nil(X_a)
      & hAPP(list(X_b),list(X_b),rotate1(X_b),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X),Xs)) = hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X),nil(X_b))) ) ).

fof(fact_158_UNIV__witness,axiom,
    ! [X_a] :
    ? [X_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),top_top(fun(X_a,bool)))) ).

fof(fact_159_UNIV__eq__I,axiom,
    ! [X_a,A_2] :
      ( ! [X_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
     => top_top(fun(X_a,bool)) = ti(fun(X_a,bool),A_2) ) ).

fof(fact_160_rotate1__is__Nil__conv,axiom,
    ! [X_a,Xs_1] :
      ( hAPP(list(X_a),list(X_a),rotate1(X_a),Xs_1) = nil(X_a)
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_161_distinct1__rotate,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),rotate1(X_a),Xs_1)))
    <=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1)) ) ).

fof(fact_162_listrel1I2,axiom,
    ! [X_a,X_1,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Ys))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) ).

fof(fact_163_not__listrel1__Nil,axiom,
    ! [X_a,Xs_1,R_1] : ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),nil(X_a))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ).

fof(fact_164_not__Nil__listrel1,axiom,
    ! [X_a,Xs_1,R_1] : ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),nil(X_a)),Xs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ).

fof(fact_165_append__listrel1I,axiom,
    ! [X_a,Us_1,Vs_1,Xs_1,Ys,R_1] :
      ( ( ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
          & Us_1 = Vs_1 )
        | ( Xs_1 = Ys
          & hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Us_1),Vs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) )
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Us_1)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Vs_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) ).

fof(fact_166_Cons__listrel1__Cons,axiom,
    ! [X_a,X_1,Xs_1,Y_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
    <=> ( ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1))
          & Xs_1 = Ys )
        | ( ti(X_a,X_1) = ti(X_a,Y_1)
          & hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) ) ) ).

fof(fact_167_listrel1I1,axiom,
    ! [X_a,Xs_1,X_1,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Xs_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) ).

fof(fact_168_listrel1I,axiom,
    ! [X_a,Ys,Xs_1,Us_1,Vs_1,X_1,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1))
     => ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Vs_1))
       => ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Vs_1))
         => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) ) ) ).

fof(fact_169_listrel1E,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
     => ~ ! [X_2,Y_2] :
            ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_2)),R_1))
           => ! [Us,Vs] :
                ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Vs))
               => Ys != hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Vs)) ) ) ) ).

fof(fact_170_Cons__listrel1E1,axiom,
    ! [X_a,X_1,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
     => ( ! [Y_2] :
            ( Ys = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Xs_1)
           => ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_2)),R_1)) )
       => ~ ! [Zs] :
              ( Ys = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs)
             => ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Zs)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) ) ) ).

fof(fact_171_Cons__listrel1E2,axiom,
    ! [X_a,Xs_1,Y_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
     => ( ! [X_2] :
            ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Ys)
           => ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_1)),R_1)) )
       => ~ ! [Zs] :
              ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Zs)
             => ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Zs),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))) ) ) ) ).

fof(fact_172_Lin__def,axiom,
    arrow_1568854078le_Lin = hAPP(fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),collect(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(arrow_2142409994le_alt,bool),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),order_215145569der_on(arrow_2142409994le_alt),top_top(fun(arrow_2142409994le_alt,bool)))) ).

fof(fact_173_dropWhile__eq__Cons__conv,axiom,
    ! [X_a,Pa,Xs_1,Y_1,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys)
    <=> ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))
        & ~ hBOOL(hAPP(X_a,bool,Pa,Y_1)) ) ) ).

fof(fact_174_Nil2__notin__lex,axiom,
    ! [X_a,Xs_1,R_1] : ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),nil(X_a))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_1))) ).

fof(fact_175_Nil__notin__lex,axiom,
    ! [X_a,Ys,R_1] : ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),nil(X_a)),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_1))) ).

fof(fact_176_partition_Osimps_I2_J,axiom,
    ! [X_a,Pa,X_1,Xs_1] : hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(fun(X_a,bool),fun(list(X_a),product_prod(list(X_a),list(X_a))),partition(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)),hAPP(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a))),product_prod_case(list(X_a),list(X_a),product_prod(list(X_a),list(X_a))),hAPP(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),hAPP(fun(list(X_a),fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),product_prod(list(X_a),list(X_a))))),fun(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))))),combs(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),product_prod(list(X_a),list(X_a)))),hAPP(fun(list(X_a),fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a))))),fun(list(X_a),fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),product_prod(list(X_a),list(X_a))))),hAPP(fun(fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)))),fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),product_prod(list(X_a),list(X_a))))),fun(fun(list(X_a),fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a))))),fun(list(X_a),fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),product_prod(list(X_a),list(X_a)))))),combb(fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)))),fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),product_prod(list(X_a),list(X_a)))),list(X_a)),combs(list(X_a),product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)))),hAPP(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a))))),hAPP(fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a))))),fun(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)))))),combb(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)))),list(X_a)),hAPP(fun(product_prod(list(X_a),list(X_a)),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)))),fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a))))),combb(product_prod(list(X_a),list(X_a)),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a))),list(X_a)),hAPP(bool,fun(product_prod(list(X_a),list(X_a)),fun(product_prod(list(X_a),list(X_a)),product_prod(list(X_a),list(X_a)))),if(product_prod(list(X_a),list(X_a))),hAPP(X_a,bool,Pa,X_1)))),hAPP(fun(list(X_a),list(X_a)),fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),hAPP(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(fun(list(X_a),list(X_a)),fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))))),combb(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),list(X_a)),product_Pair(list(X_a),list(X_a))),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1))))),hAPP(fun(list(X_a),list(X_a)),fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),hAPP(fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),product_prod(list(X_a),list(X_a))))),fun(fun(list(X_a),list(X_a)),fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))))),combc(list(X_a),fun(list(X_a),list(X_a)),fun(list(X_a),product_prod(list(X_a),list(X_a)))),hAPP(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),product_prod(list(X_a),list(X_a))))),hAPP(fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(fun(list(X_a),list(X_a)),fun(list(X_a),product_prod(list(X_a),list(X_a))))),fun(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),product_prod(list(X_a),list(X_a)))))),combb(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(fun(list(X_a),list(X_a)),fun(list(X_a),product_prod(list(X_a),list(X_a)))),list(X_a)),combb(list(X_a),product_prod(list(X_a),list(X_a)),list(X_a))),product_Pair(list(X_a),list(X_a)))),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1)))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(fun(X_a,bool),fun(list(X_a),product_prod(list(X_a),list(X_a))),partition(X_a),Pa),Xs_1)) ).

fof(fact_177_split__twice,axiom,
    ! [X_b,X_c,X_a,X_d,X_e,F,G,P_1] : hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_case(X_b,X_c,X_a),F),hAPP(product_prod(X_d,X_e),product_prod(X_b,X_c),hAPP(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(product_prod(X_d,X_e),product_prod(X_b,X_c)),product_prod_case(X_d,X_e,product_prod(X_b,X_c)),G),P_1)) = hAPP(product_prod(X_d,X_e),X_a,hAPP(fun(X_d,fun(X_e,X_a)),fun(product_prod(X_d,X_e),X_a),product_prod_case(X_d,X_e,X_a),hAPP(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(X_d,fun(X_e,X_a)),hAPP(fun(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a)),fun(fun(X_d,fun(X_e,product_prod(X_b,X_c))),fun(X_d,fun(X_e,X_a))),combb(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a),X_d),hAPP(fun(product_prod(X_b,X_c),X_a),fun(fun(X_e,product_prod(X_b,X_c)),fun(X_e,X_a)),combb(product_prod(X_b,X_c),X_a,X_e),hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_case(X_b,X_c,X_a),F))),G)),P_1) ).

fof(fact_178_split__weak__cong,axiom,
    ! [X_c,X_a,X_b,Ca,P_1,Q_2] :
      ( ti(product_prod(X_a,X_b),P_1) = ti(product_prod(X_a,X_b),Q_2)
     => hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),Ca),P_1) = hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),Ca),Q_2) ) ).

fof(fact_179_prod_Osimps_I2_J,axiom,
    ! [X_b,X_c,X_a,F1,Aa,Ba] : hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_case(X_b,X_c,X_a),F1),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),Aa),Ba)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F1,Aa),Ba) ).

fof(fact_180_split__conv,axiom,
    ! [X_b,X_c,X_a,F,Aa,Ba] : hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_case(X_b,X_c,X_a),F),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),Aa),Ba)) = hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),F,Aa),Ba) ).

fof(fact_181_dropWhile_Osimps_I2_J,axiom,
    ! [X_a,Xs_1,Pa,X_1] :
      ( ( hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1) )
      & ( ~ hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) ) ) ).

fof(fact_182_dropWhile_Osimps_I1_J,axiom,
    ! [X_a,Pa] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),nil(X_a)) = nil(X_a) ).

fof(fact_183_distinct__dropWhile,axiom,
    ! [X_a,Pa,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1))) ) ).

fof(fact_184_sorted__dropWhile,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Pa,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1))) ) ) ).

fof(fact_185_split__eta,axiom,
    ! [X_a,X_b,X_c,F] : hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,X_c)),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c)),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,X_c))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c),X_a),hAPP(fun(product_prod(X_a,X_b),X_c),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,X_c)),combb(product_prod(X_a,X_b),X_c,X_b),F)),product_Pair(X_a,X_b))) = ti(fun(product_prod(X_a,X_b),X_c),F) ).

fof(fact_186_split__curry,axiom,
    ! [X_a,X_b,X_c,F] : hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),F)) = ti(fun(product_prod(X_a,X_b),X_c),F) ).

fof(fact_187_curry__split,axiom,
    ! [X_a,X_b,X_c,F] : hAPP(fun(product_prod(X_a,X_b),X_c),fun(X_a,fun(X_b,X_c)),product_curry(X_a,X_b,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),F)) = ti(fun(X_a,fun(X_b,X_c)),F) ).

fof(fact_188_internal__split__def,axiom,
    ! [X_a,X_b,X_c] : produc1605651328_split(X_a,X_b,X_c) = product_prod_case(X_a,X_b,X_c) ).

fof(fact_189_takeWhile__dropWhile__id,axiom,
    ! [X_a,Pa,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1)) = Xs_1 ).

fof(fact_190_cond__split__eta,axiom,
    ! [X_b,X_c,X_a,F,G] :
      ( ! [X_2,Y_2] : hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),F,X_2),Y_2) = hAPP(product_prod(X_a,X_b),X_c,G,hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2))
     => hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),F) = ti(fun(product_prod(X_a,X_b),X_c),G) ) ).

fof(fact_191_splitE2,axiom,
    ! [X_a,X_b,X_c,Q_1,Pa,Z_2] :
      ( hBOOL(hAPP(X_a,bool,Q_1,hAPP(product_prod(X_b,X_c),X_a,hAPP(fun(X_b,fun(X_c,X_a)),fun(product_prod(X_b,X_c),X_a),product_prod_case(X_b,X_c,X_a),Pa),Z_2)))
     => ~ ! [X_2,Y_2] :
            ( ti(product_prod(X_b,X_c),Z_2) = hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),X_2),Y_2)
           => ~ hBOOL(hAPP(X_a,bool,Q_1,hAPP(X_c,X_a,hAPP(X_b,fun(X_c,X_a),Pa,X_2),Y_2))) ) ) ).

fof(fact_192_split__cong,axiom,
    ! [X_c,X_b,X_a,P_1,F,G,Q_2] :
      ( ! [X_2,Y_2] :
          ( hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2) = ti(product_prod(X_a,X_b),Q_2)
         => hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),F,X_2),Y_2) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),G,X_2),Y_2) )
     => ( ti(product_prod(X_a,X_b),P_1) = ti(product_prod(X_a,X_b),Q_2)
       => hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),F),P_1) = hAPP(product_prod(X_a,X_b),X_c,hAPP(fun(X_a,fun(X_b,X_c)),fun(product_prod(X_a,X_b),X_c),product_prod_case(X_a,X_b,X_c),G),Q_2) ) ) ).

fof(fact_193_Cons__in__lex,axiom,
    ! [X_a,X_1,Xs_1,Y_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_1)))
    <=> ( ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1))
          & hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys) )
        | ( ti(X_a,X_1) = ti(X_a,Y_1)
          & hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_1))) ) ) ) ).

fof(fact_194_not__distinct__decomp,axiom,
    ! [X_a,Ws_1] :
      ( ~ hBOOL(hAPP(list(X_a),bool,distinct(X_a),Ws_1))
     => ? [Xs_2,Ys_2,Zs,Y_2] : Ws_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_2),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),nil(X_a))),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),nil(X_a))),Zs)))) ) ).

fof(fact_195_listrel_OCons,axiom,
    ! [X_a,Xs_1,Ys,X_1,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1))
     => ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
       => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1))) ) ) ).

fof(fact_196_tl__append,axiom,
    ! [X_a,Xs_1,Ys] : hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),list(X_a)),hAPP(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),list(X_a))),list_case(list(X_a),X_a),hAPP(list(X_a),list(X_a),tl(X_a),Ys)),hAPP(fun(list(X_a),list(X_a)),fun(X_a,fun(list(X_a),list(X_a))),combk(fun(list(X_a),list(X_a)),X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),hAPP(fun(list(X_a),fun(list(X_a),list(X_a))),fun(list(X_a),fun(list(X_a),list(X_a))),combc(list(X_a),list(X_a),list(X_a)),append(X_a)),Ys))),Xs_1) ).

fof(fact_197_equal,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => equal_equal(X_a) = fequal(X_a) ) ).

fof(fact_198_splitI,axiom,
    ! [X_b,X_a,F,Aa,Ba] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F,Aa),Ba))
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),F),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba))) ) ).

fof(fact_199_prod__caseI,axiom,
    ! [X_b,X_a,F1,Aa,Ba] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F1,Aa),Ba))
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),F1),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba))) ) ).

fof(fact_200_mem__splitI,axiom,
    ! [X_a,X_c,X_b,Z_2,Ca,Aa,Ba] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_2),hAPP(X_c,fun(X_a,bool),hAPP(X_b,fun(X_c,fun(X_a,bool)),Ca,Aa),Ba)))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_2),hAPP(product_prod(X_b,X_c),fun(X_a,bool),hAPP(fun(X_b,fun(X_c,fun(X_a,bool))),fun(product_prod(X_b,X_c),fun(X_a,bool)),product_prod_case(X_b,X_c,fun(X_a,bool)),Ca),hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),Aa),Ba)))) ) ).

fof(fact_201_listrel__Nil2,axiom,
    ! [X_a,Xs_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),nil(X_a))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
     => Xs_1 = nil(X_a) ) ).

fof(fact_202_listrel__Nil1,axiom,
    ! [X_a,Xs_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),nil(X_a)),Xs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
     => Xs_1 = nil(X_a) ) ).

fof(fact_203_neq__if__length__neq,axiom,
    ! [X_a,Xs,Ys_1] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) != hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)
     => Xs != Ys_1 ) ).

fof(fact_204_listrel__eq__len,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
     => hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys) ) ).

fof(fact_205_splitD,axiom,
    ! [X_a,X_b,F,Aa,Ba] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),F),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba)))
     => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),F,Aa),Ba)) ) ).

fof(fact_206_splitD_H,axiom,
    ! [X_c,X_a,X_b,R_2,Aa,Ba,Ca] :
      ( hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),R_2),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba)),Ca))
     => hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),R_2,Aa),Ba),Ca)) ) ).

fof(fact_207_length__rotate1,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),rotate1(X_a),Xs)) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs) ).

fof(fact_208_tl_Osimps_I2_J,axiom,
    ! [X_a,X,Xs] : hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = Xs ).

fof(fact_209_tl_Osimps_I1_J,axiom,
    ! [X_a] : hAPP(list(X_a),list(X_a),tl(X_a),nil(X_a)) = nil(X_a) ).

fof(fact_210_distinct__tl,axiom,
    ! [X_a,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),tl(X_a),Xs))) ) ).

fof(fact_211_sorted__tl,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),tl(X_a),Xs))) ) ) ).

fof(fact_212_listrel1__eq__len,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
     => hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys) ) ).

fof(fact_213_listrel_ONil,axiom,
    ! [X_a,R_1] : hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),nil(X_a)),nil(X_a))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1))) ).

fof(fact_214_tl__append2,axiom,
    ! [X_a,Ys_1,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),tl(X_a),Xs)),Ys_1) ) ).

fof(fact_215_lexord__lex,axiom,
    ! [X_a,X_1,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_1)))
    <=> ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
        & hAPP(list(X_a),nat,size_size(list(X_a)),X_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Y_1) ) ) ).

fof(fact_216_eq__equal,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => fequal(X_a) = equal_equal(X_a) ) ).

fof(fact_217_equal__eq,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => ! [X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),equal_equal(X_a),X_1),Y_1))
        <=> ti(X_a,X_1) = ti(X_a,Y_1) ) ) ).

fof(fact_218_equal__refl,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => ! [X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),equal_equal(X_a),X),X)) ) ).

fof(fact_219_listrel__Cons2,axiom,
    ! [X_a,Xs_1,Y_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
     => ~ ! [X_2,Xs_2] :
            ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2)
           => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_1)),R_1))
             => ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_2),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1))) ) ) ) ).

fof(fact_220_listrel__Cons1,axiom,
    ! [X_a,Y_1,Ys,Xs_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys)),Xs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
     => ~ ! [Y_2,Ys_2] :
            ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Ys_2)
           => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_1),Y_2)),R_1))
             => ~ hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Ys),Ys_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1))) ) ) ) ).

fof(fact_221_list__induct2,axiom,
    ! [X_a,X_b,Pa,Xs_1,Ys] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
     => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),Pa,nil(X_a)),nil(X_b)))
       => ( ! [X_2,Xs_2,Y_2,Ys_2] :
              ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys_2)
             => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),Pa,Xs_2),Ys_2))
               => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),Pa,hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_2),Ys_2))) ) )
         => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),Pa,Xs_1),Ys)) ) ) ) ).

fof(fact_222_splitI2,axiom,
    ! [X_a,X_b,Ca,P_1] :
      ( ! [A_5,B_2] :
          ( ti(product_prod(X_a,X_b),P_1) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2)
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Ca,A_5),B_2)) )
     => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Ca),P_1)) ) ).

fof(fact_223_splitE,axiom,
    ! [X_a,X_b,Ca,P_1] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Ca),P_1))
     => ~ ! [X_2,Y_2] :
            ( ti(product_prod(X_a,X_b),P_1) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2)
           => ~ hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Ca,X_2),Y_2)) ) ) ).

fof(fact_224_mem__splitI2,axiom,
    ! [X_c,X_a,X_b,Z_2,Ca,P_1] :
      ( ! [A_5,B_2] :
          ( ti(product_prod(X_a,X_b),P_1) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2)
         => hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),Z_2),hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),Ca,A_5),B_2))) )
     => hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),Z_2),hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),Ca),P_1))) ) ).

fof(fact_225_splitI2_H,axiom,
    ! [X_c,X_b,X_a,Ca,X_1,P_1] :
      ( ! [A_5,B_2] :
          ( hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2) = ti(product_prod(X_a,X_b),P_1)
         => hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),Ca,A_5),B_2),X_1)) )
     => hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),Ca),P_1),X_1)) ) ).

fof(fact_226_mem__splitE,axiom,
    ! [X_a,X_b,X_c,Z_2,Ca,P_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_2),hAPP(product_prod(X_b,X_c),fun(X_a,bool),hAPP(fun(X_b,fun(X_c,fun(X_a,bool))),fun(product_prod(X_b,X_c),fun(X_a,bool)),product_prod_case(X_b,X_c,fun(X_a,bool)),Ca),P_1)))
     => ~ ! [X_2,Y_2] :
            ( ti(product_prod(X_b,X_c),P_1) = hAPP(X_c,product_prod(X_b,X_c),hAPP(X_b,fun(X_c,product_prod(X_b,X_c)),product_Pair(X_b,X_c),X_2),Y_2)
           => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Z_2),hAPP(X_c,fun(X_a,bool),hAPP(X_b,fun(X_c,fun(X_a,bool)),Ca,X_2),Y_2))) ) ) ).

fof(fact_227_split__part,axiom,
    ! [X_a,X_b,Pa,Q_1,X_2] :
      ( hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),hAPP(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool)),hAPP(fun(fun(X_b,bool),fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),fun(X_a,fun(X_b,bool))),combb(fun(X_b,bool),fun(X_b,bool),X_a),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fconj,Pa))),Q_1)),X_2))
    <=> ( hBOOL(Pa)
        & hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Q_1),X_2)) ) ) ).

fof(fact_228_splitE_H,axiom,
    ! [X_c,X_a,X_b,Ca,P_1,Z_2] :
      ( hBOOL(hAPP(X_c,bool,hAPP(product_prod(X_a,X_b),fun(X_c,bool),hAPP(fun(X_a,fun(X_b,fun(X_c,bool))),fun(product_prod(X_a,X_b),fun(X_c,bool)),product_prod_case(X_a,X_b,fun(X_c,bool)),Ca),P_1),Z_2))
     => ~ ! [X_2,Y_2] :
            ( ti(product_prod(X_a,X_b),P_1) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2)
           => ~ hBOOL(hAPP(X_c,bool,hAPP(X_b,fun(X_c,bool),hAPP(X_a,fun(X_b,fun(X_c,bool)),Ca,X_2),Y_2),Z_2)) ) ) ).

fof(fact_229_listrelp__listrel__eq,axiom,
    ! [X_a,R_1,X_2,Xa] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool))),combc(X_a,fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),hAPP(fun(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)))),combb(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),X_a),combc(X_a,fun(product_prod(X_a,X_a),bool),bool)),hAPP(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),hAPP(fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)))),combb(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),combb(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),X_a),member(product_prod(X_a,X_a)))),product_Pair(X_a,X_a)))),R_1)),X_2),Xa))
    <=> hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_2),Xa)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1))) ) ).

fof(fact_230_rotate1__hd__tl,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),list(X_a),rotate1(X_a),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),tl(X_a),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(list(X_a),X_a,hd(X_a),Xs)),nil(X_a))) ) ).

fof(fact_231_listrel_Osimps,axiom,
    ! [X_a,A1,A2,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),A1),A2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
    <=> ( ( A1 = nil(X_a)
          & A2 = nil(X_a) )
        | ? [X_2,Y_2,Xs_2,Ys_2] :
            ( A1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2)
            & A2 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Ys_2)
            & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_2)),R_1))
            & hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_2),Ys_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1))) ) ) ) ).

fof(fact_232_lexn__length,axiom,
    ! [X_a,Xs_1,Ys,R_1,N_2] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(nat,fun(product_prod(list(X_a),list(X_a)),bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(nat,fun(product_prod(list(X_a),list(X_a)),bool)),lexn(X_a),R_1),N_2)))
     => ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = N_2
        & hAPP(list(X_a),nat,size_size(list(X_a)),Ys) = N_2 ) ) ).

fof(fact_233_Ex__list__of__length,axiom,
    ! [X_a,N] :
    ? [Xs_2] : hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2) = N ).

fof(fact_234_replicate__append__same,axiom,
    ! [X_a,I_2,X] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),I_2),X)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a))) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),I_2),X)) ).

fof(fact_235_length__replicate,axiom,
    ! [X_a,N,X] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) = N ).

fof(fact_236_append__replicate__commute,axiom,
    ! [X_a,N,X,K] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) ).

fof(fact_237_hd_Osimps,axiom,
    ! [X_a,X,Xs] : hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = ti(X_a,X) ).

fof(fact_238_replicate__app__Cons__same,axiom,
    ! [X_a,N,X,Xs] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),Xs)) ).

fof(fact_239_listrelp_OCons,axiom,
    ! [X_a,Xs_1,Ys,R_1,X_1,Y_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_1,X_1),Y_1))
     => ( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),R_1),Xs_1),Ys))
       => hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),R_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))) ) ) ).

fof(fact_240_listrelp_ONil,axiom,
    ! [X_a,R_1] : hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),R_1),nil(X_a)),nil(X_a))) ).

fof(fact_241_hd__append,axiom,
    ! [X_a,Ys_1,Xs] :
      ( ( Xs = nil(X_a)
       => hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),X_a,hd(X_a),Ys_1) )
      & ( Xs != nil(X_a)
       => hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),X_a,hd(X_a),Xs) ) ) ).

fof(fact_242_hd__append2,axiom,
    ! [X_a,Ys_1,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),X_a,hd(X_a),Xs) ) ).

fof(fact_243_hd__dropWhile,axiom,
    ! [X_a,Pa,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1) != nil(X_a)
     => ~ hBOOL(hAPP(X_a,bool,Pa,hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1)))) ) ).

fof(fact_244_listrelp_Osimps,axiom,
    ! [X_a,R_1,A1,A2] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),R_1),A1),A2))
    <=> ( ( A1 = nil(X_a)
          & A2 = nil(X_a) )
        | ? [X_2,Y_2,Xs_2,Ys_2] :
            ( A1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2)
            & A2 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Ys_2)
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_1,X_2),Y_2))
            & hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),R_1),Xs_2),Ys_2)) ) ) ) ).

fof(fact_245_last__rev,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) = hAPP(list(X_a),X_a,hd(X_a),Xs) ) ).

fof(fact_246_hd__rev,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ).

fof(fact_247_dropWhile__eq__drop,axiom,
    ! [X_a,Pa,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))),Xs_1) ).

fof(fact_248_list__update__length,axiom,
    ! [X_a,Xs,X,Ys_1,Y] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Ys_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),Y) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Ys_1)) ).

fof(fact_249_map__pair__def,axiom,
    ! [X_b,X_d,X_a,X_c,F,G] : hAPP(fun(X_b,X_d),fun(product_prod(X_a,X_b),product_prod(X_c,X_d)),hAPP(fun(X_a,X_c),fun(fun(X_b,X_d),fun(product_prod(X_a,X_b),product_prod(X_c,X_d))),product_map_pair(X_a,X_c,X_b,X_d),F),G) = hAPP(fun(X_a,fun(X_b,product_prod(X_c,X_d))),fun(product_prod(X_a,X_b),product_prod(X_c,X_d)),product_prod_case(X_a,X_b,product_prod(X_c,X_d)),hAPP(fun(X_b,X_d),fun(X_a,fun(X_b,product_prod(X_c,X_d))),hAPP(fun(X_a,fun(fun(X_b,X_d),fun(X_b,product_prod(X_c,X_d)))),fun(fun(X_b,X_d),fun(X_a,fun(X_b,product_prod(X_c,X_d)))),combc(X_a,fun(X_b,X_d),fun(X_b,product_prod(X_c,X_d))),hAPP(fun(X_a,fun(X_d,product_prod(X_c,X_d))),fun(X_a,fun(fun(X_b,X_d),fun(X_b,product_prod(X_c,X_d)))),hAPP(fun(fun(X_d,product_prod(X_c,X_d)),fun(fun(X_b,X_d),fun(X_b,product_prod(X_c,X_d)))),fun(fun(X_a,fun(X_d,product_prod(X_c,X_d))),fun(X_a,fun(fun(X_b,X_d),fun(X_b,product_prod(X_c,X_d))))),combb(fun(X_d,product_prod(X_c,X_d)),fun(fun(X_b,X_d),fun(X_b,product_prod(X_c,X_d))),X_a),combb(X_d,product_prod(X_c,X_d),X_b)),hAPP(fun(X_a,X_c),fun(X_a,fun(X_d,product_prod(X_c,X_d))),hAPP(fun(X_c,fun(X_d,product_prod(X_c,X_d))),fun(fun(X_a,X_c),fun(X_a,fun(X_d,product_prod(X_c,X_d)))),combb(X_c,fun(X_d,product_prod(X_c,X_d)),X_a),product_Pair(X_c,X_d)),F))),G)) ).

fof(fact_250_rtrancl__listrel1__if__listrel,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))) ) ).

fof(fact_251_listrel__rtrancl__refl,axiom,
    ! [X_a,Xs_1,R_1] : hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Xs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))) ).

fof(fact_252_map__pair__ident,axiom,
    ! [X_a,X_b,X_2] : hAPP(product_prod(X_a,X_b),product_prod(X_a,X_b),hAPP(fun(X_b,X_b),fun(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(fun(X_a,X_a),fun(fun(X_b,X_b),fun(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_map_pair(X_a,X_a,X_b,X_b),combi(X_a)),combi(X_b)),X_2) = ti(product_prod(X_a,X_b),X_2) ).

fof(fact_253_list__update__swap,axiom,
    ! [X_a,Xs,X,X_3,I_2,I_4] :
      ( I_2 != I_4
     => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),I_4),X_3) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_4),X_3)),I_2),X) ) ).

fof(fact_254_list__update__overwrite,axiom,
    ! [X_a,Xs,I_2,X,Y] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),I_2),Y) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),Y) ).

fof(fact_255_rev__is__rev__conv,axiom,
    ! [X_a,Xs_1,Ys] :
      ( hAPP(list(X_a),list(X_a),rev(X_a),Xs_1) = hAPP(list(X_a),list(X_a),rev(X_a),Ys)
    <=> Xs_1 = Ys ) ).

fof(fact_256_rev__swap,axiom,
    ! [X_a,Xs_1,Ys] :
      ( hAPP(list(X_a),list(X_a),rev(X_a),Xs_1) = Ys
    <=> Xs_1 = hAPP(list(X_a),list(X_a),rev(X_a),Ys) ) ).

fof(fact_257_rev__rev__ident,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) = Xs ).

fof(fact_258_listrel__rtrancl__eq__rtrancl__listrel1,axiom,
    ! [X_a,R_1] : hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)) = hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)) ).

fof(fact_259_drop__Nil,axiom,
    ! [X_a,N] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),nil(X_a)) = nil(X_a) ).

fof(fact_260_rev_Osimps_I1_J,axiom,
    ! [X_a] : hAPP(list(X_a),list(X_a),rev(X_a),nil(X_a)) = nil(X_a) ).

fof(fact_261_Nil__is__rev__conv,axiom,
    ! [X_a,Xs_1] :
      ( nil(X_a) = hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_262_rev__is__Nil__conv,axiom,
    ! [X_a,Xs_1] :
      ( hAPP(list(X_a),list(X_a),rev(X_a),Xs_1) = nil(X_a)
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_263_length__rev,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs) ).

fof(fact_264_rev__append,axiom,
    ! [X_a,Xs,Ys_1] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Ys_1)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) ).

fof(fact_265_distinct__drop,axiom,
    ! [X_a,I_2,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),I_2),Xs))) ) ).

fof(fact_266_sorted__drop,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [N,Xs] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs))) ) ) ).

fof(fact_267_list__update__nonempty,axiom,
    ! [X_a,Xs_1,K_1,X_1] :
      ( hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),K_1),X_1) = nil(X_a)
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_268_list__update_Osimps_I1_J,axiom,
    ! [X_a,I_2,V_1] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),nil(X_a)),I_2),V_1) = nil(X_a) ).

fof(fact_269_list__update__code_I1_J,axiom,
    ! [X_a,I_2,Y] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),nil(X_a)),I_2),Y) = nil(X_a) ).

fof(fact_270_length__list__update,axiom,
    ! [X_a,Xs,I_2,X] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs) ).

fof(fact_271_distinct__rev,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)))
    <=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1)) ) ).

fof(fact_272_rev__replicate,axiom,
    ! [X_a,N,X] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X) ).

fof(fact_273_drop__butlast,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)) = hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) ).

fof(fact_274_butlast__drop,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)) ).

fof(fact_275_drop__tl,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) = hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) ).

fof(fact_276_tl__drop,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) ).

fof(fact_277_map__pair__simp,axiom,
    ! [X_c,X_d,X_a,X_b,F,G,Aa,Ba] : hAPP(product_prod(X_c,X_d),product_prod(X_a,X_b),hAPP(fun(X_d,X_b),fun(product_prod(X_c,X_d),product_prod(X_a,X_b)),hAPP(fun(X_c,X_a),fun(fun(X_d,X_b),fun(product_prod(X_c,X_d),product_prod(X_a,X_b))),product_map_pair(X_c,X_a,X_d,X_b),F),G),hAPP(X_d,product_prod(X_c,X_d),hAPP(X_c,fun(X_d,product_prod(X_c,X_d)),product_Pair(X_c,X_d),Aa),Ba)) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),hAPP(X_c,X_a,F,Aa)),hAPP(X_d,X_b,G,Ba)) ).

fof(fact_278_rtrancl__listrel1__ConsI2,axiom,
    ! [X_a,Xs_1,Ys,X_1,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))))
       => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys))),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))) ) ) ).

fof(fact_279_rev__singleton__conv,axiom,
    ! [X_a,Xs_1,X_1] :
      ( hAPP(list(X_a),list(X_a),rev(X_a),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))
    <=> Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)) ) ).

fof(fact_280_singleton__rev__conv,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)) = hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)
    <=> Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)) ) ).

fof(fact_281_listrel__rtrancl__trans,axiom,
    ! [X_a,Zs_1,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))))
     => ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Ys),Zs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))))
       => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Zs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))) ) ) ).

fof(fact_282_rtrancl__listrel1__ConsI1,axiom,
    ! [X_a,X_1,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Ys))),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))) ) ).

fof(fact_283_rtrancl__listrel1__eq__len,axiom,
    ! [X_a,X_1,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1))))
     => hAPP(list(X_a),nat,size_size(list(X_a)),X_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Y_1) ) ).

fof(fact_284_rev_Osimps_I2_J,axiom,
    ! [X_a,X,Xs] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a))) ).

fof(fact_285_rev__eq__Cons__iff,axiom,
    ! [X_a,Xs_1,Y_1,Ys] :
      ( hAPP(list(X_a),list(X_a),rev(X_a),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys)
    <=> Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Ys)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),nil(X_a))) ) ).

fof(fact_286_listrel__reflcl__if__listrel1,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))) ) ).

fof(fact_287_rtrancl_Ortrancl__refl,axiom,
    ! [X_a,Aa,R_1] : hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Aa)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ).

fof(fact_288_r__into__rtrancl,axiom,
    ! [X_a,P_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),P_1),R_1))
     => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),P_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ).

fof(fact_289_converse__rtrancl__into__rtrancl,axiom,
    ! [X_a,Ca,Aa,Ba,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),R_1))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Ba),Ca)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ca)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ) ).

fof(fact_290_rtrancl_Ortrancl__into__rtrancl,axiom,
    ! [X_a,Ca,Aa,Ba,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Ba),Ca)),R_1))
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ca)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ) ).

fof(fact_291_rtrancl__trans,axiom,
    ! [X_a,Ca,Aa,Ba,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Ba),Ca)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ca)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ) ).

fof(fact_292_takeWhile__neq__rev,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),X_1))),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) = hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),X_1))),Xs_1))) ) ) ).

fof(fact_293_dropWhile__neq__rev,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),X_1))),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),X_1))),Xs_1))) ) ) ).

fof(fact_294_set__ConsD,axiom,
    ! [X_a,Y_1,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1))))
     => ( ti(X_a,Y_1) = ti(X_a,X_1)
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ) ).

fof(fact_295_set__rev,axiom,
    ! [X_a,Xs_1] : hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) = hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1) ).

fof(fact_296_in__set__dropD,axiom,
    ! [X_a,X_1,N_2,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_2),Xs_1))))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_297_takeWhile__eq__all__conv,axiom,
    ! [X_a,Pa,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1) = Xs_1
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ) ).

fof(fact_298_set__takeWhileD,axiom,
    ! [X_a,X_1,Pa,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
        & hBOOL(hAPP(X_a,bool,Pa,X_1)) ) ) ).

fof(fact_299_in__set__butlastD,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs_1))))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_300_set__rotate1,axiom,
    ! [X_a,Xs_1] : hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),rotate1(X_a),Xs_1)) = hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1) ).

fof(fact_301_in__set__insert,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X_1),Xs_1) = Xs_1 ) ).

fof(fact_302_distinct_Osimps_I2_J,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)))
    <=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
        & hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1)) ) ) ).

fof(fact_303_sorted__distinct__set__unique,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Ys,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
         => ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
           => ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Ys))
             => ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Ys))
               => ( hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1) = hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)
                 => Xs_1 = Ys ) ) ) ) ) ) ).

fof(fact_304_takeWhile__append1,axiom,
    ! [X_a,Ys,Pa,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ( ~ hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1) ) ) ).

fof(fact_305_last__in__set,axiom,
    ! [X_a,As] :
      ( As != nil(X_a)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),hAPP(list(X_a),X_a,last(X_a),As)),hAPP(list(X_a),fun(X_a,bool),set(X_a),As))) ) ).

fof(fact_306_dropWhile__eq__Nil__conv,axiom,
    ! [X_a,Pa,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1) = nil(X_a)
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ) ).

fof(fact_307_in__set__butlast__appendI,axiom,
    ! [X_a,Ys,X_1,Xs_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs_1))))
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Ys)))) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys))))) ) ).

fof(fact_308_hd__in__set,axiom,
    ! [X_a,Xs_1] :
      ( Xs_1 != nil(X_a)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),hAPP(list(X_a),X_a,hd(X_a),Xs_1)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_309_dropWhile__append1,axiom,
    ! [X_a,Ys,Pa,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ( ~ hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1)),Ys) ) ) ).

fof(fact_310_List_Oinsert__def,axiom,
    ! [X_a,X_1,Xs_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X_1),Xs_1) = Xs_1 )
      & ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) ) ) ).

fof(fact_311_not__in__set__insert,axiom,
    ! [X_a,X_1,Xs_1] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),insert(X_a),X_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) ) ).

fof(fact_312_partition__P,axiom,
    ! [X_a,Pa,Xs_1,Yes,No] :
      ( hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(fun(X_a,bool),fun(list(X_a),product_prod(list(X_a),list(X_a))),partition(X_a),Pa),Xs_1) = hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Yes),No)
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Yes)))
           => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
        & ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),No)))
           => ~ hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ) ) ).

fof(fact_313_rtrancl__idemp,axiom,
    ! [X_a,R_1] : hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1) ).

fof(fact_314_lexord__partial__trans,axiom,
    ! [X_a,Zs_1,Ys,R_1,Xs_1] :
      ( ! [X_2,Y_2,Z] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Y_2)),R_1))
           => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R_1))
             => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),Z)),R_1)) ) ) )
     => ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
       => ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Ys),Zs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
         => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Zs_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1))) ) ) ) ).

fof(fact_315_dropWhile__append2,axiom,
    ! [X_a,Ys,Pa,Xs_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
     => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Ys) ) ).

fof(fact_316_takeWhile__append2,axiom,
    ! [X_a,Ys,Pa,Xs_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
     => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Ys)) ) ).

fof(fact_317_split__list__propE,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
     => ~ ! [Ys_2,X_2] :
            ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
           => ~ hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ) ).

fof(fact_318_in__set__conv__decomp__first,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
    <=> ? [Ys_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2))) ) ) ).

fof(fact_319_in__set__conv__decomp__last,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
    <=> ? [Ys_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs))) ) ) ).

fof(fact_320_in__set__conv__decomp,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
    <=> ? [Ys_2,Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs)) ) ).

fof(fact_321_dropWhile__cong,axiom,
    ! [X_a,Q_1,Pa,L_1,K_1] :
      ( L_1 = K_1
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),L_1)))
           => ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            <=> hBOOL(hAPP(X_a,bool,Q_1,X_2)) ) )
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),L_1) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Q_1),K_1) ) ) ).

fof(fact_322_takeWhile__cong,axiom,
    ! [X_a,Q_1,Pa,L_1,K_1] :
      ( L_1 = K_1
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),L_1)))
           => ( hBOOL(hAPP(X_a,bool,Pa,X_2))
            <=> hBOOL(hAPP(X_a,bool,Q_1,X_2)) ) )
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),L_1) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Q_1),K_1) ) ) ).

fof(fact_323_rtrancl__induct,axiom,
    ! [X_a,Pa,Aa,Ba,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => ( hBOOL(hAPP(X_a,bool,Pa,Aa))
       => ( ! [Y_2,Z] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
             => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R_1))
               => ( hBOOL(hAPP(X_a,bool,Pa,Y_2))
                 => hBOOL(hAPP(X_a,bool,Pa,Z)) ) ) )
         => hBOOL(hAPP(X_a,bool,Pa,Ba)) ) ) ) ).

fof(fact_324_converse__rtrancl__induct,axiom,
    ! [X_a,Pa,Aa,Ba,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => ( hBOOL(hAPP(X_a,bool,Pa,Ba))
       => ( ! [Y_2,Z] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z)),R_1))
             => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Z),Ba)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
               => ( hBOOL(hAPP(X_a,bool,Pa,Z))
                 => hBOOL(hAPP(X_a,bool,Pa,Y_2)) ) ) )
         => hBOOL(hAPP(X_a,bool,Pa,Aa)) ) ) ) ).

fof(fact_325_converse__rtranclE,axiom,
    ! [X_a,X_1,Z_2,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Z_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => ( ti(X_a,X_1) != ti(X_a,Z_2)
       => ~ ! [Y_2] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_2)),R_1))
             => ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Z_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ) ) ).

fof(fact_326_rtranclE,axiom,
    ! [X_a,Aa,Ba,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => ( ti(X_a,Aa) != ti(X_a,Ba)
       => ~ ! [Y_2] :
              ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Y_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
             => ~ hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Y_2),Ba)),R_1)) ) ) ) ).

fof(fact_327_split__list__first__propE,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
     => ~ ! [Ys_2,X_2] :
            ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
           => ( hBOOL(hAPP(X_a,bool,Pa,X_2))
             => ~ ! [Xa] :
                    ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2)))
                   => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ) ).

fof(fact_328_split__list__last__propE,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
     => ~ ! [Ys_2,X_2,Zs] :
            ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
           => ( hBOOL(hAPP(X_a,bool,Pa,X_2))
             => ~ ! [Xa] :
                    ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs)))
                   => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ) ).

fof(fact_329_split__list__first,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ? [Ys_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2))) ) ) ).

fof(fact_330_split__list__last,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ? [Ys_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs))) ) ) ).

fof(fact_331_split__list,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ? [Ys_2,Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs)) ) ).

fof(fact_332_split__list__last__prop__iff,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
    <=> ? [Ys_2,X_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,Pa,X_2))
          & ! [Xa] :
              ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs)))
             => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ).

fof(fact_333_split__list__first__prop__iff,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
    <=> ? [Ys_2,X_2] :
          ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,Pa,X_2))
          & ! [Xa] :
              ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2)))
             => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ).

fof(fact_334_list__update_Osimps_I2_J,axiom,
    ! [X_a,X_1,Xs_1,I_1,V] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),I_1),V) = hAPP(nat,list(X_a),hAPP(fun(nat,list(X_a)),fun(nat,list(X_a)),hAPP(list(X_a),fun(fun(nat,list(X_a)),fun(nat,list(X_a))),nat_case(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),V),Xs_1)),hAPP(fun(nat,list(X_a)),fun(nat,list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(fun(nat,list(X_a)),fun(nat,list(X_a))),combb(list(X_a),list(X_a),nat),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1)),hAPP(X_a,fun(nat,list(X_a)),hAPP(fun(nat,fun(X_a,list(X_a))),fun(X_a,fun(nat,list(X_a))),combc(nat,X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1)),V))),I_1) ).

fof(fact_335_drop__Cons,axiom,
    ! [X_a,N_2,X_1,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(nat,list(X_a),hAPP(fun(nat,list(X_a)),fun(nat,list(X_a)),hAPP(list(X_a),fun(fun(nat,list(X_a)),fun(nat,list(X_a))),nat_case(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_a),fun(nat,list(X_a)),hAPP(fun(nat,fun(list(X_a),list(X_a))),fun(list(X_a),fun(nat,list(X_a))),combc(nat,list(X_a),list(X_a)),drop(X_a)),Xs_1)),N_2) ).

fof(fact_336_converse__rtranclE2,axiom,
    ! [X_a,X_b,Xa_1,Xb,Za,Zb,R_1] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Xa_1),Xb)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Za),Zb))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R_1)))
     => ( hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Xa_1),Xb) != hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Za),Zb)
       => ~ ! [A_5,B_2] :
              ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Xa_1),Xb)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2))),R_1))
             => ~ hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Za),Zb))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R_1))) ) ) ) ).

fof(fact_337_converse__rtrancl__induct2,axiom,
    ! [X_a,X_b,Pa,Ax,Ay,Bx,By,R_1] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Ax),Ay)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Bx),By))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R_1)))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By))
       => ( ! [A_5,B_2,Aa_1,Ba_1] :
              ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa_1),Ba_1))),R_1))
             => ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa_1),Ba_1)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Bx),By))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R_1)))
               => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Aa_1),Ba_1))
                 => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,A_5),B_2)) ) ) )
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay)) ) ) ) ).

fof(fact_338_rtrancl__induct2,axiom,
    ! [X_a,X_b,Pa,Ax,Ay,Bx,By,R_1] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Ax),Ay)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Bx),By))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R_1)))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Ax),Ay))
       => ( ! [A_5,B_2,Aa_1,Ba_1] :
              ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Ax),Ay)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2))),hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),transitive_rtrancl(product_prod(X_a,X_b)),R_1)))
             => ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_5),B_2)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa_1),Ba_1))),R_1))
               => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,A_5),B_2))
                 => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Aa_1),Ba_1)) ) ) )
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Bx),By)) ) ) ) ).

fof(fact_339_take__Cons,axiom,
    ! [X_a,N_2,X_1,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(nat,list(X_a),hAPP(fun(nat,list(X_a)),fun(nat,list(X_a)),hAPP(list(X_a),fun(fun(nat,list(X_a)),fun(nat,list(X_a))),nat_case(list(X_a)),nil(X_a)),hAPP(fun(nat,list(X_a)),fun(nat,list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(fun(nat,list(X_a)),fun(nat,list(X_a))),combb(list(X_a),list(X_a),nat),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1)),hAPP(list(X_a),fun(nat,list(X_a)),hAPP(fun(nat,fun(list(X_a),list(X_a))),fun(list(X_a),fun(nat,list(X_a))),combc(nat,list(X_a),list(X_a)),take(X_a)),Xs_1))),N_2) ).

fof(fact_340_rtrancl_Osimps,axiom,
    ! [X_a,A1,A2,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A1),A2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
    <=> ( ? [A_5] :
            ( ti(X_a,A1) = ti(X_a,A_5)
            & ti(X_a,A2) = ti(X_a,A_5) )
        | ? [A_5,B_2,C_2] :
            ( ti(X_a,A1) = ti(X_a,A_5)
            & ti(X_a,A2) = ti(X_a,C_2)
            & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),A_5),B_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
            & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),B_2),C_2)),R_1)) ) ) ) ).

fof(fact_341_listrel__subset__rtrancl__listrel1,axiom,
    ! [X_a,R_1] : hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),ord_less_eq(fun(product_prod(list(X_a),list(X_a)),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))) ).

fof(fact_342_split__list__first__prop,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
     => ? [Ys_2,X_2] :
          ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,Pa,X_2))
          & ! [Xa] :
              ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_2)))
             => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ).

fof(fact_343_split__list__last__prop,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
     => ? [Ys_2,X_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,Pa,X_2))
          & ! [Xa] :
              ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs)))
             => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ).

fof(fact_344_order__refl,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),X)) ) ).

fof(fact_345_equalityI,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2))
       => ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1) ) ) ).

fof(fact_346_subsetD,axiom,
    ! [X_a,Ca,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B_1)) ) ) ).

fof(fact_347_set__take__subset,axiom,
    ! [X_a,N_2,Xs_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_2),Xs_1))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ).

fof(fact_348_listrel__mono,axiom,
    ! [X_a,R_1,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_1),S))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),ord_less_eq(fun(product_prod(list(X_a),list(X_a)),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),S))) ) ).

fof(fact_349_listrel1__mono,axiom,
    ! [X_a,R_1,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_1),S))
     => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),ord_less_eq(fun(product_prod(list(X_a),list(X_a)),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),S))) ) ).

fof(fact_350_Pi__anti__mono,axiom,
    ! [X_b,X_a,B_1,A_4,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_4),A_2))
     => hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(fun(X_a,X_b),bool),fun(fun(fun(X_a,X_b),bool),bool),ord_less_eq(fun(fun(X_a,X_b),bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_4),B_1))) ) ).

fof(fact_351_pred__subset__eq,axiom,
    ! [X_a,R_2,S_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),R_2)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),S_2)))
    <=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),R_2),S_2)) ) ).

fof(fact_352_predicate1D,axiom,
    ! [X_a,X_1,Pa,Q_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),Pa),Q_1))
     => ( hBOOL(hAPP(X_a,bool,Pa,X_1))
       => hBOOL(hAPP(X_a,bool,Q_1,X_1)) ) ) ).

fof(fact_353_rev__predicate1D,axiom,
    ! [X_a,Q_1,Pa,X_1] :
      ( hBOOL(hAPP(X_a,bool,Pa,X_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),Pa),Q_1))
       => hBOOL(hAPP(X_a,bool,Q_1,X_1)) ) ) ).

fof(fact_354_linorder__le__cases,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) ) ) ).

fof(fact_355_le__funE,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [X_1,F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
         => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,X_b,G,X_1))) ) ) ).

fof(fact_356_equalityE,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
     => ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
         => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2)) ) ) ).

fof(fact_357_xt1_I6_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z_1,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_1),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_1),X)) ) ) ) ).

fof(fact_358_xt1_I5_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
           => ti(X_a,X) = ti(X_a,Y) ) ) ) ).

fof(fact_359_order__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z_1,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),Z_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Z_1)) ) ) ) ).

fof(fact_360_order__antisym,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
           => ti(X_a,X) = ti(X_a,Y) ) ) ) ).

fof(fact_361_xt1_I4_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C,B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),A_1))
         => ( ti(X_a,B) = ti(X_a,C)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C),A_1)) ) ) ) ).

fof(fact_362_ord__le__eq__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B))
         => ( ti(X_a,B) = ti(X_a,C)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),C)) ) ) ) ).

fof(fact_363_subset__trans,axiom,
    ! [X_a,C_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),C_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1)) ) ) ).

fof(fact_364_set__mp,axiom,
    ! [X_a,X_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1)) ) ) ).

fof(fact_365_set__rev__mp,axiom,
    ! [X_a,B_1,X_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1)) ) ) ).

fof(fact_366_xt1_I3_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C,A_1,B] :
          ( ti(X_a,A_1) = ti(X_a,B)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C),A_1)) ) ) ) ).

fof(fact_367_ord__eq__le__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C,A_1,B] :
          ( ti(X_a,A_1) = ti(X_a,B)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),C))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),C)) ) ) ) ).

fof(fact_368_order__antisym__conv,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Y_1,X_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
          <=> ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_369_in__mono,axiom,
    ! [X_a,X_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_1)) ) ) ).

fof(fact_370_le__funD,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [X_1,F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
         => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_1)),hAPP(X_a,X_b,G,X_1))) ) ) ).

fof(fact_371_order__eq__refl,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X,Y] :
          ( X = Y
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) ) ) ).

fof(fact_372_equalityD2,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2)) ) ).

fof(fact_373_equalityD1,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ) ).

fof(fact_374_order__eq__iff,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X_1,Y_1] :
          ( ti(X_a,X_1) = ti(X_a,Y_1)
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1)) ) ) ) ).

fof(fact_375_set__eq__subset,axiom,
    ! [X_a,A_2,B_1] :
      ( ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1)
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
        & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),A_2)) ) ) ).

fof(fact_376_linorder__linear,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
          | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) ) ) ).

fof(fact_377_le__fun__def,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
        <=> ! [X_2] : hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2))) ) ) ).

fof(fact_378_subset__refl,axiom,
    ! [X_a,A_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),A_2)) ).

fof(fact_379_take__Nil,axiom,
    ! [X_a,N] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),nil(X_a)) = nil(X_a) ).

fof(fact_380_in__set__takeD,axiom,
    ! [X_a,X_1,N_2,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_2),Xs_1))))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_381_distinct__take,axiom,
    ! [X_a,I_2,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Xs))) ) ).

fof(fact_382_top__greatest,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [A_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),top_top(X_a))) ) ).

fof(fact_383_top__unique,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),top_top(X_a)),Aa))
        <=> ti(X_a,Aa) = top_top(X_a) ) ) ).

fof(fact_384_top__le,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),top_top(X_a)),A_1))
         => ti(X_a,A_1) = top_top(X_a) ) ) ).

fof(fact_385_subset__UNIV,axiom,
    ! [X_a,A_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),top_top(fun(X_a,bool)))) ).

fof(fact_386_sorted__take,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [N,Xs] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs))) ) ) ).

fof(fact_387_rtrancl__subset__rtrancl,axiom,
    ! [X_a,R_1,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_1),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S)))
     => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S))) ) ).

fof(fact_388_rtrancl__subset,axiom,
    ! [X_a,R_2,S_2] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_2),S_2))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),S_2),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2)))
       => hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S_2) = hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_2) ) ) ).

fof(fact_389_rtrancl__mono,axiom,
    ! [X_a,R_1,S] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_1),S))
     => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),S))) ) ).

fof(fact_390_append__take__drop__id,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) = Xs ).

fof(fact_391_takeWhile__eq__take,axiom,
    ! [X_a,Pa,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))),Xs_1) ).

fof(fact_392_set__subset__Cons,axiom,
    ! [X_a,Xs_1,X_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)))) ).

fof(fact_393_sorted__many,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Zs_2,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Zs_2)))
           => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Zs_2)))) ) ) ) ).

fof(fact_394_sorted__many__eq,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1,Zs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Zs_1))))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
            & hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Zs_1))) ) ) ) ).

fof(fact_395_set__drop__subset,axiom,
    ! [X_a,N_2,Xs_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_2),Xs_1))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ).

fof(fact_396_set__update__subsetI,axiom,
    ! [X_a,I_1,X_1,Xs_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)),A_2))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),I_1),X_1))),A_2)) ) ) ).

fof(fact_397_append__eq__conv__conj,axiom,
    ! [X_a,Xs_1,Ys,Zs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys) = Zs_1
    <=> ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),Zs_1)
        & Ys = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),Zs_1) ) ) ).

fof(fact_398_sorted__Cons,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)))
        <=> ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
            & ! [X_2] :
                ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
               => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),X_2)) ) ) ) ) ).

fof(fact_399_sorted__append,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs_1,Ys] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)))
        <=> ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
            & hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Ys))
            & ! [X_2] :
                ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
               => ! [Xa] :
                    ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)))
                   => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_2),Xa)) ) ) ) ) ) ).

fof(fact_400_listrel1__rtrancl__subset__rtrancl__listrel1,axiom,
    ! [X_a,R_1] : hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),ord_less_eq(fun(product_prod(list(X_a),list(X_a)),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),transitive_rtrancl(list(X_a)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))) ).

fof(fact_401_sorted_Osimps,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Aa))
        <=> ( Aa = nil(X_a)
            | ? [Xs_2,X_2] :
                ( Aa = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2)
                & ! [Xa] :
                    ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_2)))
                   => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_2),Xa)) )
                & hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_2)) ) ) ) ) ).

fof(fact_402_sorted_OCons,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Xs_1] :
          ( ! [X_2] :
              ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),X_2)) )
         => ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
           => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1))) ) ) ) ).

fof(fact_403_subsetI,axiom,
    ! [X_a,B_1,A_2] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
         => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_1)) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ) ).

fof(fact_404_Pi__mono,axiom,
    ! [X_b,X_a,B_1,C_1,A_2] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
         => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(fun(X_b,bool),fun(fun(X_b,bool),bool),ord_less_eq(fun(X_b,bool)),hAPP(X_a,fun(X_b,bool),B_1,X_2)),hAPP(X_a,fun(X_b,bool),C_1,X_2))) )
     => hBOOL(hAPP(fun(fun(X_a,X_b),bool),bool,hAPP(fun(fun(X_a,X_b),bool),fun(fun(fun(X_a,X_b),bool),bool),ord_less_eq(fun(fun(X_a,X_b),bool)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),B_1)),hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool),hAPP(fun(X_a,bool),fun(fun(X_a,fun(X_b,bool)),fun(fun(X_a,X_b),bool)),pi(X_a,X_b),A_2),C_1))) ) ).

fof(fact_405_le__funI,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [F,G] :
          ( ! [X_2] : hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,G,X_2)))
         => hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G)) ) ) ).

fof(fact_406_listrel1__subset__listrel,axiom,
    ! [X_a,R_1,R_3] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_a,X_a),bool),bool),ord_less_eq(fun(product_prod(X_a,X_a),bool)),R_1),R_3))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool),refl_on(X_a),top_top(fun(X_a,bool))),R_3))
       => hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),ord_less_eq(fun(product_prod(list(X_a),list(X_a)),bool)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_3))) ) ) ).

fof(fact_407_impossible__Cons,axiom,
    ! [X_a,X,Xs,Ys_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)))
     => Xs != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Ys_1) ) ).

fof(fact_408_take__all,axiom,
    ! [X_a,Xs,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),N))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs) = Xs ) ).

fof(fact_409_list__update__beyond,axiom,
    ! [X_a,X,Xs,I_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),I_2))
     => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X) = Xs ) ).

fof(fact_410_length__takeWhile__le,axiom,
    ! [X_a,Pa,Xs_1] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) ).

fof(fact_411_length__dropWhile__le,axiom,
    ! [X_a,Pa,Xs_1] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) ).

fof(fact_412_pred__subset__eq2,axiom,
    ! [X_a,X_b,R_2,S_2] :
      ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),R_2)),hAPP(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(product_prod(X_a,X_b),bool),fun(X_a,fun(X_b,bool))),combc(X_a,fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),hAPP(fun(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool))),fun(fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)))),combb(fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(product_prod(X_a,X_b),bool),fun(X_b,bool)),X_a),combc(X_b,fun(product_prod(X_a,X_b),bool),bool)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),hAPP(fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),fun(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_a,fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)))),combb(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool)),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(fun(product_prod(X_a,X_b),bool),bool))),combb(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),X_b),member(product_prod(X_a,X_b)))),product_Pair(X_a,X_b)))),S_2)))
    <=> hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),bool),ord_less_eq(fun(product_prod(X_a,X_b),bool)),R_2),S_2)) ) ).

fof(fact_413_refl__rtrancl,axiom,
    ! [X_a,R_1] : hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool),refl_on(X_a),top_top(fun(X_a,bool))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ).

fof(fact_414_set__take__subset__set__take,axiom,
    ! [X_a,Xs_1,M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),M_2),Xs_1))),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_2),Xs_1)))) ) ).

fof(fact_415_set__drop__subset__set__drop,axiom,
    ! [X_a,Xs_1,N_2,M_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N_2),M_2))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),M_2),Xs_1))),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_2),Xs_1)))) ) ).

fof(fact_416_drop__all,axiom,
    ! [X_a,Xs,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),N))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs) = nil(X_a) ) ).

fof(fact_417_drop__eq__Nil,axiom,
    ! [X_a,N_2,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_2),Xs_1) = nil(X_a)
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),N_2)) ) ).

fof(fact_418_append__eq__append__conv__if,axiom,
    ! [X_a,Xs_1_1,Xs_2_1,Ys_1_1,Ys_2_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1_1),Xs_2_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1_1),Ys_2_1)
    <=> ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1_1)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1_1)))
         => ( Xs_1_1 = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1_1)),Ys_1_1)
            & Xs_2_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1_1)),Ys_1_1)),Ys_2_1) ) )
        & ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1_1)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1_1)))
         => ( hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1_1)),Xs_1_1) = Ys_1_1
            & hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1_1)),Xs_1_1)),Xs_2_1) = Ys_2_1 ) ) ) ) ).

fof(fact_419_reflp__def,axiom,
    ! [X_a,R_1] :
      ( hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,reflp(X_a),R_1))
    <=> hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool),refl_on(X_a),top_top(fun(X_a,bool))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),collect(product_prod(X_a,X_a)),hAPP(fun(X_a,fun(X_a,bool)),fun(product_prod(X_a,X_a),bool),product_prod_case(X_a,X_a,bool),R_1)))) ) ).

fof(fact_420_refl__onD,axiom,
    ! [X_a,Aa,A_2,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool),refl_on(X_a),A_2),R_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Aa),A_2))
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Aa)),R_1)) ) ) ).

fof(fact_421_refl__onD1,axiom,
    ! [X_a,X_1,Y_1,A_2,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool),refl_on(X_a),A_2),R_1))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2)) ) ) ).

fof(fact_422_refl__onD2,axiom,
    ! [X_a,X_1,Y_1,A_2,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool),refl_on(X_a),A_2),R_1))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),A_2)) ) ) ).

fof(fact_423_take__Suc,axiom,
    ! [X_a,N,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,suc,N)),Xs) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(list(X_a),X_a,hd(X_a),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),hAPP(list(X_a),list(X_a),tl(X_a),Xs))) ) ).

fof(fact_424_rev__predicate2D,axiom,
    ! [X_b,X_a,Q_1,Pa,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
     => ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1)) ) ) ).

fof(fact_425_predicate2D,axiom,
    ! [X_a,X_b,X_1,Y_1,Pa,Q_1] :
      ( hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1)) ) ) ).

fof(fact_426_reflpE,axiom,
    ! [X_a,X_1,R_1] :
      ( hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,reflp(X_a),R_1))
     => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_1,X_1),X_1)) ) ).

fof(fact_427_take__Suc__Cons,axiom,
    ! [X_a,N,X,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,suc,N)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)) ).

fof(fact_428_drop__Suc__Cons,axiom,
    ! [X_a,N,X,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,suc,N)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs) ).

fof(fact_429_list__update__code_I3_J,axiom,
    ! [X_a,X,Xs,I_2,Y] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),hAPP(nat,nat,suc,I_2)),Y) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),Y)) ).

fof(fact_430_replicate__Suc,axiom,
    ! [X_a,N,X] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,suc,N)),X) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) ).

fof(fact_431_take__tl,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) = hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,suc,N)),Xs)) ).

fof(fact_432_drop__Suc,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,suc,N)),Xs) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) ).

fof(fact_433_predicate2I,axiom,
    ! [X_b,X_a,Q_1,Pa] :
      ( ! [X_2,Y_2] :
          ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_2),Y_2))
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_2),Y_2)) )
     => hBOOL(hAPP(fun(X_a,fun(X_b,bool)),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(fun(X_a,fun(X_b,bool)),bool),ord_less_eq(fun(X_a,fun(X_b,bool))),Pa),Q_1)) ) ).

fof(fact_434_Suc__length__conv,axiom,
    ! [X_a,N_2,Xs_1] :
      ( hAPP(nat,nat,suc,N_2) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)
    <=> ? [Y_2,Ys_2] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Ys_2)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Ys_2) = N_2 ) ) ).

fof(fact_435_length__Suc__conv,axiom,
    ! [X_a,Xs_1,N_2] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(nat,nat,suc,N_2)
    <=> ? [Y_2,Ys_2] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Ys_2)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Ys_2) = N_2 ) ) ).

fof(fact_436_take__hd__drop,axiom,
    ! [X_a,N,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs))),nil(X_a))) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,suc,N)),Xs) ) ).

fof(fact_437_termination__basic__simps_I5_J,axiom,
    ! [X,Y] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),Y))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),X),Y)) ) ).

fof(fact_438_linorder__not__less,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1)) ) ) ).

fof(fact_439_linorder__not__le,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y_1),X_1)) ) ) ).

fof(fact_440_linorder__le__less__linear,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
          | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ).

fof(fact_441_order__less__le,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
            & ti(X_a,X_1) != ti(X_a,Y_1) ) ) ) ).

fof(fact_442_less__le__not__le,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
            & ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),X_1)) ) ) ) ).

fof(fact_443_order__le__less,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
            | ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_444_leI,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X)) ) ) ).

fof(fact_445_not__leE,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Y,X] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y)) ) ) ).

fof(fact_446_linorder__antisym__conv1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
          <=> ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_447_order__neq__le__trans,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [A_1,B] :
          ( ti(X_a,A_1) != ti(X_a,B)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B)) ) ) ) ).

fof(fact_448_xt1_I12_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [A_1,B] :
          ( ti(X_a,A_1) != ti(X_a,B)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),A_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),A_1)) ) ) ) ).

fof(fact_449_leD,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y)) ) ) ).

fof(fact_450_order__less__imp__le,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) ) ) ).

fof(fact_451_linorder__antisym__conv2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
         => ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
          <=> ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_452_order__le__imp__less__or__eq,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
            | ti(X_a,X) = ti(X_a,Y) ) ) ) ).

fof(fact_453_order__le__neq__trans,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B))
         => ( ti(X_a,A_1) != ti(X_a,B)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B)) ) ) ) ).

fof(fact_454_xt1_I11_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),A_1))
         => ( ti(X_a,A_1) != ti(X_a,B)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),A_1)) ) ) ) ).

fof(fact_455_order__less__le__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z_1,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),Z_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Z_1)) ) ) ) ).

fof(fact_456_xt1_I7_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z_1,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_1),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_1),X)) ) ) ) ).

fof(fact_457_order__le__less__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z_1,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),Z_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Z_1)) ) ) ) ).

fof(fact_458_xt1_I8_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z_1,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_1),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_1),X)) ) ) ) ).

fof(fact_459_order__less__irrefl,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X] : ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),X)) ) ).

fof(fact_460_linorder__neq__iff,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1] :
          ( ti(X_a,X_1) != ti(X_a,Y_1)
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
            | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y_1),X_1)) ) ) ) ).

fof(fact_461_not__less__iff__gr__or__eq,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y_1),X_1))
            | ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_462_linorder__less__linear,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
          | ti(X_a,X) = ti(X_a,Y)
          | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ).

fof(fact_463_linorder__antisym__conv3,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Y_1,X_1] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y_1),X_1))
         => ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
          <=> ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_464_linorder__neqE,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( ti(X_a,X) != ti(X_a,Y)
         => ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ) ).

fof(fact_465_less__imp__neq,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ti(X_a,X) != ti(X_a,Y) ) ) ).

fof(fact_466_order__less__not__sym,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ).

fof(fact_467_order__less__imp__not__less,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ).

fof(fact_468_order__less__imp__not__eq,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ti(X_a,X) != ti(X_a,Y) ) ) ).

fof(fact_469_order__less__imp__not__eq2,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ti(X_a,Y) != ti(X_a,X) ) ) ).

fof(fact_470_order__less__imp__triv,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Pa,X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Y_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y_1),X_1))
           => hBOOL(Pa) ) ) ) ).

fof(fact_471_order__less__asym_H,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B))
         => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),A_1)) ) ) ).

fof(fact_472_xt1_I9_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),A_1))
         => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B)) ) ) ).

fof(fact_473_ord__eq__less__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C,A_1,B] :
          ( ti(X_a,A_1) = ti(X_a,B)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),C))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),C)) ) ) ) ).

fof(fact_474_xt1_I1_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C,A_1,B] :
          ( ti(X_a,A_1) = ti(X_a,B)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C),A_1)) ) ) ) ).

fof(fact_475_ord__less__eq__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B))
         => ( ti(X_a,B) = ti(X_a,C)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),C)) ) ) ) ).

fof(fact_476_xt1_I2_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C,B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),A_1))
         => ( ti(X_a,B) = ti(X_a,C)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C),A_1)) ) ) ) ).

fof(fact_477_order__less__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z_1,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),Z_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Z_1)) ) ) ) ).

fof(fact_478_xt1_I10_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z_1,Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_1),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_1),X)) ) ) ) ).

fof(fact_479_order__less__asym,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ).

fof(fact_480_linorder__cases,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ( ti(X_a,X) != ti(X_a,Y)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ) ).

fof(fact_481_not__top__less,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [A_1] : ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),top_top(X_a)),A_1)) ) ).

fof(fact_482_less__top,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [Aa] :
          ( ti(X_a,Aa) != top_top(X_a)
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),top_top(X_a))) ) ) ).

fof(fact_483_set__update__memI,axiom,
    ! [X_a,X_1,N_2,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),N_2),X_1)))) ) ).

fof(fact_484_list__update__append1,axiom,
    ! [X_a,Ys_1,X,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),I_2),X) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),Ys_1) ) ).

fof(fact_485_take__butlast,axiom,
    ! [X_a,N,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs) ) ).

fof(fact_486_last__drop,axiom,
    ! [X_a,N,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(list(X_a),X_a,last(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ).

fof(fact_487_upd__conv__take__nth__drop,axiom,
    ! [X_a,A_1,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),A_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,suc,I_2)),Xs))) ) ).

fof(fact_488_lessI,axiom,
    ! [N] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(nat,nat,suc,N))) ).

fof(fact_489_Suc__mono,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M)),hAPP(nat,nat,suc,N))) ) ).

fof(fact_490_lenlex__conv,axiom,
    ! [X_a,R_1] : hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lenlex(X_a),R_1) = hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(product_prod(list(X_a),list(X_a)),bool),collect(product_prod(list(X_a),list(X_a))),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(product_prod(list(X_a),list(X_a)),bool),product_prod_case(list(X_a),list(X_a),bool),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool))),combs(list(X_a),fun(list(X_a),bool),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(list(X_a),fun(bool,bool))),fun(list(X_a),fun(fun(list(X_a),bool),fun(list(X_a),bool))),hAPP(fun(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(list(X_a),fun(list(X_a),fun(bool,bool))),fun(list(X_a),fun(fun(list(X_a),bool),fun(list(X_a),bool)))),combb(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool)),list(X_a)),combs(list(X_a),bool,bool)),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),fun(bool,bool))),hAPP(fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),fun(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),fun(bool,bool)))),combb(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool)),list(X_a)),hAPP(fun(bool,fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),combb(bool,fun(bool,bool),list(X_a)),fdisj)),hAPP(fun(list(X_a),nat),fun(list(X_a),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(fun(list(X_a),nat),fun(list(X_a),bool))),fun(fun(list(X_a),nat),fun(list(X_a),fun(list(X_a),bool))),combc(list(X_a),fun(list(X_a),nat),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(nat,bool)),fun(list(X_a),fun(fun(list(X_a),nat),fun(list(X_a),bool))),hAPP(fun(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool))),fun(fun(list(X_a),fun(nat,bool)),fun(list(X_a),fun(fun(list(X_a),nat),fun(list(X_a),bool)))),combb(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool)),list(X_a)),combb(nat,bool,list(X_a))),hAPP(fun(list(X_a),nat),fun(list(X_a),fun(nat,bool)),hAPP(fun(nat,fun(nat,bool)),fun(fun(list(X_a),nat),fun(list(X_a),fun(nat,bool))),combb(nat,fun(nat,bool),list(X_a)),ord_less(nat)),size_size(list(X_a))))),size_size(list(X_a)))))),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool))),combs(list(X_a),fun(list(X_a),bool),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(list(X_a),fun(bool,bool))),fun(list(X_a),fun(fun(list(X_a),bool),fun(list(X_a),bool))),hAPP(fun(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(list(X_a),fun(list(X_a),fun(bool,bool))),fun(list(X_a),fun(fun(list(X_a),bool),fun(list(X_a),bool)))),combb(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool)),list(X_a)),combs(list(X_a),bool,bool)),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),fun(bool,bool))),hAPP(fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),fun(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),fun(bool,bool)))),combb(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool)),list(X_a)),hAPP(fun(bool,fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),combb(bool,fun(bool,bool),list(X_a)),fconj)),hAPP(fun(list(X_a),nat),fun(list(X_a),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(fun(list(X_a),nat),fun(list(X_a),bool))),fun(fun(list(X_a),nat),fun(list(X_a),fun(list(X_a),bool))),combc(list(X_a),fun(list(X_a),nat),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(nat,bool)),fun(list(X_a),fun(fun(list(X_a),nat),fun(list(X_a),bool))),hAPP(fun(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool))),fun(fun(list(X_a),fun(nat,bool)),fun(list(X_a),fun(fun(list(X_a),nat),fun(list(X_a),bool)))),combb(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool)),list(X_a)),combb(nat,bool,list(X_a))),hAPP(fun(list(X_a),nat),fun(list(X_a),fun(nat,bool)),hAPP(fun(nat,fun(nat,bool)),fun(fun(list(X_a),nat),fun(list(X_a),fun(nat,bool))),combb(nat,fun(nat,bool),list(X_a)),fequal(nat)),size_size(list(X_a))))),size_size(list(X_a)))))),hAPP(fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),bool))),fun(fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),fun(list(X_a),bool))),combc(list(X_a),fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),bool)),hAPP(fun(list(X_a),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool))),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),bool))),hAPP(fun(fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool)),fun(fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),bool))),fun(fun(list(X_a),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool))),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),bool)))),combb(fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool)),fun(fun(product_prod(list(X_a),list(X_a)),bool),fun(list(X_a),bool)),list(X_a)),combc(list(X_a),fun(product_prod(list(X_a),list(X_a)),bool),bool)),hAPP(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool))),hAPP(fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool))),fun(fun(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a)))),fun(list(X_a),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool)))),combb(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool)),list(X_a)),hAPP(fun(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool)),fun(fun(list(X_a),product_prod(list(X_a),list(X_a))),fun(list(X_a),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool))),combb(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),list(X_a)),member(product_prod(list(X_a),list(X_a))))),product_Pair(list(X_a),list(X_a))))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_1)))))) ).

fof(fact_491_less__eq__Suc__le__raw,axiom,
    ! [X_2] : hAPP(nat,fun(nat,bool),ord_less(nat),X_2) = hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,X_2)) ).

fof(fact_492_less__fun__def,axiom,
    ! [X_a,X_b] :
      ( ord(X_b)
     => ! [F,G] :
          ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less(fun(X_a,X_b)),F),G))
        <=> ( hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),F),G))
            & ~ hBOOL(hAPP(fun(X_a,X_b),bool,hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),bool),ord_less_eq(fun(X_a,X_b)),G),F)) ) ) ) ).

fof(fact_493_psubset__eq,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),B_1))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
        & ti(fun(X_a,bool),A_2) != ti(fun(X_a,bool),B_1) ) ) ).

fof(fact_494_subset__iff__psubset__eq,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),B_1))
        | ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B_1) ) ) ).

fof(fact_495_psubset__imp__subset,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),B_1))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1)) ) ).

fof(fact_496_psubset__subset__trans,axiom,
    ! [X_a,C_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),C_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),C_1)) ) ) ).

fof(fact_497_subset__psubset__trans,axiom,
    ! [X_a,C_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),B_1),C_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),C_1)) ) ) ).

fof(fact_498_n__not__Suc__n,axiom,
    ! [N] : N != hAPP(nat,nat,suc,N) ).

fof(fact_499_Suc__n__not__n,axiom,
    ! [N] : hAPP(nat,nat,suc,N) != N ).

fof(fact_500_nat_Oinject,axiom,
    ! [Nat_4,Nat_5] :
      ( hAPP(nat,nat,suc,Nat_4) = hAPP(nat,nat,suc,Nat_5)
    <=> Nat_4 = Nat_5 ) ).

fof(fact_501_Suc__inject,axiom,
    ! [X,Y] :
      ( hAPP(nat,nat,suc,X) = hAPP(nat,nat,suc,Y)
     => X = Y ) ).

fof(fact_502_less__not__refl,axiom,
    ! [N] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),N)) ).

fof(fact_503_nat__neq__iff,axiom,
    ! [M_2,N_2] :
      ( M_2 != N_2
    <=> ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
        | hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),M_2)) ) ) ).

fof(fact_504_linorder__neqE__nat,axiom,
    ! [X,Y] :
      ( X != Y
     => ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),Y))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Y),X)) ) ) ).

fof(fact_505_less__irrefl__nat,axiom,
    ! [N] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),N)) ).

fof(fact_506_less__not__refl2,axiom,
    ! [N,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),M))
     => M != N ) ).

fof(fact_507_less__not__refl3,axiom,
    ! [S_1,T_3] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),S_1),T_3))
     => S_1 != T_3 ) ).

fof(fact_508_nat__less__cases,axiom,
    ! [Pa,M_2,N_2] :
      ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),Pa,N_2),M_2)) )
     => ( ( M_2 = N_2
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),Pa,N_2),M_2)) )
       => ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),M_2))
           => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),Pa,N_2),M_2)) )
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),Pa,N_2),M_2)) ) ) ) ).

fof(fact_509_le__refl,axiom,
    ! [N] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),N)) ).

fof(fact_510_nat__le__linear,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
      | hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),M)) ) ).

fof(fact_511_eq__imp__le,axiom,
    ! [M,N] :
      ( M = N
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N)) ) ).

fof(fact_512_le__trans,axiom,
    ! [K,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),J))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J),K))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),K)) ) ) ).

fof(fact_513_le__antisym,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),M))
       => M = N ) ) ).

fof(fact_514_Suc__less__SucD,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M)),hAPP(nat,nat,suc,N)))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N)) ) ).

fof(fact_515_Suc__lessD,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M)),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N)) ) ).

fof(fact_516_less__SucE,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),hAPP(nat,nat,suc,N)))
     => ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
       => M = N ) ) ).

fof(fact_517_less__trans__Suc,axiom,
    ! [K,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J),K))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,I_2)),K)) ) ) ).

fof(fact_518_Suc__lessI,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => ( hAPP(nat,nat,suc,M) != N
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M)),N)) ) ) ).

fof(fact_519_less__SucI,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),hAPP(nat,nat,suc,N))) ) ).

fof(fact_520_less__antisym,axiom,
    ! [N,M] :
      ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),M))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(nat,nat,suc,M)))
       => M = N ) ) ).

fof(fact_521_not__less__less__Suc__eq,axiom,
    ! [N_2,M_2] :
      ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),M_2))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(nat,nat,suc,M_2)))
      <=> N_2 = M_2 ) ) ).

fof(fact_522_Suc__less__eq,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M_2)),hAPP(nat,nat,suc,N_2)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2)) ) ).

fof(fact_523_less__Suc__eq,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),hAPP(nat,nat,suc,N_2)))
    <=> ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
        | M_2 = N_2 ) ) ).

fof(fact_524_not__less__eq,axiom,
    ! [M_2,N_2] :
      ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(nat,nat,suc,M_2))) ) ).

fof(fact_525_Suc__n__not__le__n,axiom,
    ! [N] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,N)),N)) ).

fof(fact_526_not__less__eq__eq,axiom,
    ! [M_2,N_2] :
      ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,N_2)),M_2)) ) ).

fof(fact_527_le__Suc__eq,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),hAPP(nat,nat,suc,N_2)))
    <=> ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2))
        | M_2 = hAPP(nat,nat,suc,N_2) ) ) ).

fof(fact_528_Suc__le__mono,axiom,
    ! [N_2,M_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,N_2)),hAPP(nat,nat,suc,M_2)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N_2),M_2)) ) ).

fof(fact_529_le__SucI,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),hAPP(nat,nat,suc,N))) ) ).

fof(fact_530_le__SucE,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),hAPP(nat,nat,suc,N)))
     => ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
       => M = hAPP(nat,nat,suc,N) ) ) ).

fof(fact_531_Suc__leD,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,M)),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N)) ) ).

fof(fact_532_less__or__eq__imp__le,axiom,
    ! [M,N] :
      ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
        | M = N )
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N)) ) ).

fof(fact_533_le__neq__implies__less,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => ( M != N
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N)) ) ) ).

fof(fact_534_less__imp__le__nat,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N)) ) ).

fof(fact_535_le__eq__less__or__eq,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2))
    <=> ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
        | M_2 = N_2 ) ) ).

fof(fact_536_nat__less__le,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
    <=> ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2))
        & M_2 != N_2 ) ) ).

fof(fact_537_nat__case__Suc,axiom,
    ! [X_a,F1,F2,Nat_4] : hAPP(nat,X_a,hAPP(fun(nat,X_a),fun(nat,X_a),hAPP(X_a,fun(fun(nat,X_a),fun(nat,X_a)),nat_case(X_a),F1),F2),hAPP(nat,nat,suc,Nat_4)) = hAPP(nat,X_a,F2,Nat_4) ).

fof(fact_538_less__eq__Suc__le,axiom,
    ! [N_2,M_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),M_2))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,N_2)),M_2)) ) ).

fof(fact_539_less__Suc__eq__le,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),hAPP(nat,nat,suc,N_2)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2)) ) ).

fof(fact_540_Suc__le__eq,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,M_2)),N_2))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2)) ) ).

fof(fact_541_le__imp__less__Suc,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),hAPP(nat,nat,suc,N))) ) ).

fof(fact_542_Suc__leI,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,M)),N)) ) ).

fof(fact_543_le__less__Suc__eq,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(nat,nat,suc,M_2)))
      <=> N_2 = M_2 ) ) ).

fof(fact_544_Suc__le__lessD,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,M)),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N)) ) ).

fof(fact_545_inc__induct,axiom,
    ! [Pa,I_1,J_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),J_2))
     => ( hBOOL(hAPP(nat,bool,Pa,J_2))
       => ( ! [I] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),J_2))
             => ( hBOOL(hAPP(nat,bool,Pa,hAPP(nat,nat,suc,I)))
               => hBOOL(hAPP(nat,bool,Pa,I)) ) )
         => hBOOL(hAPP(nat,bool,Pa,I_1)) ) ) ) ).

fof(fact_546_lift__Suc__mono__le,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [N_2,N_3,F] :
          ( ! [N_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,F,N_1)),hAPP(nat,X_a,F,hAPP(nat,nat,suc,N_1))))
         => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N_2),N_3))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,F,N_2)),hAPP(nat,X_a,F,N_3))) ) ) ) ).

fof(fact_547_lift__Suc__mono__less,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [N_2,N_3,F] :
          ( ! [N_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(nat,X_a,F,N_1)),hAPP(nat,X_a,F,hAPP(nat,nat,suc,N_1))))
         => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),N_3))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(nat,X_a,F,N_2)),hAPP(nat,X_a,F,N_3))) ) ) ) ).

fof(fact_548_lift__Suc__mono__less__iff,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [N_2,M_2,F] :
          ( ! [N_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(nat,X_a,F,N_1)),hAPP(nat,X_a,F,hAPP(nat,nat,suc,N_1))))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(nat,X_a,F,N_2)),hAPP(nat,X_a,F,M_2)))
          <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),M_2)) ) ) ) ).

fof(fact_549_psubsetD,axiom,
    ! [X_a,Ca,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B_1)) ) ) ).

fof(fact_550_psubset__trans,axiom,
    ! [X_a,C_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),B_1),C_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),C_1)) ) ) ).

fof(fact_551_less__eq__nat_Osimps_I2_J,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,M_2)),N_2))
    <=> hBOOL(hAPP(nat,bool,hAPP(fun(nat,bool),fun(nat,bool),hAPP(bool,fun(fun(nat,bool),fun(nat,bool)),nat_case(bool),fFalse),hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2)),N_2)) ) ).

fof(fact_552_subrelI,axiom,
    ! [X_a,X_b,S,R_1] :
      ( ! [X_2,Y_2] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2)),R_1))
         => hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_2),Y_2)),S)) )
     => hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(fun(product_prod(X_a,X_b),bool),fun(fun(product_prod(X_a,X_b),bool),bool),ord_less_eq(fun(product_prod(X_a,X_b),bool)),R_1),S)) ) ).

fof(fact_553_less__mono__imp__le__mono,axiom,
    ! [I_1,J_2,F] :
      ( ! [I,J_1] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),J_1))
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,F,I)),hAPP(nat,nat,F,J_1))) )
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),J_2))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,F,I_1)),hAPP(nat,nat,F,J_2))) ) ) ).

fof(fact_554_Suc__le__D,axiom,
    ! [N,M_3] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,N)),M_3))
     => ? [M_1] : M_3 = hAPP(nat,nat,suc,M_1) ) ).

fof(fact_555_lessE,axiom,
    ! [I_2,K] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),K))
     => ( K != hAPP(nat,nat,suc,I_2)
       => ~ ! [J_1] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J_1))
             => K != hAPP(nat,nat,suc,J_1) ) ) ) ).

fof(fact_556_Suc__lessE,axiom,
    ! [I_2,K] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,I_2)),K))
     => ~ ! [J_1] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J_1))
           => K != hAPP(nat,nat,suc,J_1) ) ) ).

fof(fact_557_dense__le,axiom,
    ! [X_a] :
      ( dense_linorder(X_a)
     => ! [Z_1,Y] :
          ( ! [X_2] :
              ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_2),Y))
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_2),Z_1)) )
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),Z_1)) ) ) ).

fof(fact_558_dense__le__bounded,axiom,
    ! [X_a] :
      ( dense_linorder(X_a)
     => ! [Z_1,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
         => ( ! [W] :
                ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),W))
               => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),W),Y))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),W),Z_1)) ) )
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),Z_1)) ) ) ) ).

fof(fact_559_xt6,axiom,
    ! [X_b,X_a] :
      ( ( order(X_a)
        & ord(X_b) )
     => ! [Ca,F,Ba,Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_b,X_a,F,Ba)),Aa))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),Ca),Ba))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),Y_2),X_2))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_b,X_a,F,Y_2)),hAPP(X_b,X_a,F,X_2))) )
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_b,X_a,F,Ca)),Aa)) ) ) ) ) ).

fof(fact_560_xt4,axiom,
    ! [X_b,X_a] :
      ( ( order(X_a)
        & order(X_b) )
     => ! [Ca,F,Ba,Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_b,X_a,F,Ba)),Aa))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),Ca),Ba))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),Y_2),X_2))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_b,X_a,F,Y_2)),hAPP(X_b,X_a,F,X_2))) )
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_b,X_a,F,Ca)),Aa)) ) ) ) ) ).

fof(fact_561_order__le__less__subst1,axiom,
    ! [X_a,X_b] :
      ( ( order(X_b)
        & order(X_a) )
     => ! [Ca,Aa,F,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),hAPP(X_b,X_a,F,Ba)))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),Ba),Ca))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),X_2),Y_2))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_b,X_a,F,X_2)),hAPP(X_b,X_a,F,Y_2))) )
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),hAPP(X_b,X_a,F,Ca))) ) ) ) ) ).

fof(fact_562_xt5,axiom,
    ! [X_b,X_a] :
      ( ( order(X_a)
        & order(X_b) )
     => ! [Ca,F,Ba,Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Ba),Aa))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),Ca),hAPP(X_a,X_b,F,Ba)))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y_2),X_2))
                 => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),hAPP(X_a,X_b,F,Y_2)),hAPP(X_a,X_b,F,X_2))) )
             => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),Ca),hAPP(X_a,X_b,F,Aa))) ) ) ) ) ).

fof(fact_563_xt7,axiom,
    ! [X_b,X_a] :
      ( ( order(X_a)
        & order(X_b) )
     => ! [Ca,F,Ba,Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Ba),Aa))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),Ca),hAPP(X_a,X_b,F,Ba)))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_2),X_2))
                 => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,Y_2)),hAPP(X_a,X_b,F,X_2))) )
             => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),Ca),hAPP(X_a,X_b,F,Aa))) ) ) ) ) ).

fof(fact_564_order__less__le__subst2,axiom,
    ! [X_a,X_b] :
      ( ( order(X_b)
        & order(X_a) )
     => ! [F,Ca,Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),Ba))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,Ba)),Ca))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_2),Y_2))
                 => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,F,Y_2))) )
             => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),hAPP(X_a,X_b,F,Aa)),Ca)) ) ) ) ) ).

fof(fact_565_order__less__le__subst1,axiom,
    ! [X_a,X_b] :
      ( ( order(X_b)
        & order(X_a) )
     => ! [Ca,Aa,F,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),hAPP(X_b,X_a,F,Ba)))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),Ba),Ca))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),X_2),Y_2))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_b,X_a,F,X_2)),hAPP(X_b,X_a,F,Y_2))) )
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),hAPP(X_b,X_a,F,Ca))) ) ) ) ) ).

fof(fact_566_order__le__less__subst2,axiom,
    ! [X_a,X_b] :
      ( ( order(X_b)
        & order(X_a) )
     => ! [F,Ca,Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba))
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),hAPP(X_a,X_b,F,Ba)),Ca))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_2),Y_2))
                 => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,F,Y_2))) )
             => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less(X_b),hAPP(X_a,X_b,F,Aa)),Ca)) ) ) ) ) ).

fof(fact_567_id__take__nth__drop,axiom,
    ! [X_a,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,suc,I_2)),Xs))) ) ).

fof(fact_568_list__update__id,axiom,
    ! [X_a,Xs,I_2] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2)) = Xs ).

fof(fact_569_nth__list__update__neq,axiom,
    ! [X_a,Xs,X,I_2,J] :
      ( I_2 != J
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),J) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),J) ) ).

fof(fact_570_nth__Cons__Suc,axiom,
    ! [X_a,X,Xs,N] : hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),hAPP(nat,nat,suc,N)) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),N) ).

fof(fact_571_list__eq__iff__nth__eq,axiom,
    ! [X_a,Xs_1,Ys] :
      ( Xs_1 = Ys
    <=> ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
        & ! [I] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
           => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Ys),I) ) ) ) ).

fof(fact_572_nth__take,axiom,
    ! [X_a,Xs,I_2,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),N))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)),I_2) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2) ) ).

fof(fact_573_nth__via__drop,axiom,
    ! [X_a,N,Xs,Y,Ys_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Ys_1)
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),N) = ti(X_a,Y) ) ).

fof(fact_574_nth__replicate,axiom,
    ! [X_a,X,I_2,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),N))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),I_2) = ti(X_a,X) ) ).

fof(fact_575_nth_Osimps,axiom,
    ! [X_a,X_1,Xs_1,N_2] : hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),N_2) = hAPP(nat,X_a,hAPP(fun(nat,X_a),fun(nat,X_a),hAPP(X_a,fun(fun(nat,X_a),fun(nat,X_a)),nat_case(X_a),X_1),hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1)),N_2) ).

fof(fact_576_nth__mem,axiom,
    ! [X_a,N_2,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N_2)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_577_all__set__conv__all__nth,axiom,
    ! [X_a,Pa,Xs_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
    <=> ! [I] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => hBOOL(hAPP(X_a,bool,Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I))) ) ) ).

fof(fact_578_in__set__conv__nth,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
    <=> ? [I] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
          & hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I) = ti(X_a,X_1) ) ) ).

fof(fact_579_nth__append__length,axiom,
    ! [X_a,Xs,X,Ys_1] : hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Ys_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)) = ti(X_a,X) ).

fof(fact_580_nth__eq__iff__index__eq,axiom,
    ! [X_a,J_2,I_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
       => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => ( hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I_1) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),J_2)
          <=> I_1 = J_2 ) ) ) ) ).

fof(fact_581_distinct__conv__nth,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
    <=> ! [I] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => ! [J_1] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
             => ( I != J_1
               => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I) != hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),J_1) ) ) ) ) ).

fof(fact_582_nth__list__update,axiom,
    ! [X_a,X,J,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => ( ( I_2 = J
         => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),J) = ti(X_a,X) )
        & ( I_2 != J
         => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),J) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),J) ) ) ) ).

fof(fact_583_list__update__same__conv,axiom,
    ! [X_a,X_1,I_1,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
     => ( hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),I_1),X_1) = Xs_1
      <=> hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I_1) = ti(X_a,X_1) ) ) ).

fof(fact_584_nth__list__update__eq,axiom,
    ! [X_a,X,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),I_2) = ti(X_a,X) ) ).

fof(fact_585_nth__length__takeWhile,axiom,
    ! [X_a,Pa,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
     => ~ hBOOL(hAPP(X_a,bool,Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))))) ) ).

fof(fact_586_takeWhile__nth,axiom,
    ! [X_a,J_2,Pa,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_2),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1))))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1)),J_2) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),J_2) ) ).

fof(fact_587_sorted__nth__mono,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [I_2,J,Xs] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs))
         => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),J))
           => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2)),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),J))) ) ) ) ) ).

fof(fact_588_sorted__equals__nth__mono,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
        <=> ! [J_1] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
             => ! [I] :
                  ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I),J_1))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I)),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),J_1))) ) ) ) ) ).

fof(fact_589_nth__drop_H,axiom,
    ! [X_a,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,suc,I_2)),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),I_2),Xs) ) ).

fof(fact_590_listrel__iff__nth,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
    <=> ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
        & ! [N_1] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
           => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N_1)),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Ys),N_1))),R_1)) ) ) ) ).

fof(fact_591_hd__drop__conv__nth,axiom,
    ! [X_a,N,Xs] :
      ( Xs != nil(X_a)
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
       => hAPP(list(X_a),X_a,hd(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),N) ) ) ).

fof(fact_592_sorted__rev__nth__mono,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [I_2,J,Xs] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)))
         => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),J))
           => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),J)),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2))) ) ) ) ) ).

fof(fact_593_take__Suc__conv__app__nth,axiom,
    ! [X_a,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,suc,I_2)),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2)),nil(X_a))) ) ).

fof(fact_594_listrel1__iff__update,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_1)))
    <=> ? [Y_2,N_1] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N_1)),Y_2)),R_1))
          & hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
          & Ys = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),N_1),Y_2) ) ) ).

fof(fact_595_sorted__nth__monoI,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs] :
          ( ! [I,J_1] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I),J_1))
             => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
               => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I)),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),J_1))) ) )
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs)) ) ) ).

fof(fact_596_takeWhile__eq__take__P__nth,axiom,
    ! [X_a,Pa,Xs_1,N_2] :
      ( ! [I] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),N_2))
         => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
           => hBOOL(hAPP(X_a,bool,Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I))) ) )
     => ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => ~ hBOOL(hAPP(X_a,bool,Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N_2))) )
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_2),Xs_1) ) ) ).

fof(fact_597_length__takeWhile__less__P__nth,axiom,
    ! [X_a,Pa,Xs_1,J_2] :
      ( ! [I] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),J_2))
         => hBOOL(hAPP(X_a,bool,Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I))) )
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J_2),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1)))) ) ) ).

fof(fact_598_nth__take__lemma,axiom,
    ! [X_a,Ys_1,K,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)))
       => ( ! [I] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),K))
             => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Ys_1),I) )
         => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),K),Xs) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),K),Ys_1) ) ) ) ).

fof(fact_599_all__nth__imp__all__set,axiom,
    ! [X_a,X_1,Pa,Xs_1] :
      ( ! [I] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => hBOOL(hAPP(X_a,bool,Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I))) )
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
       => hBOOL(hAPP(X_a,bool,Pa,X_1)) ) ) ).

fof(fact_600_list__ball__nth,axiom,
    ! [X_a,Pa,N_2,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
           => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
       => hBOOL(hAPP(X_a,bool,Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N_2))) ) ) ).

fof(fact_601_nth__equalityI,axiom,
    ! [X_a,Xs,Ys_1] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)
     => ( ! [I] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
           => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Ys_1),I) )
       => Xs = Ys_1 ) ) ).

fof(fact_602_Skolem__list__nth,axiom,
    ! [X_a,Pa,K_1] :
      ( ! [I] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),K_1))
         => ? [X1] : hBOOL(hAPP(X_a,bool,hAPP(nat,fun(X_a,bool),Pa,I),X1)) )
    <=> ? [Xs_2] :
          ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2) = K_1
          & ! [I] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),K_1))
             => hBOOL(hAPP(X_a,bool,hAPP(nat,fun(X_a,bool),Pa,I),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_2),I))) ) ) ) ).

fof(fact_603_lexord__take__index__conv,axiom,
    ! [X_a,X_1,Y_1,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_1)))
    <=> ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(list(X_a),nat,size_size(list(X_a)),X_1)),hAPP(list(X_a),nat,size_size(list(X_a)),Y_1)))
          & hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(list(X_a),nat,size_size(list(X_a)),X_1)),Y_1) = X_1 )
        | ? [I] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(list(X_a),nat,size_size(list(X_a)),X_1)),hAPP(list(X_a),nat,size_size(list(X_a)),Y_1))))
            & hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I),X_1) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I),Y_1)
            & hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),X_1),I)),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Y_1),I))),R_1)) ) ) ) ).

fof(fact_604_reflpI,axiom,
    ! [X_a,R_1] :
      ( ! [X_2] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_1,X_2),X_2))
     => hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,reflp(X_a),R_1)) ) ).

fof(fact_605_dropWhile__nth,axiom,
    ! [X_a,J_2,Pa,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_2),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1))))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Xs_1)),J_2) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J_2),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Xs_1)))) ) ).

fof(fact_606_min__less__iff__conj,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Z_2,X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X_1),Y_1)))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_2),X_1))
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z_2),Y_1)) ) ) ) ).

fof(fact_607_min__less__iff__disj,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1,Z_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X_1),Y_1)),Z_2))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X_1),Z_2))
            | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y_1),Z_2)) ) ) ) ).

fof(fact_608_termination__basic__simps_I1_J,axiom,
    ! [Z_1,X,Y] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),Y))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Y),Z_1))) ) ).

fof(fact_609_termination__basic__simps_I2_J,axiom,
    ! [Y,X,Z_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),Z_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Y),Z_1))) ) ).

fof(fact_610_add__lessD1,axiom,
    ! [I_2,J,K] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),J)),K))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),K)) ) ).

fof(fact_611_less__add__eq__less,axiom,
    ! [M,N,K,L] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),K),L))
     => ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),L) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K),N)
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N)) ) ) ).

fof(fact_612_add__less__mono,axiom,
    ! [K,L,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),K),L))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),L))) ) ) ).

fof(fact_613_add__less__mono1,axiom,
    ! [K,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K))) ) ).

fof(fact_614_trans__less__add2,axiom,
    ! [M,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),J))) ) ).

fof(fact_615_trans__less__add1,axiom,
    ! [M,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),M))) ) ).

fof(fact_616_nat__add__left__cancel__less,axiom,
    ! [K_1,M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),M_2)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),N_2)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2)) ) ).

fof(fact_617_not__add__less2,axiom,
    ! [J,I_2] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),I_2)),I_2)) ).

fof(fact_618_not__add__less1,axiom,
    ! [I_2,J] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),J)),I_2)) ).

fof(fact_619_drop__drop,axiom,
    ! [X_a,N,M,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),M),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M)),Xs) ).

fof(fact_620_take__take,axiom,
    ! [X_a,N,M,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),M),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),N),M)),Xs) ).

fof(fact_621_min__le__iff__disj,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1,Z_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X_1),Y_1)),Z_2))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Z_2))
            | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),Z_2)) ) ) ) ).

fof(fact_622_termination__basic__simps_I3_J,axiom,
    ! [Z_1,X,Y] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),X),Y))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),X),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Y),Z_1))) ) ).

fof(fact_623_termination__basic__simps_I4_J,axiom,
    ! [Y,X,Z_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),X),Z_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),X),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Y),Z_1))) ) ).

fof(fact_624_le__add2,axiom,
    ! [N,M] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N))) ).

fof(fact_625_le__add1,axiom,
    ! [N,M] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M))) ).

fof(fact_626_le__iff__add,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2))
    <=> ? [K_2] : N_2 = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),K_2) ) ).

fof(fact_627_nat__add__left__cancel__le,axiom,
    ! [K_1,M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),M_2)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),N_2)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2)) ) ).

fof(fact_628_trans__le__add1,axiom,
    ! [M,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),J))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),M))) ) ).

fof(fact_629_trans__le__add2,axiom,
    ! [M,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),J))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),J))) ) ).

fof(fact_630_add__le__mono1,axiom,
    ! [K,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),J))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K))) ) ).

fof(fact_631_add__le__mono,axiom,
    ! [K,L,I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),J))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),L))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),L))) ) ) ).

fof(fact_632_add__leD2,axiom,
    ! [M,K,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K)),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),N)) ) ).

fof(fact_633_add__leD1,axiom,
    ! [M,K,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K)),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N)) ) ).

fof(fact_634_add__leE,axiom,
    ! [M,K,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K)),N))
     => ~ ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
         => ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),N)) ) ) ).

fof(fact_635_add__Suc__right,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),hAPP(nat,nat,suc,N)) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N)) ).

fof(fact_636_add__Suc,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,suc,M)),N) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N)) ).

fof(fact_637_add__Suc__shift,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,suc,M)),N) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),hAPP(nat,nat,suc,N)) ).

fof(fact_638_min__Suc__Suc,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(nat,nat,suc,M)),hAPP(nat,nat,suc,N)) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),M),N)) ).

fof(fact_639_nat__add__right__cancel,axiom,
    ! [M_2,K_1,N_2] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),K_1) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_2),K_1)
    <=> M_2 = N_2 ) ).

fof(fact_640_nat__add__left__cancel,axiom,
    ! [K_1,M_2,N_2] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),M_2) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),N_2)
    <=> M_2 = N_2 ) ).

fof(fact_641_nat__add__assoc,axiom,
    ! [M,N,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),K)) ).

fof(fact_642_nat__add__left__commute,axiom,
    ! [X,Y,Z_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),X),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Y),Z_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Y),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),X),Z_1)) ).

fof(fact_643_nat__add__commute,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M) ).

fof(fact_644_length__take,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),N) ).

fof(fact_645_less__iff__Suc__add,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
    <=> ? [K_2] : N_2 = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),K_2)) ) ).

fof(fact_646_less__add__Suc2,axiom,
    ! [I_2,M] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),I_2)))) ).

fof(fact_647_less__add__Suc1,axiom,
    ! [I_2,M] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),M)))) ).

fof(fact_648_length__append,axiom,
    ! [X_a,Xs,Ys_1] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)) ).

fof(fact_649_take__replicate,axiom,
    ! [X_a,I_2,K,X] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),I_2),K)),X) ).

fof(fact_650_replicate__add,axiom,
    ! [X_a,N,M,X] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M)),X) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),M),X)) ).

fof(fact_651_take__drop,axiom,
    ! [X_a,N,M,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),M),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),M),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M)),Xs)) ).

fof(fact_652_length__splice,axiom,
    ! [X_a,Xs,Ys_1] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),Xs),Ys_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1)) ).

fof(fact_653_nth__append__length__plus,axiom,
    ! [X_a,Xs,Ys_1,N] : hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),N)) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Ys_1),N) ).

fof(fact_654_take__add,axiom,
    ! [X_a,I_2,J,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),J)),Xs) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),J),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),I_2),Xs))) ).

fof(fact_655_nth__drop,axiom,
    ! [X_a,N,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),I_2)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)),I_2) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),I_2)) ) ).

fof(fact_656_mono__nat__linear__lb,axiom,
    ! [M_2,K_1,F] :
      ( ! [M_1,N_1] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1))
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,F,M_1)),hAPP(nat,nat,F,N_1))) )
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,F,M_2)),K_1)),hAPP(nat,nat,F,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),K_1)))) ) ).

fof(fact_657_less__imp__Suc__add,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => ? [K_2] : N = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K_2)) ) ).

fof(fact_658_add__less__le__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C,D_1,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),D_1))) ) ) ) ).

fof(fact_659_add__right__imp__eq,axiom,
    ! [X_a] :
      ( cancel_semigroup_add(X_a)
     => ! [B,A_1,C] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),A_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),A_1)
         => ti(X_a,B) = ti(X_a,C) ) ) ).

fof(fact_660_add__imp__eq,axiom,
    ! [X_a] :
      ( cancel146912293up_add(X_a)
     => ! [A_1,B,C] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)
         => ti(X_a,B) = ti(X_a,C) ) ) ).

fof(fact_661_add__left__imp__eq,axiom,
    ! [X_a] :
      ( cancel_semigroup_add(X_a)
     => ! [A_1,B,C] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)
         => ti(X_a,B) = ti(X_a,C) ) ) ).

fof(fact_662_add__right__cancel,axiom,
    ! [X_a] :
      ( cancel_semigroup_add(X_a)
     => ! [Ba,Aa,Ca] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ba),Aa) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ca),Aa)
        <=> ti(X_a,Ba) = ti(X_a,Ca) ) ) ).

fof(fact_663_add__left__cancel,axiom,
    ! [X_a] :
      ( cancel_semigroup_add(X_a)
     => ! [Aa,Ba,Ca] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Ca)
        <=> ti(X_a,Ba) = ti(X_a,Ca) ) ) ).

fof(fact_664_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [X_a] :
      ( ab_semigroup_add(X_a)
     => ! [A_1,B,C] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),C) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),C)) ) ).

fof(fact_665_add__le__cancel__right,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [Aa,Ca,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Ca)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ba),Ca)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba)) ) ) ).

fof(fact_666_add__le__cancel__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [Ca,Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ca),Aa)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ca),Ba)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba)) ) ) ).

fof(fact_667_add__right__mono,axiom,
    ! [X_a] :
      ( ordere779506340up_add(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),C))) ) ) ).

fof(fact_668_add__left__mono,axiom,
    ! [X_a] :
      ( ordere779506340up_add(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),A_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),B))) ) ) ).

fof(fact_669_add__mono,axiom,
    ! [X_a] :
      ( ordere779506340up_add(X_a)
     => ! [C,D_1,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),D_1))) ) ) ) ).

fof(fact_670_add__le__imp__le__right,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [A_1,C,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),C)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B)) ) ) ).

fof(fact_671_add__le__imp__le__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),A_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),B)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B)) ) ) ).

fof(fact_672_add__less__cancel__right,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [Aa,Ca,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Ca)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ba),Ca)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),Ba)) ) ) ).

fof(fact_673_add__less__cancel__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [Ca,Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ca),Aa)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ca),Ba)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),Ba)) ) ) ).

fof(fact_674_add__strict__right__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),C))) ) ) ).

fof(fact_675_add__strict__left__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),A_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),B))) ) ) ).

fof(fact_676_add__strict__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C,D_1,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),D_1))) ) ) ) ).

fof(fact_677_add__less__imp__less__right,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [A_1,C,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),C)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B)) ) ) ).

fof(fact_678_add__less__imp__less__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [C,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),A_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),B)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),B)) ) ) ).

fof(fact_679_min__add__distrib__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [X,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),X),Z_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Y),Z_1)) ) ).

fof(fact_680_add__le__less__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C,D_1,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),B))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),D_1))) ) ) ) ).

fof(fact_681_min__leastL,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [X,Least] :
          ( ! [X_2] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Least),X_2))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Least),X) = ti(X_a,Least) ) ) ).

fof(fact_682_min__leastR,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [X,Least] :
          ( ! [X_2] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Least),X_2))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Least) = ti(X_a,Least) ) ) ).

fof(fact_683_min__ord__min,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ord_min(X_a) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,X_a)),min(X_a),ord_less_eq(X_a)) ) ).

fof(fact_684_sequence__trans,axiom,
    ! [X_a,I_1,K_1,F,R_1] :
      ( ! [I] : hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),hAPP(nat,X_a,F,hAPP(nat,nat,suc,I))),hAPP(nat,X_a,F,I))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1)))
     => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),hAPP(nat,X_a,F,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K_1))),hAPP(nat,X_a,F,I_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),transitive_rtrancl(X_a),R_1))) ) ).

fof(fact_685_min__max_Oless__infI2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_1,B,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)),X)) ) ) ).

fof(fact_686_min__max_Oless__infI1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B,A_1,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)),X)) ) ) ).

fof(fact_687_min__max_Oinf__assoc,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y),Z_1)) ) ).

fof(fact_688_min__max_Oinf_Oassoc,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_1,B,C] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)),C) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B),C)) ) ).

fof(fact_689_min__max_Oinf__left__commute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y),Z_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Z_1)) ) ).

fof(fact_690_min__max_Oinf_Oleft__commute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B,A_1,C] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),C)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B),C)) ) ).

fof(fact_691_min__max_Oinf__left__idem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y) ) ).

fof(fact_692_min__max_Oinf_Oleft__idem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_1,B] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B) ) ).

fof(fact_693_min__max_Oinf__commute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y),X) ) ).

fof(fact_694_min__max_Oinf_Ocommute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_1,B] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B),A_1) ) ).

fof(fact_695_min__max_Oinf_Oidem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),A_1) = ti(X_a,A_1) ) ).

fof(fact_696_min__max_Oinf__le1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),X)) ) ).

fof(fact_697_min__max_Oinf__le2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),Y)) ) ).

fof(fact_698_min__max_Ole__iff__inf,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
        <=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X_1),Y_1) = ti(X_a,X_1) ) ) ).

fof(fact_699_min__max_Ole__inf__iff,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1,Z_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y_1),Z_2)))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Y_1))
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Z_2)) ) ) ) ).

fof(fact_700_min__max_Ole__infI1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B,A_1,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)),X)) ) ) ).

fof(fact_701_min__max_Ole__infI2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_1,B,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)),X)) ) ) ).

fof(fact_702_min__max_Oinf__absorb1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y) = ti(X_a,X) ) ) ).

fof(fact_703_min__max_Oinf__absorb2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Y,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),X))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y) = ti(X_a,Y) ) ) ).

fof(fact_704_min__max_Ole__infI,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B,X,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B))) ) ) ) ).

fof(fact_705_min__max_Oinf__greatest,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Z_1,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Z_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y),Z_1))) ) ) ) ).

fof(fact_706_min__max_Oinf__mono,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B,D_1,A_1,C] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),C))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),C),D_1))) ) ) ) ).

fof(fact_707_min__max_Ole__infE,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,A_1,B] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_1),B)))
         => ~ ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),A_1))
             => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),B)) ) ) ) ).

fof(fact_708_in__lex__prod,axiom,
    ! [X_a,X_b,Aa,Ba,A_3,B_3,R_1,S] :
      ( hBOOL(hAPP(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool,hAPP(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),fun(fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),bool),member(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),hAPP(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b))),product_Pair(product_prod(X_a,X_b),product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),Aa),Ba)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),A_3),B_3))),hAPP(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(fun(product_prod(X_b,X_b),bool),fun(product_prod(product_prod(X_a,X_b),product_prod(X_a,X_b)),bool)),lex_prod(X_a,X_b),R_1),S)))
    <=> ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),A_3)),R_1))
        | ( ti(X_a,Aa) = ti(X_a,A_3)
          & hBOOL(hAPP(fun(product_prod(X_b,X_b),bool),bool,hAPP(product_prod(X_b,X_b),fun(fun(product_prod(X_b,X_b),bool),bool),member(product_prod(X_b,X_b)),hAPP(X_b,product_prod(X_b,X_b),hAPP(X_b,fun(X_b,product_prod(X_b,X_b)),product_Pair(X_b,X_b),Ba),B_3)),S)) ) ) ) ).

fof(fact_709_in__measure,axiom,
    ! [X_a,X_1,Y_1,F] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),hAPP(fun(X_a,nat),fun(product_prod(X_a,X_a),bool),measure(X_a),F)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(X_a,nat,F,X_1)),hAPP(X_a,nat,F,Y_1))) ) ).

fof(fact_710_weak__decr__stable,axiom,
    ! [F] :
      ( ! [I] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,F,hAPP(nat,nat,suc,I))),hAPP(nat,nat,F,I)))
     => ? [I] :
        ! [K_2] : hAPP(nat,nat,F,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I),K_2)) = hAPP(nat,nat,F,I) ) ).

fof(fact_711_mlex__leq,axiom,
    ! [X_a,R_2,F,X_1,Y_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(X_a,nat,F,X_1)),hAPP(X_a,nat,F,Y_1)))
     => ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),R_2))
       => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),hAPP(fun(X_a,nat),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),mlex_prod(X_a),F),R_2))) ) ) ).

fof(fact_712_mlex__less,axiom,
    ! [X_a,R_2,F,X_1,Y_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(X_a,nat,F,X_1)),hAPP(X_a,nat,F,Y_1)))
     => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_1),Y_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool),hAPP(fun(X_a,nat),fun(fun(product_prod(X_a,X_a),bool),fun(product_prod(X_a,X_a),bool)),mlex_prod(X_a),F),R_2))) ) ).

fof(fact_713_sublist__append,axiom,
    ! [X_a,L_1,L_2,A_2] : hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),L_1),L_2)),A_2) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),L_1),A_2)),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),L_2),hAPP(fun(nat,bool),fun(nat,bool),collect(nat),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,bool),fun(nat,bool)),combc(nat,fun(nat,bool),bool),hAPP(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool)),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool))),combb(nat,fun(fun(nat,bool),bool),nat),member(nat)),hAPP(nat,fun(nat,nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(nat,nat)),combc(nat,nat,nat),plus_plus(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),L_1)))),A_2)))) ).

fof(fact_714_in__set__sublistD,axiom,
    ! [X_a,X_1,Xs_1,I_3] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3))))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_715_notin__set__sublistI,axiom,
    ! [X_a,I_3,X_1,Xs_1] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3)))) ) ).

fof(fact_716_sublist__nil,axiom,
    ! [X_a,A_2] : hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),nil(X_a)),A_2) = nil(X_a) ).

fof(fact_717_distinct__sublistI,axiom,
    ! [X_a,I_3,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3))) ) ).

fof(fact_718_set__sublist__subset,axiom,
    ! [X_a,Xs_1,I_3] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ).

fof(fact_719_sublist__Cons,axiom,
    ! [X_a,X_1,L_1,A_2] : hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),L_1)),A_2) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),hAPP(bool,fun(list(X_a),fun(list(X_a),list(X_a))),if(list(X_a)),hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),zero_zero(nat)),A_2)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))),nil(X_a))),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),L_1),hAPP(fun(nat,bool),fun(nat,bool),collect(nat),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,bool),fun(nat,bool)),combc(nat,fun(nat,bool),bool),hAPP(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool)),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool))),combb(nat,fun(fun(nat,bool),bool),nat),member(nat)),suc)),A_2)))) ).

fof(fact_720_set__sublist,axiom,
    ! [X_a,Xs_1,I_3] : hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,bool),hAPP(fun(fun(nat,bool),bool),fun(fun(X_a,fun(nat,bool)),fun(X_a,bool)),combb(fun(nat,bool),bool,X_a),fEx(nat)),hAPP(fun(nat,bool),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,bool),fun(nat,bool))),fun(fun(nat,bool),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,bool),fun(nat,bool)),hAPP(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool))),hAPP(fun(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool))),fun(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool)))),combb(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool)),X_a),combs(nat,bool,bool)),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool))),hAPP(fun(fun(nat,bool),fun(nat,fun(bool,bool))),fun(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool)))),combb(fun(nat,bool),fun(nat,fun(bool,bool)),X_a),hAPP(fun(bool,fun(bool,bool)),fun(fun(nat,bool),fun(nat,fun(bool,bool))),combb(bool,fun(bool,bool),nat),fconj)),hAPP(fun(nat,X_a),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),fun(fun(nat,X_a),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,X_a),fun(nat,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),hAPP(fun(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool))),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool)))),combb(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool)),X_a),combb(X_a,bool,nat)),fequal(X_a))),hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1))))),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool)),combs(nat,bool,bool),hAPP(fun(nat,bool),fun(nat,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(nat,bool),fun(nat,fun(bool,bool))),combb(bool,fun(bool,bool),nat),fconj),hAPP(nat,fun(nat,bool),hAPP(fun(nat,fun(nat,bool)),fun(nat,fun(nat,bool)),combc(nat,nat,bool),ord_less(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,bool),fun(nat,bool)),combc(nat,fun(nat,bool),bool),member(nat)),I_3))))) ).

fof(fact_721_rev__nth,axiom,
    ! [X_a,N,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)),N) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),hAPP(nat,nat,suc,N))) ) ).

fof(fact_722_less__zeroE,axiom,
    ! [N] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),zero_zero(nat))) ).

fof(fact_723_le0,axiom,
    ! [N] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),zero_zero(nat)),N)) ).

fof(fact_724_zero__less__Suc,axiom,
    ! [N] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(nat,nat,suc,N))) ).

fof(fact_725_minus__apply,axiom,
    ! [X_b,X_a] :
      ( minus(X_a)
     => ! [A_2,B_1,X_1] : hAPP(X_b,X_a,hAPP(fun(X_b,X_a),fun(X_b,X_a),hAPP(fun(X_b,X_a),fun(fun(X_b,X_a),fun(X_b,X_a)),minus_minus(fun(X_b,X_a)),A_2),B_1),X_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),hAPP(X_b,X_a,A_2,X_1)),hAPP(X_b,X_a,B_1,X_1)) ) ).

fof(fact_726_fun__diff__def,axiom,
    ! [X_a,X_b] :
      ( minus(X_b)
     => ! [A_2,B_1,X_2] : hAPP(X_a,X_b,hAPP(fun(X_a,X_b),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(X_a,X_b)),minus_minus(fun(X_a,X_b)),A_2),B_1),X_2) = hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),minus_minus(X_b),hAPP(X_a,X_b,A_2,X_2)),hAPP(X_a,X_b,B_1,X_2)) ) ).

fof(fact_727_nat__diff__split,axiom,
    ! [Pa,Aa,Ba] :
      ( hBOOL(hAPP(nat,bool,Pa,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),Aa),Ba)))
    <=> ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Aa),Ba))
         => hBOOL(hAPP(nat,bool,Pa,zero_zero(nat))) )
        & ! [D_3] :
            ( Aa = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Ba),D_3)
           => hBOOL(hAPP(nat,bool,Pa,D_3)) ) ) ) ).

fof(fact_728_nat__diff__split__asm,axiom,
    ! [Pa,Aa,Ba] :
      ( hBOOL(hAPP(nat,bool,Pa,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),Aa),Ba)))
    <=> ~ ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Aa),Ba))
            & ~ hBOOL(hAPP(nat,bool,Pa,zero_zero(nat))) )
          | ? [D_3] :
              ( Aa = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Ba),D_3)
              & ~ hBOOL(hAPP(nat,bool,Pa,D_3)) ) ) ) ).

fof(fact_729_add__0__left,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),zero_zero(X_a)),A_1) = ti(X_a,A_1) ) ).

fof(fact_730_add__0,axiom,
    ! [X_a] :
      ( comm_monoid_add(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),zero_zero(X_a)),A_1) = ti(X_a,A_1) ) ).

fof(fact_731_double__zero__sym,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( zero_zero(X_a) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)
        <=> ti(X_a,Aa) = zero_zero(X_a) ) ) ).

fof(fact_732_add__0__right,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),zero_zero(X_a)) = ti(X_a,A_1) ) ).

fof(fact_733_add_Ocomm__neutral,axiom,
    ! [X_a] :
      ( comm_monoid_add(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),zero_zero(X_a)) = ti(X_a,A_1) ) ).

fof(fact_734_diff__add__cancel,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_1,B] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),A_1),B)),B) = ti(X_a,A_1) ) ).

fof(fact_735_add__diff__cancel,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_1,B] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),B) = ti(X_a,A_1) ) ).

fof(fact_736_min__diff__distrib__left,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [X,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),X),Z_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Y),Z_1)) ) ).

fof(fact_737_add__eq__self__zero,axiom,
    ! [M,N] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N) = M
     => N = zero_zero(nat) ) ).

fof(fact_738_min__diff,axiom,
    ! [M,I_2,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),I_2)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),I_2)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),M),N)),I_2) ).

fof(fact_739_diff__cancel2,axiom,
    ! [M,K,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),K)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N) ).

fof(fact_740_diff__cancel,axiom,
    ! [K,M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K),M)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K),N)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N) ).

fof(fact_741_diff__diff__left,axiom,
    ! [I_2,J,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_2),J)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K)) ).

fof(fact_742_diff__add__inverse,axiom,
    ! [N,M] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M)),N) = M ).

fof(fact_743_diff__add__inverse2,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N)),N) = M ).

fof(fact_744_add__is__0,axiom,
    ! [M_2,N_2] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),N_2) = zero_zero(nat)
    <=> ( M_2 = zero_zero(nat)
        & N_2 = zero_zero(nat) ) ) ).

fof(fact_745_diff__add__0,axiom,
    ! [N,M] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M)) = zero_zero(nat) ).

fof(fact_746_Nat_Oadd__0__right,axiom,
    ! [M] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),zero_zero(nat)) = M ).

fof(fact_747_min__0R,axiom,
    ! [N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),N),zero_zero(nat)) = zero_zero(nat) ).

fof(fact_748_plus__nat_Oadd__0,axiom,
    ! [N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),zero_zero(nat)),N) = N ).

fof(fact_749_min__0L,axiom,
    ! [N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),zero_zero(nat)),N) = zero_zero(nat) ).

fof(fact_750_le__iff__diff__le__0,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba)),zero_zero(X_a))) ) ) ).

fof(fact_751_diff__eq__diff__less__eq,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba,Ca,D] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Ca),D)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba))
          <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Ca),D)) ) ) ) ).

fof(fact_752_diff__eq__diff__eq,axiom,
    ! [X_a] :
      ( ab_group_add(X_a)
     => ! [Aa,Ba,Ca,D] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Ca),D)
         => ( ti(X_a,Aa) = ti(X_a,Ba)
          <=> ti(X_a,Ca) = ti(X_a,D) ) ) ) ).

fof(fact_753_right__minus__eq,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [Aa,Ba] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = zero_zero(X_a)
        <=> ti(X_a,Aa) = ti(X_a,Ba) ) ) ).

fof(fact_754_eq__iff__diff__eq__0,axiom,
    ! [X_a] :
      ( ab_group_add(X_a)
     => ! [Aa,Ba] :
          ( ti(X_a,Aa) = ti(X_a,Ba)
        <=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = zero_zero(X_a) ) ) ).

fof(fact_755_diff__self,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),A_1),A_1) = zero_zero(X_a) ) ).

fof(fact_756_diff__0__right,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),A_1),zero_zero(X_a)) = ti(X_a,A_1) ) ).

fof(fact_757_zero__reorient,axiom,
    ! [X_a] :
      ( zero(X_a)
     => ! [X_1] :
          ( zero_zero(X_a) = ti(X_a,X_1)
        <=> ti(X_a,X_1) = zero_zero(X_a) ) ) ).

fof(fact_758_less__iff__diff__less__0,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),Ba))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba)),zero_zero(X_a))) ) ) ).

fof(fact_759_diff__eq__diff__less,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba,Ca,D] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Ca),D)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),Ba))
          <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Ca),D)) ) ) ) ).

fof(fact_760_Suc__pred,axiom,
    ! [N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N))
     => hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(nat,nat,suc,zero_zero(nat)))) = N ) ).

fof(fact_761_diff__Suc__less,axiom,
    ! [I_2,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(nat,nat,suc,I_2))),N)) ) ).

fof(fact_762_gr0I,axiom,
    ! [N] :
      ( N != zero_zero(nat)
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N)) ) ).

fof(fact_763_diff__less__mono2,axiom,
    ! [L,M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),L))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),N)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),M))) ) ) ).

fof(fact_764_less__imp__diff__less,axiom,
    ! [N,J,K] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J),K))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),N)),K)) ) ).

fof(fact_765_gr__implies__not0,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => N != zero_zero(nat) ) ).

fof(fact_766_diff__less,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),M))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)),M)) ) ) ).

fof(fact_767_less__nat__zero__code,axiom,
    ! [N] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),zero_zero(nat))) ).

fof(fact_768_zero__less__diff,axiom,
    ! [N_2,M_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_2),M_2)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2)) ) ).

fof(fact_769_neq0__conv,axiom,
    ! [N_2] :
      ( N_2 != zero_zero(nat)
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N_2)) ) ).

fof(fact_770_not__less0,axiom,
    ! [N] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),zero_zero(nat))) ).

fof(fact_771_replicate__eq__replicate,axiom,
    ! [X_a,M_2,X_1,N_2,Y_1] :
      ( hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),M_2),X_1) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_2),Y_1)
    <=> ( M_2 = N_2
        & ( M_2 != zero_zero(nat)
         => ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_772_drop__0,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),zero_zero(nat)),Xs) = Xs ).

fof(fact_773_less__eq__nat_Osimps_I1_J,axiom,
    ! [N] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),zero_zero(nat)),N)) ).

fof(fact_774_le__0__eq,axiom,
    ! [N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N_2),zero_zero(nat)))
    <=> N_2 = zero_zero(nat) ) ).

fof(fact_775_diff__le__self,axiom,
    ! [M,N] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)),M)) ).

fof(fact_776_diff__is__0__eq,axiom,
    ! [M_2,N_2] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_2),N_2) = zero_zero(nat)
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2)) ) ).

fof(fact_777_diff__is__0__eq_H,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N) = zero_zero(nat) ) ).

fof(fact_778_diff__le__mono2,axiom,
    ! [L,M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),N)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),M))) ) ).

fof(fact_779_diff__le__mono,axiom,
    ! [L,M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),L)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),L))) ) ).

fof(fact_780_diff__diff__cancel,axiom,
    ! [I_2,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_2),N))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),I_2)) = I_2 ) ).

fof(fact_781_eq__diff__iff,axiom,
    ! [N_2,K_1,M_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),M_2))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),N_2))
       => ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_2),K_1) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_2),K_1)
        <=> M_2 = N_2 ) ) ) ).

fof(fact_782_Nat_Odiff__diff__eq,axiom,
    ! [N,K,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),M))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),N))
       => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),K)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N) ) ) ).

fof(fact_783_le__diff__iff,axiom,
    ! [N_2,K_1,M_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),M_2))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),N_2))
       => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_2),K_1)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_2),K_1)))
        <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_2),N_2)) ) ) ) ).

fof(fact_784_Zero__not__Suc,axiom,
    ! [M] : zero_zero(nat) != hAPP(nat,nat,suc,M) ).

fof(fact_785_nat_Osimps_I2_J,axiom,
    ! [Nat_3] : zero_zero(nat) != hAPP(nat,nat,suc,Nat_3) ).

fof(fact_786_Suc__not__Zero,axiom,
    ! [M] : hAPP(nat,nat,suc,M) != zero_zero(nat) ).

fof(fact_787_nat_Osimps_I3_J,axiom,
    ! [Nat_2] : hAPP(nat,nat,suc,Nat_2) != zero_zero(nat) ).

fof(fact_788_diff__Suc__Suc,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,M)),hAPP(nat,nat,suc,N)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N) ).

fof(fact_789_Suc__diff__diff,axiom,
    ! [M,N,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,M)),N)),hAPP(nat,nat,suc,K)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)),K) ).

fof(fact_790_Zero__neq__Suc,axiom,
    ! [M] : zero_zero(nat) != hAPP(nat,nat,suc,M) ).

fof(fact_791_Suc__neq__Zero,axiom,
    ! [M] : hAPP(nat,nat,suc,M) != zero_zero(nat) ).

fof(fact_792_diffs0__imp__equal,axiom,
    ! [M,N] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N) = zero_zero(nat)
     => ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),M) = zero_zero(nat)
       => M = N ) ) ).

fof(fact_793_diff__commute,axiom,
    ! [I_2,J,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_2),J)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_2),K)),J) ).

fof(fact_794_diff__self__eq__0,axiom,
    ! [M] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),M) = zero_zero(nat) ).

fof(fact_795_minus__nat_Odiff__0,axiom,
    ! [M] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),zero_zero(nat)) = M ).

fof(fact_796_diff__0__eq__0,axiom,
    ! [N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),zero_zero(nat)),N) = zero_zero(nat) ).

fof(fact_797_nat__case__0,axiom,
    ! [X_a,F1,F2] : hAPP(nat,X_a,hAPP(fun(nat,X_a),fun(nat,X_a),hAPP(X_a,fun(fun(nat,X_a),fun(nat,X_a)),nat_case(X_a),F1),F2),zero_zero(nat)) = ti(X_a,F1) ).

fof(fact_798_diff__Suc,axiom,
    ! [M_2,N_2] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_2),hAPP(nat,nat,suc,N_2)) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),zero_zero(nat)),combi(nat)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_2),N_2)) ).

fof(fact_799_diff__add__assoc2,axiom,
    ! [I_2,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),I_2)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K)),I_2) ) ).

fof(fact_800_add__diff__assoc2,axiom,
    ! [I_2,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K)),I_2) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),I_2)),K) ) ).

fof(fact_801_diff__add__assoc,axiom,
    ! [I_2,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),J)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K)) ) ).

fof(fact_802_le__imp__diff__is__add,axiom,
    ! [K_1,I_1,J_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),J_2))
     => ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_2),I_1) = K_1
      <=> J_2 = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),I_1) ) ) ).

fof(fact_803_le__add__diff__inverse2,axiom,
    ! [N,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),M))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)),N) = M ) ).

fof(fact_804_le__diff__conv2,axiom,
    ! [I_1,K_1,J_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),J_2))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_2),K_1)))
      <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K_1)),J_2)) ) ) ).

fof(fact_805_add__diff__assoc,axiom,
    ! [I_2,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),J)),K) ) ).

fof(fact_806_le__add__diff__inverse,axiom,
    ! [N,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),M))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)) = M ) ).

fof(fact_807_le__add__diff,axiom,
    ! [M,K,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),M)),K))) ) ).

fof(fact_808_le__diff__conv,axiom,
    ! [J_2,K_1,I_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_2),K_1)),I_1))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K_1))) ) ).

fof(fact_809_diff__diff__right,axiom,
    ! [I_2,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_2),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),K)),J) ) ).

fof(fact_810_diff__less__mono,axiom,
    ! [C,A_1,B] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),A_1),B))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),C),A_1))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),A_1),C)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),B),C))) ) ) ).

fof(fact_811_less__diff__iff,axiom,
    ! [N_2,K_1,M_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),M_2))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),N_2))
       => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_2),K_1)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_2),K_1)))
        <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2)) ) ) ) ).

fof(fact_812_Suc__diff__le,axiom,
    ! [N,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),M))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,M)),N) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)) ) ).

fof(fact_813_less__diff__conv,axiom,
    ! [I_1,J_2,K_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_2),K_1)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K_1)),J_2)) ) ).

fof(fact_814_add__diff__inverse,axiom,
    ! [M,N] :
      ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),N))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)) = M ) ).

fof(fact_815_diff__less__Suc,axiom,
    ! [M,N] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)),hAPP(nat,nat,suc,M))) ).

fof(fact_816_add__neg__neg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),zero_zero(X_a))) ) ) ) ).

fof(fact_817_add__pos__pos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B))) ) ) ) ).

fof(fact_818_double__add__less__zero__iff__single__add__less__zero,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)),zero_zero(X_a)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),zero_zero(X_a))) ) ) ).

fof(fact_819_zero__less__double__add__iff__zero__less__single__add,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),Aa)) ) ) ).

fof(fact_820_length__drop,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),N) ).

fof(fact_821_add__nonpos__nonpos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),zero_zero(X_a))) ) ) ) ).

fof(fact_822_add__increasing2,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1,C] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),C))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),A_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C))) ) ) ) ).

fof(fact_823_add__increasing,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,C,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),C))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C))) ) ) ) ).

fof(fact_824_add__nonneg__eq__0__iff,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [Y_1,X_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),X_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),Y_1))
           => ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),X_1),Y_1) = zero_zero(X_a)
            <=> ( ti(X_a,X_1) = zero_zero(X_a)
                & ti(X_a,Y_1) = zero_zero(X_a) ) ) ) ) ) ).

fof(fact_825_add__nonneg__nonneg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B))) ) ) ) ).

fof(fact_826_double__add__le__zero__iff__single__add__le__zero,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)),zero_zero(X_a)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),zero_zero(X_a))) ) ) ).

fof(fact_827_zero__le__double__add__iff__zero__le__single__add,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),Aa)) ) ) ).

fof(fact_828_drop__take,axiom,
    ! [X_a,N,M,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),M),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)) ).

fof(fact_829_drop__replicate,axiom,
    ! [X_a,I_2,K,X] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),I_2),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),K),I_2)),X) ).

fof(fact_830_less__Suc__eq__0__disj,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),hAPP(nat,nat,suc,N_2)))
    <=> ( M_2 = zero_zero(nat)
        | ? [J_1] :
            ( M_2 = hAPP(nat,nat,suc,J_1)
            & hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_1),N_2)) ) ) ) ).

fof(fact_831_less__Suc0,axiom,
    ! [N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(nat,nat,suc,zero_zero(nat))))
    <=> N_2 = zero_zero(nat) ) ).

fof(fact_832_gr0__conv__Suc,axiom,
    ! [N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N_2))
    <=> ? [M_1] : N_2 = hAPP(nat,nat,suc,M_1) ) ).

fof(fact_833_one__is__add,axiom,
    ! [M_2,N_2] :
      ( hAPP(nat,nat,suc,zero_zero(nat)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),N_2)
    <=> ( ( M_2 = hAPP(nat,nat,suc,zero_zero(nat))
          & N_2 = zero_zero(nat) )
        | ( M_2 = zero_zero(nat)
          & N_2 = hAPP(nat,nat,suc,zero_zero(nat)) ) ) ) ).

fof(fact_834_add__is__1,axiom,
    ! [M_2,N_2] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),N_2) = hAPP(nat,nat,suc,zero_zero(nat))
    <=> ( ( M_2 = hAPP(nat,nat,suc,zero_zero(nat))
          & N_2 = zero_zero(nat) )
        | ( M_2 = zero_zero(nat)
          & N_2 = hAPP(nat,nat,suc,zero_zero(nat)) ) ) ) ).

fof(fact_835_add__gr__0,axiom,
    ! [M_2,N_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_2),N_2)))
    <=> ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),M_2))
        | hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N_2)) ) ) ).

fof(fact_836_list_Osize_I3_J,axiom,
    ! [X_a] : hAPP(list(X_a),nat,size_size(list(X_a)),nil(X_a)) = zero_zero(nat) ).

fof(fact_837_length__0__conv,axiom,
    ! [X_a,Xs_1] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = zero_zero(nat)
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_838_nth__Cons__0,axiom,
    ! [X_a,X,Xs] : hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),zero_zero(nat)) = ti(X_a,X) ).

fof(fact_839_take__0,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),zero_zero(nat)),Xs) = nil(X_a) ).

fof(fact_840_take__eq__Nil,axiom,
    ! [X_a,N_2,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_2),Xs_1) = nil(X_a)
    <=> ( N_2 = zero_zero(nat)
        | Xs_1 = nil(X_a) ) ) ).

fof(fact_841_list__update__code_I2_J,axiom,
    ! [X_a,X,Xs,Y] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),zero_zero(nat)),Y) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Xs) ).

fof(fact_842_replicate__0,axiom,
    ! [X_a,X] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),zero_zero(nat)),X) = nil(X_a) ).

fof(fact_843_empty__replicate,axiom,
    ! [X_a,N_2,X_1] :
      ( nil(X_a) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_2),X_1)
    <=> N_2 = zero_zero(nat) ) ).

fof(fact_844_replicate__empty,axiom,
    ! [X_a,N_2,X_1] :
      ( hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_2),X_1) = nil(X_a)
    <=> N_2 = zero_zero(nat) ) ).

fof(fact_845_in__set__replicate,axiom,
    ! [X_a,X_1,N_2,Y_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_2),Y_1))))
    <=> ( ti(X_a,X_1) = ti(X_a,Y_1)
        & N_2 != zero_zero(nat) ) ) ).

fof(fact_846_Bex__set__replicate,axiom,
    ! [X_a,Pa,N_2,Aa] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_2),Aa))))
          & hBOOL(hAPP(X_a,bool,Pa,X_2)) )
    <=> ( hBOOL(hAPP(X_a,bool,Pa,Aa))
        & N_2 != zero_zero(nat) ) ) ).

fof(fact_847_Ball__set__replicate,axiom,
    ! [X_a,Pa,N_2,Aa] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_2),Aa))))
         => hBOOL(hAPP(X_a,bool,Pa,X_2)) )
    <=> ( hBOOL(hAPP(X_a,bool,Pa,Aa))
        | N_2 = zero_zero(nat) ) ) ).

fof(fact_848_last__replicate,axiom,
    ! [X_a,X,N] :
      ( N != zero_zero(nat)
     => hAPP(list(X_a),X_a,last(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) = ti(X_a,X) ) ).

fof(fact_849_hd__replicate,axiom,
    ! [X_a,X,N] :
      ( N != zero_zero(nat)
     => hAPP(list(X_a),X_a,hd(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) = ti(X_a,X) ) ).

fof(fact_850_min__Suc1,axiom,
    ! [N_2,M_2] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(nat,nat,suc,N_2)),M_2) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),zero_zero(nat)),hAPP(fun(nat,nat),fun(nat,nat),hAPP(fun(nat,nat),fun(fun(nat,nat),fun(nat,nat)),combb(nat,nat,nat),suc),hAPP(nat,fun(nat,nat),ord_min(nat),N_2))),M_2) ).

fof(fact_851_min__Suc2,axiom,
    ! [M_2,N_2] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),M_2),hAPP(nat,nat,suc,N_2)) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),zero_zero(nat)),hAPP(fun(nat,nat),fun(nat,nat),hAPP(fun(nat,nat),fun(fun(nat,nat),fun(nat,nat)),combb(nat,nat,nat),suc),hAPP(nat,fun(nat,nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(nat,nat)),combc(nat,nat,nat),ord_min(nat)),N_2))),M_2) ).

fof(fact_852_diff__Suc__diff__eq1,axiom,
    ! [M,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K))) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K)),hAPP(nat,nat,suc,J)) ) ).

fof(fact_853_diff__Suc__diff__eq2,axiom,
    ! [M,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K))),M) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,J)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K),M)) ) ).

fof(fact_854_take__append,axiom,
    ! [X_a,N,Xs,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))),Ys_1)) ).

fof(fact_855_add__pos__nonneg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B))) ) ) ) ).

fof(fact_856_add__nonneg__pos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),B))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B))) ) ) ) ).

fof(fact_857_add__strict__increasing,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,C,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),C))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C))) ) ) ) ).

fof(fact_858_add__strict__increasing2,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,C,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),C))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C))) ) ) ) ).

fof(fact_859_add__neg__nonpos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),zero_zero(X_a))) ) ) ) ).

fof(fact_860_add__nonpos__neg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_1),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),zero_zero(X_a))) ) ) ) ).

fof(fact_861_drop__append,axiom,
    ! [X_a,N,Xs,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))),Ys_1)) ).

fof(fact_862_length__greater__0__conv,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
    <=> Xs_1 != nil(X_a) ) ).

fof(fact_863_length__pos__if__in__set,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) ) ).

fof(fact_864_sublist__singleton,axiom,
    ! [X_a,X_1,A_2] :
      ( ( hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),zero_zero(nat)),A_2))
       => hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))),A_2) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a)) )
      & ( ~ hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),zero_zero(nat)),A_2))
       => hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))),A_2) = nil(X_a) ) ) ).

fof(fact_865_hd__conv__nth,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),X_a,hd(X_a),Xs) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),zero_zero(nat)) ) ).

fof(fact_866_nth__append,axiom,
    ! [X_a,Ys_1,N,Xs] :
      ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
       => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),N) )
      & ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
       => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Ys_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))) ) ) ).

fof(fact_867_list__update__append,axiom,
    ! [X_a,Ys_1,X,N,Xs] :
      ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
       => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N),X) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),N),X)),Ys_1) )
      & ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
       => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N),X) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Ys_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))),X)) ) ) ).

fof(fact_868_rev__drop,axiom,
    ! [X_a,I_2,Xs] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),I_2),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),I_2)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) ).

fof(fact_869_rev__take,axiom,
    ! [X_a,I_2,Xs] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),I_2)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) ).

fof(fact_870_list_Osize_I4_J,axiom,
    ! [X_a,A_1,List_1] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_1),List_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),List_1)),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_871_set__conv__nth,axiom,
    ! [X_a,Xs_1] : hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,bool),hAPP(fun(fun(nat,bool),bool),fun(fun(X_a,fun(nat,bool)),fun(X_a,bool)),combb(fun(nat,bool),bool,X_a),fEx(nat)),hAPP(fun(nat,bool),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,bool),fun(nat,bool))),fun(fun(nat,bool),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,bool),fun(nat,bool)),hAPP(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool))),hAPP(fun(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool))),fun(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool)))),combb(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool)),X_a),combs(nat,bool,bool)),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool))),hAPP(fun(fun(nat,bool),fun(nat,fun(bool,bool))),fun(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool)))),combb(fun(nat,bool),fun(nat,fun(bool,bool)),X_a),hAPP(fun(bool,fun(bool,bool)),fun(fun(nat,bool),fun(nat,fun(bool,bool))),combb(bool,fun(bool,bool),nat),fconj)),hAPP(fun(nat,X_a),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),fun(fun(nat,X_a),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,X_a),fun(nat,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),hAPP(fun(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool))),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool)))),combb(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool)),X_a),combb(X_a,bool,nat)),fequal(X_a))),hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1))))),hAPP(nat,fun(nat,bool),hAPP(fun(nat,fun(nat,bool)),fun(nat,fun(nat,bool)),combc(nat,nat,bool),ord_less(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))))) ).

fof(fact_872_ex__least__nat__le,axiom,
    ! [N_2,Pa] :
      ( ~ hBOOL(hAPP(nat,bool,Pa,zero_zero(nat)))
     => ( hBOOL(hAPP(nat,bool,Pa,N_2))
       => ? [K_2] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_2),N_2))
            & ! [I] :
                ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),K_2))
               => ~ hBOOL(hAPP(nat,bool,Pa,I)) )
            & hBOOL(hAPP(nat,bool,Pa,K_2)) ) ) ) ).

fof(fact_873_less__imp__add__positive,axiom,
    ! [I_2,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J))
     => ? [K_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),K_2))
          & hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),K_2) = J ) ) ).

fof(fact_874_double__diff,axiom,
    ! [X_a,C_1,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),B_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B_1),C_1))
       => hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),C_1),A_2)) = ti(fun(X_a,bool),A_2) ) ) ).

fof(fact_875_Diff__mono,axiom,
    ! [X_a,D_2,B_1,A_2,C_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_2),C_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),D_2),B_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),C_1),D_2))) ) ) ).

fof(fact_876_Diff__subset,axiom,
    ! [X_a,A_2,B_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1)),A_2)) ).

fof(fact_877_gr0__implies__Suc,axiom,
    ! [N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N))
     => ? [M_1] : N = hAPP(nat,nat,suc,M_1) ) ).

fof(fact_878_even__less__0__iff,axiom,
    ! [X_a] :
      ( linordered_idom(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)),zero_zero(X_a)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),zero_zero(X_a))) ) ) ).

fof(fact_879_DiffE,axiom,
    ! [X_a,Ca,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1)))
     => ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
         => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B_1)) ) ) ).

fof(fact_880_DiffI,axiom,
    ! [X_a,B_1,Ca,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
     => ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1))) ) ) ).

fof(fact_881_DiffD2,axiom,
    ! [X_a,Ca,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1)))
     => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B_1)) ) ).

fof(fact_882_DiffD1,axiom,
    ! [X_a,Ca,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1)))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2)) ) ).

fof(fact_883_Diff__idemp,axiom,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1)),B_1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1) ).

fof(fact_884_Diff__iff,axiom,
    ! [X_a,Ca,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1)))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
        & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B_1)) ) ) ).

fof(fact_885_set__diff__eq,axiom,
    ! [X_a,A_2,B_1] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B_1) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_2))),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),B_1)))) ).

fof(fact_886_double__eq__0__iff,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa) = zero_zero(X_a)
        <=> ti(X_a,Aa) = zero_zero(X_a) ) ) ).

fof(fact_887_pos__add__strict,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => ! [B,C,A_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),C))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C))) ) ) ) ).

fof(fact_888_nat_Osize_I2_J,axiom,
    ! [Nat] : hAPP(nat,nat,nat_size,hAPP(nat,nat,suc,Nat)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,nat_size,Nat)),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_889_linorder__neqE__linordered__idom,axiom,
    ! [X_a] :
      ( linordered_idom(X_a)
     => ! [X,Y] :
          ( ti(X_a,X) != ti(X_a,Y)
         => ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Y),X)) ) ) ) ).

fof(fact_890_nat_Osize_I1_J,axiom,
    hAPP(nat,nat,nat_size,zero_zero(nat)) = zero_zero(nat) ).

fof(fact_891_psubset__imp__ex__mem,axiom,
    ! [X_a,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less(fun(X_a,bool)),A_2),B_1))
     => ? [B_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),B_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),B_1),A_2))) ) ).

fof(fact_892_zero__induct__lemma,axiom,
    ! [I_1,Pa,K_1] :
      ( hBOOL(hAPP(nat,bool,Pa,K_1))
     => ( ! [N_1] :
            ( hBOOL(hAPP(nat,bool,Pa,hAPP(nat,nat,suc,N_1)))
           => hBOOL(hAPP(nat,bool,Pa,N_1)) )
       => hBOOL(hAPP(nat,bool,Pa,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),K_1),I_1))) ) ) ).

fof(fact_893_not0__implies__Suc,axiom,
    ! [N] :
      ( N != zero_zero(nat)
     => ? [M_1] : N = hAPP(nat,nat,suc,M_1) ) ).

fof(fact_894_nat__induct,axiom,
    ! [N_2,Pa] :
      ( hBOOL(hAPP(nat,bool,Pa,zero_zero(nat)))
     => ( ! [N_1] :
            ( hBOOL(hAPP(nat,bool,Pa,N_1))
           => hBOOL(hAPP(nat,bool,Pa,hAPP(nat,nat,suc,N_1))) )
       => hBOOL(hAPP(nat,bool,Pa,N_2)) ) ) ).

fof(fact_895_nat_Oexhaust,axiom,
    ! [Y] :
      ( Y != zero_zero(nat)
     => ~ ! [Nat_1] : Y != hAPP(nat,nat,suc,Nat_1) ) ).

fof(fact_896_zero__induct,axiom,
    ! [Pa,K_1] :
      ( hBOOL(hAPP(nat,bool,Pa,K_1))
     => ( ! [N_1] :
            ( hBOOL(hAPP(nat,bool,Pa,hAPP(nat,nat,suc,N_1)))
           => hBOOL(hAPP(nat,bool,Pa,N_1)) )
       => hBOOL(hAPP(nat,bool,Pa,zero_zero(nat))) ) ) ).

fof(fact_897_nat_Osize_I4_J,axiom,
    ! [Nat] : hAPP(nat,nat,size_size(nat),hAPP(nat,nat,suc,Nat)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,size_size(nat),Nat)),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_898_list_Osize_I2_J,axiom,
    ! [X_a,Fa,Aa,List] : hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),Fa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),List)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(X_a,nat,Fa,Aa)),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),Fa),List))),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_899_nat_Osize_I3_J,axiom,
    hAPP(nat,nat,size_size(nat),zero_zero(nat)) = zero_zero(nat) ).

fof(fact_900_nat__size,axiom,
    ! [N] : hAPP(nat,nat,size_size(nat),N) = N ).

fof(fact_901_list_Osize_I1_J,axiom,
    ! [X_a,Fa] : hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),Fa),nil(X_a)) = zero_zero(nat) ).

fof(fact_902_list__size__estimation,axiom,
    ! [X_a,Y_1,F,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Y_1),hAPP(X_a,nat,F,X_1)))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Y_1),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),F),Xs_1))) ) ) ).

fof(fact_903_list__size__estimation_H,axiom,
    ! [X_a,Y_1,F,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),Y_1),hAPP(X_a,nat,F,X_1)))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),Y_1),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),F),Xs_1))) ) ) ).

fof(fact_904_list__size__pointwise,axiom,
    ! [X_a,F,G,Xs_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(X_a,nat,F,X_2)),hAPP(X_a,nat,G,X_2))) )
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),F),Xs_1)),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),G),Xs_1))) ) ).

fof(fact_905_set__Cons__def,axiom,
    ! [X_a,A_2,XS] : hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(X_a,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),set_Cons(X_a),A_2),XS) = hAPP(fun(list(X_a),bool),fun(list(X_a),bool),collect(list(X_a)),hAPP(fun(list(X_a),fun(X_a,bool)),fun(list(X_a),bool),hAPP(fun(fun(X_a,bool),bool),fun(fun(list(X_a),fun(X_a,bool)),fun(list(X_a),bool)),combb(fun(X_a,bool),bool,list(X_a)),fEx(X_a)),hAPP(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,bool)),hAPP(fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,bool)),fun(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,bool))),combb(fun(X_a,fun(list(X_a),bool)),fun(X_a,bool),list(X_a)),hAPP(fun(fun(list(X_a),bool),bool),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,bool)),combb(fun(list(X_a),bool),bool,X_a),fEx(list(X_a)))),hAPP(fun(X_a,fun(list(X_a),bool)),fun(list(X_a),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool)))),fun(fun(X_a,fun(list(X_a),bool)),fun(list(X_a),fun(X_a,fun(list(X_a),bool)))),combc(list(X_a),fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool)))),hAPP(fun(fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool)))),fun(fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool))))),combb(fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool))),list(X_a)),combs(X_a,fun(list(X_a),bool),fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool)))),fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),hAPP(fun(fun(X_a,fun(list(X_a),fun(bool,bool))),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),fun(fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool)))),fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))))),combb(fun(X_a,fun(list(X_a),fun(bool,bool))),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),list(X_a)),hAPP(fun(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(list(X_a),fun(bool,bool))),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),combb(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool)),X_a),combs(list(X_a),bool,bool))),hAPP(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool)))),hAPP(fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),fun(bool,bool)))),fun(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool))))),combb(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),fun(bool,bool))),list(X_a)),hAPP(fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),fun(bool,bool)))),combb(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool)),X_a),hAPP(fun(bool,fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),combb(bool,fun(bool,bool),list(X_a)),fconj))),hAPP(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool)))),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),fun(X_a,fun(list(X_a),bool)))),combc(list(X_a),fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool)))),hAPP(fun(fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool)))),fun(fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool))))),combb(fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool))),list(X_a)),combb(fun(list(X_a),list(X_a)),fun(list(X_a),bool),X_a)),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),hAPP(fun(fun(list(X_a),bool),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),fun(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)))),combb(fun(list(X_a),bool),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)),list(X_a)),combb(list(X_a),bool,list(X_a))),fequal(list(X_a))))),cons(X_a)))))),hAPP(fun(list(X_a),bool),fun(X_a,fun(list(X_a),bool)),hAPP(fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(list(X_a),bool),fun(X_a,fun(list(X_a),bool))),combc(X_a,fun(list(X_a),bool),fun(list(X_a),bool)),hAPP(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),hAPP(fun(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),combb(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),X_a),combb(bool,bool,list(X_a))),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_2)))),hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(fun(list(X_a),bool),bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool)),combc(list(X_a),fun(list(X_a),bool),bool),member(list(X_a))),XS)))))) ).

fof(fact_906_comm__semiring__1__class_Onormalizing__semiring__rules_I5_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),zero_zero(X_a)),A_1) = ti(X_a,A_1) ) ).

fof(fact_907_comm__semiring__1__class_Onormalizing__semiring__rules_I6_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),zero_zero(X_a)) = ti(X_a,A_1) ) ).

fof(fact_908_comm__semiring__1__class_Onormalizing__semiring__rules_I20_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1,B,C,D_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),D_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),D_1)) ) ).

fof(fact_909_comm__semiring__1__class_Onormalizing__semiring__rules_I23_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1,B,C] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),C) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),B) ) ).

fof(fact_910_comm__semiring__1__class_Onormalizing__semiring__rules_I21_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1,B,C] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),B)),C) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B),C)) ) ).

fof(fact_911_comm__semiring__1__class_Onormalizing__semiring__rules_I25_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1,C,D_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),D_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C)),D_1) ) ).

fof(fact_912_comm__semiring__1__class_Onormalizing__semiring__rules_I22_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1,C,D_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),D_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),D_1)) ) ).

fof(fact_913_comm__semiring__1__class_Onormalizing__semiring__rules_I24_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_1,C] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),C) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C),A_1) ) ).

fof(fact_914_add__0__iff,axiom,
    ! [X_a] :
      ( semiri456707255roduct(X_a)
     => ! [Ba,Aa] :
          ( ti(X_a,Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ba),Aa)
        <=> ti(X_a,Aa) = zero_zero(X_a) ) ) ).

fof(fact_915_field__le__epsilon,axiom,
    ! [X_a] :
      ( linordered_field(X_a)
     => ! [X,Y] :
          ( ! [E] :
              ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),E))
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Y),E))) )
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) ) ) ).

fof(fact_916_set__zip,axiom,
    ! [X_a,X_b,Xs_1,Ys] : hAPP(list(product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),bool),set(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1),Ys)) = hAPP(fun(product_prod(X_a,X_b),bool),fun(product_prod(X_a,X_b),bool),collect(product_prod(X_a,X_b)),hAPP(fun(product_prod(X_a,X_b),fun(nat,bool)),fun(product_prod(X_a,X_b),bool),hAPP(fun(fun(nat,bool),bool),fun(fun(product_prod(X_a,X_b),fun(nat,bool)),fun(product_prod(X_a,X_b),bool)),combb(fun(nat,bool),bool,product_prod(X_a,X_b)),fEx(nat)),hAPP(fun(nat,bool),fun(product_prod(X_a,X_b),fun(nat,bool)),hAPP(fun(product_prod(X_a,X_b),fun(fun(nat,bool),fun(nat,bool))),fun(fun(nat,bool),fun(product_prod(X_a,X_b),fun(nat,bool))),combc(product_prod(X_a,X_b),fun(nat,bool),fun(nat,bool)),hAPP(fun(product_prod(X_a,X_b),fun(nat,fun(bool,bool))),fun(product_prod(X_a,X_b),fun(fun(nat,bool),fun(nat,bool))),hAPP(fun(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool))),fun(fun(product_prod(X_a,X_b),fun(nat,fun(bool,bool))),fun(product_prod(X_a,X_b),fun(fun(nat,bool),fun(nat,bool)))),combb(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool)),product_prod(X_a,X_b)),combs(nat,bool,bool)),hAPP(fun(product_prod(X_a,X_b),fun(nat,bool)),fun(product_prod(X_a,X_b),fun(nat,fun(bool,bool))),hAPP(fun(fun(nat,bool),fun(nat,fun(bool,bool))),fun(fun(product_prod(X_a,X_b),fun(nat,bool)),fun(product_prod(X_a,X_b),fun(nat,fun(bool,bool)))),combb(fun(nat,bool),fun(nat,fun(bool,bool)),product_prod(X_a,X_b)),hAPP(fun(bool,fun(bool,bool)),fun(fun(nat,bool),fun(nat,fun(bool,bool))),combb(bool,fun(bool,bool),nat),fconj)),hAPP(fun(nat,product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),fun(nat,bool)),hAPP(fun(product_prod(X_a,X_b),fun(fun(nat,product_prod(X_a,X_b)),fun(nat,bool))),fun(fun(nat,product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),fun(nat,bool))),combc(product_prod(X_a,X_b),fun(nat,product_prod(X_a,X_b)),fun(nat,bool)),hAPP(fun(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),bool)),fun(product_prod(X_a,X_b),fun(fun(nat,product_prod(X_a,X_b)),fun(nat,bool))),hAPP(fun(fun(product_prod(X_a,X_b),bool),fun(fun(nat,product_prod(X_a,X_b)),fun(nat,bool))),fun(fun(product_prod(X_a,X_b),fun(product_prod(X_a,X_b),bool)),fun(product_prod(X_a,X_b),fun(fun(nat,product_prod(X_a,X_b)),fun(nat,bool)))),combb(fun(product_prod(X_a,X_b),bool),fun(fun(nat,product_prod(X_a,X_b)),fun(nat,bool)),product_prod(X_a,X_b)),combb(product_prod(X_a,X_b),bool,nat)),fequal(product_prod(X_a,X_b)))),hAPP(fun(nat,X_b),fun(nat,product_prod(X_a,X_b)),hAPP(fun(nat,fun(X_b,product_prod(X_a,X_b))),fun(fun(nat,X_b),fun(nat,product_prod(X_a,X_b))),combs(nat,X_b,product_prod(X_a,X_b)),hAPP(fun(nat,X_a),fun(nat,fun(X_b,product_prod(X_a,X_b))),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(fun(nat,X_a),fun(nat,fun(X_b,product_prod(X_a,X_b)))),combb(X_a,fun(X_b,product_prod(X_a,X_b)),nat),product_Pair(X_a,X_b)),hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1))),hAPP(list(X_b),fun(nat,X_b),nth(X_b),Ys)))))),hAPP(nat,fun(nat,bool),hAPP(fun(nat,fun(nat,bool)),fun(nat,fun(nat,bool)),combc(nat,nat,bool),ord_less(nat)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),hAPP(list(X_b),nat,size_size(list(X_b)),Ys)))))) ).

fof(fact_917_length__zip,axiom,
    ! [X_a,X_b,Xs,Ys_1] : hAPP(list(product_prod(X_a,X_b)),nat,size_size(list(product_prod(X_a,X_b))),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),hAPP(list(X_b),nat,size_size(list(X_b)),Ys_1)) ).

fof(fact_918_zip__rev,axiom,
    ! [X_a,X_b,Xs,Ys_1] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys_1)
     => hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),rev(X_a),Xs)),hAPP(list(X_b),list(X_b),rev(X_b),Ys_1)) = hAPP(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),rev(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1)) ) ).

fof(fact_919_zip__append,axiom,
    ! [X_a,X_b,Ys_1,Vs_2,Xs,Us_2] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) = hAPP(list(X_b),nat,size_size(list(X_b)),Us_2)
     => ( hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Vs_2)
       => hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Us_2),Vs_2)) = hAPP(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),hAPP(list(product_prod(X_a,X_b)),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),append(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Us_2)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Ys_1),Vs_2)) ) ) ).

fof(fact_920_zip__Cons1,axiom,
    ! [X_b,X_a,X_1,Xs_1,Ys] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),Ys) = hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(fun(X_b,fun(list(X_b),list(product_prod(X_a,X_b)))),fun(list(X_b),list(product_prod(X_a,X_b))),hAPP(list(product_prod(X_a,X_b)),fun(fun(X_b,fun(list(X_b),list(product_prod(X_a,X_b)))),fun(list(X_b),list(product_prod(X_a,X_b)))),list_case(list(product_prod(X_a,X_b)),X_b),nil(product_prod(X_a,X_b))),hAPP(fun(list(X_b),list(product_prod(X_a,X_b))),fun(X_b,fun(list(X_b),list(product_prod(X_a,X_b)))),hAPP(fun(X_b,fun(fun(list(X_b),list(product_prod(X_a,X_b))),fun(list(X_b),list(product_prod(X_a,X_b))))),fun(fun(list(X_b),list(product_prod(X_a,X_b))),fun(X_b,fun(list(X_b),list(product_prod(X_a,X_b))))),combc(X_b,fun(list(X_b),list(product_prod(X_a,X_b))),fun(list(X_b),list(product_prod(X_a,X_b)))),hAPP(fun(X_b,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),fun(X_b,fun(fun(list(X_b),list(product_prod(X_a,X_b))),fun(list(X_b),list(product_prod(X_a,X_b))))),hAPP(fun(fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),fun(fun(list(X_b),list(product_prod(X_a,X_b))),fun(list(X_b),list(product_prod(X_a,X_b))))),fun(fun(X_b,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),fun(X_b,fun(fun(list(X_b),list(product_prod(X_a,X_b))),fun(list(X_b),list(product_prod(X_a,X_b)))))),combb(fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),fun(fun(list(X_b),list(product_prod(X_a,X_b))),fun(list(X_b),list(product_prod(X_a,X_b)))),X_b),combb(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),list(X_b))),hAPP(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),hAPP(fun(product_prod(X_a,X_b),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),fun(fun(X_b,product_prod(X_a,X_b)),fun(X_b,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))))),combb(product_prod(X_a,X_b),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),X_b),cons(product_prod(X_a,X_b))),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_1)))),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1))),Ys) ).

fof(fact_921_zip__Cons,axiom,
    ! [X_b,X_a,Xs_1,Y_1,Ys] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)) = hAPP(list(X_a),list(product_prod(X_a,X_b)),hAPP(fun(X_a,fun(list(X_a),list(product_prod(X_a,X_b)))),fun(list(X_a),list(product_prod(X_a,X_b))),hAPP(list(product_prod(X_a,X_b)),fun(fun(X_a,fun(list(X_a),list(product_prod(X_a,X_b)))),fun(list(X_a),list(product_prod(X_a,X_b)))),list_case(list(product_prod(X_a,X_b)),X_a),nil(product_prod(X_a,X_b))),hAPP(fun(list(X_a),list(product_prod(X_a,X_b))),fun(X_a,fun(list(X_a),list(product_prod(X_a,X_b)))),hAPP(fun(X_a,fun(fun(list(X_a),list(product_prod(X_a,X_b))),fun(list(X_a),list(product_prod(X_a,X_b))))),fun(fun(list(X_a),list(product_prod(X_a,X_b))),fun(X_a,fun(list(X_a),list(product_prod(X_a,X_b))))),combc(X_a,fun(list(X_a),list(product_prod(X_a,X_b))),fun(list(X_a),list(product_prod(X_a,X_b)))),hAPP(fun(X_a,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),fun(X_a,fun(fun(list(X_a),list(product_prod(X_a,X_b))),fun(list(X_a),list(product_prod(X_a,X_b))))),hAPP(fun(fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),fun(fun(list(X_a),list(product_prod(X_a,X_b))),fun(list(X_a),list(product_prod(X_a,X_b))))),fun(fun(X_a,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),fun(X_a,fun(fun(list(X_a),list(product_prod(X_a,X_b))),fun(list(X_a),list(product_prod(X_a,X_b)))))),combb(fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),fun(fun(list(X_a),list(product_prod(X_a,X_b))),fun(list(X_a),list(product_prod(X_a,X_b)))),X_a),combb(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),list(X_a))),hAPP(fun(X_a,product_prod(X_a,X_b)),fun(X_a,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),hAPP(fun(product_prod(X_a,X_b),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)))),fun(fun(X_a,product_prod(X_a,X_b)),fun(X_a,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))))),combb(product_prod(X_a,X_b),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),X_a),cons(product_prod(X_a,X_b))),hAPP(X_b,fun(X_a,product_prod(X_a,X_b)),hAPP(fun(X_a,fun(X_b,product_prod(X_a,X_b))),fun(X_b,fun(X_a,product_prod(X_a,X_b))),combc(X_a,X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b)),Y_1)))),hAPP(list(X_b),fun(list(X_a),list(product_prod(X_a,X_b))),hAPP(fun(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b)))),fun(list(X_b),fun(list(X_a),list(product_prod(X_a,X_b)))),combc(list(X_a),list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b)),Ys))),Xs_1) ).

fof(fact_922_zip__update,axiom,
    ! [X_b,X_a,Xs,I_2,X,Ys_1,Y] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_2),X)),hAPP(X_b,list(X_b),hAPP(nat,fun(X_b,list(X_b)),hAPP(list(X_b),fun(nat,fun(X_b,list(X_b))),list_update(X_b),Ys_1),I_2),Y)) = hAPP(product_prod(X_a,X_b),list(product_prod(X_a,X_b)),hAPP(nat,fun(product_prod(X_a,X_b),list(product_prod(X_a,X_b))),hAPP(list(product_prod(X_a,X_b)),fun(nat,fun(product_prod(X_a,X_b),list(product_prod(X_a,X_b)))),list_update(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1)),I_2),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X),Y)) ).

fof(fact_923_zip__Cons__Cons,axiom,
    ! [X_b,X_a,X,Xs,Y,Ys_1] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y),Ys_1)) = hAPP(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),hAPP(product_prod(X_a,X_b),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),cons(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X),Y)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1)) ).

fof(fact_924_in__set__zipE,axiom,
    ! [X_a,X_b,X_1,Y_1,Xs_1,Ys] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_1),Y_1)),hAPP(list(product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),bool),set(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1),Ys))))
     => ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Y_1),hAPP(list(X_b),fun(X_b,bool),set(X_b),Ys))) ) ) ).

fof(fact_925_set__zip__rightD,axiom,
    ! [X_a,X_b,X_1,Y_1,Xs_1,Ys] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_1),Y_1)),hAPP(list(product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),bool),set(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1),Ys))))
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Y_1),hAPP(list(X_b),fun(X_b,bool),set(X_b),Ys))) ) ).

fof(fact_926_set__zip__leftD,axiom,
    ! [X_a,X_b,X_1,Y_1,Xs_1,Ys] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X_1),Y_1)),hAPP(list(product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),bool),set(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1),Ys))))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_927_zip__same,axiom,
    ! [X_a,Aa,Ba,Xs_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),Aa),Ba)),hAPP(list(product_prod(X_a,X_a)),fun(product_prod(X_a,X_a),bool),set(product_prod(X_a,X_a)),hAPP(list(X_a),list(product_prod(X_a,X_a)),hAPP(list(X_a),fun(list(X_a),list(product_prod(X_a,X_a))),zip(X_a,X_a),Xs_1),Xs_1))))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Aa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
        & ti(X_a,Aa) = ti(X_a,Ba) ) ) ).

fof(fact_928_zip_Osimps_I1_J,axiom,
    ! [X_b,X_a,Xs] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),nil(X_b)) = nil(product_prod(X_a,X_b)) ).

fof(fact_929_zip__Nil,axiom,
    ! [X_b,X_a,Ys_1] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),nil(X_a)),Ys_1) = nil(product_prod(X_a,X_b)) ).

fof(fact_930_distinct__zipI2,axiom,
    ! [X_b,X_a,Xs,Ys_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Ys_1))
     => hBOOL(hAPP(list(product_prod(X_b,X_a)),bool,distinct(product_prod(X_b,X_a)),hAPP(list(X_a),list(product_prod(X_b,X_a)),hAPP(list(X_b),fun(list(X_a),list(product_prod(X_b,X_a))),zip(X_b,X_a),Xs),Ys_1))) ) ).

fof(fact_931_distinct__zipI1,axiom,
    ! [X_b,X_a,Ys_1,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
     => hBOOL(hAPP(list(product_prod(X_a,X_b)),bool,distinct(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1))) ) ).

fof(fact_932_take__zip,axiom,
    ! [X_a,X_b,N,Xs,Ys_1] : hAPP(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),hAPP(nat,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),take(product_prod(X_a,X_b)),N),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1)) = hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),take(X_b),N),Ys_1)) ).

fof(fact_933_drop__zip,axiom,
    ! [X_a,X_b,N,Xs,Ys_1] : hAPP(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),hAPP(nat,fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),drop(product_prod(X_a,X_b)),N),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1)) = hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),Xs)),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),drop(X_b),N),Ys_1)) ).

fof(fact_934_zip__replicate,axiom,
    ! [X_b,X_a,I_2,X,J,Y] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),I_2),X)),hAPP(X_b,list(X_b),hAPP(nat,fun(X_b,list(X_b)),replicate(X_b),J),Y)) = hAPP(product_prod(X_a,X_b),list(product_prod(X_a,X_b)),hAPP(nat,fun(product_prod(X_a,X_b),list(product_prod(X_a,X_b))),replicate(product_prod(X_a,X_b)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),I_2),J)),hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),X),Y)) ).

fof(fact_935_nth__zip,axiom,
    ! [X_b,X_a,Ys_1,I_2,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_b),nat,size_size(list(X_b)),Ys_1)))
       => hAPP(nat,product_prod(X_a,X_b),hAPP(list(product_prod(X_a,X_b)),fun(nat,product_prod(X_a,X_b)),nth(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),Ys_1)),I_2) = hAPP(X_b,product_prod(X_a,X_b),hAPP(X_a,fun(X_b,product_prod(X_a,X_b)),product_Pair(X_a,X_b),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_2)),hAPP(nat,X_b,hAPP(list(X_b),fun(nat,X_b),nth(X_b),Ys_1),I_2)) ) ) ).

fof(fact_936_zip__append1,axiom,
    ! [X_b,X_a,Xs,Ys_1,Zs_2] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),Zs_2) = hAPP(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),hAPP(list(product_prod(X_a,X_b)),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),append(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),take(X_b),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),Zs_2))),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Ys_1),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),drop(X_b),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),Zs_2))) ).

fof(fact_937_zip__append2,axiom,
    ! [X_b,X_a,Xs,Ys_1,Zs_2] : hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys_1),Zs_2)) = hAPP(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b)),hAPP(list(product_prod(X_a,X_b)),fun(list(product_prod(X_a,X_b)),list(product_prod(X_a,X_b))),append(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(list(X_b),nat,size_size(list(X_b)),Ys_1)),Xs)),Ys_1)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(list(X_b),nat,size_size(list(X_b)),Ys_1)),Xs)),Zs_2)) ).

fof(fact_938_zip__obtain__same__length,axiom,
    ! [X_a,X_b,Pa,Xs_1,Ys] :
      ( ! [Zs,Ws,N_1] :
          ( hAPP(list(X_a),nat,size_size(list(X_a)),Zs) = hAPP(list(X_b),nat,size_size(list(X_b)),Ws)
         => ( N_1 = hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),hAPP(list(X_b),nat,size_size(list(X_b)),Ys))
           => ( Zs = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_1),Xs_1)
             => ( Ws = hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),take(X_b),N_1),Ys)
               => hBOOL(hAPP(list(product_prod(X_a,X_b)),bool,Pa,hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Zs),Ws))) ) ) ) )
     => hBOOL(hAPP(list(product_prod(X_a,X_b)),bool,Pa,hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1),Ys))) ) ).

fof(fact_939_listrel__iff__zip,axiom,
    ! [X_a,Xs_1,Ys,R_1] :
      ( hBOOL(hAPP(fun(product_prod(list(X_a),list(X_a)),bool),bool,hAPP(product_prod(list(X_a),list(X_a)),fun(fun(product_prod(list(X_a),list(X_a)),bool),bool),member(product_prod(list(X_a),list(X_a))),hAPP(list(X_a),product_prod(list(X_a),list(X_a)),hAPP(list(X_a),fun(list(X_a),product_prod(list(X_a),list(X_a))),product_Pair(list(X_a),list(X_a)),Xs_1),Ys)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_1)))
    <=> ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
        & ! [X_2] :
            ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),X_2),hAPP(list(product_prod(X_a,X_a)),fun(product_prod(X_a,X_a),bool),set(product_prod(X_a,X_a)),hAPP(list(X_a),list(product_prod(X_a,X_a)),hAPP(list(X_a),fun(list(X_a),list(product_prod(X_a,X_a))),zip(X_a,X_a),Xs_1),Ys))))
           => hBOOL(hAPP(product_prod(X_a,X_a),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(product_prod(X_a,X_a),bool),product_prod_case(X_a,X_a,bool),hAPP(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,fun(X_a,bool))),combc(X_a,fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),hAPP(fun(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool))),fun(fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)))),combb(fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(product_prod(X_a,X_a),bool),fun(X_a,bool)),X_a),combc(X_a,fun(product_prod(X_a,X_a),bool),bool)),hAPP(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),hAPP(fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),fun(fun(X_a,fun(X_a,product_prod(X_a,X_a))),fun(X_a,fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)))),combb(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool)),X_a),hAPP(fun(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool)),fun(fun(X_a,product_prod(X_a,X_a)),fun(X_a,fun(fun(product_prod(X_a,X_a),bool),bool))),combb(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),X_a),member(product_prod(X_a,X_a)))),product_Pair(X_a,X_a)))),R_1)),X_2)) ) ) ) ).

fof(fact_940_refl__on__def_H,axiom,
    ! [X_a,A_2,R_1] :
      ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(fun(X_a,bool),fun(fun(product_prod(X_a,X_a),bool),bool),refl_on(X_a),A_2),R_1))
    <=> ( ! [X_2] :
            ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),X_2),R_1))
           => hBOOL(hAPP(product_prod(X_a,X_a),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(product_prod(X_a,X_a),bool),product_prod_case(X_a,X_a,bool),hAPP(fun(X_a,bool),fun(X_a,fun(X_a,bool)),hAPP(fun(X_a,fun(fun(X_a,bool),fun(X_a,bool))),fun(fun(X_a,bool),fun(X_a,fun(X_a,bool))),combc(X_a,fun(X_a,bool),fun(X_a,bool)),hAPP(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(X_a,bool),fun(X_a,bool))),hAPP(fun(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool))),fun(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(X_a,bool),fun(X_a,bool)))),combb(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),X_a),combb(bool,bool,X_a)),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_2)))),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_2))),X_2)) )
        & ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
           => hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),hAPP(X_a,product_prod(X_a,X_a),hAPP(X_a,fun(X_a,product_prod(X_a,X_a)),product_Pair(X_a,X_a),X_2),X_2)),R_1)) ) ) ) ).

fof(fact_941_list__eq__iff__zip__eq,axiom,
    ! [X_a,Xs_1,Ys] :
      ( Xs_1 = Ys
    <=> ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
        & ! [X_2] :
            ( hBOOL(hAPP(fun(product_prod(X_a,X_a),bool),bool,hAPP(product_prod(X_a,X_a),fun(fun(product_prod(X_a,X_a),bool),bool),member(product_prod(X_a,X_a)),X_2),hAPP(list(product_prod(X_a,X_a)),fun(product_prod(X_a,X_a),bool),set(product_prod(X_a,X_a)),hAPP(list(X_a),list(product_prod(X_a,X_a)),hAPP(list(X_a),fun(list(X_a),list(product_prod(X_a,X_a))),zip(X_a,X_a),Xs_1),Ys))))
           => hBOOL(hAPP(product_prod(X_a,X_a),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(product_prod(X_a,X_a),bool),product_prod_case(X_a,X_a,bool),fequal(X_a)),X_2)) ) ) ) ).

fof(fact_942_list__all2__def,axiom,
    ! [X_b,X_a,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
    <=> ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
        & ! [X_2] :
            ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),X_2),hAPP(list(product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),bool),set(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Xs_1),Ys))))
           => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Pa),X_2)) ) ) ) ).

fof(fact_943_listset_Osimps_I2_J,axiom,
    ! [X_a,A_2,As_1] : hAPP(list(fun(X_a,bool)),fun(list(X_a),bool),listset(X_a),hAPP(list(fun(X_a,bool)),list(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(list(fun(X_a,bool)),list(fun(X_a,bool))),cons(fun(X_a,bool)),A_2),As_1)) = hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(X_a,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),set_Cons(X_a),A_2),hAPP(list(fun(X_a,bool)),fun(list(X_a),bool),listset(X_a),As_1)) ).

fof(fact_944_list__all2__appendI,axiom,
    ! [X_b,X_a,Ca,D,Pa,Aa,Ba] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Aa),Ba))
     => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Ca),D))
       => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Aa),Ca)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ba),D))) ) ) ).

fof(fact_945_list__all2__Nil,axiom,
    ! [X_b,X_a,Pa,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),nil(X_a)),Ys))
    <=> Ys = nil(X_b) ) ).

fof(fact_946_list__all2__Nil2,axiom,
    ! [X_b,X_a,Pa,Xs_1] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),nil(X_b)))
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_947_list__all2__Cons,axiom,
    ! [X_b,X_a,Pa,X_1,Xs_1,Y_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)))
    <=> ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
        & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys)) ) ) ).

fof(fact_948_list__all2__dropI,axiom,
    ! [X_b,X_a,N_2,Pa,As,Bs] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),As),Bs))
     => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_2),As)),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),drop(X_b),N_2),Bs))) ) ).

fof(fact_949_list__all2__rev,axiom,
    ! [X_b,X_a,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)),hAPP(list(X_b),list(X_b),rev(X_b),Ys)))
    <=> hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys)) ) ).

fof(fact_950_list__all2__rev1,axiom,
    ! [X_b,X_a,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)),Ys))
    <=> hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),hAPP(list(X_b),list(X_b),rev(X_b),Ys))) ) ).

fof(fact_951_list__all2__takeI,axiom,
    ! [X_b,X_a,N_2,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
     => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_2),Xs_1)),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),take(X_b),N_2),Ys))) ) ).

fof(fact_952_list__all2__lengthD,axiom,
    ! [X_b,X_a,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
     => hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys) ) ).

fof(fact_953_list__all2__append,axiom,
    ! [X_a,X_b,Pa,Us_1,Vs_1,Xs_1,Ys] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
     => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Us_1)),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Vs_1)))
      <=> ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us_1),Vs_1)) ) ) ) ).

fof(fact_954_list__all2__conv__all__nth,axiom,
    ! [X_b,X_a,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
    <=> ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
        & ! [I] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
           => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I)),hAPP(nat,X_b,hAPP(list(X_b),fun(nat,X_b),nth(X_b),Ys),I))) ) ) ) ).

fof(fact_955_list__all2__nthD,axiom,
    ! [X_b,X_a,P_1,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),P_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),P_1)),hAPP(nat,X_b,hAPP(list(X_b),fun(nat,X_b),nth(X_b),Ys),P_1))) ) ) ).

fof(fact_956_list__all2__nthD2,axiom,
    ! [X_b,X_a,P_1,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),P_1),hAPP(list(X_b),nat,size_size(list(X_b)),Ys)))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),P_1)),hAPP(nat,X_b,hAPP(list(X_b),fun(nat,X_b),nth(X_b),Ys),P_1))) ) ) ).

fof(fact_957_list__all2__eq,axiom,
    ! [X_a,Xs_1,Ys] :
      ( Xs_1 = Ys
    <=> hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),list_all2(X_a,X_a),fequal(X_a)),Xs_1),Ys)) ) ).

fof(fact_958_list__all2__update__cong2,axiom,
    ! [X_b,X_a,I_1,X_1,Y_1,Pa,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
       => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(list(X_b),nat,size_size(list(X_b)),Ys)))
         => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),I_1),X_1)),hAPP(X_b,list(X_b),hAPP(nat,fun(X_b,list(X_b)),hAPP(list(X_b),fun(nat,fun(X_b,list(X_b))),list_update(X_b),Ys),I_1),Y_1))) ) ) ) ).

fof(fact_959_list__all2__update__cong,axiom,
    ! [X_b,X_a,X_1,Y_1,Pa,Ys,I_1,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
     => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Ys))
       => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Y_1))
         => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),I_1),X_1)),hAPP(X_b,list(X_b),hAPP(nat,fun(X_b,list(X_b)),hAPP(list(X_b),fun(nat,fun(X_b,list(X_b))),list_update(X_b),Ys),I_1),Y_1))) ) ) ) ).

fof(fact_960_list__all2I,axiom,
    ! [X_a,X_b,Pa,Aa,Ba] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(product_prod(X_a,X_b),bool),bool,hAPP(product_prod(X_a,X_b),fun(fun(product_prod(X_a,X_b),bool),bool),member(product_prod(X_a,X_b)),X_2),hAPP(list(product_prod(X_a,X_b)),fun(product_prod(X_a,X_b),bool),set(product_prod(X_a,X_b)),hAPP(list(X_b),list(product_prod(X_a,X_b)),hAPP(list(X_a),fun(list(X_b),list(product_prod(X_a,X_b))),zip(X_a,X_b),Aa),Ba))))
         => hBOOL(hAPP(product_prod(X_a,X_b),bool,hAPP(fun(X_a,fun(X_b,bool)),fun(product_prod(X_a,X_b),bool),product_prod_case(X_a,X_b,bool),Pa),X_2)) )
     => ( hAPP(list(X_a),nat,size_size(list(X_a)),Aa) = hAPP(list(X_b),nat,size_size(list(X_b)),Ba)
       => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Aa),Ba)) ) ) ).

fof(fact_961_list__all2__all__nthI,axiom,
    ! [X_a,X_b,Pa,Aa,Ba] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Aa) = hAPP(list(X_b),nat,size_size(list(X_b)),Ba)
     => ( ! [N_1] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Aa)))
           => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Aa),N_1)),hAPP(nat,X_b,hAPP(list(X_b),fun(nat,X_b),nth(X_b),Ba),N_1))) )
       => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Aa),Ba)) ) ) ).

fof(fact_962_list__all2__append2,axiom,
    ! [X_b,X_a,Pa,Xs_1,Ys,Zs_1] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Ys),Zs_1)))
    <=> ? [Us,Vs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Vs)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Us) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Vs) = hAPP(list(X_b),nat,size_size(list(X_b)),Zs_1)
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Us),Ys))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Vs),Zs_1)) ) ) ).

fof(fact_963_list__all2__append1,axiom,
    ! [X_b,X_a,Pa,Xs_1,Ys,Zs_1] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)),Zs_1))
    <=> ? [Us,Vs] :
          ( Zs_1 = hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Us),Vs)
          & hAPP(list(X_b),nat,size_size(list(X_b)),Us) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)
          & hAPP(list(X_b),nat,size_size(list(X_b)),Vs) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys)
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Us))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Ys),Vs)) ) ) ).

fof(fact_964_list__all2__Cons2,axiom,
    ! [X_b,X_a,Pa,Xs_1,Y_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)))
    <=> ? [Z,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Z),Zs)
          & hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,Z),Y_1))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Zs),Ys)) ) ) ).

fof(fact_965_list__all2__Cons1,axiom,
    ! [X_b,X_a,Pa,X_1,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)),Ys))
    <=> ? [Z,Zs] :
          ( Ys = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs)
          & hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Pa,X_1),Z))
          & hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),hAPP(fun(X_a,fun(X_b,bool)),fun(list(X_a),fun(list(X_b),bool)),list_all2(X_a,X_b),Pa),Xs_1),Zs)) ) ) ).

fof(fact_966_last__list__update,axiom,
    ! [X_a,X,K,Xs] :
      ( Xs != nil(X_a)
     => ( ( K = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat))
         => hAPP(list(X_a),X_a,last(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),K),X)) = ti(X_a,X) )
        & ( K != hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat))
         => hAPP(list(X_a),X_a,last(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),K),X)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ) ) ).

fof(fact_967_butlast__take,axiom,
    ! [X_a,N,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),one_one(nat))),Xs) ) ).

fof(fact_968_less__add__one,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => ! [A_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_1),one_one(X_a)))) ) ).

fof(fact_969_not__one__le__zero,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),one_one(X_a)),zero_zero(X_a))) ) ).

fof(fact_970_zero__le__one,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),one_one(X_a))) ) ).

fof(fact_971_zero__neq__one,axiom,
    ! [X_a] :
      ( zero_neq_one(X_a)
     => zero_zero(X_a) != one_one(X_a) ) ).

fof(fact_972_one__neq__zero,axiom,
    ! [X_a] :
      ( zero_neq_one(X_a)
     => one_one(X_a) != zero_zero(X_a) ) ).

fof(fact_973_not__one__less__zero,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),one_one(X_a)),zero_zero(X_a))) ) ).

fof(fact_974_zero__less__one,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),one_one(X_a))) ) ).

fof(fact_975_zero__less__two,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),one_one(X_a)),one_one(X_a)))) ) ).

fof(fact_976_One__nat__def,axiom,
    one_one(nat) = hAPP(nat,nat,suc,zero_zero(nat)) ).

fof(fact_977_one__reorient,axiom,
    ! [X_a] :
      ( one(X_a)
     => ! [X_1] :
          ( one_one(X_a) = ti(X_a,X_1)
        <=> ti(X_a,X_1) = one_one(X_a) ) ) ).

fof(fact_978_Suc__eq__plus1,axiom,
    ! [N] : hAPP(nat,nat,suc,N) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),one_one(nat)) ).

fof(fact_979_Suc__eq__plus1__left,axiom,
    ! [N] : hAPP(nat,nat,suc,N) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),one_one(nat)),N) ).

fof(fact_980_diff__Suc__1,axiom,
    ! [N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,N)),one_one(nat)) = N ).

fof(fact_981_diff__Suc__eq__diff__pred,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),hAPP(nat,nat,suc,N)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),one_one(nat))),N) ).

fof(fact_982_take__1__Cons,axiom,
    ! [X_a,X,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),one_one(nat)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),nil(X_a)) ).

fof(fact_983_drop__1__Cons,axiom,
    ! [X_a,X,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),one_one(nat)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = Xs ).

fof(fact_984_length__butlast,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat)) ).

fof(fact_985_length__tl,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat)) ).

fof(fact_986_tl__take,axiom,
    ! [X_a,N,Xs] : hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),one_one(nat))),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) ).

fof(fact_987_rotate1__length01,axiom,
    ! [X_a,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat)))
     => hAPP(list(X_a),list(X_a),rotate1(X_a),Xs) = Xs ) ).

fof(fact_988_Suc__pred_H,axiom,
    ! [N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N))
     => N = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),one_one(nat))) ) ).

fof(fact_989_Suc__diff__1,axiom,
    ! [N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N))
     => hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),one_one(nat))) = N ) ).

fof(fact_990_add__eq__if,axiom,
    ! [N,M] :
      ( ( M = zero_zero(nat)
       => hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N) = N )
      & ( M != zero_zero(nat)
       => hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),one_one(nat))),N)) ) ) ).

fof(fact_991_nth__Cons_H,axiom,
    ! [X_a,X,Xs,N] :
      ( ( N = zero_zero(nat)
       => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),N) = ti(X_a,X) )
      & ( N != zero_zero(nat)
       => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),N) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),one_one(nat))) ) ) ).

fof(fact_992_drop__Cons_H,axiom,
    ! [X_a,X,Xs,N] :
      ( ( N = zero_zero(nat)
       => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs) )
      & ( N != zero_zero(nat)
       => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),one_one(nat))),Xs) ) ) ).

fof(fact_993_butlast__conv__take,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),butlast(X_a),Xs) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat))),Xs) ).

fof(fact_994_butlast__list__update,axiom,
    ! [X_a,X,K,Xs] :
      ( ( K = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat))
       => hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),K),X)) = hAPP(list(X_a),list(X_a),butlast(X_a),Xs) )
      & ( K != hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),one_one(nat))
       => hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),K),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)),K),X) ) ) ).

fof(fact_995_tl__replicate,axiom,
    ! [X_a,X,N] :
      ( N != zero_zero(nat)
     => hAPP(list(X_a),list(X_a),tl(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),one_one(nat))),X) ) ).

%----Arities (38)
fof(arity_prod___Enum_Oenum,axiom,
    ! [T_2,T_1] :
      ( ( enum(T_1)
        & enum(T_2) )
     => enum(product_prod(T_2,T_1)) ) ).

fof(arity_HOL_Obool___Enum_Oenum,axiom,
    enum(bool) ).

fof(arity_fun___Enum_Oenum,axiom,
    ! [T_2,T_1] :
      ( ( enum(T_1)
        & enum(T_2) )
     => enum(fun(T_2,T_1)) ) ).

fof(arity_fun___Orderings_Opreorder,axiom,
    ! [T_2,T_1] :
      ( preorder(T_1)
     => preorder(fun(T_2,T_1)) ) ).

fof(arity_fun___Orderings_Oorder,axiom,
    ! [T_2,T_1] :
      ( order(T_1)
     => order(fun(T_2,T_1)) ) ).

fof(arity_fun___Orderings_Otop,axiom,
    ! [T_2,T_1] :
      ( top(T_1)
     => top(fun(T_2,T_1)) ) ).

fof(arity_fun___Orderings_Oord,axiom,
    ! [T_2,T_1] :
      ( ord(T_1)
     => ord(fun(T_2,T_1)) ) ).

fof(arity_fun___Groups_Ominus,axiom,
    ! [T_2,T_1] :
      ( minus(T_1)
     => minus(fun(T_2,T_1)) ) ).

fof(arity_fun___HOL_Oequal,axiom,
    ! [T_2,T_1] :
      ( ( cl_HOL_Oequal(T_1)
        & enum(T_2) )
     => cl_HOL_Oequal(fun(T_2,T_1)) ) ).

fof(arity_Nat_Onat___Semiring__Normalization_Ocomm__semiring__1__cancel__crossproduc,axiom,
    semiri456707255roduct(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__cancel__ab__semigroup__add,axiom,
    ordere223160158up_add(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__ab__semigroup__add__imp__le,axiom,
    ordere236663937imp_le(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__ab__semigroup__add,axiom,
    ordere779506340up_add(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__comm__monoid__add,axiom,
    ordere216010020id_add(nat) ).

fof(arity_Nat_Onat___Groups_Ocancel__ab__semigroup__add,axiom,
    cancel146912293up_add(nat) ).

fof(arity_Nat_Onat___Groups_Ocancel__semigroup__add,axiom,
    cancel_semigroup_add(nat) ).

fof(arity_Nat_Onat___Rings_Olinordered__semidom,axiom,
    linordered_semidom(nat) ).

fof(arity_Nat_Onat___Groups_Oab__semigroup__add,axiom,
    ab_semigroup_add(nat) ).

fof(arity_Nat_Onat___Groups_Ocomm__monoid__add,axiom,
    comm_monoid_add(nat) ).

fof(arity_Nat_Onat___Rings_Ocomm__semiring__1,axiom,
    comm_semiring_1(nat) ).

fof(arity_Nat_Onat___Rings_Ozero__neq__one,axiom,
    zero_neq_one(nat) ).

fof(arity_Nat_Onat___Orderings_Opreorder,axiom,
    preorder(nat) ).

fof(arity_Nat_Onat___Orderings_Olinorder,axiom,
    linorder(nat) ).

fof(arity_Nat_Onat___Groups_Omonoid__add,axiom,
    monoid_add(nat) ).

fof(arity_Nat_Onat___Orderings_Oorder,axiom,
    order(nat) ).

fof(arity_Nat_Onat___Orderings_Oord,axiom,
    ord(nat) ).

fof(arity_Nat_Onat___Groups_Ominus,axiom,
    minus(nat) ).

fof(arity_Nat_Onat___Groups_Ozero,axiom,
    zero(nat) ).

fof(arity_Nat_Onat___Groups_Oone,axiom,
    one(nat) ).

fof(arity_Nat_Onat___HOL_Oequal,axiom,
    cl_HOL_Oequal(nat) ).

fof(arity_HOL_Obool___Orderings_Opreorder,axiom,
    preorder(bool) ).

fof(arity_HOL_Obool___Orderings_Oorder,axiom,
    order(bool) ).

fof(arity_HOL_Obool___Orderings_Otop,axiom,
    top(bool) ).

fof(arity_HOL_Obool___Orderings_Oord,axiom,
    ord(bool) ).

fof(arity_HOL_Obool___Groups_Ominus,axiom,
    minus(bool) ).

fof(arity_HOL_Obool___HOL_Oequal,axiom,
    cl_HOL_Oequal(bool) ).

fof(arity_List_Olist___HOL_Oequal,axiom,
    ! [T_1] : cl_HOL_Oequal(list(T_1)) ).

fof(arity_prod___HOL_Oequal,axiom,
    ! [T_2,T_1] : cl_HOL_Oequal(product_prod(T_2,T_1)) ).

%----Helper facts (24)
fof(help_ti_idem,axiom,
    ! [T,A] : ti(T,ti(T,A)) = ti(T,A) ).

fof(help_If_1_1_T,axiom,
    ! [X_a,X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),hAPP(bool,fun(X_a,fun(X_a,X_a)),if(X_a),fTrue),X),Y) = ti(X_a,X) ).

fof(help_If_2_1_T,axiom,
    ! [X_a,X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),hAPP(bool,fun(X_a,fun(X_a,X_a)),if(X_a),fFalse),X),Y) = ti(X_a,Y) ).

fof(help_If_3_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fTrue
      | ti(bool,P) = fFalse ) ).

fof(help_fEx_1_1_U,axiom,
    ! [X_a,P,X] :
      ( ~ hBOOL(hAPP(X_a,bool,P,X))
      | hBOOL(hAPP(fun(X_a,bool),bool,fEx(X_a),P)) ) ).

fof(help_fNot_1_1_U,axiom,
    ! [P] :
      ( ~ hBOOL(hAPP(bool,bool,fNot,P))
      | ~ hBOOL(P) ) ).

fof(help_fNot_2_1_U,axiom,
    ! [P] :
      ( hBOOL(P)
      | hBOOL(hAPP(bool,bool,fNot,P)) ) ).

fof(help_COMBB_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c)),combb(X_b,X_c,X_a),P),Q),R) = hAPP(X_b,X_c,P,hAPP(X_a,X_b,Q,R)) ).

fof(help_COMBC_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(X_b,fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c)),combc(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),Q) ).

fof(help_COMBI_1_1_U,axiom,
    ! [X_a,P] : hAPP(X_a,X_a,combi(X_a),P) = ti(X_a,P) ).

fof(help_COMBK_1_1_U,axiom,
    ! [X_b,X_a,P,Q] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),combk(X_a,X_b),P),Q) = ti(X_a,P) ).

fof(help_COMBS_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c)),combs(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),hAPP(X_a,X_b,Q,R)) ).

fof(help_fTrue_1_1_U,axiom,
    hBOOL(fTrue) ).

fof(help_fTrue_1_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fTrue
      | ti(bool,P) = fFalse ) ).

fof(help_fconj_1_1_U,axiom,
    ! [Q,P] :
      ( ~ hBOOL(P)
      | ~ hBOOL(Q)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q)) ) ).

fof(help_fconj_2_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q))
      | hBOOL(P) ) ).

fof(help_fconj_3_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q))
      | hBOOL(Q) ) ).

fof(help_fdisj_1_1_U,axiom,
    ! [Q,P] :
      ( ~ hBOOL(P)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ) ).

fof(help_fdisj_2_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(Q)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ) ).

fof(help_fdisj_3_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q))
      | hBOOL(P)
      | hBOOL(Q) ) ).

fof(help_fFalse_1_1_U,axiom,
    ~ hBOOL(fFalse) ).

fof(help_fFalse_1_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fTrue
      | ti(bool,P) = fFalse ) ).

fof(help_fequal_1_1_T,axiom,
    ! [X_a,X,Y] :
      ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y))
      | ti(X_a,X) = ti(X_a,Y) ) ).

fof(help_fequal_2_1_T,axiom,
    ! [X_a,X,Y] :
      ( ti(X_a,X) != ti(X_a,Y)
      | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y)) ) ).

%----Conjectures (1)
fof(conj_0,conjecture,
    ! [I] :
      ( hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),a),b)),hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),p,I)))
    <=> hBOOL(hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool,hAPP(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),fun(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),bool),member(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),hAPP(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt)),product_Pair(arrow_2142409994le_alt,arrow_2142409994le_alt),a),c)),hAPP(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),hAPP(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool)),hAPP(fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),fun(arrow_2142409994le_alt,fun(arrow_2142409994le_alt,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool))),arrow_1665824030_below,hAPP(arrow_1998540521e_indi,fun(product_prod(arrow_2142409994le_alt,arrow_2142409994le_alt),bool),p,I)),c),b))) ) ).

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