TPTP Problem File: SCT170+6.p

View Solutions - Solve Problem

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

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

% Status   : Theorem
% Rating   : 0.97 v8.1.0, 0.94 v7.5.0, 1.00 v7.4.0, 0.90 v7.3.0, 0.97 v7.1.0, 0.96 v7.0.0, 1.00 v5.3.0
% Syntax   : Number of formulae    :  617 ( 226 unt;   0 def)
%            Number of atoms       : 1429 ( 558 equ)
%            Maximal formula atoms :   12 (   2 avg)
%            Number of connectives : 1018 ( 206   ~;  44   |;  93   &)
%                                         ( 120 <=>; 555  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   16 (   6 avg)
%            Maximal term depth    :   25 (   2 avg)
%            Number of predicates  :    9 (   8 usr;   0 prp; 1-2 aty)
%            Number of functors    :   84 (  84 usr;  24 con; 0-4 aty)
%            Number of variables   : 2023 (1960   !;  63   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 14:08:52
%          : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (79)
fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_OIIA_res,axiom,
    ti(fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),arrow_2037941124le_IIA) = arrow_2037941124le_IIA ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_OLin_res,axiom,
    ti(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),arrow_2064824852le_Lin) = arrow_2064824852le_Lin ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_OProf_res,axiom,
    ti(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),arrow_1111136790e_Prof) = arrow_1111136790e_Prof ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_Oabove_res,axiom,
    ti(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),arrow_14103264_above) = arrow_14103264_above ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_Obelow_res,hypothesis,
    ti(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),arrow_1322701812_below) = arrow_1322701812_below ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_Odictator_res,axiom,
    ti(fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,bool)),arrow_218898985ctator) = arrow_218898985ctator ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_Omkbot_res,axiom,
    ti(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_1278947948_mkbot) = arrow_1278947948_mkbot ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_Omktop_res,axiom,
    ti(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_1427655034_mktop) = arrow_1427655034_mktop ).

fof(tsy_c_Arrow__Order__Mirabelle__qybrzdpdmn_Ounanimity_res,axiom,
    ti(fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),arrow_831799591nimity) = arrow_831799591nimity ).

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_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_Ofoldl_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a))),foldl(X_a,X_b)) = foldl(X_a,X_b) ).

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_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_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_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_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_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_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_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_Osize__class_Osize_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_490897120le_alt,bool),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),order_215145569der_on(arrow_490897120le_alt)) = order_215145569der_on(arrow_490897120le_alt) ).

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_Otop__class_Otop_res,axiom,
    ! [X_a] :
      ( top(X_a)
     => ti(X_a,top_top(X_a)) = top_top(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_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_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_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_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_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),f) = f ).

fof(tsy_v_P_H_____res,axiom,
    ti(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),p_1) = p_1 ).

fof(tsy_v_P_____res,hypothesis,
    ti(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),p) = p ).

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

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

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

%----Relevant facts (499)
fof(fact_0__096P_A_058_AProf_096,axiom,
    hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),p),arrow_1111136790e_Prof)) ).

fof(fact_1_assms_I3_J,axiom,
    hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool,arrow_2037941124le_IIA,f)) ).

fof(fact_2_u,axiom,
    hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool,arrow_831799591nimity,f)) ).

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

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

fof(fact_5_iff,axiom,
    ! [I] :
      ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),a),b)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),p,I)))
    <=> hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),b),a)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_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_490897120le_alt),bool,distinct(arrow_490897120le_alt),hAPP(list(arrow_490897120le_alt),list(arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(list(arrow_490897120le_alt),list(arrow_490897120le_alt)),cons(arrow_490897120le_alt),a),hAPP(list(arrow_490897120le_alt),list(arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(list(arrow_490897120le_alt),list(arrow_490897120le_alt)),cons(arrow_490897120le_alt),b),hAPP(list(arrow_490897120le_alt),list(arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(list(arrow_490897120le_alt),list(arrow_490897120le_alt)),cons(arrow_490897120le_alt),C_2),nil(arrow_490897120le_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_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))))),combb(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_660593299e_indi),arrow_1322701812_below),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))))),combb(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_660593299e_indi),arrow_1322701812_below),p)),c)),b))),b)),a)),arrow_1111136790e_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_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))))),combb(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_660593299e_indi),arrow_1322701812_below),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))))),combb(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_660593299e_indi),arrow_1322701812_below),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))))),combb(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_660593299e_indi),arrow_1322701812_below),p)),c)),b))),b)),a))),a)),c)),arrow_1111136790e_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_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(arrow_490897120le_alt,fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),combc(arrow_660593299e_indi,arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)))),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))))),combb(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_660593299e_indi),arrow_1322701812_below),p)),c)),b)),arrow_1111136790e_Prof)) ).

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

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

fof(fact_12_in__below,axiom,
    ! [X_1,Y_1,L_1,Aa,Ba] :
      ( ti(arrow_490897120le_alt,Aa) != ti(arrow_490897120le_alt,Ba)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
       => ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),X_1),Y_1)),hAPP(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_1322701812_below,L_1),Aa),Ba)))
        <=> ( ti(arrow_490897120le_alt,X_1) != ti(arrow_490897120le_alt,Y_1)
            & ( ti(arrow_490897120le_alt,Y_1) = ti(arrow_490897120le_alt,Aa)
             => hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),X_1),Ba)),L_1)) )
            & ( ti(arrow_490897120le_alt,Y_1) != ti(arrow_490897120le_alt,Aa)
             => ( ( ti(arrow_490897120le_alt,X_1) = ti(arrow_490897120le_alt,Aa)
                 => ( ti(arrow_490897120le_alt,Y_1) = ti(arrow_490897120le_alt,Ba)
                    | hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Ba),Y_1)),L_1)) ) )
                & ( ti(arrow_490897120le_alt,X_1) != ti(arrow_490897120le_alt,Aa)
                 => hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),X_1),Y_1)),L_1)) ) ) ) ) ) ) ) ).

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_4,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_4),B_2))) ) ).

fof(fact_14_Pair__eq,axiom,
    ! [X_b,X_a,Aa,Ba,A_5,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_5),B_3)
    <=> ( ti(X_a,Aa) = ti(X_a,A_5)
        & ti(X_b,Ba) = ti(X_b,B_3) ) ) ).

fof(fact_15_Pair__inject,axiom,
    ! [X_b,X_a,A_2,B_1,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_2),B_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_6),B_4)
     => ~ ( ti(X_a,A_2) = ti(X_a,A_6)
         => ti(X_b,B_1) != ti(X_b,B_4) ) ) ).

fof(fact_16_in__rel__def,axiom,
    ! [X_b,X_a,R_1,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_1),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_1)) ) ).

fof(fact_17_below__Lin,axiom,
    ! [L_1,X_1,Y_1] :
      ( ti(arrow_490897120le_alt,X_1) != ti(arrow_490897120le_alt,Y_1)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
       => hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_1322701812_below,L_1),X_1),Y_1)),arrow_2064824852le_Lin)) ) ) ).

fof(fact_18__096P_H_A_058_AProf_096,axiom,
    hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),p_1),arrow_1111136790e_Prof)) ).

fof(fact_19__C1_C,axiom,
    ! [P_a,Pa,A_5,B_3,Aa,Ba] :
      ( ti(arrow_490897120le_alt,Aa) != ti(arrow_490897120le_alt,Ba)
     => ( ti(arrow_490897120le_alt,A_5) != ti(arrow_490897120le_alt,B_3)
       => ( ti(arrow_490897120le_alt,Aa) != ti(arrow_490897120le_alt,B_3)
         => ( ti(arrow_490897120le_alt,Ba) != ti(arrow_490897120le_alt,A_5)
           => ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),Pa),arrow_1111136790e_Prof))
             => ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),P_a),arrow_1111136790e_Prof))
               => ( ! [I] :
                      ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Aa),Ba)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Pa,I)))
                    <=> hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_5),B_3)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),P_a,I))) )
                 => ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Aa),Ba)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),f,Pa)))
                   => hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_5),B_3)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),f,P_a))) ) ) ) ) ) ) ) ) ).

fof(fact_20__C2_C,axiom,
    ! [P_a,Pa,A_5,B_3,Aa,Ba] :
      ( ti(arrow_490897120le_alt,Aa) != ti(arrow_490897120le_alt,Ba)
     => ( ti(arrow_490897120le_alt,A_5) != ti(arrow_490897120le_alt,B_3)
       => ( ti(arrow_490897120le_alt,Aa) != ti(arrow_490897120le_alt,B_3)
         => ( ti(arrow_490897120le_alt,Ba) != ti(arrow_490897120le_alt,A_5)
           => ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),Pa),arrow_1111136790e_Prof))
             => ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),P_a),arrow_1111136790e_Prof))
               => ( ! [I] :
                      ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Aa),Ba)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Pa,I)))
                    <=> hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_5),B_3)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),P_a,I))) )
                 => ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Aa),Ba)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),f,Pa)))
                  <=> hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_5),B_3)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),f,P_a))) ) ) ) ) ) ) ) ) ).

fof(fact_21_assms_I1_J,axiom,
    hBOOL(hAPP(fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),f),hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool)),pi(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),arrow_1111136790e_Prof),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),combk(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_2064824852le_Lin)))) ).

fof(fact_22_const__Lin__Prof,axiom,
    ! [L_1] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
     => hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),combk(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),arrow_660593299e_indi),L_1)),arrow_1111136790e_Prof)) ) ).

fof(fact_23_mkbot__Lin,axiom,
    ! [X_1,L_1] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
     => hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),arrow_1278947948_mkbot,L_1),X_1)),arrow_2064824852le_Lin)) ) ).

fof(fact_24_mktop__Lin,axiom,
    ! [X_1,L_1] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
     => hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),arrow_1427655034_mktop,L_1),X_1)),arrow_2064824852le_Lin)) ) ).

fof(fact_25_Lin__irrefl,axiom,
    ! [Aa,Ba,L_1] :
      ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
     => ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Aa),Ba)),L_1))
       => ~ hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Ba),Aa)),L_1)) ) ) ).

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

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

fof(fact_28_IIA__def,axiom,
    ! [Fa] :
      ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool,arrow_2037941124le_IIA,Fa))
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),X_2),arrow_1111136790e_Prof))
         => ! [Xa] :
              ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),Xa),arrow_1111136790e_Prof))
             => ! [A_4,B_2] :
                  ( ! [I] :
                      ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),X_2,I)))
                    <=> hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Xa,I))) )
                 => ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Fa,X_2)))
                  <=> hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Fa,Xa))) ) ) ) ) ) ).

fof(fact_29_unanimity__def,axiom,
    ! [Fa] :
      ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool,arrow_831799591nimity,Fa))
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),X_2),arrow_1111136790e_Prof))
         => ! [A_4,B_2] :
              ( ! [I] : hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),X_2,I)))
             => hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Fa,X_2))) ) ) ) ).

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

fof(fact_31_in__above,axiom,
    ! [X_1,Y_1,L_1,Aa,Ba] :
      ( ti(arrow_490897120le_alt,Aa) != ti(arrow_490897120le_alt,Ba)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
       => ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),X_1),Y_1)),hAPP(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_14103264_above,L_1),Aa),Ba)))
        <=> ( ti(arrow_490897120le_alt,X_1) != ti(arrow_490897120le_alt,Y_1)
            & ( ti(arrow_490897120le_alt,X_1) = ti(arrow_490897120le_alt,Ba)
             => hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),Aa),Y_1)),L_1)) )
            & ( ti(arrow_490897120le_alt,X_1) != ti(arrow_490897120le_alt,Ba)
             => ( ( ti(arrow_490897120le_alt,Y_1) = ti(arrow_490897120le_alt,Ba)
                 => ( ti(arrow_490897120le_alt,X_1) = ti(arrow_490897120le_alt,Aa)
                    | hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),X_1),Aa)),L_1)) ) )
                & ( ti(arrow_490897120le_alt,Y_1) != ti(arrow_490897120le_alt,Ba)
                 => hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),X_1),Y_1)),L_1)) ) ) ) ) ) ) ) ).

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_3] : 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_3) ).

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

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

fof(fact_37_linear__alt,axiom,
    ? [L_2] : hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_2),arrow_2064824852le_Lin)) ).

fof(fact_38_list_Oinject,axiom,
    ! [X_a,Aa,List,A_5,List_2] :
      ( 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_5),List_2)
    <=> ( ti(X_a,Aa) = ti(X_a,A_5)
        & List = List_2 ) ) ).

fof(fact_39_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_40_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_41_above__Lin,axiom,
    ! [L_1,X_1,Y_1] :
      ( ti(arrow_490897120le_alt,X_1) != ti(arrow_490897120le_alt,Y_1)
     => ( hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),L_1),arrow_2064824852le_Lin))
       => hBOOL(hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool,hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),bool),member(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_14103264_above,L_1),X_1),Y_1)),arrow_2064824852le_Lin)) ) ) ).

fof(fact_42_dictatorI,axiom,
    ! [I_2,Fa] :
      ( hBOOL(hAPP(fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),Fa),hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool)),pi(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),arrow_1111136790e_Prof),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),combk(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_2064824852le_Lin))))
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),X_2),arrow_1111136790e_Prof))
           => ! [A_4,B_2] :
                ( ti(arrow_490897120le_alt,A_4) != ti(arrow_490897120le_alt,B_2)
               => ( hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),X_2,I_2)))
                 => hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),A_4),B_2)),hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Fa,X_2))) ) ) )
       => hBOOL(hAPP(arrow_660593299e_indi,bool,hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,bool),arrow_218898985ctator,Fa),I_2)) ) ) ).

fof(fact_43_PiE,axiom,
    ! [X_a,X_b,X_1,F,A_1,B] :
      ( 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_1),B)))
     => ( ~ 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,X_1)))
       => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_1)) ) ) ).

fof(fact_44_list_Oexhaust,axiom,
    ! [X_a,Y] :
      ( Y != nil(X_a)
     => ~ ! [A_4,List_1] : Y != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_4),List_1) ) ).

fof(fact_45_neq__Nil__conv,axiom,
    ! [X_a,Xs_1] :
      ( Xs_1 != nil(X_a)
    <=> ? [Y_2,Ys] : 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) ) ).

fof(fact_46_dictator__def,axiom,
    ! [Fa,I_2] :
      ( hBOOL(hAPP(arrow_660593299e_indi,bool,hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(arrow_660593299e_indi,bool),arrow_218898985ctator,Fa),I_2))
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool,hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),bool),member(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),X_2),arrow_1111136790e_Prof))
         => hAPP(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),Fa,X_2) = hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),X_2,I_2) ) ) ).

fof(fact_47_funcset__id,axiom,
    ! [X_a,A_1] : 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_1),hAPP(fun(X_a,bool),fun(X_a,fun(X_a,bool)),combk(fun(X_a,bool),X_a),A_1)))) ).

fof(fact_48_funcset__mem,axiom,
    ! [X_a,X_b,X_1,F,A_1,B] :
      ( 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_1),hAPP(fun(X_b,bool),fun(X_a,fun(X_b,bool)),combk(fun(X_b,bool),X_a),B))))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_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)),B)) ) ) ).

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_splice_Osimps_I3_J,axiom,
    ! [X_a,X,Xs,Y,Ys_2] : 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_2)) = 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_2))) ).

fof(fact_53_splice_Osimps_I1_J,axiom,
    ! [X_a,Ys_2] : 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_2) = Ys_2 ).

fof(fact_54_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_55_Pi__mem,axiom,
    ! [X_a,X_b,X_1,F,A_1,B] :
      ( 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_1),B)))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_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,X_1))) ) ) ).

fof(fact_56_Pi__I,axiom,
    ! [X_b,X_a,F,B,A_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_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_2)),hAPP(X_a,fun(X_b,bool),B,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_1),B))) ) ).

fof(fact_57_funcsetI,axiom,
    ! [X_b,X_a,F,B,A_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_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_2)),B)) )
     => 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_1),hAPP(fun(X_b,bool),fun(X_a,fun(X_b,bool)),combk(fun(X_b,bool),X_a),B)))) ) ).

fof(fact_58_Pi__I_H,axiom,
    ! [X_b,X_a,F,B,A_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_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_2)),hAPP(X_a,fun(X_b,bool),B,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_1),B))) ) ).

fof(fact_59_Pi__cong,axiom,
    ! [X_b,X_a,B,F,G,A_1] :
      ( ! [W] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),W),A_1))
         => 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_1),B)))
      <=> 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_1),B))) ) ) ).

fof(fact_60_pred__equals__eq2,axiom,
    ! [X_a,X_b,S_1,R_1] :
      ( ! [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_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),Xa)),S_1)) )
    <=> ti(fun(product_prod(X_a,X_b),bool),R_1) = ti(fun(product_prod(X_a,X_b),bool),S_1) ) ).

fof(fact_61_prod_Oexhaust,axiom,
    ! [X_a,X_b,Y] :
      ~ ! [A_4,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_4),B_2) ).

fof(fact_62_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_63_prod__cases3,axiom,
    ! [X_a,X_b,X_c,Y] :
      ~ ! [A_4,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_4),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_64_prod__induct3,axiom,
    ! [X_a,X_b,X_c,X_1,Pa] :
      ( ! [A_4,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_4),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_65_prod__induct6,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_f,X_1,Pa] :
      ( ! [A_4,B_2,C_2,D,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_4),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),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_66_prod__cases6,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_f,Y] :
      ~ ! [A_4,B_2,C_2,D,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_4),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),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_67_prod__induct5,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,X_1,Pa] :
      ( ! [A_4,B_2,C_2,D,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_4),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),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_68_prod__cases5,axiom,
    ! [X_a,X_b,X_c,X_d,X_e,Y] :
      ~ ! [A_4,B_2,C_2,D,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_4),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),E)))) ).

fof(fact_69_prod__induct4,axiom,
    ! [X_a,X_b,X_c,X_d,X_1,Pa] :
      ( ! [A_4,B_2,C_2,D] : 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_4),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)))))
     => hBOOL(hAPP(product_prod(X_a,product_prod(X_b,product_prod(X_c,X_d))),bool,Pa,X_1)) ) ).

fof(fact_70_prod__cases4,axiom,
    ! [X_a,X_b,X_c,X_d,Y] :
      ~ ! [A_4,B_2,C_2,D] : 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_4),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))) ).

fof(fact_71_split__paired__Ex,axiom,
    ! [X_a,X_b,Pa] :
      ( ? [X1] : hBOOL(hAPP(product_prod(X_a,X_b),bool,Pa,X1))
    <=> ? [A_4,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_4),B_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_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_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_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_1))
    <=> hBOOL(hAPP(X_a,bool,A_1,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__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_79_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_80_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_81_curry__def,axiom,
    ! [X_b,X_c,X_a,X_2,Xa,Xb] : 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) = 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)) ).

fof(fact_82_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_83_null__rec_I2_J,axiom,
    ! [X_b] : hBOOL(hAPP(list(X_b),bool,null(X_b),nil(X_b))) ).

fof(fact_84_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_85_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_86_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_87_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_88_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_89_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_90_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_91_Prof__def,axiom,
    arrow_1111136790e_Prof = hAPP(fun(arrow_660593299e_indi,fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool),hAPP(fun(arrow_660593299e_indi,bool),fun(fun(arrow_660593299e_indi,fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),fun(fun(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),bool)),pi(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),top_top(fun(arrow_660593299e_indi,bool))),hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),fun(arrow_660593299e_indi,fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool)),combk(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),arrow_660593299e_indi),arrow_2064824852le_Lin)) ).

fof(fact_92_lexord__cons__cons,axiom,
    ! [X_a,Aa,X_1,Ba,Y_1,R_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)),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_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),Ba)),R_2))
        | ( 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_2))) ) ) ) ).

fof(fact_93_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_94_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_95_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_96_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_97_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_98_top1I,axiom,
    ! [X_a,X_1] : hBOOL(hAPP(X_a,bool,top_top(fun(X_a,bool)),X_1)) ).

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

fof(fact_100_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_101_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_102_Pi__UNIV,axiom,
    ! [X_a,X_b,A_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_1),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_103_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_104_lexord__Nil__right,axiom,
    ! [X_a,X_1,R_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)),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_2))) ).

fof(fact_105_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_106_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_107_lexord__Nil__left,axiom,
    ! [X_a,Y_1,R_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)),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_2)))
    <=> ? [A_4,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_4),X_2) ) ).

fof(fact_108_lexord__irreflexive,axiom,
    ! [X_a,Xs_1,R_2] :
      ( ! [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_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),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_2))) ) ).

fof(fact_109_lexord__linear,axiom,
    ! [X_a,X_1,Y_1,R_2] :
      ( ! [A_4,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_4),B_2)),R_2))
          | ti(X_a,A_4) = 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_4)),R_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)),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_2)))
        | 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_2))) ) ) ).

fof(fact_110_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_111_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_112_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_113_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_114_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_115_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_116_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_117_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_118_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_119_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_120_UNIV__eq__I,axiom,
    ! [X_a,A_1] :
      ( ! [X_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
     => top_top(fun(X_a,bool)) = ti(fun(X_a,bool),A_1) ) ).

fof(fact_121_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_122_Lin__def,axiom,
    arrow_2064824852le_Lin = hAPP(fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),collect(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(arrow_490897120le_alt,bool),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),order_215145569der_on(arrow_490897120le_alt),top_top(fun(arrow_490897120le_alt,bool)))) ).

fof(fact_123_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_124_snoc__eq__iff__butlast,axiom,
    ! [X_a,Xs_1,X_1,Ys_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))) = Ys_1
    <=> ( Ys_1 != nil(X_a)
        & hAPP(list(X_a),list(X_a),butlast(X_a),Ys_1) = Xs_1
        & hAPP(list(X_a),X_a,last(X_a),Ys_1) = ti(X_a,X_1) ) ) ).

fof(fact_125_Nil2__notin__lex,axiom,
    ! [X_a,Xs_1,R_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),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_2))) ).

fof(fact_126_Nil__notin__lex,axiom,
    ! [X_a,Ys_1,R_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)),nil(X_a)),Ys_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_2))) ).

fof(fact_127_append__eq__appendI,axiom,
    ! [X_a,Ys_2,Us_2,Xs,Xs1,Zs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Xs1) = Zs_1
     => ( Ys_2 = 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_2) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs_1),Us_2) ) ) ).

fof(fact_128_append__same__eq,axiom,
    ! [X_a,Ys_1,Xs_1,Zs] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),Xs_1)
    <=> Ys_1 = Zs ) ).

fof(fact_129_same__append__eq,axiom,
    ! [X_a,Xs_1,Ys_1,Zs] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Zs)
    <=> Ys_1 = Zs ) ).

fof(fact_130_append__eq__append__conv2,axiom,
    ! [X_a,Xs_1,Ys_1,Zs,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_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Zs),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),Us)
            & hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),Ys_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),Us) = Zs
            & Ys_1 = 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_131_append__assoc,axiom,
    ! [X_a,Xs,Ys_2,Zs_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(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_2)),Zs_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),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_2),Zs_1)) ).

fof(fact_132_append__Cons,axiom,
    ! [X_a,X,Xs,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),X),Xs)),Ys_2) = 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_2)) ).

fof(fact_133_Cons__eq__appendI,axiom,
    ! [X_a,Xs,Zs_1,X,Xs1,Ys_2] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs1) = Ys_2
     => ( Xs = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs1),Zs_1)
       => 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_2),Zs_1) ) ) ).

fof(fact_134_append__Nil,axiom,
    ! [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),nil(X_a)),Ys_2) = Ys_2 ).

fof(fact_135_Nil__is__append__conv,axiom,
    ! [X_a,Xs_1,Ys_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),Xs_1),Ys_1)
    <=> ( Xs_1 = nil(X_a)
        & Ys_1 = nil(X_a) ) ) ).

fof(fact_136_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_137_self__append__conv,axiom,
    ! [X_a,Xs_1,Ys_1] :
      ( 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_1)
    <=> Ys_1 = nil(X_a) ) ).

fof(fact_138_self__append__conv2,axiom,
    ! [X_a,Ys_1,Xs_1] :
      ( Ys_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_1)
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_139_append__is__Nil__conv,axiom,
    ! [X_a,Xs_1,Ys_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_1) = nil(X_a)
    <=> ( Xs_1 = nil(X_a)
        & Ys_1 = nil(X_a) ) ) ).

fof(fact_140_append__self__conv,axiom,
    ! [X_a,Xs_1,Ys_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_1) = Xs_1
    <=> Ys_1 = nil(X_a) ) ).

fof(fact_141_append__self__conv2,axiom,
    ! [X_a,Xs_1,Ys_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_1) = Ys_1
    <=> Xs_1 = nil(X_a) ) ).

fof(fact_142_eq__Nil__appendI,axiom,
    ! [X_a,Xs,Ys_2] :
      ( Xs = Ys_2
     => 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_2) ) ).

fof(fact_143_append__eq__Cons__conv,axiom,
    ! [X_a,Ys_1,Zs,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_1),Zs) = 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_1 = nil(X_a)
          & Zs = 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_1 = 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) = Xs_1 ) ) ) ).

fof(fact_144_Cons__eq__append__conv,axiom,
    ! [X_a,X_1,Xs_1,Ys_1,Zs] :
      ( 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_1),Zs)
    <=> ( ( Ys_1 = 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 )
        | ? [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_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_3),Zs) ) ) ) ).

fof(fact_145_append1__eq__conv,axiom,
    ! [X_a,Xs_1,X_1,Ys_1,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_1),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_1
        & ti(X_a,X_1) = ti(X_a,Y_1) ) ) ).

fof(fact_146_takeWhile__tail,axiom,
    ! [X_a,Xs_1,L,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))) = 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_147_butlast__append,axiom,
    ! [X_a,Xs,Ys_2] :
      ( ( Ys_2 = 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_2)) = hAPP(list(X_a),list(X_a),butlast(X_a),Xs) )
      & ( Ys_2 != 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_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),butlast(X_a),Ys_2)) ) ) ).

fof(fact_148_last__append,axiom,
    ! [X_a,Xs,Ys_2] :
      ( ( Ys_2 = 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_2)) = hAPP(list(X_a),X_a,last(X_a),Xs) )
      & ( Ys_2 != 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_2)) = hAPP(list(X_a),X_a,last(X_a),Ys_2) ) ) ).

fof(fact_149_last__appendR,axiom,
    ! [X_a,Xs,Ys_2] :
      ( Ys_2 != 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_2)) = hAPP(list(X_a),X_a,last(X_a),Ys_2) ) ).

fof(fact_150_last__appendL,axiom,
    ! [X_a,Xs,Ys_2] :
      ( Ys_2 = 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_2)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ).

fof(fact_151_lexord__append__leftI,axiom,
    ! [X_a,X_1,U,V,R_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)),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_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)),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_2))) ) ).

fof(fact_152_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_153_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_154_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_155_lexord__append__left__rightI,axiom,
    ! [X_a,U,X_1,Y_1,Aa,Ba,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),Aa),Ba)),R_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)),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_2))) ) ).

fof(fact_156_lexord__append__rightI,axiom,
    ! [X_a,X_1,R_2,Y_1] :
      ( ? [B_2,Z_1] : 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_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),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_2))) ) ).

fof(fact_157_lexord__append__leftD,axiom,
    ! [X_a,X_1,U,V,R_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)),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_2)))
     => ( ! [A_4] : ~ 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_4),A_4)),R_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)),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_2))) ) ) ).

fof(fact_158_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_159_rev__cases,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => ~ ! [Ys,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),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_160_snoc__listrel1__snoc__iff,axiom,
    ! [X_a,Xs_1,X_1,Ys_1,Y_1,R_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)),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_1),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_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2)))
          & ti(X_a,X_1) = ti(X_a,Y_1) )
        | ( Xs_1 = Ys_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)) ) ) ) ).

fof(fact_161_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_162_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_163_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_164_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_165_listrel1I2,axiom,
    ! [X_a,X_1,Xs_1,Ys_1,R_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_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)),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_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2))) ) ).

fof(fact_166_not__listrel1__Nil,axiom,
    ! [X_a,Xs_1,R_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),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_2))) ).

fof(fact_167_not__Nil__listrel1,axiom,
    ! [X_a,Xs_1,R_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)),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_2))) ).

fof(fact_168_append__listrel1I,axiom,
    ! [X_a,Us_1,Vs_1,Xs_1,Ys_1,R_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2)))
          & Us_1 = Vs_1 )
        | ( Xs_1 = Ys_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)),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_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)),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_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_2))) ) ).

fof(fact_169_Cons__listrel1__Cons,axiom,
    ! [X_a,X_1,Xs_1,Y_1,Ys_1,R_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)),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_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),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)),R_2))
          & Xs_1 = Ys_1 )
        | ( 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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2))) ) ) ) ).

fof(fact_170_listrel1I1,axiom,
    ! [X_a,Xs_1,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)),R_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)),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_2))) ) ).

fof(fact_171_listrel1I,axiom,
    ! [X_a,Ys_1,Xs_1,Us_1,Vs_1,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)),R_2))
     => ( 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_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),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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2))) ) ) ) ).

fof(fact_172_listrel1E,axiom,
    ! [X_a,Xs_1,Ys_1,R_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2)))
     => ~ ! [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_2))
           => ! [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_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),Y_2),Vs)) ) ) ) ).

fof(fact_173_Cons__listrel1E1,axiom,
    ! [X_a,X_1,Xs_1,Ys_1,R_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)),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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2)))
     => ( ! [Y_2] :
            ( Ys_1 = 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_2)) )
       => ~ ! [Zs_2] :
              ( Ys_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs_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),Zs_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2))) ) ) ) ).

fof(fact_174_Cons__listrel1E2,axiom,
    ! [X_a,Xs_1,Y_1,Ys_1,R_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),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2)))
     => ( ! [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_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_1)),R_2)) )
       => ~ ! [Zs_2] :
              ( 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_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)),Zs_2),Ys_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2))) ) ) ) ).

fof(fact_175_Cons__in__lex,axiom,
    ! [X_a,X_1,Xs_1,Y_1,Ys_1,R_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)),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_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),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)),R_2))
          & hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1) )
        | ( 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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lex(X_a),R_2))) ) ) ) ).

fof(fact_176_dropWhile__eq__Cons__conv,axiom,
    ! [X_a,Pa,Xs_1,Y_1,Ys_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(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys_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(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_1))
        & ~ hBOOL(hAPP(X_a,bool,Pa,Y_1)) ) ) ).

fof(fact_177_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_178_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_179_neq__if__length__neq,axiom,
    ! [X_a,Xs,Ys_2] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs) != hAPP(list(X_a),nat,size_size(list(X_a)),Ys_2)
     => Xs != Ys_2 ) ).

fof(fact_180_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_181_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_182_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_183_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_184_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_185_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_186_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_187_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_188_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_189_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_190_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_191_listrel1__eq__len,axiom,
    ! [X_a,Xs_1,Ys_1,R_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),R_2)))
     => hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1) ) ).

fof(fact_192_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_193_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_194_lexord__lex,axiom,
    ! [X_a,X_1,Y_1,R_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)),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_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)),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_2)))
        & 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_195_list__induct2,axiom,
    ! [X_a,X_b,Pa,Xs_1,Ys_1] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys_1)
     => ( 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] :
              ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2) = 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,Xs_2),Ys))
               => 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))) ) )
         => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),Pa,Xs_1),Ys_1)) ) ) ) ).

fof(fact_196_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_197_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_198_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_199_lexn__length,axiom,
    ! [X_a,Xs_1,Ys_1,R_2,N] :
      ( 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_1)),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_2),N)))
     => ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = N
        & hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1) = N ) ) ).

fof(fact_200_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_201_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_202_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_203_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_204_splitD_H,axiom,
    ! [X_c,X_a,X_b,R_1,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_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),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_1,Aa),Ba),Ca)) ) ).

fof(fact_205_splitI2,axiom,
    ! [X_a,X_b,Ca,P_1] :
      ( ! [A_4,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_4),B_2)
         => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Ca,A_4),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_206_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_207_mem__splitI2,axiom,
    ! [X_c,X_a,X_b,Z_2,Ca,P_1] :
      ( ! [A_4,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_4),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_4),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_208_splitI2_H,axiom,
    ! [X_c,X_b,X_a,Ca,X_1,P_1] :
      ( ! [A_4,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_4),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_4),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_209_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_210_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_211_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_212_Ex__list__of__length,axiom,
    ! [X_a,N_1] :
    ? [Xs_2] : hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2) = N_1 ).

fof(fact_213_not__distinct__decomp,axiom,
    ! [X_a,Ws] :
      ( ~ hBOOL(hAPP(list(X_a),bool,distinct(X_a),Ws))
     => ? [Xs_2,Ys,Zs_2,Y_2] : Ws = 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),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_2)))) ) ).

fof(fact_214_listrel_OCons,axiom,
    ! [X_a,Xs_1,Ys_1,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)),R_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_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)),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_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_2))) ) ) ).

fof(fact_215_tl__append,axiom,
    ! [X_a,Xs_1,Ys_1] : 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_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),hAPP(list(X_a),list(X_a),tl(X_a),Ys_1)),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_1))),Xs_1) ).

fof(fact_216_listrel__Nil2,axiom,
    ! [X_a,Xs_1,R_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),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_2)))
     => Xs_1 = nil(X_a) ) ).

fof(fact_217_listrel__Nil1,axiom,
    ! [X_a,Xs_1,R_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)),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_2)))
     => Xs_1 = nil(X_a) ) ).

fof(fact_218_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_219_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_220_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_221_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_222_listrel_ONil,axiom,
    ! [X_a,R_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)),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_2))) ).

fof(fact_223_listrel__eq__len,axiom,
    ! [X_a,Xs_1,Ys_1,R_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_2)))
     => hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_a),nat,size_size(list(X_a)),Ys_1) ) ).

fof(fact_224_tl__append2,axiom,
    ! [X_a,Ys_2,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_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),tl(X_a),Xs)),Ys_2) ) ).

fof(fact_225_listrel__Cons2,axiom,
    ! [X_a,Xs_1,Y_1,Ys_1,R_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),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys_1))),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_2)))
     => ~ ! [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_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_2),Ys_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),R_2))) ) ) ) ).

fof(fact_226_listrel__Cons1,axiom,
    ! [X_a,Y_1,Ys_1,Xs_1,R_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)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys_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),R_2)))
     => ~ ! [Y_2,Ys] :
            ( 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)
           => ( 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_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)),Ys_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_2))) ) ) ) ).

fof(fact_227_listrelp__listrel__eq,axiom,
    ! [X_a,R_2,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_2)),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_2))) ) ).

fof(fact_228_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_229_listrel_Osimps,axiom,
    ! [X_a,A1,A2,R_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)),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_2)))
    <=> ( ( A1 = nil(X_a)
          & A2 = nil(X_a) )
        | ? [X_2,Y_2,Xs_2,Ys] :
            ( 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)
            & 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_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_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_2))) ) ) ) ).

fof(fact_230_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_231_listrelp_OCons,axiom,
    ! [X_a,Xs_1,Ys_1,R_2,X_1,Y_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,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_2),Xs_1),Ys_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_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(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys_1))) ) ) ).

fof(fact_232_listrelp_ONil,axiom,
    ! [X_a,R_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_2),nil(X_a)),nil(X_a))) ).

fof(fact_233_hd__append,axiom,
    ! [X_a,Ys_2,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_2)) = hAPP(list(X_a),X_a,hd(X_a),Ys_2) )
      & ( 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_2)) = hAPP(list(X_a),X_a,hd(X_a),Xs) ) ) ).

fof(fact_234_hd__append2,axiom,
    ! [X_a,Ys_2,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_2)) = hAPP(list(X_a),X_a,hd(X_a),Xs) ) ).

fof(fact_235_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_236_listrelp_Osimps,axiom,
    ! [X_a,R_2,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_2),A1),A2))
    <=> ( ( A1 = nil(X_a)
          & A2 = nil(X_a) )
        | ? [X_2,Y_2,Xs_2,Ys] :
            ( 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)
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_2,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_2),Xs_2),Ys)) ) ) ) ).

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

fof(fact_238_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_239_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_240_eq__equal,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => fequal(X_a) = equal_equal(X_a) ) ).

fof(fact_241_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_242_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_243_replicate__append__same,axiom,
    ! [X_a,I_1,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_1),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_1),X)) ).

fof(fact_244_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_245_butlast__drop,axiom,
    ! [X_a,N_1,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_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),hAPP(list(X_a),list(X_a),butlast(X_a),Xs)) ).

fof(fact_246_drop__butlast,axiom,
    ! [X_a,N_1,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),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_1),Xs)) ).

fof(fact_247_tl__drop,axiom,
    ! [X_a,N_1,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_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) ).

fof(fact_248_drop__tl,axiom,
    ! [X_a,N_1,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),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_1),Xs)) ).

fof(fact_249_sorted__drop,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [N_1,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_1),Xs))) ) ) ).

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

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

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

fof(fact_253_rev__replicate,axiom,
    ! [X_a,N_1,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_1),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_1),X) ).

fof(fact_254_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_255_distinct__drop,axiom,
    ! [X_a,I_1,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_1),Xs))) ) ).

fof(fact_256_rev__append,axiom,
    ! [X_a,Xs,Ys_2] : 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_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),rev(X_a),Ys_2)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) ).

fof(fact_257_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_258_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_259_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_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_append__replicate__commute,axiom,
    ! [X_a,N_1,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_1),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_1),X)) ).

fof(fact_262_length__replicate,axiom,
    ! [X_a,N_1,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_1),X)) = N_1 ).

fof(fact_263_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_264_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_265_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_266_replicate__app__Cons__same,axiom,
    ! [X_a,N_1,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_1),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_1),X)),Xs)) ).

fof(fact_267_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_268_rev__eq__Cons__iff,axiom,
    ! [X_a,Xs_1,Y_1,Ys_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),Y_1),Ys_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(list(X_a),list(X_a),rev(X_a),Ys_1)),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_269_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_270_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_271_drop__Cons,axiom,
    ! [X_a,N,X_1,Xs_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(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) ).

fof(fact_272_rev__foldl__cons,axiom,
    ! [X_a,Xs_1] : hAPP(list(X_a),list(X_a),rev(X_a),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),hAPP(fun(list(X_a),fun(X_a,list(X_a))),fun(list(X_a),fun(list(X_a),list(X_a))),foldl(list(X_a),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_273_in__set__dropD,axiom,
    ! [X_a,X_1,N,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),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_274_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_275_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_276_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_277_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_278_foldl__append,axiom,
    ! [X_b,X_a,F,Aa,Xs_1,Ys_1] : hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),Aa),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs_1),Ys_1)) = hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),Aa),Xs_1)),Ys_1) ).

fof(fact_279_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_280_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_281_foldl__Nil,axiom,
    ! [X_b,X_a,F,Aa] : hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),Aa),nil(X_b)) = ti(X_a,Aa) ).

fof(fact_282_foldl__Cons,axiom,
    ! [X_b,X_a,F,Aa,X_1,Xs_1] : hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),Aa),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_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),F,Aa),X_1)),Xs_1) ).

fof(fact_283_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_284_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_285_sorted__distinct__set__unique,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Ys_1,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_1))
             => ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Ys_1))
               => ( 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_1)
                 => Xs_1 = Ys_1 ) ) ) ) ) ) ).

fof(fact_286_takeWhile__append1,axiom,
    ! [X_a,Ys_1,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_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_287_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_288_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_289_in__set__butlast__appendI,axiom,
    ! [X_a,Ys_1,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_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),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1))))) ) ).

fof(fact_290_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_291_dropWhile__append1,axiom,
    ! [X_a,Ys_1,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_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)),dropWhile(X_a),Pa),Xs_1)),Ys_1) ) ) ).

fof(fact_292_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_293_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_294_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_295_lexord__partial__trans,axiom,
    ! [X_a,Zs,Ys_1,R_2,Xs_1] :
      ( ! [X_2,Y_2,Z_1] :
          ( 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_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_2),Z_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_2),Z_1)),R_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_1)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_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)),Ys_1),Zs)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_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),Zs)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),lexord(X_a),R_2))) ) ) ) ).

fof(fact_296_dropWhile__append2,axiom,
    ! [X_a,Ys_1,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_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),Pa),Ys_1) ) ).

fof(fact_297_takeWhile__append2,axiom,
    ! [X_a,Ys_1,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_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(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),Pa),Ys_1)) ) ).

fof(fact_298_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,X_2] :
            ( ? [Zs_2] : Xs_1 = 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),X_2),Zs_2))
           => ~ hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ) ).

fof(fact_299_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,Zs_2] : Xs_1 = 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),X_1),Zs_2)) ) ).

fof(fact_300_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,Zs_2] :
          ( Xs_1 = 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),X_1),Zs_2))
          & ~ 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_2))) ) ) ).

fof(fact_301_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,Zs_2] :
          ( Xs_1 = 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),X_1),Zs_2))
          & ~ 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))) ) ) ).

fof(fact_302_foldl__rev,axiom,
    ! [X_a,X_b,S_2,Xs_1,F] :
      ( ! [X_2,Y_2,S_3] : hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,S_3),X_2)),Y_2) = hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,S_3),Y_2)),X_2)
     => hAPP(list(X_a),X_b,hAPP(X_b,fun(list(X_a),X_b),hAPP(fun(X_b,fun(X_a,X_b)),fun(X_b,fun(list(X_a),X_b)),foldl(X_b,X_a),F),S_2),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) = hAPP(list(X_a),X_b,hAPP(X_b,fun(list(X_a),X_b),hAPP(fun(X_b,fun(X_a,X_b)),fun(X_b,fun(list(X_a),X_b)),foldl(X_b,X_a),F),S_2),Xs_1) ) ).

fof(fact_303_dropWhile__cong,axiom,
    ! [X_a,Q_1,Pa,L,K_1] :
      ( L = 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)))
           => ( 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) = 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_304_takeWhile__cong,axiom,
    ! [X_a,Q_1,Pa,L,K_1] :
      ( L = 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)))
           => ( 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) = 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_305_foldl__cong,axiom,
    ! [X_b,X_a,F,G,L,K_1,Aa,Ba] :
      ( ti(X_a,Aa) = ti(X_a,Ba)
     => ( L = K_1
       => ( ! [A_4,X_2] :
              ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),hAPP(list(X_b),fun(X_b,bool),set(X_b),L)))
             => hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),F,A_4),X_2) = hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),G,A_4),X_2) )
         => hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),Aa),L) = hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),G),Ba),K_1) ) ) ) ).

fof(fact_306_foldl__weak__invariant,axiom,
    ! [X_b,X_a,F,Xs_1,Pa,S_2] :
      ( hBOOL(hAPP(X_a,bool,Pa,S_2))
     => ( ! [S_3,X_2] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),hAPP(list(X_b),fun(X_b,bool),set(X_b),Xs_1)))
           => ( hBOOL(hAPP(X_a,bool,Pa,S_3))
             => hBOOL(hAPP(X_a,bool,Pa,hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),F,S_3),X_2))) ) )
       => hBOOL(hAPP(X_a,bool,Pa,hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),S_2),Xs_1))) ) ) ).

fof(fact_307_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,X_2] :
            ( ? [Zs_2] : Xs_1 = 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),X_2),Zs_2))
           => ( 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)))
                   => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ) ).

fof(fact_308_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,X_2,Zs_2] :
          ( Xs_1 = 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),X_2),Zs_2))
          & 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_2)))
             => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ).

fof(fact_309_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,X_2] :
          ( ? [Zs_2] : Xs_1 = 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),X_2),Zs_2))
          & 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)))
             => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ).

fof(fact_310_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,Zs_2] : Xs_1 = 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),X_1),Zs_2)) ) ).

fof(fact_311_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,X_2,Zs_2] :
            ( Xs_1 = 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),X_2),Zs_2))
           => ( 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_2)))
                   => ~ hBOOL(hAPP(X_a,bool,Pa,Xa)) ) ) ) ) ).

fof(fact_312_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,Zs_2] :
          ( Xs_1 = 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),X_1),Zs_2))
          & ~ 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))) ) ) ).

fof(fact_313_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,Zs_2] :
          ( Xs_1 = 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),X_1),Zs_2))
          & ~ 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_2))) ) ) ).

fof(fact_314_foldl__fun__comm,axiom,
    ! [X_a,X_b,S_2,Xs_1,X_1,F] :
      ( ! [X_2,Y_2,S_3] : hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,S_3),X_2)),Y_2) = hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,S_3),Y_2)),X_2)
     => hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,hAPP(list(X_a),X_b,hAPP(X_b,fun(list(X_a),X_b),hAPP(fun(X_b,fun(X_a,X_b)),fun(X_b,fun(list(X_a),X_b)),foldl(X_b,X_a),F),S_2),Xs_1)),X_1) = hAPP(list(X_a),X_b,hAPP(X_b,fun(list(X_a),X_b),hAPP(fun(X_b,fun(X_a,X_b)),fun(X_b,fun(list(X_a),X_b)),foldl(X_b,X_a),F),hAPP(X_a,X_b,hAPP(X_b,fun(X_a,X_b),F,S_2),X_1)),Xs_1) ) ).

fof(fact_315_foldl__invariant,axiom,
    ! [X_b,X_a,F,Pa,Xs_1,Q_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,Q_1,X_1))
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),hAPP(list(X_b),fun(X_b,bool),set(X_b),Xs_1)))
           => hBOOL(hAPP(X_b,bool,Pa,X_2)) )
       => ( ! [X_2,Y_2] :
              ( ( hBOOL(hAPP(X_b,bool,Pa,X_2))
                & hBOOL(hAPP(X_a,bool,Q_1,Y_2)) )
             => hBOOL(hAPP(X_a,bool,Q_1,hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),F,Y_2),X_2))) )
         => hBOOL(hAPP(X_a,bool,Q_1,hAPP(list(X_b),X_a,hAPP(X_a,fun(list(X_b),X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(list(X_b),X_a)),foldl(X_a,X_b),F),X_1),Xs_1))) ) ) ) ).

fof(fact_316_take__Cons,axiom,
    ! [X_a,N,X_1,Xs_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(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) ).

fof(fact_317_in__set__takeD,axiom,
    ! [X_a,X_1,N,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),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_318_take__Nil,axiom,
    ! [X_a,N_1] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_1),nil(X_a)) = nil(X_a) ).

fof(fact_319_distinct__take,axiom,
    ! [X_a,I_1,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_1),Xs))) ) ).

fof(fact_320_sorted__take,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [N_1,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_1),Xs))) ) ) ).

fof(fact_321_append__take__drop__id,axiom,
    ! [X_a,N_1,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_1),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),Xs)) = Xs ).

fof(fact_322_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_323_append__eq__conv__conj,axiom,
    ! [X_a,Xs_1,Ys_1,Zs] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys_1) = Zs
    <=> ( 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)
        & Ys_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)),Xs_1)),Zs) ) ) ).

fof(fact_324_take__Suc,axiom,
    ! [X_a,N_1,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_1)),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_1),hAPP(list(X_a),list(X_a),tl(X_a),Xs))) ) ).

fof(fact_325_take__equalityI,axiom,
    ! [X_a,Xs,Ys_2] :
      ( ! [I] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I),Xs) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I),Ys_2)
     => Xs = Ys_2 ) ).

fof(fact_326_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_327_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_328_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_329_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_330_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_331_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_332_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_333_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_334_ord__eq__le__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C_1,A_2,B_1] :
          ( A_2 = B_1
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_1),C_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),C_1)) ) ) ) ).

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

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

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

fof(fact_338_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_339_order__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z,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))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Z)) ) ) ) ).

fof(fact_340_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_341_xt1_I6_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z,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),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z),X)) ) ) ) ).

fof(fact_342_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_343_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_344_top__le,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),top_top(X_a)),A_2))
         => ti(X_a,A_2) = top_top(X_a) ) ) ).

fof(fact_345_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_346_top__greatest,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [A_2] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),top_top(X_a))) ) ).

fof(fact_347_impossible__Cons,axiom,
    ! [X_a,X,Xs,Ys_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)),hAPP(list(X_a),nat,size_size(list(X_a)),Ys_2)))
     => Xs != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Ys_2) ) ).

fof(fact_348_take__Suc__Cons,axiom,
    ! [X_a,N_1,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_1)),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_1),Xs)) ).

fof(fact_349_drop__Suc__Cons,axiom,
    ! [X_a,N_1,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_1)),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_1),Xs) ).

fof(fact_350_replicate__Suc,axiom,
    ! [X_a,N_1,X] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,suc,N_1)),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_1),X)) ).

fof(fact_351_sorted__many,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Zs_1,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_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),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Zs_1)))) ) ) ) ).

fof(fact_352_sorted__many__eq,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1,Zs] :
          ( 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))))
        <=> ( 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))) ) ) ) ).

fof(fact_353_take__all,axiom,
    ! [X_a,Xs,N_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)),N_1))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_1),Xs) = Xs ) ).

fof(fact_354_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_355_take__tl,axiom,
    ! [X_a,N_1,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_1),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_1)),Xs)) ).

fof(fact_356_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_357_drop__Suc,axiom,
    ! [X_a,N_1,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_1)),Xs) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),hAPP(list(X_a),list(X_a),tl(X_a),Xs)) ).

fof(fact_358_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_359_sorted__append,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs_1,Ys_1] :
          ( 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_1)))
        <=> ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
            & hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Ys_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)))
               => ! [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_1)))
                   => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_2),Xa)) ) ) ) ) ) ).

fof(fact_360_drop__eq__Nil,axiom,
    ! [X_a,N,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N),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)) ) ).

fof(fact_361_drop__all,axiom,
    ! [X_a,Xs,N_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)),N_1))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),Xs) = nil(X_a) ) ).

fof(fact_362_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_363_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_364_Suc__length__conv,axiom,
    ! [X_a,N,Xs_1] :
      ( hAPP(nat,nat,suc,N) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)
    <=> ? [Y_2,Ys] :
          ( 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)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Ys) = N ) ) ).

fof(fact_365_subset__UNIV,axiom,
    ! [X_a,A_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_1),top_top(fun(X_a,bool)))) ).

fof(fact_366_pred__subset__eq2,axiom,
    ! [X_a,X_b,R_1,S_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))),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_1)),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_1)))
    <=> 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_1)) ) ).

fof(fact_367_Pi__anti__mono,axiom,
    ! [X_b,X_a,B,A_3,A_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_3),A_1))
     => 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_1),B)),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_3),B))) ) ).

fof(fact_368_listrel1__mono,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(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_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel1(X_a),S_2))) ) ).

fof(fact_369_listrel__mono,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(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_2)),hAPP(fun(product_prod(X_a,X_a),bool),fun(product_prod(list(X_a),list(X_a)),bool),listrel(X_a),S_2))) ) ).

fof(fact_370_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_371_set__take__subset,axiom,
    ! [X_a,N,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),Xs_1))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ).

fof(fact_372_set__drop__subset,axiom,
    ! [X_a,N,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),Xs_1))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ).

fof(fact_373_set__take__subset__set__take,axiom,
    ! [X_a,Xs_1,M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => 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),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),Xs_1)))) ) ).

fof(fact_374_set__drop__subset__set__drop,axiom,
    ! [X_a,Xs_1,N,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),M))
     => 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),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),Xs_1)))) ) ).

fof(fact_375_length__Suc__conv,axiom,
    ! [X_a,Xs_1,N] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(nat,nat,suc,N)
    <=> ? [Y_2,Ys] :
          ( 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)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Ys) = N ) ) ).

fof(fact_376_subsetD,axiom,
    ! [X_a,Ca,A_1,B] :
      ( 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_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B)) ) ) ).

fof(fact_377_equalityI,axiom,
    ! [X_a,A_1,B] :
      ( 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_1),B))
     => ( 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),A_1))
       => ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B) ) ) ).

fof(fact_378_pred__subset__eq,axiom,
    ! [X_a,R_1,S_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,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_1)),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_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)),R_1),S_1)) ) ).

fof(fact_379_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_380_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_381_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_382_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_383_subset__refl,axiom,
    ! [X_a,A_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_1),A_1)) ).

fof(fact_384_set__eq__subset,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
    <=> ( 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_1),B))
        & 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),A_1)) ) ) ).

fof(fact_385_equalityD1,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
     => 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_1),B)) ) ).

fof(fact_386_equalityD2,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
     => 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),A_1)) ) ).

fof(fact_387_in__mono,axiom,
    ! [X_a,X_1,A_1,B] :
      ( 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_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B)) ) ) ).

fof(fact_388_set__rev__mp,axiom,
    ! [X_a,B,X_1,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_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_1),B))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B)) ) ) ).

fof(fact_389_set__mp,axiom,
    ! [X_a,X_1,A_1,B] :
      ( 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_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B)) ) ) ).

fof(fact_390_subset__trans,axiom,
    ! [X_a,C,A_1,B] :
      ( 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_1),B))
     => ( 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),C))
       => 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_1),C)) ) ) ).

fof(fact_391_equalityE,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
     => ~ ( 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_1),B))
         => ~ 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),A_1)) ) ) ).

fof(fact_392_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_393_Pi__mono,axiom,
    ! [X_b,X_a,B,C,A_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
         => 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,X_2)),hAPP(X_a,fun(X_b,bool),C,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_1),B)),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_1),C))) ) ).

fof(fact_394_subsetI,axiom,
    ! [X_a,B,A_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
         => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B)) )
     => 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_1),B)) ) ).

fof(fact_395_take__hd__drop,axiom,
    ! [X_a,N_1,Xs] :
      ( 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)))
     => 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_1),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_1),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_1)),Xs) ) ).

fof(fact_396_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_397_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_398_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_399_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_400_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_401_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_402_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_403_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_404_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_405_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_406_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_407_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_408_order__less__asym_H,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [A_2,B_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_1))
         => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_1),A_2)) ) ) ).

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

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

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

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

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

fof(fact_414_order__less__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z,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))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Z)) ) ) ) ).

fof(fact_415_xt1_I10_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z,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),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z),X)) ) ) ) ).

fof(fact_416_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_417_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_418_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_419_not__top__less,axiom,
    ! [X_a] :
      ( top(X_a)
     => ! [A_2] : ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),top_top(X_a)),A_2)) ) ).

fof(fact_420_xt1_I8_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z,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),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z),X)) ) ) ) ).

fof(fact_421_order__le__less__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z,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))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Z)) ) ) ) ).

fof(fact_422_xt1_I7_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [Z,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),Y))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Z),X)) ) ) ) ).

fof(fact_423_order__less__le__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z,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))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),Z)) ) ) ) ).

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

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

fof(fact_426_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_427_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_428_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_429_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_430_xt1_I12_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [A_2,B_1] :
          ( ti(X_a,A_2) != ti(X_a,B_1)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_1),A_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_1),A_2)) ) ) ) ).

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

fof(fact_432_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_433_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_434_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_435_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_436_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_437_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_438_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_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__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_441_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_442_take__butlast,axiom,
    ! [X_a,N_1,Xs] :
      ( 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)))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_1),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_1),Xs) ) ).

fof(fact_443_last__drop,axiom,
    ! [X_a,N_1,Xs] :
      ( 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)))
     => 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_1),Xs)) = hAPP(list(X_a),X_a,last(X_a),Xs) ) ).

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

fof(fact_445_Suc__mono,axiom,
    ! [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,suc,M_1)),hAPP(nat,nat,suc,N_1))) ) ).

fof(fact_446_subset__psubset__trans,axiom,
    ! [X_a,C,A_1,B] :
      ( 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_1),B))
     => ( 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),C))
       => 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_1),C)) ) ) ).

fof(fact_447_psubset__subset__trans,axiom,
    ! [X_a,C,A_1,B] :
      ( 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_1),B))
     => ( 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),C))
       => 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_1),C)) ) ) ).

fof(fact_448_psubset__imp__subset,axiom,
    ! [X_a,A_1,B] :
      ( 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_1),B))
     => 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_1),B)) ) ).

fof(fact_449_subset__iff__psubset__eq,axiom,
    ! [X_a,A_1,B] :
      ( 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_1),B))
    <=> ( 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_1),B))
        | ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B) ) ) ).

fof(fact_450_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_451_psubset__eq,axiom,
    ! [X_a,A_1,B] :
      ( 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_1),B))
    <=> ( 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_1),B))
        & ti(fun(X_a,bool),A_1) != ti(fun(X_a,bool),B) ) ) ).

fof(fact_452_n__not__Suc__n,axiom,
    ! [N_1] : N_1 != hAPP(nat,nat,suc,N_1) ).

fof(fact_453_Suc__n__not__n,axiom,
    ! [N_1] : hAPP(nat,nat,suc,N_1) != N_1 ).

fof(fact_454_nat_Oinject,axiom,
    ! [Nat,Nat_1] :
      ( hAPP(nat,nat,suc,Nat) = hAPP(nat,nat,suc,Nat_1)
    <=> Nat = Nat_1 ) ).

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

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

fof(fact_457_nat__neq__iff,axiom,
    ! [M,N] :
      ( 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),N),M)) ) ) ).

fof(fact_458_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_459_less__irrefl__nat,axiom,
    ! [N_1] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),N_1)) ).

fof(fact_460_less__not__refl2,axiom,
    ! [N_1,M_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),M_1))
     => M_1 != N_1 ) ).

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

fof(fact_462_nat__less__cases,axiom,
    ! [Pa,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),Pa,N),M)) )
     => ( ( M = N
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),Pa,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),Pa,N),M)) )
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),Pa,N),M)) ) ) ) ).

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

fof(fact_464_nat__le__linear,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1))
      | hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N_1),M_1)) ) ).

fof(fact_465_eq__imp__le,axiom,
    ! [M_1,N_1] :
      ( M_1 = N_1
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1)) ) ).

fof(fact_466_le__trans,axiom,
    ! [K,I_1,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),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_1),K)) ) ) ).

fof(fact_467_le__antisym,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N_1),M_1))
       => M_1 = N_1 ) ) ).

fof(fact_468_Suc__less__SucD,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M_1)),hAPP(nat,nat,suc,N_1)))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1)) ) ).

fof(fact_469_Suc__lessD,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M_1)),N_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1)) ) ).

fof(fact_470_less__SucE,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),hAPP(nat,nat,suc,N_1)))
     => ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1))
       => M_1 = N_1 ) ) ).

fof(fact_471_less__trans__Suc,axiom,
    ! [K,I_1,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),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_1)),K)) ) ) ).

fof(fact_472_Suc__lessI,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1))
     => ( hAPP(nat,nat,suc,M_1) != N_1
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,M_1)),N_1)) ) ) ).

fof(fact_473_less__SucI,axiom,
    ! [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),M_1),hAPP(nat,nat,suc,N_1))) ) ).

fof(fact_474_less__antisym,axiom,
    ! [N_1,M_1] :
      ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),M_1))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),hAPP(nat,nat,suc,M_1)))
       => M_1 = N_1 ) ) ).

fof(fact_475_not__less__less__Suc__eq,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)))
      <=> N = M ) ) ).

fof(fact_476_Suc__less__eq,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_477_less__Suc__eq,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_478_not__less__eq,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),N),hAPP(nat,nat,suc,M))) ) ).

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

fof(fact_480_not__less__eq__eq,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),hAPP(nat,nat,suc,N)),M)) ) ).

fof(fact_481_le__Suc__eq,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_482_Suc__le__mono,axiom,
    ! [N,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,N)),hAPP(nat,nat,suc,M)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),M)) ) ).

fof(fact_483_le__SucI,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),hAPP(nat,nat,suc,N_1))) ) ).

fof(fact_484_le__SucE,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),hAPP(nat,nat,suc,N_1)))
     => ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1))
       => M_1 = hAPP(nat,nat,suc,N_1) ) ) ).

fof(fact_485_Suc__leD,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,M_1)),N_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1)) ) ).

fof(fact_486_less__or__eq__imp__le,axiom,
    ! [M_1,N_1] :
      ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1))
        | M_1 = N_1 )
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1)) ) ).

fof(fact_487_le__neq__implies__less,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1))
     => ( M_1 != N_1
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1)) ) ) ).

fof(fact_488_less__imp__le__nat,axiom,
    ! [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_eq(nat),M_1),N_1)) ) ).

fof(fact_489_le__eq__less__or__eq,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),N))
        | M = N ) ) ).

fof(fact_490_nat__less__le,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))
        & M != N ) ) ).

fof(fact_491_nat__case__Suc,axiom,
    ! [X_a,F1,F2,Nat] : 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)) = hAPP(nat,X_a,F2,Nat) ).

fof(fact_492_Suc__le__lessD,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,M_1)),N_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),N_1)) ) ).

fof(fact_493_le__less__Suc__eq,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),N),hAPP(nat,nat,suc,M)))
      <=> N = M ) ) ).

fof(fact_494_Suc__leI,axiom,
    ! [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_eq(nat),hAPP(nat,nat,suc,M_1)),N_1)) ) ).

fof(fact_495_le__imp__less__Suc,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M_1),N_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_1),hAPP(nat,nat,suc,N_1))) ) ).

fof(fact_496_Suc__le__eq,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_497_less__Suc__eq__le,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_eq(nat),M),N)) ) ).

fof(fact_498_less__eq__Suc__le,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_eq(nat),hAPP(nat,nat,suc,N)),M)) ) ).

%----Arities (20)
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___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___Orderings_Opreorder,axiom,
    preorder(nat) ).

fof(arity_Nat_Onat___Orderings_Olinorder,axiom,
    linorder(nat) ).

fof(arity_Nat_Onat___Orderings_Oorder,axiom,
    order(nat) ).

fof(arity_Nat_Onat___Orderings_Oord,axiom,
    ord(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___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 (18)
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_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_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_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),a),b)),hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),p,I)))
    <=> hBOOL(hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool,hAPP(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),fun(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),bool),member(product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),hAPP(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,product_prod(arrow_490897120le_alt,arrow_490897120le_alt)),product_Pair(arrow_490897120le_alt,arrow_490897120le_alt),a),c)),hAPP(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),hAPP(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool)),hAPP(fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),fun(arrow_490897120le_alt,fun(arrow_490897120le_alt,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool))),arrow_1322701812_below,hAPP(arrow_660593299e_indi,fun(product_prod(arrow_490897120le_alt,arrow_490897120le_alt),bool),p,I)),c),b))) ) ).

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