TPTP Problem File: SCT169+7.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SCT169+7 : TPTP v9.1.0. Released v5.3.0.
% Domain   : Social Choice Theory
% Problem  : Arrow's Impossibility Theorem line 29, 1000 axioms selected
% Version  : Especial.
% English  :

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

% Status   : Theorem
% Rating   : 1.00 v5.3.0
% Syntax   : Number of formulae    : 1147 ( 378 unt;   0 def)
%            Number of atoms       : 2692 (1001 equ)
%            Maximal formula atoms :    7 (   2 avg)
%            Number of connectives : 1772 ( 227   ~;  52   |; 152   &)
%                                         ( 202 <=>;1139  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   6 avg)
%            Maximal term depth    :   19 (   2 avg)
%            Number of predicates  :   30 (  29 usr;   0 prp; 1-2 aty)
%            Number of functors    :   93 (  93 usr;  14 con; 0-4 aty)
%            Number of variables   : 3631 (3533   !;  98   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 17:15:17
%          : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (90)
fof(tsy_c_Big__Operators_Olattice_OSup__fin_res,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ti(fun(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a)),big_Sup_fin(X_a)) = big_Sup_fin(X_a) ) ).

fof(tsy_c_Big__Operators_Olinorder__class_OMax_res,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ti(fun(fun(X_a,bool),X_a),big_linorder_Max(X_a)) = big_linorder_Max(X_a) ) ).

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_Enum_On__lists_res,axiom,
    ! [X_a] : ti(fun(nat,fun(list(X_a),list(list(X_a)))),n_lists(X_a)) = n_lists(X_a) ).

fof(tsy_c_Enum_Osublists_res,axiom,
    ! [X_a] : ti(fun(list(X_a),list(list(X_a))),sublists(X_a)) = sublists(X_a) ).

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

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

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

fof(tsy_c_HOL_Obool_Obool__size_res,axiom,
    ti(fun(bool,nat),bool_size) = bool_size ).

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_OListMem_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(list(X_a),bool)),listMem(X_a)) = listMem(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_Oconcat_res,axiom,
    ! [X_a] : ti(fun(list(list(X_a)),list(X_a)),concat(X_a)) = concat(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_Ofilter_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),fun(list(X_a),list(X_a))),filter(X_a)) = filter(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_Ofoldr_res,axiom,
    ! [X_b,X_a] : ti(fun(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a))),foldr(X_b,X_a)) = foldr(X_b,X_a) ).

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

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

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

fof(tsy_c_List_Olinorder__class_Oinsort__insert__key_res,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ti(fun(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a)))),linord2118332866rt_key(X_a,X_b)) = linord2118332866rt_key(X_a,X_b) ) ).

fof(tsy_c_List_Olinorder__class_Oinsort__key_res,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ti(fun(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a)))),linorder_insort_key(X_a,X_b)) = linorder_insort_key(X_a,X_b) ) ).

fof(tsy_c_List_Olinorder__class_Osort__key_res,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ti(fun(fun(X_a,X_b),fun(list(X_a),list(X_a))),linorder_sort_key(X_a,X_b)) = linorder_sort_key(X_a,X_b) ) ).

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

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

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

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

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

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

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

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

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

fof(tsy_c_List_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_Omap_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,X_b),fun(list(X_a),list(X_b))),map(X_a,X_b)) = map(X_a,X_b) ).

fof(tsy_c_List_Omap__filter_res,axiom,
    ! [X_b,X_a] : ti(fun(fun(X_b,option(X_a)),fun(list(X_b),list(X_a))),map_filter(X_b,X_a)) = map_filter(X_b,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_Omember_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(X_a,bool)),member_1(X_a)) = member_1(X_a) ).

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

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

fof(tsy_c_List_Oremove1_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(list(X_a),list(X_a))),remove1(X_a)) = remove1(X_a) ).

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

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

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

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

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

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

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

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

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

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

fof(tsy_c_List_Otranspose_res,axiom,
    ! [X_a] : ti(fun(list(list(X_a)),list(list(X_a))),transpose(X_a)) = transpose(X_a) ).

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

fof(tsy_c_List_Oupt_res,axiom,
    ti(fun(nat,fun(nat,list(nat))),upt) = upt ).

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

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

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

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

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

fof(tsy_c_Option_Ooption_Ooption__case_res,axiom,
    ! [X_a] : ti(fun(list(X_a),fun(fun(X_a,list(X_a)),fun(option(X_a),list(X_a)))),option_case(list(X_a),X_a)) = option_case(list(X_a),X_a) ).

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

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

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

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

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

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

fof(tsy_c_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_Wellfounded_Oaccp_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,fun(X_a,bool)),fun(X_a,bool)),accp(X_a)) = accp(X_a) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

%----Relevant facts (998)
fof(fact_0_alt3,axiom,
    ? [A_3,B_1,C] : hBOOL(hAPP(list(arrow_2142409994le_alt),bool,distinct(arrow_2142409994le_alt),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),A_3),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),B_1),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),C),nil(arrow_2142409994le_alt)))))) ).

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

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

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

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

fof(fact_5_list_Oexhaust,axiom,
    ! [X_a,Y] :
      ( Y != nil(X_a)
     => ~ ! [A_3,List_3] : Y != hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_3),List_3) ) ).

fof(fact_6_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_7_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_8_list_Oinject,axiom,
    ! [X_a,Aa,List_1,A_4,List_2] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),List_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_4),List_2)
    <=> ( ti(X_a,Aa) = ti(X_a,A_4)
        & List_1 = List_2 ) ) ).

fof(fact_9_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_10_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_11_list__nonempty__induct,axiom,
    ! [X_a,P_1,Xs_1] :
      ( Xs_1 != nil(X_a)
     => ( ! [X_2] : hBOOL(hAPP(list(X_a),bool,P_1,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,P_1,Xs_2))
               => hBOOL(hAPP(list(X_a),bool,P_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(list(X_a),bool,P_1,Xs_1)) ) ) ) ).

fof(fact_12_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_13_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_14_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_15_splice_Osimps_I3_J,axiom,
    ! [X_a,X,Xs,Y,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),Xs),Ys_1))) ).

fof(fact_16_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_17_splice_Osimps_I1_J,axiom,
    ! [X_a,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),splice(X_a),nil(X_a)),Ys_1) = Ys_1 ).

fof(fact_18_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_19_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_20_list_Osimps_I5_J,axiom,
    ! [X_b,X_a,F1,F2,Aa,List_1] : 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_1)) = hAPP(list(X_b),X_a,hAPP(X_b,fun(list(X_b),X_a),F2,Aa),List_1) ).

fof(fact_21_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_22_list_Orecs_I2_J,axiom,
    ! [X_b,X_a,F1,F2,Aa,List_1] : 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_1)) = 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_1),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_1)) ).

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

fof(fact_26_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_27_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_28_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_29_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_30_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_31_sorted_ONil,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),nil(X_a))) ) ).

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

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

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

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

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

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

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

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

fof(fact_40_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_41_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_42_append__Cons,axiom,
    ! [X_a,X,Xs,Ys_1] : hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),Ys_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) ).

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

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

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

fof(fact_46_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_47_self__append__conv,axiom,
    ! [X_a,Xs_1,Ys] :
      ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)
    <=> Ys = nil(X_a) ) ).

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

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

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

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

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

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

fof(fact_54_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_55_append__eq__Cons__conv,axiom,
    ! [X_a,Ys,Zs_1,X_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys),Zs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)
    <=> ( ( Ys = nil(X_a)
          & Zs_1 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) )
        | ? [Ys_4] :
            ( Ys = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Ys_4)
            & hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_4),Zs_1) = Xs_1 ) ) ) ).

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

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

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

fof(fact_59_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_60_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_61_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_62_rev__induct,axiom,
    ! [X_a,Xs_1,P_1] :
      ( hBOOL(hAPP(list(X_a),bool,P_1,nil(X_a)))
     => ( ! [X_2,Xs_2] :
            ( hBOOL(hAPP(list(X_a),bool,P_1,Xs_2))
           => hBOOL(hAPP(list(X_a),bool,P_1,hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_2),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),nil(X_a))))) )
       => hBOOL(hAPP(list(X_a),bool,P_1,Xs_1)) ) ) ).

fof(fact_63_rev__cases,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => ~ ! [Ys_3,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_3),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_64_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_65_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_66_not__distinct__decomp,axiom,
    ! [X_a,Ws] :
      ( ~ hBOOL(hAPP(list(X_a),bool,distinct(X_a),Ws))
     => ? [Xs_2,Ys_3,Zs,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_3),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),nil(X_a))),Zs)))) ) ).

fof(fact_67_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_68_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_69_rev__eq__Cons__iff,axiom,
    ! [X_a,Xs_1,Y_1,Ys] :
      ( hAPP(list(X_a),list(X_a),rev(X_a),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),Ys)
    <=> Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Ys)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_1),nil(X_a))) ) ).

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

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

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

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

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

fof(fact_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,P_1] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),P_1) = ti(fun(X_a,bool),P_1) ).

fof(fact_78_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_79_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_80_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_81_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_82_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_83_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_84_rev__append,axiom,
    ! [X_a,Xs,Ys_1] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Ys_1)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) ).

fof(fact_85_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_86_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_87_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_88_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_89_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_90_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_91_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_92_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_93_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_94_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_95_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_96_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_97_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_98_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_99_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_100_equal,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => equal_equal(X_a) = fequal(X_a) ) ).

fof(fact_101_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_102_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_103_eq__equal,axiom,
    ! [X_a] :
      ( cl_HOL_Oequal(X_a)
     => fequal(X_a) = equal_equal(X_a) ) ).

fof(fact_104_hd__dropWhile,axiom,
    ! [X_a,P_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),P_1),Xs_1) != nil(X_a)
     => ~ hBOOL(hAPP(X_a,bool,P_1,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),P_1),Xs_1)))) ) ).

fof(fact_105_list__ex1__simps_I1_J,axiom,
    ! [X_a,P_1] : ~ hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_ex1(X_a),P_1),nil(X_a))) ).

fof(fact_106_member__rec_I2_J,axiom,
    ! [X_a,Y] : ~ hBOOL(hAPP(X_a,bool,hAPP(list(X_a),fun(X_a,bool),member_1(X_a),nil(X_a)),Y)) ).

fof(fact_107_insert,axiom,
    ! [X_a,Y,X,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(X_a,fun(list(X_a),bool),listMem(X_a),X),Xs))
     => hBOOL(hAPP(list(X_a),bool,hAPP(X_a,fun(list(X_a),bool),listMem(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Xs))) ) ).

fof(fact_108_member__rec_I1_J,axiom,
    ! [X_a,X_1,Xs_1,Y_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(list(X_a),fun(X_a,bool),member_1(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)),Y_1))
    <=> ( ti(X_a,X_1) = ti(X_a,Y_1)
        | hBOOL(hAPP(X_a,bool,hAPP(list(X_a),fun(X_a,bool),member_1(X_a),Xs_1),Y_1)) ) ) ).

fof(fact_109_elem,axiom,
    ! [X_a,X,Xs] : hBOOL(hAPP(list(X_a),bool,hAPP(X_a,fun(list(X_a),bool),listMem(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs))) ).

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

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

fof(fact_112_distinct__dropWhile,axiom,
    ! [X_a,P_1,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),P_1),Xs_1))) ) ).

fof(fact_113_sorted__dropWhile,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [P_1,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),P_1),Xs_1))) ) ) ).

fof(fact_114_dropWhile__eq__Cons__conv,axiom,
    ! [X_a,P_1,Xs_1,Y_1,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P_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)
    <=> ( 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),P_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))
        & ~ hBOOL(hAPP(X_a,bool,P_1,Y_1)) ) ) ).

fof(fact_115_ListMem_Osimps,axiom,
    ! [X_a,A1,A2] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(X_a,fun(list(X_a),bool),listMem(X_a),A1),A2))
    <=> ( ? [X_2,Xs_2] :
            ( ti(X_a,A1) = ti(X_a,X_2)
            & A2 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Xs_2) )
        | ? [X_2,Xs_2,Y_2] :
            ( ti(X_a,A1) = ti(X_a,X_2)
            & A2 = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y_2),Xs_2)
            & hBOOL(hAPP(list(X_a),bool,hAPP(X_a,fun(list(X_a),bool),listMem(X_a),X_2),Xs_2)) ) ) ) ).

fof(fact_116_takeWhile__dropWhile__id,axiom,
    ! [X_a,P_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),P_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),P_1),Xs_1)) = Xs_1 ).

fof(fact_117_hd__replicate,axiom,
    ! [X_a,X,N_1] :
      ( N_1 != zero_zero(nat)
     => hAPP(list(X_a),X_a,hd(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_1),X)) = ti(X_a,X) ) ).

fof(fact_118_last__replicate,axiom,
    ! [X_a,X,N_1] :
      ( N_1 != zero_zero(nat)
     => hAPP(list(X_a),X_a,last(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N_1),X)) = ti(X_a,X) ) ).

fof(fact_119_list__induct2_H,axiom,
    ! [X_b,X_a,Xs_1,Ys,P_1] :
      ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_1,nil(X_a)),nil(X_b)))
     => ( ! [X_2,Xs_2] : hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_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)),nil(X_b)))
       => ( ! [Y_2,Ys_3] : hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_1,nil(X_a)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_2),Ys_3)))
         => ( ! [X_2,Xs_2,Y_2,Ys_3] :
                ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_1,Xs_2),Ys_3))
               => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_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)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_2),Ys_3))) )
           => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_1,Xs_1),Ys)) ) ) ) ) ).

fof(fact_120_map__filter__simps_I2_J,axiom,
    ! [X_b,X_a,F] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,option(X_a)),fun(list(X_b),list(X_a)),map_filter(X_b,X_a),F),nil(X_b)) = nil(X_a) ).

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

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

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

fof(fact_124_replicate__eq__replicate,axiom,
    ! [X_a,M,X_1,N,Y_1] :
      ( hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),M),X_1) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),Y_1)
    <=> ( M = N
        & ( M != zero_zero(nat)
         => ti(X_a,X_1) = ti(X_a,Y_1) ) ) ) ).

fof(fact_125_distinct__takeWhile,axiom,
    ! [X_a,P_1,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),P_1),Xs_1))) ) ).

fof(fact_126_sorted__takeWhile,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [P_1,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),P_1),Xs_1))) ) ) ).

fof(fact_127_replicate__0,axiom,
    ! [X_a,X] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),zero_zero(nat)),X) = nil(X_a) ).

fof(fact_128_empty__replicate,axiom,
    ! [X_a,N,X_1] :
      ( nil(X_a) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X_1)
    <=> N = zero_zero(nat) ) ).

fof(fact_129_replicate__empty,axiom,
    ! [X_a,N,X_1] :
      ( hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X_1) = nil(X_a)
    <=> N = zero_zero(nat) ) ).

fof(fact_130_takeWhile_Osimps_I2_J,axiom,
    ! [X_a,Xs_1,P_1,X_1] :
      ( ( hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),Xs_1)) )
      & ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_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)) = nil(X_a) ) ) ).

fof(fact_131_takeWhile__tail,axiom,
    ! [X_a,Xs_1,L_2,P_1,X_1] :
      ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
     => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_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),L_2))) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),Xs_1) ) ).

fof(fact_132_sublist__singleton,axiom,
    ! [X_a,X_1,A_1] :
      ( ( hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),zero_zero(nat)),A_1))
       => hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))),A_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)) )
      & ( ~ hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),zero_zero(nat)),A_1))
       => hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),nil(X_a))),A_1) = nil(X_a) ) ) ).

fof(fact_133_listrelp_Osimps,axiom,
    ! [X_a,R_1,A1,A2] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),R_1),A1),A2))
    <=> ( ( A1 = nil(X_a)
          & A2 = nil(X_a) )
        | ? [X_2,Y_2,Xs_2,Ys_3] :
            ( 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_3)
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_1,X_2),Y_2))
            & hBOOL(hAPP(list(X_a),bool,hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(X_a,fun(X_a,bool)),fun(list(X_a),fun(list(X_a),bool)),listrelp(X_a),R_1),Xs_2),Ys_3)) ) ) ) ).

fof(fact_134_list_Osize_I1_J,axiom,
    ! [X_a,Fa] : hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),Fa),nil(X_a)) = zero_zero(nat) ).

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

fof(fact_136_hd__conv__nth,axiom,
    ! [X_a,Xs] :
      ( Xs != nil(X_a)
     => hAPP(list(X_a),X_a,hd(X_a),Xs) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),zero_zero(nat)) ) ).

fof(fact_137_insort__key_Osimps_I1_J,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,X_1] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),X_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),nil(X_a)) ) ).

fof(fact_138_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_139_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_140_distinct__insort,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,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)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),X_1),Xs_1)))
        <=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
            & hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1)) ) ) ) ).

fof(fact_141_insort__left__comm,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),X_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),Y_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),Y_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),X_1),Xs_1)) ) ).

fof(fact_142_notin__set__sublistI,axiom,
    ! [X_a,I_3,X_1,Xs_1] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3)))) ) ).

fof(fact_143_insort__key__left__comm,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [Xs_1,F,X_1,Y_1] :
          ( hAPP(X_b,X_a,F,X_1) != hAPP(X_b,X_a,F,Y_1)
         => hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),Y_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),Xs_1)) = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),Y_1),Xs_1)) ) ) ).

fof(fact_144_in__set__sublistD,axiom,
    ! [X_a,X_1,Xs_1,I_3] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3))))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ).

fof(fact_145_sorted__insort,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)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),X_1),Xs_1)))
        <=> hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1)) ) ) ).

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

fof(fact_147_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_148_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_149_takeWhile__eq__all__conv,axiom,
    ! [X_a,P_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),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,P_1,X_2)) ) ) ).

fof(fact_150_set__takeWhileD,axiom,
    ! [X_a,X_1,P_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),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_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,P_1,X_1)) ) ) ).

fof(fact_151_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_152_insort__not__Nil,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,Aa,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),Aa),Xs_1) != nil(X_a) ) ).

fof(fact_153_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_154_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_155_member__set,axiom,
    ! [X_a] : member_1(X_a) = set(X_a) ).

fof(fact_156_list__ex1__iff,axiom,
    ! [X_a,P_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_ex1(X_a),P_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,P_1,X_2))
          & ! [Y_2] :
              ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
                & hBOOL(hAPP(X_a,bool,P_1,Y_2)) )
             => ti(X_a,Y_2) = ti(X_a,X_2) ) ) ) ).

fof(fact_157_List_Omember__def,axiom,
    ! [X_a,Xs_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(list(X_a),fun(X_a,bool),member_1(X_a),Xs_1),X_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_158_ListMem__iff,axiom,
    ! [X_a,X_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(X_a,fun(list(X_a),bool),listMem(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))) ) ).

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

fof(fact_160_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_161_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_162_sublist__nil,axiom,
    ! [X_a,A_1] : hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),nil(X_a)),A_1) = nil(X_a) ).

fof(fact_163_distinct__sublistI,axiom,
    ! [X_a,I_3,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3))) ) ).

fof(fact_164_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_165_nth__Cons__0,axiom,
    ! [X_a,X,Xs] : hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X),Xs)),zero_zero(nat)) = ti(X_a,X) ).

fof(fact_166_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_167_in__set__replicate,axiom,
    ! [X_a,X_1,N,Y_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),Y_1))))
    <=> ( ti(X_a,X_1) = ti(X_a,Y_1)
        & N != zero_zero(nat) ) ) ).

fof(fact_168_Bex__set__replicate,axiom,
    ! [X_a,P_1,N,Aa] :
      ( ? [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),Aa))))
          & hBOOL(hAPP(X_a,bool,P_1,X_2)) )
    <=> ( hBOOL(hAPP(X_a,bool,P_1,Aa))
        & N != zero_zero(nat) ) ) ).

fof(fact_169_Ball__set__replicate,axiom,
    ! [X_a,P_1,N,Aa] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),Aa))))
         => hBOOL(hAPP(X_a,bool,P_1,X_2)) )
    <=> ( hBOOL(hAPP(X_a,bool,P_1,Aa))
        | N = zero_zero(nat) ) ) ).

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

fof(fact_171_takeWhile__append1,axiom,
    ! [X_a,Ys,P_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),Xs_1)))
     => ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),Xs_1) ) ) ).

fof(fact_172_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_173_dropWhile__eq__Nil__conv,axiom,
    ! [X_a,P_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),P_1),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,P_1,X_2)) ) ) ).

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

fof(fact_175_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_176_dropWhile__append1,axiom,
    ! [X_a,Ys,P_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),Xs_1)))
     => ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P_1),Xs_1)),Ys) ) ) ).

fof(fact_177_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_178_dropWhile__append2,axiom,
    ! [X_a,Ys,P_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,P_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),P_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P_1),Ys) ) ).

fof(fact_179_takeWhile__append2,axiom,
    ! [X_a,Ys,P_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,P_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),P_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),Ys)) ) ).

fof(fact_180_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_3,Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs)) ) ).

fof(fact_181_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_3,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs))) ) ) ).

fof(fact_182_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_3,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_3))) ) ) ).

fof(fact_183_split__list__propE,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => ~ ! [Ys_3,X_2] :
            ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
           => ~ hBOOL(hAPP(X_a,bool,P_1,X_2)) ) ) ).

fof(fact_184_dropWhile__cong,axiom,
    ! [X_a,Q_1,P_1,L_2,K_1] :
      ( L_2 = 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_2)))
           => ( hBOOL(hAPP(X_a,bool,P_1,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),P_1),L_2) = 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_185_takeWhile__cong,axiom,
    ! [X_a,Q_1,P_1,L_2,K_1] :
      ( L_2 = 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_2)))
           => ( hBOOL(hAPP(X_a,bool,P_1,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),P_1),L_2) = 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_186_map__filter__simps_I1_J,axiom,
    ! [X_b,X_a,F,X_1,Xs_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,option(X_a)),fun(list(X_b),list(X_a)),map_filter(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(option(X_a),list(X_a),hAPP(fun(X_a,list(X_a)),fun(option(X_a),list(X_a)),hAPP(list(X_a),fun(fun(X_a,list(X_a)),fun(option(X_a),list(X_a))),option_case(list(X_a),X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,option(X_a)),fun(list(X_b),list(X_a)),map_filter(X_b,X_a),F),Xs_1)),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)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,option(X_a)),fun(list(X_b),list(X_a)),map_filter(X_b,X_a),F),Xs_1))),hAPP(X_b,option(X_a),F,X_1)) ).

fof(fact_187_split__list__first__propE,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => ~ ! [Ys_3,X_2] :
            ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
           => ( hBOOL(hAPP(X_a,bool,P_1,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_3)))
                   => ~ hBOOL(hAPP(X_a,bool,P_1,Xa)) ) ) ) ) ).

fof(fact_188_split__list__last__propE,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => ~ ! [Ys_3,X_2,Zs] :
            ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
           => ( hBOOL(hAPP(X_a,bool,P_1,X_2))
             => ~ ! [Xa] :
                    ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs)))
                   => ~ hBOOL(hAPP(X_a,bool,P_1,Xa)) ) ) ) ) ).

fof(fact_189_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_3,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys_3))) ) ) ).

fof(fact_190_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_3,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs))
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs))) ) ) ).

fof(fact_191_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_3,Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Zs)) ) ).

fof(fact_192_split__list__first__prop__iff,axiom,
    ! [X_a,P_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,P_1,X_2)) )
    <=> ? [Ys_3,X_2] :
          ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,P_1,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_3)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,Xa)) ) ) ) ).

fof(fact_193_split__list__last__prop__iff,axiom,
    ! [X_a,P_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,P_1,X_2)) )
    <=> ? [Ys_3,X_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,P_1,X_2))
          & ! [Xa] :
              ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,Xa)) ) ) ) ).

fof(fact_194_sublist__Cons,axiom,
    ! [X_a,X_1,L_2,A_1] : hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),L_2)),A_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),hAPP(bool,fun(list(X_a),fun(list(X_a),list(X_a))),if(list(X_a)),hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),zero_zero(nat)),A_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))),nil(X_a))),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),L_2),hAPP(fun(nat,bool),fun(nat,bool),collect(nat),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,bool),fun(nat,bool)),combc(nat,fun(nat,bool),bool),hAPP(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool)),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool))),combb(nat,fun(fun(nat,bool),bool),nat),member(nat)),suc)),A_1)))) ).

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

fof(fact_196_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_197_Suc__neq__Zero,axiom,
    ! [M_1] : hAPP(nat,nat,suc,M_1) != zero_zero(nat) ).

fof(fact_198_Zero__neq__Suc,axiom,
    ! [M_1] : zero_zero(nat) != hAPP(nat,nat,suc,M_1) ).

fof(fact_199_nat_Osimps_I3_J,axiom,
    ! [Nat_5] : hAPP(nat,nat,suc,Nat_5) != zero_zero(nat) ).

fof(fact_200_Suc__not__Zero,axiom,
    ! [M_1] : hAPP(nat,nat,suc,M_1) != zero_zero(nat) ).

fof(fact_201_nat_Osimps_I2_J,axiom,
    ! [Nat_4] : zero_zero(nat) != hAPP(nat,nat,suc,Nat_4) ).

fof(fact_202_Zero__not__Suc,axiom,
    ! [M_1] : zero_zero(nat) != hAPP(nat,nat,suc,M_1) ).

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

fof(fact_204_nat__case__0,axiom,
    ! [X_a,F1,F2] : hAPP(nat,X_a,hAPP(fun(nat,X_a),fun(nat,X_a),hAPP(X_a,fun(fun(nat,X_a),fun(nat,X_a)),nat_case(X_a),F1),F2),zero_zero(nat)) = ti(X_a,F1) ).

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

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

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

fof(fact_208_nat_Oinject,axiom,
    ! [Nat_3,Nat_2] :
      ( hAPP(nat,nat,suc,Nat_3) = hAPP(nat,nat,suc,Nat_2)
    <=> Nat_3 = Nat_2 ) ).

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

fof(fact_210_not0__implies__Suc,axiom,
    ! [N_1] :
      ( N_1 != zero_zero(nat)
     => ? [M_2] : N_1 = hAPP(nat,nat,suc,M_2) ) ).

fof(fact_211_nat__induct,axiom,
    ! [N,P_1] :
      ( hBOOL(hAPP(nat,bool,P_1,zero_zero(nat)))
     => ( ! [N_2] :
            ( hBOOL(hAPP(nat,bool,P_1,N_2))
           => hBOOL(hAPP(nat,bool,P_1,hAPP(nat,nat,suc,N_2))) )
       => hBOOL(hAPP(nat,bool,P_1,N)) ) ) ).

fof(fact_212_zero__induct,axiom,
    ! [P_1,K_1] :
      ( hBOOL(hAPP(nat,bool,P_1,K_1))
     => ( ! [N_2] :
            ( hBOOL(hAPP(nat,bool,P_1,hAPP(nat,nat,suc,N_2)))
           => hBOOL(hAPP(nat,bool,P_1,N_2)) )
       => hBOOL(hAPP(nat,bool,P_1,zero_zero(nat))) ) ) ).

fof(fact_213_nat_Oexhaust,axiom,
    ! [Y] :
      ( Y != zero_zero(nat)
     => ~ ! [Nat_1] : Y != hAPP(nat,nat,suc,Nat_1) ) ).

fof(fact_214_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_215_insort__insert__insort,axiom,
    ! [X_a] :
      ( linorder(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)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linord2118332866rt_key(X_a,X_a),combi(X_a)),X_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),X_1),Xs_1) ) ) ).

fof(fact_216_list__ex1__simps_I2_J,axiom,
    ! [X_a,P_1,X_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_ex1(X_a),P_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)))
    <=> ( ( hBOOL(hAPP(X_a,bool,P_1,X_1))
         => hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fdisj),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),P_1))),hAPP(X_a,fun(X_a,bool),fequal(X_a),X_1))),Xs_1)) )
        & ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
         => hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_ex1(X_a),P_1),Xs_1)) ) ) ) ).

fof(fact_217_insort__remove1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Aa,Xs_1] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Aa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
           => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),Aa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),Aa),Xs_1)) = Xs_1 ) ) ) ).

fof(fact_218_remove1__commute,axiom,
    ! [X_a,X,Y,Zs_2] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),Y),Zs_2)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),Y),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X),Zs_2)) ).

fof(fact_219_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_220_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_221_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_222_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_223_remove1_Osimps_I2_J,axiom,
    ! [X_a,Xs,X,Y] :
      ( ( ti(X_a,X) = ti(X_a,Y)
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Xs)) = Xs )
      & ( ti(X_a,X) != ti(X_a,Y)
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Xs)) = 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(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X),Xs)) ) ) ).

fof(fact_224_remove1_Osimps_I1_J,axiom,
    ! [X_a,X] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X),nil(X_a)) = nil(X_a) ).

fof(fact_225_in__set__remove1,axiom,
    ! [X_a,Xs_1,Aa,Ba] :
      ( ti(X_a,Aa) != ti(X_a,Ba)
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Aa),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),Ba),Xs_1))))
      <=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Aa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ) ) ).

fof(fact_226_notin__set__remove1,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),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),Y_1),Xs_1)))) ) ).

fof(fact_227_remove1__idem,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)),remove1(X_a),X_1),Xs_1) = Xs_1 ) ).

fof(fact_228_distinct__remove1,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)),remove1(X_a),X),Xs))) ) ).

fof(fact_229_sorted__remove1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,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(X_a,fun(list(X_a),list(X_a)),remove1(X_a),A_2),Xs))) ) ) ).

fof(fact_230_list__all__simps_I1_J,axiom,
    ! [X_a,P_1,X_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_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)))
    <=> ( hBOOL(hAPP(X_a,bool,P_1,X_1))
        & hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_1),Xs_1)) ) ) ).

fof(fact_231_list__all__simps_I2_J,axiom,
    ! [X_a,P_1] : hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_1),nil(X_a))) ).

fof(fact_232_list__all__iff,axiom,
    ! [X_a,P_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_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,P_1,X_2)) ) ) ).

fof(fact_233_list__all__append,axiom,
    ! [X_a,P_1,Xs_1,Ys] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_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)))
    <=> ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_1),Xs_1))
        & hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_1),Ys)) ) ) ).

fof(fact_234_list__all__rev,axiom,
    ! [X_a,P_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_1),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)))
    <=> hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_1),Xs_1)) ) ).

fof(fact_235_take__0,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),zero_zero(nat)),Xs) = nil(X_a) ).

fof(fact_236_take__eq__Nil,axiom,
    ! [X_a,N,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs_1) = nil(X_a)
    <=> ( N = zero_zero(nat)
        | Xs_1 = nil(X_a) ) ) ).

fof(fact_237_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_238_remove1__insort,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)),X_1),Xs_1)) = Xs_1 ) ).

fof(fact_239_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_240_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_241_distinct__insort__insert,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,X_1,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(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linord2118332866rt_key(X_a,X_b),F),X_1),Xs_1))) ) ) ).

fof(fact_242_remove1__append,axiom,
    ! [X_a,Ys,X_1,Xs_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(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),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X_1),Xs_1)),Ys) )
      & ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
       => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(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),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X_1),Ys)) ) ) ).

fof(fact_243_insort__insert__triv,axiom,
    ! [X_a] :
      ( linorder(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)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linord2118332866rt_key(X_a,X_a),combi(X_a)),X_1),Xs_1) = Xs_1 ) ) ).

fof(fact_244_sorted__insort__insert,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,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(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linord2118332866rt_key(X_a,X_a),combi(X_a)),X_1),Xs_1))) ) ) ).

fof(fact_245_list__all__cong,axiom,
    ! [X_a,G,F,Xs_1,Ys] :
      ( Xs_1 = Ys
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)))
           => ( hBOOL(hAPP(X_a,bool,F,X_2))
            <=> hBOOL(hAPP(X_a,bool,G,X_2)) ) )
       => ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),F),Xs_1))
        <=> hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),G),Ys)) ) ) ) ).

fof(fact_246_take__equalityI,axiom,
    ! [X_a,Xs,Ys_1] :
      ( ! [I_2] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Xs) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_2),Ys_1)
     => Xs = Ys_1 ) ).

fof(fact_247_list_Osize_I2_J,axiom,
    ! [X_a,Fa,Aa,List_1] : hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),Fa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),List_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(X_a,nat,Fa,Aa)),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),Fa),List_1))),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_248_split__list__prop,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => ? [Ys_3,X_2] :
          ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,P_1,X_2)) ) ) ).

fof(fact_249_split__list__last__prop,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => ? [Ys_3,X_2,Zs] :
          ( Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,P_1,X_2))
          & ! [Xa] :
              ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Zs)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,Xa)) ) ) ) ).

fof(fact_250_split__list__first__prop,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => ? [Ys_3,X_2] :
          ( ? [Zs] : Xs_1 = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Ys_3),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_2),Zs))
          & hBOOL(hAPP(X_a,bool,P_1,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_3)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,Xa)) ) ) ) ).

fof(fact_251_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_252_foldl__absorb0,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ! [X_1,Zs_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),X_1),hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),plus_plus(X_a)),zero_zero(X_a)),Zs_1)) = hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),plus_plus(X_a)),X_1),Zs_1) ) ).

fof(fact_253_add__right__imp__eq,axiom,
    ! [X_a] :
      ( cancel_semigroup_add(X_a)
     => ! [B_2,A_2,C_2] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),A_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),A_2)
         => ti(X_a,B_2) = ti(X_a,C_2) ) ) ).

fof(fact_254_add__imp__eq,axiom,
    ! [X_a] :
      ( cancel146912293up_add(X_a)
     => ! [A_2,B_2,C_2] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)
         => ti(X_a,B_2) = ti(X_a,C_2) ) ) ).

fof(fact_255_add__left__imp__eq,axiom,
    ! [X_a] :
      ( cancel_semigroup_add(X_a)
     => ! [A_2,B_2,C_2] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)
         => ti(X_a,B_2) = ti(X_a,C_2) ) ) ).

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

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

fof(fact_258_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [X_a] :
      ( ab_semigroup_add(X_a)
     => ! [A_2,B_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),C_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),C_2)) ) ).

fof(fact_259_foldl__assoc,axiom,
    ! [X_a] :
      ( semigroup_add(X_a)
     => ! [X_1,Y_1,Zs_1] : hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),plus_plus(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),X_1),Y_1)),Zs_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),X_1),hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),plus_plus(X_a)),Y_1),Zs_1)) ) ).

fof(fact_260_nat__add__right__cancel,axiom,
    ! [M,K_1,N] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K_1) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N),K_1)
    <=> M = N ) ).

fof(fact_261_nat__add__left__cancel,axiom,
    ! [K_1,M,N] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),M) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),N)
    <=> M = N ) ).

fof(fact_262_nat__add__assoc,axiom,
    ! [M_1,N_1,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),N_1)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),K)) ).

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

fof(fact_264_nat__add__commute,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),N_1) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),M_1) ).

fof(fact_265_add_Ocomm__neutral,axiom,
    ! [X_a] :
      ( comm_monoid_add(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),zero_zero(X_a)) = ti(X_a,A_2) ) ).

fof(fact_266_add__0__right,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),zero_zero(X_a)) = ti(X_a,A_2) ) ).

fof(fact_267_double__zero__sym,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( zero_zero(X_a) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)
        <=> ti(X_a,Aa) = zero_zero(X_a) ) ) ).

fof(fact_268_add__0,axiom,
    ! [X_a] :
      ( comm_monoid_add(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),zero_zero(X_a)),A_2) = ti(X_a,A_2) ) ).

fof(fact_269_add__0__left,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),zero_zero(X_a)),A_2) = ti(X_a,A_2) ) ).

fof(fact_270_add__eq__self__zero,axiom,
    ! [M_1,N_1] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),N_1) = M_1
     => N_1 = zero_zero(nat) ) ).

fof(fact_271_add__is__0,axiom,
    ! [M,N] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N) = zero_zero(nat)
    <=> ( M = zero_zero(nat)
        & N = zero_zero(nat) ) ) ).

fof(fact_272_Nat_Oadd__0__right,axiom,
    ! [M_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),zero_zero(nat)) = M_1 ).

fof(fact_273_plus__nat_Oadd__0,axiom,
    ! [N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),zero_zero(nat)),N_1) = N_1 ).

fof(fact_274_add__Suc__shift,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,suc,M_1)),N_1) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),hAPP(nat,nat,suc,N_1)) ).

fof(fact_275_add__Suc,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,suc,M_1)),N_1) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),N_1)) ).

fof(fact_276_add__Suc__right,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),hAPP(nat,nat,suc,N_1)) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),N_1)) ).

fof(fact_277_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_278_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_279_foldl__append,axiom,
    ! [X_b,X_a,F,Aa,Xs_1,Ys] : 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)) = 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) ).

fof(fact_280_one__is__add,axiom,
    ! [M,N] :
      ( hAPP(nat,nat,suc,zero_zero(nat)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N)
    <=> ( ( M = hAPP(nat,nat,suc,zero_zero(nat))
          & N = zero_zero(nat) )
        | ( M = zero_zero(nat)
          & N = hAPP(nat,nat,suc,zero_zero(nat)) ) ) ) ).

fof(fact_281_add__is__1,axiom,
    ! [M,N] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N) = hAPP(nat,nat,suc,zero_zero(nat))
    <=> ( ( M = hAPP(nat,nat,suc,zero_zero(nat))
          & N = zero_zero(nat) )
        | ( M = zero_zero(nat)
          & N = hAPP(nat,nat,suc,zero_zero(nat)) ) ) ) ).

fof(fact_282_replicate__add,axiom,
    ! [X_a,N_1,M_1,X] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),M_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),N_1),X)),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),M_1),X)) ).

fof(fact_283_foldl__rev,axiom,
    ! [X_a,X_b,S,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),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),Xs_1) ) ).

fof(fact_284_foldl__cong,axiom,
    ! [X_b,X_a,F,G,L_2,K_1,Aa,Ba] :
      ( ti(X_a,Aa) = ti(X_a,Ba)
     => ( L_2 = K_1
       => ( ! [A_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),L_2)))
             => hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),F,A_3),X_2) = hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),G,A_3),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_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),G),Ba),K_1) ) ) ) ).

fof(fact_285_foldl__weak__invariant,axiom,
    ! [X_b,X_a,F,Xs_1,P_1,S] :
      ( hBOOL(hAPP(X_a,bool,P_1,S))
     => ( ! [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,P_1,S_3))
             => hBOOL(hAPP(X_a,bool,P_1,hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),F,S_3),X_2))) ) )
       => hBOOL(hAPP(X_a,bool,P_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),S),Xs_1))) ) ) ).

fof(fact_286_sort__foldl__insort,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_a),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_a),combi(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)),hAPP(fun(X_a,X_a),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_a),combi(X_a)))),nil(X_a)),Xs_1) ) ).

fof(fact_287_comm__semiring__1__class_Onormalizing__semiring__rules_I5_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),zero_zero(X_a)),A_2) = ti(X_a,A_2) ) ).

fof(fact_288_comm__semiring__1__class_Onormalizing__semiring__rules_I6_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),zero_zero(X_a)) = ti(X_a,A_2) ) ).

fof(fact_289_add__0__iff,axiom,
    ! [X_a] :
      ( semiri456707255roduct(X_a)
     => ! [Ba,Aa] :
          ( ti(X_a,Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Ba),Aa)
        <=> ti(X_a,Aa) = zero_zero(X_a) ) ) ).

fof(fact_290_sort__key__simps_I1_J,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),nil(X_a)) = nil(X_a) ) ).

fof(fact_291_set__sort,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,Xs_1] : hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),Xs_1)) = hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1) ) ).

fof(fact_292_distinct__sort,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),Xs_1)))
        <=> hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1)) ) ) ).

fof(fact_293_sum__eq__0__conv,axiom,
    ! [M,Ns] :
      ( hAPP(list(nat),nat,hAPP(nat,fun(list(nat),nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(list(nat),nat)),foldl(nat,nat),plus_plus(nat)),M),Ns) = zero_zero(nat)
    <=> ( M = zero_zero(nat)
        & ! [X_2] :
            ( hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),X_2),hAPP(list(nat),fun(nat,bool),set(nat),Ns)))
           => X_2 = zero_zero(nat) ) ) ) ).

fof(fact_294_sorted__sort,axiom,
    ! [X_a] :
      ( linorder(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,X_a),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_a),combi(X_a)),Xs_1))) ) ).

fof(fact_295_comm__semiring__1__class_Onormalizing__semiring__rules_I20_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2,B_2,C_2,D_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),D_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),D_1)) ) ).

fof(fact_296_comm__semiring__1__class_Onormalizing__semiring__rules_I23_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2,B_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),C_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),B_2) ) ).

fof(fact_297_comm__semiring__1__class_Onormalizing__semiring__rules_I21_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2,B_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),C_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),C_2)) ) ).

fof(fact_298_comm__semiring__1__class_Onormalizing__semiring__rules_I25_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2,C_2,D_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),D_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),D_1) ) ).

fof(fact_299_comm__semiring__1__class_Onormalizing__semiring__rules_I22_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2,C_2,D_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),D_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),D_1)) ) ).

fof(fact_300_comm__semiring__1__class_Onormalizing__semiring__rules_I24_J,axiom,
    ! [X_a] :
      ( comm_semiring_1(X_a)
     => ! [A_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),A_2) ) ).

fof(fact_301_sort__key__simps_I2_J,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,X_1,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),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)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),X_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),Xs_1)) ) ).

fof(fact_302_double__eq__0__iff,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa) = zero_zero(X_a)
        <=> ti(X_a,Aa) = zero_zero(X_a) ) ) ).

fof(fact_303_foldl__fun__comm,axiom,
    ! [X_a,X_b,S,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),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),X_1)),Xs_1) ) ).

fof(fact_304_nat_Osize_I2_J,axiom,
    ! [Nat] : hAPP(nat,nat,nat_size,hAPP(nat,nat,suc,Nat)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,nat_size,Nat)),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_305_foldl__foldr1,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ! [Xs_1] : hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),plus_plus(X_a)),zero_zero(X_a)),Xs_1) = hAPP(X_a,X_a,hAPP(list(X_a),fun(X_a,X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(list(X_a),fun(X_a,X_a)),foldr(X_a,X_a),plus_plus(X_a)),Xs_1),zero_zero(X_a)) ) ).

fof(fact_306_foldl__foldr1__lemma,axiom,
    ! [X_a] :
      ( monoid_add(X_a)
     => ! [Aa,Xs_1] : hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),plus_plus(X_a)),Aa),Xs_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),hAPP(X_a,X_a,hAPP(list(X_a),fun(X_a,X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(list(X_a),fun(X_a,X_a)),foldr(X_a,X_a),plus_plus(X_a)),Xs_1),zero_zero(X_a))) ) ).

fof(fact_307_foldl__invariant,axiom,
    ! [X_b,X_a,F,P_1,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,P_1,X_2)) )
       => ( ! [X_2,Y_2] :
              ( ( hBOOL(hAPP(X_b,bool,P_1,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_308_nat_Osize_I1_J,axiom,
    hAPP(nat,nat,nat_size,zero_zero(nat)) = zero_zero(nat) ).

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

fof(fact_310_foldr_Osimps_I1_J,axiom,
    ! [X_a,X_b,F,Aa] : hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),F),nil(X_b)),Aa) = ti(X_a,Aa) ).

fof(fact_311_foldr__append,axiom,
    ! [X_a,X_b,F,Xs_1,Ys,Aa] : hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs_1),Ys)),Aa) = hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),F),Xs_1),hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),F),Ys),Aa)) ).

fof(fact_312_foldr__conv__foldl,axiom,
    ! [X_a] :
      ( ab_semigroup_add(X_a)
     => ! [Xs_1,Aa] : hAPP(X_a,X_a,hAPP(list(X_a),fun(X_a,X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(list(X_a),fun(X_a,X_a)),foldr(X_a,X_a),plus_plus(X_a)),Xs_1),Aa) = hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),plus_plus(X_a)),Aa),Xs_1) ) ).

fof(fact_313_foldr__foldl,axiom,
    ! [X_a,X_b,F,Xs_1,Aa] : hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),F),Xs_1),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),hAPP(fun(X_b,fun(X_a,X_a)),fun(X_a,fun(X_b,X_a)),combc(X_b,X_a,X_a),F)),Aa),hAPP(list(X_b),list(X_b),rev(X_b),Xs_1)) ).

fof(fact_314_foldl__foldr,axiom,
    ! [X_b,X_a,F,Aa,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),Xs_1) = hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_b,fun(X_a,X_a)),combc(X_a,X_b,X_a),F)),hAPP(list(X_b),list(X_b),rev(X_b),Xs_1)),Aa) ).

fof(fact_315_foldr__cong,axiom,
    ! [X_b,X_a,F,G,L_2,K_1,Aa,Ba] :
      ( ti(X_a,Aa) = ti(X_a,Ba)
     => ( L_2 = K_1
       => ( ! [A_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),L_2)))
             => hAPP(X_a,X_a,hAPP(X_b,fun(X_a,X_a),F,X_2),A_3) = hAPP(X_a,X_a,hAPP(X_b,fun(X_a,X_a),G,X_2),A_3) )
         => hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),F),L_2),Aa) = hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),G),K_1),Ba) ) ) ) ).

fof(fact_316_nat_Osize_I4_J,axiom,
    ! [Nat] : hAPP(nat,nat,size_size(nat),hAPP(nat,nat,suc,Nat)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,size_size(nat),Nat)),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_317_foldr__max__sorted,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Y_1,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)))
         => ( ( Xs_1 = nil(X_a)
             => hAPP(X_a,X_a,hAPP(list(X_a),fun(X_a,X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(list(X_a),fun(X_a,X_a)),foldr(X_a,X_a),ord_max(X_a)),Xs_1),Y_1) = ti(X_a,Y_1) )
            & ( Xs_1 != nil(X_a)
             => hAPP(X_a,X_a,hAPP(list(X_a),fun(X_a,X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(list(X_a),fun(X_a,X_a)),foldr(X_a,X_a),ord_max(X_a)),Xs_1),Y_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),zero_zero(nat))),Y_1) ) ) ) ) ).

fof(fact_318_elem__le__sum,axiom,
    ! [N,Ns] :
      ( hBOOL(hAPP(fun(nat,bool),bool,hAPP(nat,fun(fun(nat,bool),bool),member(nat),N),hAPP(list(nat),fun(nat,bool),set(nat),Ns)))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),hAPP(list(nat),nat,hAPP(nat,fun(list(nat),nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(list(nat),nat)),foldl(nat,nat),plus_plus(nat)),zero_zero(nat)),Ns))) ) ).

fof(fact_319_bool_Osize_I1_J,axiom,
    hAPP(bool,nat,bool_size,fTrue) = zero_zero(nat) ).

fof(fact_320_bool_Osize_I2_J,axiom,
    hAPP(bool,nat,bool_size,fFalse) = zero_zero(nat) ).

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

fof(fact_322_nat__size,axiom,
    ! [N_1] : hAPP(nat,nat,size_size(nat),N_1) = N_1 ).

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

fof(fact_324_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_325_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_326_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_327_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_328_max__add__distrib__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [X,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),X),Z_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Y),Z_1)) ) ).

fof(fact_329_max__0R,axiom,
    ! [N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),N_1),zero_zero(nat)) = N_1 ).

fof(fact_330_max__0L,axiom,
    ! [N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),zero_zero(nat)),N_1) = N_1 ).

fof(fact_331_max__Suc__Suc,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),hAPP(nat,nat,suc,M_1)),hAPP(nat,nat,suc,N_1)) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),M_1),N_1)) ).

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

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

fof(fact_334_add__right__mono,axiom,
    ! [X_a] :
      ( ordere779506340up_add(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),B_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),C_2))) ) ) ).

fof(fact_335_add__left__mono,axiom,
    ! [X_a] :
      ( ordere779506340up_add(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),B_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),A_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),B_2))) ) ) ).

fof(fact_336_add__mono,axiom,
    ! [X_a] :
      ( ordere779506340up_add(X_a)
     => ! [C_2,D_1,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),B_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_2),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),D_1))) ) ) ) ).

fof(fact_337_add__le__imp__le__right,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [A_2,C_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),C_2)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),B_2)) ) ) ).

fof(fact_338_add__le__imp__le__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),A_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),B_2)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),B_2)) ) ) ).

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

fof(fact_340_le__0__eq,axiom,
    ! [N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),zero_zero(nat)))
    <=> N = zero_zero(nat) ) ).

fof(fact_341_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_342_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_343_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_344_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_345_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_346_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_347_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_348_le__add2,axiom,
    ! [N_1,M_1] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),N_1))) ).

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

fof(fact_350_le__iff__add,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
    <=> ? [K_2] : N = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K_2) ) ).

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

fof(fact_352_trans__le__add1,axiom,
    ! [M_1,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),I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),M_1))) ) ).

fof(fact_353_trans__le__add2,axiom,
    ! [M_1,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),I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),J))) ) ).

fof(fact_354_add__le__mono1,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),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K))) ) ).

fof(fact_355_add__le__mono,axiom,
    ! [K,L,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),K),L))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),L))) ) ) ).

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

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

fof(fact_358_add__leE,axiom,
    ! [M_1,K,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),K)),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),K),N_1)) ) ) ).

fof(fact_359_max__Suc1,axiom,
    ! [N,M] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),hAPP(nat,nat,suc,N)),M) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),hAPP(nat,nat,suc,N)),hAPP(fun(nat,nat),fun(nat,nat),hAPP(fun(nat,nat),fun(fun(nat,nat),fun(nat,nat)),combb(nat,nat,nat),suc),hAPP(nat,fun(nat,nat),ord_max(nat),N))),M) ).

fof(fact_360_max__Suc2,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),M),hAPP(nat,nat,suc,N)) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),hAPP(nat,nat,suc,N)),hAPP(fun(nat,nat),fun(nat,nat),hAPP(fun(nat,nat),fun(fun(nat,nat),fun(nat,nat)),combb(nat,nat,nat),suc),hAPP(nat,fun(nat,nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(nat,nat)),combc(nat,nat,nat),ord_max(nat)),N))),M) ).

fof(fact_361_less__eq__nat_Osimps_I2_J,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(fun(nat,bool),fun(nat,bool),hAPP(bool,fun(fun(nat,bool),fun(nat,bool)),nat_case(bool),fFalse),hAPP(nat,fun(nat,bool),ord_less_eq(nat),M)),N)) ) ).

fof(fact_362_add__nonpos__nonpos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),zero_zero(X_a))) ) ) ) ).

fof(fact_363_add__increasing2,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2,C_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),C_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),A_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2))) ) ) ) ).

fof(fact_364_add__increasing,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,C_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),C_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2))) ) ) ) ).

fof(fact_365_add__nonneg__eq__0__iff,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [Y_1,X_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),X_1))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),Y_1))
           => ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),X_1),Y_1) = zero_zero(X_a)
            <=> ( ti(X_a,X_1) = zero_zero(X_a)
                & ti(X_a,Y_1) = zero_zero(X_a) ) ) ) ) ) ).

fof(fact_366_add__nonneg__nonneg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2))) ) ) ) ).

fof(fact_367_double__add__le__zero__iff__single__add__le__zero,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)),zero_zero(X_a)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),zero_zero(X_a))) ) ) ).

fof(fact_368_zero__le__double__add__iff__zero__le__single__add,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),Aa)) ) ) ).

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

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

fof(fact_371_insort__key_Osimps_I2_J,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [Ys,F,X_1,Y_1] :
          ( ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_b,X_a,F,X_1)),hAPP(X_b,X_a,F,Y_1)))
           => hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)) = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),X_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)) )
          & ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_b,X_a,F,X_1)),hAPP(X_b,X_a,F,Y_1)))
           => hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),Ys)) = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),Ys)) ) ) ) ).

fof(fact_372_list__size__estimation_H,axiom,
    ! [X_a,Y_1,F,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),Y_1),hAPP(X_a,nat,F,X_1)))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),Y_1),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),F),Xs_1))) ) ) ).

fof(fact_373_nat_Osize_I3_J,axiom,
    hAPP(nat,nat,size_size(nat),zero_zero(nat)) = zero_zero(nat) ).

fof(fact_374_start__le__sum,axiom,
    ! [Ns,M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),N))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),M),hAPP(list(nat),nat,hAPP(nat,fun(list(nat),nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(list(nat),nat)),foldl(nat,nat),plus_plus(nat)),N),Ns))) ) ).

fof(fact_375_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_376_sorted__append,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Xs_1,Ys] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)))
        <=> ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Xs_1))
            & hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),Ys))
            & ! [X_2] :
                ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
               => ! [Xa] :
                    ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Xa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)))
                   => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_2),Xa)) ) ) ) ) ) ).

fof(fact_377_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_378_insort__is__Cons,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,Aa,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_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,Aa)),hAPP(X_a,X_b,F,X_2))) )
         => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),Aa),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),Aa),Xs_1) ) ) ).

fof(fact_379_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_380_lift__Suc__mono__le,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [N,N_3,F] :
          ( ! [N_2] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,F,N_2)),hAPP(nat,X_a,F,hAPP(nat,nat,suc,N_2))))
         => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),N),N_3))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(nat,X_a,F,N)),hAPP(nat,X_a,F,N_3))) ) ) ) ).

fof(fact_381_Suc__le__D,axiom,
    ! [N_1,M_3] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,suc,N_1)),M_3))
     => ? [M_2] : M_3 = hAPP(nat,nat,suc,M_2) ) ).

fof(fact_382_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_383_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_384_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_385_set__remove1__subset,axiom,
    ! [X_a,X_1,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(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X_1),Xs_1))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ).

fof(fact_386_set__sublist__subset,axiom,
    ! [X_a,Xs_1,I_3] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1))) ).

fof(fact_387_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_388_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_389_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_390_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_391_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_392_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_393_ord__eq__le__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C_2,A_2,B_2] :
          ( ti(X_a,A_2) = ti(X_a,B_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),C_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),C_2)) ) ) ) ).

fof(fact_394_xt1_I3_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C_2,A_2,B_2] :
          ( ti(X_a,A_2) = ti(X_a,B_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_2),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_2),A_2)) ) ) ) ).

fof(fact_395_ord__le__eq__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),B_2))
         => ( ti(X_a,B_2) = ti(X_a,C_2)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),C_2)) ) ) ) ).

fof(fact_396_xt1_I4_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C_2,B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),A_2))
         => ( ti(X_a,B_2) = ti(X_a,C_2)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_2),A_2)) ) ) ) ).

fof(fact_397_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_398_order__trans,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [Z_1,X,Y] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y),Z_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Z_1)) ) ) ) ).

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

fof(fact_401_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_402_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_403_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_404_le__max__iff__disj,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [Z_2,X_1,Y_1] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X_1),Y_1)))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),X_1))
            | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Z_2),Y_1)) ) ) ) ).

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

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

fof(fact_407_max__ord__max,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ord_max(X_a) = hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,X_a)),max(X_a),ord_less_eq(X_a)) ) ).

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

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

fof(fact_410_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_411_subsetD,axiom,
    ! [X_a,C_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),C_1),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),B)) ) ) ).

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

fof(fact_413_min__max_Ole__supE,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2)),X))
         => ~ ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),X))
             => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),X)) ) ) ) ).

fof(fact_414_min__max_Osup__mono,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,D_1,A_2,C_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),C_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),C_2),D_1))) ) ) ) ).

fof(fact_415_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_416_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_417_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_418_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_419_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_420_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_421_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_422_subset__trans,axiom,
    ! [X_a,C_3,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_3))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),C_3)) ) ) ).

fof(fact_423_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_424_min__max_Osup_Oidem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),A_2) = ti(X_a,A_2) ) ).

fof(fact_425_min__max_Osup_Ocommute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),B_2),A_2) ) ).

fof(fact_426_min__max_Osup__commute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),Y),X) ) ).

fof(fact_427_min__max_Osup_Oleft__idem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2) ) ).

fof(fact_428_min__max_Osup__left__idem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y) ) ).

fof(fact_429_min__max_Osup_Oleft__commute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,A_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),C_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),B_2),C_2)) ) ).

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

fof(fact_431_min__max_Osup_Oassoc,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2)),C_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),B_2),C_2)) ) ).

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

fof(fact_433_le__maxI1,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),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y))) ) ).

fof(fact_434_le__maxI2,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),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y))) ) ).

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

fof(fact_436_min__max_Ole__sup__iff,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Y_1,Z_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X_1),Y_1)),Z_2))
        <=> ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_1),Z_2))
            & hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_1),Z_2)) ) ) ) ).

fof(fact_437_min__max_Ole__supI1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,X,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),A_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2))) ) ) ).

fof(fact_438_min__max_Ole__supI2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,X,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),B_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2))) ) ) ).

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

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

fof(fact_441_min__max_Ole__supI,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,A_2,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),X))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),X))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2)),X)) ) ) ) ).

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

fof(fact_443_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_444_weak__decr__stable,axiom,
    ! [F] :
      ( ! [I_2] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,F,hAPP(nat,nat,suc,I_2))),hAPP(nat,nat,F,I_2)))
     => ? [I_2] :
        ! [K_2] : hAPP(nat,nat,F,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_2),K_2)) = hAPP(nat,nat,F,I_2) ) ).

fof(fact_445_Max__fin__set__fold,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Xs_1] : hAPP(fun(X_a,bool),X_a,big_linorder_Max(X_a),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))) = hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),ord_max(X_a)),X_1),Xs_1) ) ).

fof(fact_446_Collect__mono,axiom,
    ! [X_a,Q_1,P_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(X_a,bool,P_1,X_2))
         => hBOOL(hAPP(X_a,bool,Q_1,X_2)) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),P_1)),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Q_1))) ) ).

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

fof(fact_448_predicate1D,axiom,
    ! [X_a,X_1,P_1,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)),P_1),Q_1))
     => ( hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hBOOL(hAPP(X_a,bool,Q_1,X_1)) ) ) ).

fof(fact_449_rev__predicate1D,axiom,
    ! [X_a,Q_1,P_1,X_1] :
      ( hBOOL(hAPP(X_a,bool,P_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)),P_1),Q_1))
       => hBOOL(hAPP(X_a,bool,Q_1,X_1)) ) ) ).

fof(fact_450_predicate1I,axiom,
    ! [X_a,Q_1,P_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(X_a,bool,P_1,X_2))
         => hBOOL(hAPP(X_a,bool,Q_1,X_2)) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),P_1),Q_1)) ) ).

fof(fact_451_min__max_OSup__fin__set__fold,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X_1,Xs_1] : hAPP(fun(X_a,bool),X_a,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),big_Sup_fin(X_a),ord_max(X_a)),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))) = hAPP(list(X_a),X_a,hAPP(X_a,fun(list(X_a),X_a),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(list(X_a),X_a)),foldl(X_a,X_a),ord_max(X_a)),X_1),Xs_1) ) ).

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

fof(fact_453_xt1_I15_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C_1,Aa,F,Ba] :
          ( ti(X_a,Aa) = hAPP(X_a,X_a,F,Ba)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_1),Ba))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_2),X_2))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,F,Y_2)),hAPP(X_a,X_a,F,X_2))) )
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,F,C_1)),Aa)) ) ) ) ) ).

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

fof(fact_455_xt1_I16_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [F,C_1,Ba,Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Ba),Aa))
         => ( hAPP(X_a,X_a,F,Ba) = ti(X_a,C_1)
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Y_2),X_2))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,F,Y_2)),hAPP(X_a,X_a,F,X_2))) )
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_1),hAPP(X_a,X_a,F,Aa))) ) ) ) ) ).

fof(fact_456_ord__le__eq__subst,axiom,
    ! [X_a,X_b] :
      ( ( ord(X_b)
        & ord(X_a) )
     => ! [F,C_1,Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba))
         => ( hAPP(X_a,X_b,F,Ba) = ti(X_b,C_1)
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X_2),Y_2))
                 => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,X_2)),hAPP(X_a,X_b,F,Y_2))) )
             => hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),hAPP(X_a,X_b,F,Aa)),C_1)) ) ) ) ) ).

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

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

fof(fact_459_ord__eq__le__subst,axiom,
    ! [X_a,X_b] :
      ( ( ord(X_b)
        & ord(X_a) )
     => ! [C_1,Aa,F,Ba] :
          ( ti(X_a,Aa) = hAPP(X_b,X_a,F,Ba)
         => ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),Ba),C_1))
           => ( ! [X_2,Y_2] :
                  ( hBOOL(hAPP(X_b,bool,hAPP(X_b,fun(X_b,bool),ord_less_eq(X_b),X_2),Y_2))
                 => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_b,X_a,F,X_2)),hAPP(X_b,X_a,F,Y_2))) )
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),hAPP(X_b,X_a,F,C_1))) ) ) ) ) ).

fof(fact_460_foldr__invariant,axiom,
    ! [X_b,X_a,F,P_1,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,P_1,X_2)) )
       => ( ! [X_2,Y_2] :
              ( ( hBOOL(hAPP(X_b,bool,P_1,X_2))
                & hBOOL(hAPP(X_a,bool,Q_1,Y_2)) )
             => hBOOL(hAPP(X_a,bool,Q_1,hAPP(X_a,X_a,hAPP(X_b,fun(X_a,X_a),F,X_2),Y_2))) )
         => hBOOL(hAPP(X_a,bool,Q_1,hAPP(X_a,X_a,hAPP(list(X_b),fun(X_a,X_a),hAPP(fun(X_b,fun(X_a,X_a)),fun(list(X_b),fun(X_a,X_a)),foldr(X_b,X_a),F),Xs_1),X_1))) ) ) ) ).

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

fof(fact_462_dual__min,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,X_a)),min(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),ord_less_eq(X_a))) = ord_max(X_a) ) ).

fof(fact_463_list_Osize_I4_J,axiom,
    ! [X_a,A_2,List] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),A_2),List)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),List)),hAPP(nat,nat,suc,zero_zero(nat))) ).

fof(fact_464_diff__Suc,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),hAPP(nat,nat,suc,N)) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),zero_zero(nat)),combi(nat)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M),N)) ).

fof(fact_465_min__Suc2,axiom,
    ! [M,N] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),M),hAPP(nat,nat,suc,N)) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),zero_zero(nat)),hAPP(fun(nat,nat),fun(nat,nat),hAPP(fun(nat,nat),fun(fun(nat,nat),fun(nat,nat)),combb(nat,nat,nat),suc),hAPP(nat,fun(nat,nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(nat,nat)),combc(nat,nat,nat),ord_min(nat)),N))),M) ).

fof(fact_466_min__max_Ole__infE,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)))
         => ~ ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),A_2))
             => ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),B_2)) ) ) ) ).

fof(fact_467_min__max_Oinf__mono,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,D_1,A_2,C_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),C_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),C_2),D_1))) ) ) ) ).

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

fof(fact_469_min__max_Ole__infI,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,X,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2))) ) ) ) ).

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

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

fof(fact_472_min__max_Ole__infI2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)),X)) ) ) ).

fof(fact_473_min__max_Ole__infI1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,A_2,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)),X)) ) ) ).

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

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

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

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

fof(fact_478_min__max_Oinf_Oidem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),A_2) = ti(X_a,A_2) ) ).

fof(fact_479_fun__diff__def,axiom,
    ! [X_a,X_b] :
      ( minus(X_b)
     => ! [A_1,B,X_2] : hAPP(X_a,X_b,hAPP(fun(X_a,X_b),fun(X_a,X_b),hAPP(fun(X_a,X_b),fun(fun(X_a,X_b),fun(X_a,X_b)),minus_minus(fun(X_a,X_b)),A_1),B),X_2) = hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),minus_minus(X_b),hAPP(X_a,X_b,A_1,X_2)),hAPP(X_a,X_b,B,X_2)) ) ).

fof(fact_480_min__max_Oinf_Ocommute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B_2),A_2) ) ).

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

fof(fact_482_min__max_Oinf_Oleft__idem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2) ) ).

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

fof(fact_484_min__max_Oinf_Oleft__commute,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,A_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),C_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B_2),C_2)) ) ).

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

fof(fact_486_min__max_Oinf_Oassoc,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2,C_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)),C_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),B_2),C_2)) ) ).

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

fof(fact_488_minus__apply,axiom,
    ! [X_b,X_a] :
      ( minus(X_a)
     => ! [A_1,B,X_1] : hAPP(X_b,X_a,hAPP(fun(X_b,X_a),fun(X_b,X_a),hAPP(fun(X_b,X_a),fun(fun(X_b,X_a),fun(X_b,X_a)),minus_minus(fun(X_b,X_a)),A_1),B),X_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),hAPP(X_b,X_a,A_1,X_1)),hAPP(X_b,X_a,B,X_1)) ) ).

fof(fact_489_min__max_Osup__inf__absorb,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)) = ti(X_a,X) ) ).

fof(fact_490_min__max_Oinf__sup__absorb,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y)) = ti(X_a,X) ) ).

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

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

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

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

fof(fact_495_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_496_take__append,axiom,
    ! [X_a,N_1,Xs,Ys_1] : 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),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_1),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))),Ys_1)) ).

fof(fact_497_right__minus__eq,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [Aa,Ba] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = zero_zero(X_a)
        <=> ti(X_a,Aa) = ti(X_a,Ba) ) ) ).

fof(fact_498_eq__iff__diff__eq__0,axiom,
    ! [X_a] :
      ( ab_group_add(X_a)
     => ! [Aa,Ba] :
          ( ti(X_a,Aa) = ti(X_a,Ba)
        <=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = zero_zero(X_a) ) ) ).

fof(fact_499_diff__self,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),A_2),A_2) = zero_zero(X_a) ) ).

fof(fact_500_diff__0__right,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),A_2),zero_zero(X_a)) = ti(X_a,A_2) ) ).

fof(fact_501_add__diff__cancel,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_2,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),B_2) = ti(X_a,A_2) ) ).

fof(fact_502_diff__add__cancel,axiom,
    ! [X_a] :
      ( group_add(X_a)
     => ! [A_2,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),A_2),B_2)),B_2) = ti(X_a,A_2) ) ).

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

fof(fact_504_max__diff__distrib__left,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [X,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),X),Z_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Y),Z_1)) ) ).

fof(fact_505_min__0L,axiom,
    ! [N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),zero_zero(nat)),N_1) = zero_zero(nat) ).

fof(fact_506_min__0R,axiom,
    ! [N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),N_1),zero_zero(nat)) = zero_zero(nat) ).

fof(fact_507_min__Suc__Suc,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(nat,nat,suc,M_1)),hAPP(nat,nat,suc,N_1)) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),M_1),N_1)) ).

fof(fact_508_diff__0__eq__0,axiom,
    ! [N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),zero_zero(nat)),N_1) = zero_zero(nat) ).

fof(fact_509_minus__nat_Odiff__0,axiom,
    ! [M_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),zero_zero(nat)) = M_1 ).

fof(fact_510_diff__self__eq__0,axiom,
    ! [M_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),M_1) = zero_zero(nat) ).

fof(fact_511_diffs0__imp__equal,axiom,
    ! [M_1,N_1] :
      ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),N_1) = zero_zero(nat)
     => ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),M_1) = zero_zero(nat)
       => M_1 = N_1 ) ) ).

fof(fact_512_Suc__diff__diff,axiom,
    ! [M_1,N_1,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,M_1)),N_1)),hAPP(nat,nat,suc,K)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),N_1)),K) ).

fof(fact_513_diff__Suc__Suc,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,M_1)),hAPP(nat,nat,suc,N_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),N_1) ).

fof(fact_514_diff__cancel2,axiom,
    ! [M_1,K,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),K)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),N_1) ).

fof(fact_515_diff__cancel,axiom,
    ! [K,M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K),M_1)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K),N_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),N_1) ).

fof(fact_516_diff__diff__left,axiom,
    ! [I_1,J,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_1),J)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K)) ).

fof(fact_517_diff__add__inverse,axiom,
    ! [N_1,M_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),M_1)),N_1) = M_1 ).

fof(fact_518_diff__add__inverse2,axiom,
    ! [M_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),N_1)),N_1) = M_1 ).

fof(fact_519_diff__commute,axiom,
    ! [I_1,J,K] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_1),J)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),I_1),K)),J) ).

fof(fact_520_min__diff,axiom,
    ! [M_1,I_1,N_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),I_1)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),I_1)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),M_1),N_1)),I_1) ).

fof(fact_521_Min_Oidem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),X) = ti(X_a,X) ) ).

fof(fact_522_min__diff__distrib__left,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [X,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),X),Z_1)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Y),Z_1)) ) ).

fof(fact_523_diff__eq__diff__eq,axiom,
    ! [X_a] :
      ( ab_group_add(X_a)
     => ! [Aa,Ba,C_1,D_2] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),C_1),D_2)
         => ( ti(X_a,Aa) = ti(X_a,Ba)
          <=> ti(X_a,C_1) = ti(X_a,D_2) ) ) ) ).

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

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

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

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

fof(fact_528_diff__le__mono2,axiom,
    ! [L,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),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),N_1)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),M_1))) ) ).

fof(fact_529_diff__le__mono,axiom,
    ! [L,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),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),L)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),L))) ) ).

fof(fact_530_diff__diff__cancel,axiom,
    ! [I_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),N_1))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),I_1)) = I_1 ) ).

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

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

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

fof(fact_534_diff__eq__diff__less__eq,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba,C_1,D_2] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),C_1),D_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba))
          <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_1),D_2)) ) ) ) ).

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

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

fof(fact_537_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_538_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_539_length__sort,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,Xs_1] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),Xs_1)) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) ) ).

fof(fact_540_le__iff__diff__le__0,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),Aa),Ba))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba)),zero_zero(X_a))) ) ) ).

fof(fact_541_min__max_Odistrib__inf__le,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y,Z_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Z_1))),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),Y),Z_1)))) ) ).

fof(fact_542_min__max_Odistrib__sup__le,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y,Z_1] : hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y),Z_1))),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Z_1)))) ) ).

fof(fact_543_diff__add__0,axiom,
    ! [N_1,M_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),M_1)) = zero_zero(nat) ).

fof(fact_544_list_Osize_I3_J,axiom,
    ! [X_a] : hAPP(list(X_a),nat,size_size(list(X_a)),nil(X_a)) = zero_zero(nat) ).

fof(fact_545_length__0__conv,axiom,
    ! [X_a,Xs_1] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = zero_zero(nat)
    <=> Xs_1 = nil(X_a) ) ).

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

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

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

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

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

fof(fact_551_le__diff__conv,axiom,
    ! [J_1,K_1,I] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_1),K_1)),I))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I),K_1))) ) ).

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

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

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

fof(fact_555_le__diff__conv2,axiom,
    ! [I,K_1,J_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_1),J_1))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_1),K_1)))
      <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I),K_1)),J_1)) ) ) ).

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

fof(fact_557_le__imp__diff__is__add,axiom,
    ! [K_1,I,J_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I),J_1))
     => ( hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_1),I) = K_1
      <=> J_1 = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K_1),I) ) ) ).

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

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

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

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

fof(fact_562_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_563_take__replicate,axiom,
    ! [X_a,I_1,K,X] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_1),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),I_1),K)),X) ).

fof(fact_564_length__takeWhile__le,axiom,
    ! [X_a,P_1,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),P_1),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) ).

fof(fact_565_length__insort,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,X_1,Xs_1] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),X_1),Xs_1)) = hAPP(nat,nat,suc,hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)) ) ).

fof(fact_566_length__dropWhile__le,axiom,
    ! [X_a,P_1,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),P_1),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) ).

fof(fact_567_nat__minus__add__max,axiom,
    ! [N_1,M_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),M_1)),M_1) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),N_1),M_1) ).

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

fof(fact_569_dual__max,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,X_a)),max(X_a),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),ord_less_eq(X_a))) = ord_min(X_a) ) ).

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

fof(fact_571_diff__Suc__diff__eq2,axiom,
    ! [M_1,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K))),M_1) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,suc,J)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),K),M_1)) ) ).

fof(fact_572_diff__Suc__diff__eq1,axiom,
    ! [M_1,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K),J))
     => hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),K))) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),K)),hAPP(nat,nat,suc,J)) ) ).

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

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

fof(fact_575_Max_Oidem,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),X) = ti(X_a,X) ) ).

fof(fact_576_sublist__append,axiom,
    ! [X_a,L_2,L_1,A_1] : hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),L_2),L_1)),A_1) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),L_2),A_1)),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),L_1),hAPP(fun(nat,bool),fun(nat,bool),collect(nat),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,bool),fun(nat,bool)),combc(nat,fun(nat,bool),bool),hAPP(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool)),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,nat),fun(nat,fun(fun(nat,bool),bool))),combb(nat,fun(fun(nat,bool),bool),nat),member(nat)),hAPP(nat,fun(nat,nat),hAPP(fun(nat,fun(nat,nat)),fun(nat,fun(nat,nat)),combc(nat,nat,nat),plus_plus(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),L_2)))),A_1)))) ).

fof(fact_577_min__Suc1,axiom,
    ! [N,M] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_min(nat),hAPP(nat,nat,suc,N)),M) = hAPP(nat,nat,hAPP(fun(nat,nat),fun(nat,nat),hAPP(nat,fun(fun(nat,nat),fun(nat,nat)),nat_case(nat),zero_zero(nat)),hAPP(fun(nat,nat),fun(nat,nat),hAPP(fun(nat,nat),fun(fun(nat,nat),fun(nat,nat)),combb(nat,nat,nat),suc),hAPP(nat,fun(nat,nat),ord_min(nat),N))),M) ).

fof(fact_578_list__induct2,axiom,
    ! [X_a,X_b,P_1,Xs_1,Ys] :
      ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys)
     => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_1,nil(X_a)),nil(X_b)))
       => ( ! [X_2,Xs_2,Y_2,Ys_3] :
              ( hAPP(list(X_a),nat,size_size(list(X_a)),Xs_2) = hAPP(list(X_b),nat,size_size(list(X_b)),Ys_3)
             => ( hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_1,Xs_2),Ys_3))
               => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_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)),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Y_2),Ys_3))) ) )
         => hBOOL(hAPP(list(X_b),bool,hAPP(list(X_a),fun(list(X_b),bool),P_1,Xs_1),Ys)) ) ) ) ).

fof(fact_579_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_3] :
          ( 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_3)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Ys_3) = N ) ) ).

fof(fact_580_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_3] :
          ( 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_3)
          & hAPP(list(X_a),nat,size_size(list(X_a)),Ys_3) = N ) ) ).

fof(fact_581_min__max_Odistrib__imp2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y,Z_1] :
          ( ! [X_2,Y_2,Z] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y_2),Z)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X_2),Y_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X_2),Z))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),Y),Z_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Y)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X),Z_1)) ) ) ).

fof(fact_582_double__diff,axiom,
    ! [X_a,C_3,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_3))
       => hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),B),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),C_3),A_1)) = ti(fun(X_a,bool),A_1) ) ) ).

fof(fact_583_Diff__mono,axiom,
    ! [X_a,D_3,B,A_1,C_3] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),C_3))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),D_3),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)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),C_3),D_3))) ) ) ).

fof(fact_584_Diff__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_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B)),A_1)) ).

fof(fact_585_min__max_Odistrib__imp1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [X,Y,Z_1] :
          ( ! [X_2,Y_2,Z] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),Y_2),Z)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X_2),Y_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),X_2),Z))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),Y),Z_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Y)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),X),Z_1)) ) ) ).

fof(fact_586_zero__induct__lemma,axiom,
    ! [I,P_1,K_1] :
      ( hBOOL(hAPP(nat,bool,P_1,K_1))
     => ( ! [N_2] :
            ( hBOOL(hAPP(nat,bool,P_1,hAPP(nat,nat,suc,N_2)))
           => hBOOL(hAPP(nat,bool,P_1,N_2)) )
       => hBOOL(hAPP(nat,bool,P_1,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),K_1),I))) ) ) ).

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

fof(fact_588_DiffI,axiom,
    ! [X_a,B,C_1,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),A_1))
     => ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),B))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B))) ) ) ).

fof(fact_589_DiffE,axiom,
    ! [X_a,C_1,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B)))
     => ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),A_1))
         => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),B)) ) ) ).

fof(fact_590_set__diff__eq,axiom,
    ! [X_a,A_1,B] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_1))),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),B)))) ).

fof(fact_591_Diff__iff,axiom,
    ! [X_a,C_1,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B)))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),A_1))
        & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),B)) ) ) ).

fof(fact_592_Diff__idemp,axiom,
    ! [X_a,A_1,B] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B)),B) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B) ).

fof(fact_593_DiffD1,axiom,
    ! [X_a,C_1,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B)))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),A_1)) ) ).

fof(fact_594_DiffD2,axiom,
    ! [X_a,C_1,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_1),B)))
     => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),B)) ) ).

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

fof(fact_596_take__Suc__conv__app__nth,axiom,
    ! [X_a,I_1,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,suc,I_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),I_1),Xs)),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_1)),nil(X_a))) ) ).

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

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

fof(fact_599_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_600_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_601_zero__less__Suc,axiom,
    ! [N_1] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(nat,nat,suc,N_1))) ).

fof(fact_602_less__imp__diff__less,axiom,
    ! [N_1,J,K] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J),K))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),N_1)),K)) ) ).

fof(fact_603_diff__less__mono2,axiom,
    ! [L,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),L))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),N_1)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),L),M_1))) ) ) ).

fof(fact_604_diff__eq__diff__less,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba,C_1,D_2] :
          ( hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),C_1),D_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),Ba))
          <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C_1),D_2)) ) ) ) ).

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

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

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

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

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

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

fof(fact_611_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_612_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_613_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_614_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_615_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_616_xt1_I12_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [A_2,B_2] :
          ( ti(X_a,A_2) != ti(X_a,B_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),A_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),A_2)) ) ) ) ).

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

fof(fact_618_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_619_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_620_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_621_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_622_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_623_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_624_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_625_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_626_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_627_termination__basic__simps_I2_J,axiom,
    ! [Y,X,Z_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),Z_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),X),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Y),Z_1))) ) ).

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

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

fof(fact_630_neq0__conv,axiom,
    ! [N] :
      ( N != zero_zero(nat)
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N)) ) ).

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

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

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

fof(fact_634_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_635_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_636_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_637_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_638_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_639_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_640_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_641_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_642_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_643_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_644_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_645_not__add__less1,axiom,
    ! [I_1,J] : ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),J)),I_1)) ).

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

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

fof(fact_648_trans__less__add1,axiom,
    ! [M_1,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),I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),M_1))) ) ).

fof(fact_649_trans__less__add2,axiom,
    ! [M_1,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),I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),J))) ) ).

fof(fact_650_add__less__mono1,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),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K))) ) ).

fof(fact_651_add__less__mono,axiom,
    ! [K,L,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),K),L))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),L))) ) ) ).

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

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

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

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

fof(fact_656_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_657_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_658_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_659_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_660_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_661_nat__less__cases,axiom,
    ! [P_1,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),P_1,N),M)) )
     => ( ( M = N
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),P_1,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),P_1,N),M)) )
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),P_1,N),M)) ) ) ) ).

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

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

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

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

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

fof(fact_670_add__strict__right__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),C_2))) ) ) ).

fof(fact_671_add__strict__left__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),A_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),B_2))) ) ) ).

fof(fact_672_add__strict__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C_2,D_1,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C_2),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),D_1))) ) ) ) ).

fof(fact_673_add__less__imp__less__right,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [A_2,C_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),C_2)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_2)) ) ) ).

fof(fact_674_add__less__imp__less__left,axiom,
    ! [X_a] :
      ( ordere236663937imp_le(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),A_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),C_2),B_2)))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_2)) ) ) ).

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

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

fof(fact_679_xt1_I2_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C_2,B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),A_2))
         => ( ti(X_a,B_2) = ti(X_a,C_2)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C_2),A_2)) ) ) ) ).

fof(fact_680_ord__less__eq__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C_2,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_2))
         => ( ti(X_a,B_2) = ti(X_a,C_2)
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),C_2)) ) ) ) ).

fof(fact_681_xt1_I1_J,axiom,
    ! [X_a] :
      ( order(X_a)
     => ! [C_2,A_2,B_2] :
          ( ti(X_a,A_2) = ti(X_a,B_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C_2),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C_2),A_2)) ) ) ) ).

fof(fact_682_ord__eq__less__trans,axiom,
    ! [X_a] :
      ( ord(X_a)
     => ! [C_2,A_2,B_2] :
          ( ti(X_a,A_2) = ti(X_a,B_2)
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),C_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),C_2)) ) ) ) ).

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

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

fof(fact_685_order__less__imp__triv,axiom,
    ! [X_a] :
      ( preorder(X_a)
     => ! [P_1,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(P_1) ) ) ) ).

fof(fact_686_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_687_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_688_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_689_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_690_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_691_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_692_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_693_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_694_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_695_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_696_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_697_min__max_Oless__supI2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,X,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),B_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2))) ) ) ).

fof(fact_698_min__max_Oless__supI1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,X,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),A_2))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_max(X_a),A_2),B_2))) ) ) ).

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

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

fof(fact_701_min__max_Oless__infI2,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [A_2,B_2,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)),X)) ) ) ).

fof(fact_702_min__max_Oless__infI1,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [B_2,A_2,X] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),X))
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),ord_min(X_a),A_2),B_2)),X)) ) ) ).

fof(fact_703_add__le__less__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C_2,D_1,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),B_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),C_2),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),D_1))) ) ) ) ).

fof(fact_704_add__less__le__mono,axiom,
    ! [X_a] :
      ( ordere223160158up_add(X_a)
     => ! [C_2,D_1,A_2,B_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),B_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),C_2),D_1))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),B_2),D_1))) ) ) ) ).

fof(fact_705_even__less__0__iff,axiom,
    ! [X_a] :
      ( linordered_idom(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)),zero_zero(X_a)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),zero_zero(X_a))) ) ) ).

fof(fact_706_zero__less__double__add__iff__zero__less__single__add,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),Aa)) ) ) ).

fof(fact_707_double__add__less__zero__iff__single__add__less__zero,axiom,
    ! [X_a] :
      ( linord219039673up_add(X_a)
     => ! [Aa] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Aa),Aa)),zero_zero(X_a)))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),zero_zero(X_a))) ) ) ).

fof(fact_708_add__pos__pos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2))) ) ) ) ).

fof(fact_709_add__neg__neg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),zero_zero(X_a))) ) ) ) ).

fof(fact_710_less__iff__diff__less__0,axiom,
    ! [X_a] :
      ( ordered_ab_group_add(X_a)
     => ! [Aa,Ba] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),Aa),Ba))
        <=> hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),minus_minus(X_a),Aa),Ba)),zero_zero(X_a))) ) ) ).

fof(fact_711_gr0__conv__Suc,axiom,
    ! [N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N))
    <=> ? [M_2] : N = hAPP(nat,nat,suc,M_2) ) ).

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

fof(fact_713_less__Suc__eq__0__disj,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M),hAPP(nat,nat,suc,N)))
    <=> ( M = zero_zero(nat)
        | ? [J_2] :
            ( M = hAPP(nat,nat,suc,J_2)
            & hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_2),N)) ) ) ) ).

fof(fact_714_add__gr__0,axiom,
    ! [M,N] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),N)))
    <=> ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),M))
        | hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N)) ) ) ).

fof(fact_715_less__add__Suc1,axiom,
    ! [I_1,M_1] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),M_1)))) ).

fof(fact_716_less__add__Suc2,axiom,
    ! [I_1,M_1] : hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M_1),I_1)))) ).

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

fof(fact_718_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)) ) ).

fof(fact_719_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_720_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_721_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_722_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_723_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_724_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_725_diff__less,axiom,
    ! [M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N_1))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),M_1))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),N_1)),M_1)) ) ) ).

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

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

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

fof(fact_729_less__diff__conv,axiom,
    ! [I,J_1,K_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J_1),K_1)))
    <=> hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I),K_1)),J_1)) ) ).

fof(fact_730_diff__less__mono,axiom,
    ! [C_2,A_2,B_2] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),A_2),B_2))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),C_2),A_2))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),A_2),C_2)),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),B_2),C_2))) ) ) ).

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

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

fof(fact_733_nth__take,axiom,
    ! [X_a,Xs,I_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),N_1))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N_1),Xs)),I_1) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),I_1) ) ).

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

fof(fact_735_list__size__estimation,axiom,
    ! [X_a,Y_1,F,X_1,Xs_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Y_1),hAPP(X_a,nat,F,X_1)))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Y_1),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),F),Xs_1))) ) ) ).

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

fof(fact_737_add__nonpos__neg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),A_2),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),zero_zero(X_a))) ) ) ) ).

fof(fact_738_add__neg__nonpos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),A_2),zero_zero(X_a)))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),zero_zero(X_a)))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2)),zero_zero(X_a))) ) ) ) ).

fof(fact_739_add__strict__increasing2,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,C_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),C_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2))) ) ) ) ).

fof(fact_740_add__strict__increasing,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,C_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),B_2),C_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2))) ) ) ) ).

fof(fact_741_add__nonneg__pos,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2))) ) ) ) ).

fof(fact_742_add__pos__nonneg,axiom,
    ! [X_a] :
      ( ordere216010020id_add(X_a)
     => ! [B_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),zero_zero(X_a)),B_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),B_2))) ) ) ) ).

fof(fact_743_length__greater__0__conv,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
    <=> Xs_1 != nil(X_a) ) ).

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

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

fof(fact_746_diff__Suc__less,axiom,
    ! [I_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N_1))
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),hAPP(nat,nat,suc,I_1))),N_1)) ) ).

fof(fact_747_nat__diff__split__asm,axiom,
    ! [P_1,Aa,Ba] :
      ( hBOOL(hAPP(nat,bool,P_1,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),Aa),Ba)))
    <=> ~ ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Aa),Ba))
            & ~ hBOOL(hAPP(nat,bool,P_1,zero_zero(nat))) )
          | ? [D] :
              ( Aa = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Ba),D)
              & ~ hBOOL(hAPP(nat,bool,P_1,D)) ) ) ) ).

fof(fact_748_nat__diff__split,axiom,
    ! [P_1,Aa,Ba] :
      ( hBOOL(hAPP(nat,bool,P_1,hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),Aa),Ba)))
    <=> ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),Aa),Ba))
         => hBOOL(hAPP(nat,bool,P_1,zero_zero(nat))) )
        & ! [D] :
            ( Aa = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),Ba),D)
           => hBOOL(hAPP(nat,bool,P_1,D)) ) ) ) ).

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

fof(fact_750_all__set__conv__all__nth,axiom,
    ! [X_a,P_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,P_1,X_2)) )
    <=> ! [I_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => hBOOL(hAPP(X_a,bool,P_1,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I_2))) ) ) ).

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

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

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

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

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

fof(fact_756_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_757_list__all__length,axiom,
    ! [X_a,P_1,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,hAPP(fun(X_a,bool),fun(list(X_a),bool),list_all(X_a),P_1),Xs_1))
    <=> ! [N_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => hBOOL(hAPP(X_a,bool,P_1,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N_2))) ) ) ).

fof(fact_758_nth__append,axiom,
    ! [X_a,Ys_1,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(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N_1) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),N_1) )
      & ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
       => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N_1) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Ys_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))) ) ) ).

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

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

fof(fact_761_rev__nth,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(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(X_a),list(X_a),rev(X_a),Xs)),N_1) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),hAPP(nat,nat,suc,N_1))) ) ).

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

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

fof(fact_764_takeWhile__eq__take__P__nth,axiom,
    ! [X_a,P_1,Xs_1,N] :
      ( ! [I_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),N))
         => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
           => hBOOL(hAPP(X_a,bool,P_1,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I_2))) ) )
     => ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => ~ hBOOL(hAPP(X_a,bool,P_1,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N))) )
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),N),Xs_1) ) ) ).

fof(fact_765_length__takeWhile__less__P__nth,axiom,
    ! [X_a,P_1,Xs_1,J_1] :
      ( ! [I_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J_1))
         => hBOOL(hAPP(X_a,bool,P_1,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I_2))) )
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J_1),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),takeWhile(X_a),P_1),Xs_1)))) ) ) ).

fof(fact_766_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_767_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_768_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_769_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_770_psubset__subset__trans,axiom,
    ! [X_a,C_3,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_3))
       => 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_3)) ) ) ).

fof(fact_771_subset__psubset__trans,axiom,
    ! [X_a,C_3,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_3))
       => 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_3)) ) ) ).

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

fof(fact_773_list__size__pointwise,axiom,
    ! [X_a,F,G,Xs_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(X_a,nat,F,X_2)),hAPP(X_a,nat,G,X_2))) )
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),F),Xs_1)),hAPP(list(X_a),nat,hAPP(fun(X_a,nat),fun(list(X_a),nat),list_size(X_a),G),Xs_1))) ) ).

fof(fact_774_psubset__trans,axiom,
    ! [X_a,C_3,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(fun(X_a,bool)),B),C_3))
       => 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_3)) ) ) ).

fof(fact_775_psubsetD,axiom,
    ! [X_a,C_1,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(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),C_1),B)) ) ) ).

fof(fact_776_all__nth__imp__all__set,axiom,
    ! [X_a,X_1,P_1,Xs_1] :
      ( ! [I_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
         => hBOOL(hAPP(X_a,bool,P_1,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),I_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),Xs_1)))
       => hBOOL(hAPP(X_a,bool,P_1,X_1)) ) ) ).

fof(fact_777_list__ball__nth,axiom,
    ! [X_a,P_1,N,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_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,P_1,X_2)) )
       => hBOOL(hAPP(X_a,bool,P_1,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N))) ) ) ).

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

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

fof(fact_780_mono__nat__linear__lb,axiom,
    ! [M,K_1,F] :
      ( ! [M_2,N_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),M_2),N_2))
         => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,F,M_2)),hAPP(nat,nat,F,N_2))) )
     => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),hAPP(nat,nat,F,M)),K_1)),hAPP(nat,nat,F,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),K_1)))) ) ).

fof(fact_781_inc__induct,axiom,
    ! [P_1,I,J_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I),J_1))
     => ( hBOOL(hAPP(nat,bool,P_1,J_1))
       => ( ! [I_2] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),J_1))
             => ( hBOOL(hAPP(nat,bool,P_1,hAPP(nat,nat,suc,I_2)))
               => hBOOL(hAPP(nat,bool,P_1,I_2)) ) )
         => hBOOL(hAPP(nat,bool,P_1,I)) ) ) ) ).

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

fof(fact_783_ex__least__nat__le,axiom,
    ! [N,P_1] :
      ( ~ hBOOL(hAPP(nat,bool,P_1,zero_zero(nat)))
     => ( hBOOL(hAPP(nat,bool,P_1,N))
       => ? [K_2] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),K_2),N))
            & ! [I_2] :
                ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),K_2))
               => ~ hBOOL(hAPP(nat,bool,P_1,I_2)) )
            & hBOOL(hAPP(nat,bool,P_1,K_2)) ) ) ) ).

fof(fact_784_less__imp__add__positive,axiom,
    ! [I_1,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),J))
     => ? [K_2] :
          ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),K_2))
          & hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K_2) = J ) ) ).

fof(fact_785_gr0__implies__Suc,axiom,
    ! [N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),zero_zero(nat)),N_1))
     => ? [M_2] : N_1 = hAPP(nat,nat,suc,M_2) ) ).

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

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

fof(fact_788_pos__add__strict,axiom,
    ! [X_a] :
      ( linordered_semidom(X_a)
     => ! [B_2,C_2,A_2] :
          ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),A_2))
         => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),C_2))
           => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),A_2),C_2))) ) ) ) ).

fof(fact_789_psubset__imp__ex__mem,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))
     => ? [B_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),B),A_1))) ) ).

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

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

fof(fact_792_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_793_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_794_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_795_length__drop,axiom,
    ! [X_a,N_1,Xs] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),Xs)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),N_1) ).

fof(fact_796_nth__via__drop,axiom,
    ! [X_a,N_1,Xs,Y,Ys_1] :
      ( 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(X_a,fun(list(X_a),list(X_a)),cons(X_a),Y),Ys_1)
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),N_1) = ti(X_a,Y) ) ).

fof(fact_797_take__drop,axiom,
    ! [X_a,N_1,M_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),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),M_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),M_1),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),M_1)),Xs)) ).

fof(fact_798_drop__take,axiom,
    ! [X_a,N_1,M_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),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),M_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),M_1),N_1)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),Xs)) ).

fof(fact_799_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_800_drop__replicate,axiom,
    ! [X_a,I_1,K,X] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),I_1),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),K),X)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),K),I_1)),X) ).

fof(fact_801_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_802_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_803_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_804_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_805_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_806_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_807_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_808_drop__drop,axiom,
    ! [X_a,N_1,M_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),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),M_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),N_1),M_1)),Xs) ).

fof(fact_809_drop__0,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),zero_zero(nat)),Xs) = Xs ).

fof(fact_810_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_811_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_812_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_813_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_814_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_815_drop__append,axiom,
    ! [X_a,N_1,Xs,Ys_1] : 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),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),N_1),Xs)),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))),Ys_1)) ).

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

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

fof(fact_818_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_819_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_820_dropWhile__eq__drop,axiom,
    ! [X_a,P_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),P_1),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),P_1),Xs_1))),Xs_1) ).

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

fof(fact_822_append__eq__append__conv__if,axiom,
    ! [X_a,Xs_1_1,Xs_2_1,Ys_1_1,Ys_2] :
      ( 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)
    <=> ( ( 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) ) )
        & ( ~ 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 ) ) ) ) ).

fof(fact_823_rev__drop,axiom,
    ! [X_a,I_1,Xs] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),I_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),I_1)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) ).

fof(fact_824_rev__take,axiom,
    ! [X_a,I_1,Xs] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),take(X_a),I_1),Xs)) = hAPP(list(X_a),list(X_a),hAPP(nat,fun(list(X_a),list(X_a)),drop(X_a),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)),I_1)),hAPP(list(X_a),list(X_a),rev(X_a),Xs)) ).

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

fof(fact_826_hd__drop__conv__nth,axiom,
    ! [X_a,N_1,Xs] :
      ( Xs != nil(X_a)
     => ( 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,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)) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs),N_1) ) ) ).

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

fof(fact_828_lessE,axiom,
    ! [I_1,K] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),K))
     => ( K != hAPP(nat,nat,suc,I_1)
       => ~ ! [J_2] :
              ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),J_2))
             => K != hAPP(nat,nat,suc,J_2) ) ) ) ).

fof(fact_829_Suc__lessE,axiom,
    ! [I_1,K] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,suc,I_1)),K))
     => ~ ! [J_2] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),J_2))
           => K != hAPP(nat,nat,suc,J_2) ) ) ).

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

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

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

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

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

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

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

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

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

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

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

fof(fact_841_field__le__epsilon,axiom,
    ! [X_a] :
      ( linordered_field(X_a)
     => ! [X,Y] :
          ( ! [E] :
              ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less(X_a),zero_zero(X_a)),E))
             => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),plus_plus(X_a),Y),E))) )
         => hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),ord_less_eq(X_a),X),Y)) ) ) ).

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

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

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

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

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

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

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

fof(fact_849_length__list__update,axiom,
    ! [X_a,Xs,I_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)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_1),X)) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs) ).

fof(fact_850_list__update__beyond,axiom,
    ! [X_a,X,Xs,I_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)),I_1))
     => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_1),X) = Xs ) ).

fof(fact_851_set__update__subsetI,axiom,
    ! [X_a,I,X_1,Xs_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)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_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)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs_1),I),X_1))),A_1)) ) ) ).

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

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

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

fof(fact_855_list__update__append1,axiom,
    ! [X_a,Ys_1,X,I_1,Xs] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
     => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),I_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)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),I_1),X)),Ys_1) ) ).

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

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

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

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

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

fof(fact_861_list__update__append,axiom,
    ! [X_a,Ys_1,X,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(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N_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)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Xs),N_1),X)),Ys_1) )
      & ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs)))
       => hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),Ys_1)),N_1),X) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),Ys_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N_1),hAPP(list(X_a),nat,size_size(list(X_a)),Xs))),X)) ) ) ).

fof(fact_862_transpose__aux__max,axiom,
    ! [X_a,X_b,Xs_1,Xss] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),hAPP(nat,nat,suc,hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))),hAPP(nat,nat,hAPP(list(list(X_b)),fun(nat,nat),hAPP(fun(list(X_b),fun(nat,nat)),fun(list(list(X_b)),fun(nat,nat)),foldr(list(X_b),nat),hAPP(fun(list(X_b),nat),fun(list(X_b),fun(nat,nat)),hAPP(fun(nat,fun(nat,nat)),fun(fun(list(X_b),nat),fun(list(X_b),fun(nat,nat))),combb(nat,fun(nat,nat),list(X_b)),ord_max(nat)),size_size(list(X_b)))),Xss),zero_zero(nat))) = hAPP(nat,nat,suc,hAPP(nat,nat,hAPP(nat,fun(nat,nat),ord_max(nat),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)),hAPP(nat,nat,hAPP(list(list(X_b)),fun(nat,nat),hAPP(fun(list(X_b),fun(nat,nat)),fun(list(list(X_b)),fun(nat,nat)),foldr(list(X_b),nat),hAPP(fun(list(X_b),nat),fun(list(X_b),fun(nat,nat)),hAPP(fun(nat,fun(nat,nat)),fun(fun(list(X_b),nat),fun(list(X_b),fun(nat,nat))),combb(nat,fun(nat,nat),list(X_b)),ord_max(nat)),hAPP(nat,fun(list(X_b),nat),hAPP(fun(list(X_b),fun(nat,nat)),fun(nat,fun(list(X_b),nat)),combc(list(X_b),nat,nat),hAPP(fun(list(X_b),nat),fun(list(X_b),fun(nat,nat)),hAPP(fun(nat,fun(nat,nat)),fun(fun(list(X_b),nat),fun(list(X_b),fun(nat,nat))),combb(nat,fun(nat,nat),list(X_b)),minus_minus(nat)),size_size(list(X_b)))),hAPP(nat,nat,suc,zero_zero(nat))))),hAPP(list(list(X_b)),list(list(X_b)),hAPP(fun(list(X_b),bool),fun(list(list(X_b)),list(list(X_b))),filter(list(X_b)),hAPP(fun(list(X_b),bool),fun(list(X_b),bool),hAPP(fun(bool,bool),fun(fun(list(X_b),bool),fun(list(X_b),bool)),combb(bool,bool,list(X_b)),fNot),hAPP(list(X_b),fun(list(X_b),bool),hAPP(fun(list(X_b),fun(list(X_b),bool)),fun(list(X_b),fun(list(X_b),bool)),combc(list(X_b),list(X_b),bool),fequal(list(X_b))),nil(X_b)))),Xss)),zero_zero(nat)))) ).

fof(fact_863_set__sublist,axiom,
    ! [X_a,Xs_1,I_3] : hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),I_3)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,bool),hAPP(fun(fun(nat,bool),bool),fun(fun(X_a,fun(nat,bool)),fun(X_a,bool)),combb(fun(nat,bool),bool,X_a),fEx(nat)),hAPP(fun(nat,bool),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,bool),fun(nat,bool))),fun(fun(nat,bool),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,bool),fun(nat,bool)),hAPP(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool))),hAPP(fun(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool))),fun(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool)))),combb(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool)),X_a),combs(nat,bool,bool)),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool))),hAPP(fun(fun(nat,bool),fun(nat,fun(bool,bool))),fun(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool)))),combb(fun(nat,bool),fun(nat,fun(bool,bool)),X_a),hAPP(fun(bool,fun(bool,bool)),fun(fun(nat,bool),fun(nat,fun(bool,bool))),combb(bool,fun(bool,bool),nat),fconj)),hAPP(fun(nat,X_a),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),fun(fun(nat,X_a),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,X_a),fun(nat,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),hAPP(fun(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool))),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool)))),combb(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool)),X_a),combb(X_a,bool,nat)),fequal(X_a))),hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1))))),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool)),combs(nat,bool,bool),hAPP(fun(nat,bool),fun(nat,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(nat,bool),fun(nat,fun(bool,bool))),combb(bool,fun(bool,bool),nat),fconj),hAPP(nat,fun(nat,bool),hAPP(fun(nat,fun(nat,bool)),fun(nat,fun(nat,bool)),combc(nat,nat,bool),ord_less(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))),hAPP(fun(nat,bool),fun(nat,bool),hAPP(fun(nat,fun(fun(nat,bool),bool)),fun(fun(nat,bool),fun(nat,bool)),combc(nat,fun(nat,bool),bool),member(nat)),I_3))))) ).

fof(fact_864_replicate__length__filter,axiom,
    ! [X_a,X_1,Xs_1] : hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(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)),filter(X_a),hAPP(X_a,fun(X_a,bool),fequal(X_a),X_1)),Xs_1))),X_1) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),hAPP(X_a,fun(X_a,bool),fequal(X_a),X_1)),Xs_1) ).

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

fof(fact_866_filter__empty__conv,axiom,
    ! [X_a,P_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),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,P_1,X_2)) ) ) ).

fof(fact_867_length__filter__le,axiom,
    ! [X_a,P_1,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)),filter(X_a),P_1),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) ).

fof(fact_868_filter__replicate,axiom,
    ! [X_a,N,P_1,X_1] :
      ( ( hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X_1)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X_1) )
      & ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),X_1)) = nil(X_a) ) ) ).

fof(fact_869_filter__remove1,axiom,
    ! [X_a,Q_1,X_1,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),Q_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),Q_1),Xs_1)) ).

fof(fact_870_remove1__filter__not,axiom,
    ! [X_a,Xs_1,P_1,X_1] :
      ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
     => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),X_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1) ) ).

fof(fact_871_filter__insort__triv,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,Xs_1,P_1,X_1] :
          ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
         => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1) ) ) ).

fof(fact_872_filter__append,axiom,
    ! [X_a,P_1,Xs_1,Ys] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Ys)) ).

fof(fact_873_distinct__filter,axiom,
    ! [X_a,P_1,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)),filter(X_a),P_1),Xs_1))) ) ).

fof(fact_874_filter__filter,axiom,
    ! [X_a,P_1,Q_1,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),Q_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),Q_1)),P_1)),Xs_1) ).

fof(fact_875_set__filter,axiom,
    ! [X_a,P_1,Xs_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)),filter(X_a),P_1),Xs_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))),P_1)) ).

fof(fact_876_filter__id__conv,axiom,
    ! [X_a,P_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),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,P_1,X_2)) ) ) ).

fof(fact_877_filter_Osimps_I1_J,axiom,
    ! [X_a,P_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),nil(X_a)) = nil(X_a) ).

fof(fact_878_filter_Osimps_I2_J,axiom,
    ! [X_a,Xs_1,P_1,X_1] :
      ( ( hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1)) )
      & ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1) ) ) ).

fof(fact_879_rev__filter,axiom,
    ! [X_a,P_1,Xs_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)),filter(X_a),P_1),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(list(X_a),list(X_a),rev(X_a),Xs_1)) ).

fof(fact_880_sorted__same,axiom,
    ! [X_a] :
      ( linorder(X_a)
     => ! [G,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)),filter(X_a),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,G,Xs_1))),Xs_1))) ) ).

fof(fact_881_filter__sort,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [P_1,F,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),Xs_1)) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_a)),linorder_sort_key(X_a,X_b),F),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1)) ) ).

fof(fact_882_sum__length__filter__compl,axiom,
    ! [X_a,P_1,Xs_1] : hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(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)),filter(X_a),P_1),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(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),P_1)),Xs_1))) = hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1) ).

fof(fact_883_length__filter__less,axiom,
    ! [X_a,P_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),Xs_1)))
     => ( ~ hBOOL(hAPP(X_a,bool,P_1,X_1))
       => hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1))),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) ) ) ).

fof(fact_884_filter__in__sublist,axiom,
    ! [X_a,S,Xs_1] :
      ( 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)),filter(X_a),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)),hAPP(list(X_a),fun(X_a,bool),set(X_a),hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),S)))),Xs_1) = hAPP(fun(nat,bool),list(X_a),hAPP(list(X_a),fun(fun(nat,bool),list(X_a)),sublist(X_a),Xs_1),S) ) ).

fof(fact_885_set__conv__nth,axiom,
    ! [X_a,Xs_1] : hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,bool),hAPP(fun(fun(nat,bool),bool),fun(fun(X_a,fun(nat,bool)),fun(X_a,bool)),combb(fun(nat,bool),bool,X_a),fEx(nat)),hAPP(fun(nat,bool),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,bool),fun(nat,bool))),fun(fun(nat,bool),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,bool),fun(nat,bool)),hAPP(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool))),hAPP(fun(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool))),fun(fun(X_a,fun(nat,fun(bool,bool))),fun(X_a,fun(fun(nat,bool),fun(nat,bool)))),combb(fun(nat,fun(bool,bool)),fun(fun(nat,bool),fun(nat,bool)),X_a),combs(nat,bool,bool)),hAPP(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool))),hAPP(fun(fun(nat,bool),fun(nat,fun(bool,bool))),fun(fun(X_a,fun(nat,bool)),fun(X_a,fun(nat,fun(bool,bool)))),combb(fun(nat,bool),fun(nat,fun(bool,bool)),X_a),hAPP(fun(bool,fun(bool,bool)),fun(fun(nat,bool),fun(nat,fun(bool,bool))),combb(bool,fun(bool,bool),nat),fconj)),hAPP(fun(nat,X_a),fun(X_a,fun(nat,bool)),hAPP(fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),fun(fun(nat,X_a),fun(X_a,fun(nat,bool))),combc(X_a,fun(nat,X_a),fun(nat,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool))),hAPP(fun(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool))),fun(fun(X_a,fun(X_a,bool)),fun(X_a,fun(fun(nat,X_a),fun(nat,bool)))),combb(fun(X_a,bool),fun(fun(nat,X_a),fun(nat,bool)),X_a),combb(X_a,bool,nat)),fequal(X_a))),hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1))))),hAPP(nat,fun(nat,bool),hAPP(fun(nat,fun(nat,bool)),fun(nat,fun(nat,bool)),combc(nat,nat,bool),ord_less(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))))) ).

fof(fact_886_takeWhile__eq__filter,axiom,
    ! [X_a,P_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),hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),dropWhile(X_a),P_1),Xs_1))))
         => ~ hBOOL(hAPP(X_a,bool,P_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),P_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1) ) ).

fof(fact_887_filter__eq__Cons__iff,axiom,
    ! [X_a,P_1,Ys,X_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Ys) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)
    <=> ? [Us,Vs] :
          ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Vs))
          & ! [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),Us)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,X_2)) )
          & hBOOL(hAPP(X_a,bool,P_1,X_1))
          & Xs_1 = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Vs) ) ) ).

fof(fact_888_Cons__eq__filter__iff,axiom,
    ! [X_a,X_1,Xs_1,P_1,Ys] :
      ( 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)),filter(X_a),P_1),Ys)
    <=> ? [Us,Vs] :
          ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Vs))
          & ! [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),Us)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,X_2)) )
          & hBOOL(hAPP(X_a,bool,P_1,X_1))
          & Xs_1 = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Vs) ) ) ).

fof(fact_889_filter__False,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1) = nil(X_a) ) ).

fof(fact_890_transpose__max__length,axiom,
    ! [X_a,Xs_1] : hAPP(nat,nat,hAPP(list(list(X_a)),fun(nat,nat),hAPP(fun(list(X_a),fun(nat,nat)),fun(list(list(X_a)),fun(nat,nat)),foldr(list(X_a),nat),hAPP(fun(list(X_a),nat),fun(list(X_a),fun(nat,nat)),hAPP(fun(nat,fun(nat,nat)),fun(fun(list(X_a),nat),fun(list(X_a),fun(nat,nat))),combb(nat,fun(nat,nat),list(X_a)),ord_max(nat)),size_size(list(X_a)))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1)),zero_zero(nat)) = hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),filter(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),combb(bool,bool,list(X_a)),fNot),hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool)),combc(list(X_a),list(X_a),bool),fequal(list(X_a))),nil(X_a)))),Xs_1)) ).

fof(fact_891_filter__True,axiom,
    ! [X_a,P_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,P_1,X_2)) )
     => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Xs_1) = Xs_1 ) ).

fof(fact_892_transpose_Osimps_I2_J,axiom,
    ! [X_a,Xss_1] : hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(X_a)),nil(X_a)),Xss_1)) = hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xss_1) ).

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

fof(fact_894_transpose_Osimps_I1_J,axiom,
    ! [X_a] : hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),nil(list(X_a))) = nil(list(X_a)) ).

fof(fact_895_length__transpose,axiom,
    ! [X_a,Xs_1] : hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1)) = hAPP(nat,nat,hAPP(list(list(X_a)),fun(nat,nat),hAPP(fun(list(X_a),fun(nat,nat)),fun(list(list(X_a)),fun(nat,nat)),foldr(list(X_a),nat),hAPP(fun(list(X_a),nat),fun(list(X_a),fun(nat,nat)),hAPP(fun(nat,fun(nat,nat)),fun(fun(list(X_a),nat),fun(list(X_a),fun(nat,nat))),combb(nat,fun(nat,nat),list(X_a)),ord_max(nat)),size_size(list(X_a)))),Xs_1),zero_zero(nat)) ).

fof(fact_896_filter__cong,axiom,
    ! [X_a,Q_1,P_1,Xs_1,Ys] :
      ( Xs_1 = Ys
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)))
           => ( hBOOL(hAPP(X_a,bool,P_1,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)),filter(X_a),P_1),Xs_1) = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),Q_1),Ys) ) ) ).

fof(fact_897_Cons__eq__filterD,axiom,
    ! [X_a,X_1,Xs_1,P_1,Ys] :
      ( 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)),filter(X_a),P_1),Ys)
     => ? [Us,Vs] :
          ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Vs))
          & ! [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),Us)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,X_2)) )
          & hBOOL(hAPP(X_a,bool,P_1,X_1))
          & Xs_1 = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Vs) ) ) ).

fof(fact_898_filter__eq__ConsD,axiom,
    ! [X_a,P_1,Ys,X_1,Xs_1] :
      ( hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Ys) = hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1)
     => ? [Us,Vs] :
          ( Ys = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),Us),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Vs))
          & ! [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),Us)))
             => ~ hBOOL(hAPP(X_a,bool,P_1,X_2)) )
          & hBOOL(hAPP(X_a,bool,P_1,X_1))
          & Xs_1 = hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_1),Vs) ) ) ).

fof(fact_899_set__Cons__def,axiom,
    ! [X_a,A_1,XS] : hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(X_a,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),set_Cons(X_a),A_1),XS) = hAPP(fun(list(X_a),bool),fun(list(X_a),bool),collect(list(X_a)),hAPP(fun(list(X_a),fun(X_a,bool)),fun(list(X_a),bool),hAPP(fun(fun(X_a,bool),bool),fun(fun(list(X_a),fun(X_a,bool)),fun(list(X_a),bool)),combb(fun(X_a,bool),bool,list(X_a)),fEx(X_a)),hAPP(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,bool)),hAPP(fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,bool)),fun(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,bool))),combb(fun(X_a,fun(list(X_a),bool)),fun(X_a,bool),list(X_a)),hAPP(fun(fun(list(X_a),bool),bool),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,bool)),combb(fun(list(X_a),bool),bool,X_a),fEx(list(X_a)))),hAPP(fun(X_a,fun(list(X_a),bool)),fun(list(X_a),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool)))),fun(fun(X_a,fun(list(X_a),bool)),fun(list(X_a),fun(X_a,fun(list(X_a),bool)))),combc(list(X_a),fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool)))),hAPP(fun(fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool)))),fun(fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool))))),combb(fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),bool))),list(X_a)),combs(X_a,fun(list(X_a),bool),fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool)))),fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),hAPP(fun(fun(X_a,fun(list(X_a),fun(bool,bool))),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),fun(fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool)))),fun(list(X_a),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))))),combb(fun(X_a,fun(list(X_a),fun(bool,bool))),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),list(X_a)),hAPP(fun(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(list(X_a),fun(bool,bool))),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),combb(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool)),X_a),combs(list(X_a),bool,bool))),hAPP(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool)))),hAPP(fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),fun(bool,bool)))),fun(fun(list(X_a),fun(X_a,fun(list(X_a),bool))),fun(list(X_a),fun(X_a,fun(list(X_a),fun(bool,bool))))),combb(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),fun(bool,bool))),list(X_a)),hAPP(fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),fun(fun(X_a,fun(list(X_a),bool)),fun(X_a,fun(list(X_a),fun(bool,bool)))),combb(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool)),X_a),hAPP(fun(bool,fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),combb(bool,fun(bool,bool),list(X_a)),fconj))),hAPP(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool)))),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(list(X_a),fun(X_a,fun(list(X_a),bool)))),combc(list(X_a),fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool))),hAPP(fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool)))),hAPP(fun(fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool)))),fun(fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),fun(list(X_a),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool))))),combb(fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)),fun(fun(X_a,fun(list(X_a),list(X_a))),fun(X_a,fun(list(X_a),bool))),list(X_a)),combb(fun(list(X_a),list(X_a)),fun(list(X_a),bool),X_a)),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),hAPP(fun(fun(list(X_a),bool),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool))),fun(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)))),combb(fun(list(X_a),bool),fun(fun(list(X_a),list(X_a)),fun(list(X_a),bool)),list(X_a)),combb(list(X_a),bool,list(X_a))),fequal(list(X_a))))),cons(X_a)))))),hAPP(fun(list(X_a),bool),fun(X_a,fun(list(X_a),bool)),hAPP(fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(list(X_a),bool),fun(X_a,fun(list(X_a),bool))),combc(X_a,fun(list(X_a),bool),fun(list(X_a),bool)),hAPP(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool))),hAPP(fun(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool))),fun(fun(X_a,fun(bool,bool)),fun(X_a,fun(fun(list(X_a),bool),fun(list(X_a),bool)))),combb(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),X_a),combb(bool,bool,list(X_a))),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),A_1)))),hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(fun(list(X_a),bool),bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool)),combc(list(X_a),fun(list(X_a),bool),bool),member(list(X_a))),XS)))))) ).

fof(fact_900_nth__nth__transpose__sorted,axiom,
    ! [X_a,J_1,I,Xs_1] :
      ( hBOOL(hAPP(list(nat),bool,linorder_sorted(nat),hAPP(list(nat),list(nat),rev(nat),hAPP(list(list(X_a)),list(nat),hAPP(fun(list(X_a),nat),fun(list(list(X_a)),list(nat)),map(list(X_a),nat),size_size(list(X_a))),Xs_1))))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1))))
       => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),J_1),hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),filter(list(X_a)),hAPP(fun(list(X_a),nat),fun(list(X_a),bool),hAPP(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool)),combb(nat,bool,list(X_a)),hAPP(nat,fun(nat,bool),ord_less(nat),I)),size_size(list(X_a)))),Xs_1))))
         => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(nat,list(X_a),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1)),I)),J_1) = hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(nat,list(X_a),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),Xs_1),J_1)),I) ) ) ) ).

fof(fact_901_nth__transpose,axiom,
    ! [X_a,I,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1))))
     => hAPP(nat,list(X_a),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1)),I) = hAPP(list(list(X_a)),list(X_a),hAPP(fun(list(X_a),X_a),fun(list(list(X_a)),list(X_a)),map(list(X_a),X_a),hAPP(nat,fun(list(X_a),X_a),hAPP(fun(list(X_a),fun(nat,X_a)),fun(nat,fun(list(X_a),X_a)),combc(list(X_a),nat,X_a),nth(X_a)),I)),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),filter(list(X_a)),hAPP(fun(list(X_a),nat),fun(list(X_a),bool),hAPP(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool)),combb(nat,bool,list(X_a)),hAPP(nat,fun(nat,bool),ord_less(nat),I)),size_size(list(X_a)))),Xs_1)) ) ).

fof(fact_902_nth__map,axiom,
    ! [X_b,X_a,F,N,Xs_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),N),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1)))
     => hAPP(nat,X_b,hAPP(list(X_b),fun(nat,X_b),nth(X_b),hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_1)),N) = hAPP(X_a,X_b,F,hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1),N)) ) ).

fof(fact_903_transpose__map__map,axiom,
    ! [X_a,X_b,F,Xs_1] : hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_b)),list(list(X_a)),hAPP(fun(list(X_b),list(X_a)),fun(list(list(X_b)),list(list(X_a))),map(list(X_b),list(X_a)),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F)),Xs_1)) = hAPP(list(list(X_b)),list(list(X_a)),hAPP(fun(list(X_b),list(X_a)),fun(list(list(X_b)),list(list(X_a))),map(list(X_b),list(X_a)),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F)),hAPP(list(list(X_b)),list(list(X_b)),transpose(X_b),Xs_1)) ).

fof(fact_904_sorted__transpose,axiom,
    ! [X_a,Xs_1] : hBOOL(hAPP(list(nat),bool,linorder_sorted(nat),hAPP(list(nat),list(nat),rev(nat),hAPP(list(list(X_a)),list(nat),hAPP(fun(list(X_a),nat),fun(list(list(X_a)),list(nat)),map(list(X_a),nat),size_size(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1))))) ).

fof(fact_905_length__map,axiom,
    ! [X_a,X_b,F,Xs_1] : hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)) = hAPP(list(X_b),nat,size_size(list(X_b)),Xs_1) ).

fof(fact_906_map__eq__imp__length__eq,axiom,
    ! [X_b,X_a,X_c,F,Xs_1,G,Ys] :
      ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1) = hAPP(list(X_c),list(X_a),hAPP(fun(X_c,X_a),fun(list(X_c),list(X_a)),map(X_c,X_a),G),Ys)
     => hAPP(list(X_b),nat,size_size(list(X_b)),Xs_1) = hAPP(list(X_c),nat,size_size(list(X_c)),Ys) ) ).

fof(fact_907_map__replicate__const,axiom,
    ! [X_b,X_a,K_1,Lst] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),hAPP(X_a,fun(X_b,X_a),combk(X_a,X_b),K_1)),Lst) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),hAPP(list(X_b),nat,size_size(list(X_b)),Lst)),K_1) ).

fof(fact_908_sorted__filter,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [P_1,F,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(fun(X_b,bool),fun(list(X_b),list(X_b)),filter(X_b),P_1),Xs_1)))) ) ) ).

fof(fact_909_sorted__map__same,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [F,G,Xs_1] : hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(fun(X_b,bool),fun(list(X_b),list(X_b)),filter(X_b),hAPP(X_a,fun(X_b,bool),hAPP(fun(X_b,fun(X_a,bool)),fun(X_a,fun(X_b,bool)),combc(X_b,X_a,bool),hAPP(fun(X_b,X_a),fun(X_b,fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_b,X_a),fun(X_b,fun(X_a,bool))),combb(X_a,fun(X_a,bool),X_b),fequal(X_a)),F)),hAPP(list(X_b),X_a,G,Xs_1))),Xs_1)))) ) ).

fof(fact_910_map__update,axiom,
    ! [X_b,X_a,F,Xs_1,K_1,Y_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(X_b,list(X_b),hAPP(nat,fun(X_b,list(X_b)),hAPP(list(X_b),fun(nat,fun(X_b,list(X_b))),list_update(X_b),Xs_1),K_1),Y_1)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),hAPP(list(X_a),fun(nat,fun(X_a,list(X_a))),list_update(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)),K_1),hAPP(X_b,X_a,F,Y_1)) ).

fof(fact_911_sorted__map__remove1,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [X_1,F,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),remove1(X_b),X_1),Xs_1)))) ) ) ).

fof(fact_912_sorted__insort__key,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [F,X_1,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),Xs_1))))
        <=> hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1))) ) ) ).

fof(fact_913_sorted__sort__key,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [F,Xs_1] : hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_b)),linorder_sort_key(X_b,X_a),F),Xs_1)))) ) ).

fof(fact_914_sorted__insort__insert__key,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [X_1,F,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)))
         => hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linord2118332866rt_key(X_b,X_a),F),X_1),Xs_1)))) ) ) ).

fof(fact_915_map__butlast,axiom,
    ! [X_b,X_a,F,Xs_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),butlast(X_b),Xs_1)) = hAPP(list(X_a),list(X_a),butlast(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)) ).

fof(fact_916_map__tl,axiom,
    ! [X_b,X_a,F,Xs_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),tl(X_b),Xs_1)) = hAPP(list(X_a),list(X_a),tl(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)) ).

fof(fact_917_map__ident,axiom,
    ! [X_a,X_2] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_a),fun(list(X_a),list(X_a)),map(X_a,X_a),combi(X_a)),X_2) = X_2 ).

fof(fact_918_map__replicate,axiom,
    ! [X_b,X_a,F,N,X_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(X_b,list(X_b),hAPP(nat,fun(X_b,list(X_b)),replicate(X_b),N),X_1)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),N),hAPP(X_b,X_a,F,X_1)) ).

fof(fact_919_rev__map,axiom,
    ! [X_a,X_b,F,Xs_1] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),rev(X_b),Xs_1)) ).

fof(fact_920_take__map,axiom,
    ! [X_a,X_b,N,F,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_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),take(X_b),N),Xs_1)) ).

fof(fact_921_map__append,axiom,
    ! [X_b,X_a,F,Xs_1,Ys] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(list(X_b),fun(list(X_b),list(X_b)),append(X_b),Xs_1),Ys)) = hAPP(list(X_a),list(X_a),hAPP(list(X_a),fun(list(X_a),list(X_a)),append(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Ys)) ).

fof(fact_922_foldl__map,axiom,
    ! [X_b,X_a,X_c,G,Aa,F,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),G),Aa),hAPP(list(X_c),list(X_b),hAPP(fun(X_c,X_b),fun(list(X_c),list(X_b)),map(X_c,X_b),F),Xs_1)) = hAPP(list(X_c),X_a,hAPP(X_a,fun(list(X_c),X_a),hAPP(fun(X_a,fun(X_c,X_a)),fun(X_a,fun(list(X_c),X_a)),foldl(X_a,X_c),hAPP(fun(X_c,X_b),fun(X_a,fun(X_c,X_a)),hAPP(fun(X_a,fun(fun(X_c,X_b),fun(X_c,X_a))),fun(fun(X_c,X_b),fun(X_a,fun(X_c,X_a))),combc(X_a,fun(X_c,X_b),fun(X_c,X_a)),hAPP(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,X_a))),hAPP(fun(fun(X_b,X_a),fun(fun(X_c,X_b),fun(X_c,X_a))),fun(fun(X_a,fun(X_b,X_a)),fun(X_a,fun(fun(X_c,X_b),fun(X_c,X_a)))),combb(fun(X_b,X_a),fun(fun(X_c,X_b),fun(X_c,X_a)),X_a),combb(X_b,X_a,X_c)),G)),F)),Aa),Xs_1) ).

fof(fact_923_drop__map,axiom,
    ! [X_a,X_b,N,F,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_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(X_b),list(X_b),hAPP(nat,fun(list(X_b),list(X_b)),drop(X_b),N),Xs_1)) ).

fof(fact_924_map_Osimps_I2_J,axiom,
    ! [X_b,X_a,F,X_1,Xs_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(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(X_a,fun(list(X_a),list(X_a)),cons(X_a),hAPP(X_b,X_a,F,X_1)),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)) ).

fof(fact_925_map__is__Nil__conv,axiom,
    ! [X_b,X_a,F,Xs_1] :
      ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1) = nil(X_a)
    <=> Xs_1 = nil(X_b) ) ).

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

fof(fact_927_Nil__is__map__conv,axiom,
    ! [X_a,X_b,F,Xs_1] :
      ( nil(X_a) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)
    <=> Xs_1 = nil(X_b) ) ).

fof(fact_928_map__eq__conv,axiom,
    ! [X_b,X_a,F,Xs_1,G] :
      ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),G),Xs_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)))
         => hAPP(X_b,X_a,F,X_2) = hAPP(X_b,X_a,G,X_2) ) ) ).

fof(fact_929_hd__map,axiom,
    ! [X_b,X_a,F,Xs_1] :
      ( Xs_1 != nil(X_a)
     => hAPP(list(X_b),X_b,hd(X_b),hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_1)) = hAPP(X_a,X_b,F,hAPP(list(X_a),X_a,hd(X_a),Xs_1)) ) ).

fof(fact_930_last__map,axiom,
    ! [X_b,X_a,F,Xs_1] :
      ( Xs_1 != nil(X_a)
     => hAPP(list(X_b),X_b,last(X_b),hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_1)) = hAPP(X_a,X_b,F,hAPP(list(X_a),X_a,last(X_a),Xs_1)) ) ).

fof(fact_931_filter__insort,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [P_1,X_1,F,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1)))
         => ( hBOOL(hAPP(X_b,bool,P_1,X_1))
           => hAPP(list(X_b),list(X_b),hAPP(fun(X_b,bool),fun(list(X_b),list(X_b)),filter(X_b),P_1),hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),Xs_1)) = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_b),list(X_b))),linorder_insort_key(X_b,X_a),F),X_1),hAPP(list(X_b),list(X_b),hAPP(fun(X_b,bool),fun(list(X_b),list(X_b)),filter(X_b),P_1),Xs_1)) ) ) ) ).

fof(fact_932_transpose__column,axiom,
    ! [X_a,I,Xs_1] :
      ( hBOOL(hAPP(list(nat),bool,linorder_sorted(nat),hAPP(list(nat),list(nat),rev(nat),hAPP(list(list(X_a)),list(nat),hAPP(fun(list(X_a),nat),fun(list(list(X_a)),list(nat)),map(list(X_a),nat),size_size(list(X_a))),Xs_1))))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),Xs_1)))
       => hAPP(list(list(X_a)),list(X_a),hAPP(fun(list(X_a),X_a),fun(list(list(X_a)),list(X_a)),map(list(X_a),X_a),hAPP(nat,fun(list(X_a),X_a),hAPP(fun(list(X_a),fun(nat,X_a)),fun(nat,fun(list(X_a),X_a)),combc(list(X_a),nat,X_a),nth(X_a)),I)),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),filter(list(X_a)),hAPP(fun(list(X_a),nat),fun(list(X_a),bool),hAPP(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool)),combb(nat,bool,list(X_a)),hAPP(nat,fun(nat,bool),ord_less(nat),I)),size_size(list(X_a)))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1))) = hAPP(nat,list(X_a),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),Xs_1),I) ) ) ).

fof(fact_933_transpose__transpose,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(nat),bool,linorder_sorted(nat),hAPP(list(nat),list(nat),rev(nat),hAPP(list(list(X_a)),list(nat),hAPP(fun(list(X_a),nat),fun(list(list(X_a)),list(nat)),map(list(X_a),nat),size_size(list(X_a))),Xs_1))))
     => hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1)) = hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),takeWhile(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),combb(bool,bool,list(X_a)),fNot),hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool)),combc(list(X_a),list(X_a),bool),fequal(list(X_a))),nil(X_a)))),Xs_1) ) ).

fof(fact_934_length__transpose__sorted,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(nat),bool,linorder_sorted(nat),hAPP(list(nat),list(nat),rev(nat),hAPP(list(list(X_a)),list(nat),hAPP(fun(list(X_a),nat),fun(list(list(X_a)),list(nat)),map(list(X_a),nat),size_size(list(X_a))),Xs_1))))
     => ( ( Xs_1 = nil(list(X_a))
         => hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1)) = zero_zero(nat) )
        & ( Xs_1 != nil(list(X_a))
         => hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1)) = hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(nat,list(X_a),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),Xs_1),zero_zero(nat))) ) ) ) ).

fof(fact_935_filter__equals__takeWhile__sorted__rev,axiom,
    ! [X_b,X_a] :
      ( linorder(X_a)
     => ! [T_3,F,Xs_1] :
          ( hBOOL(hAPP(list(X_a),bool,linorder_sorted(X_a),hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1))))
         => hAPP(list(X_b),list(X_b),hAPP(fun(X_b,bool),fun(list(X_b),list(X_b)),filter(X_b),hAPP(fun(X_b,X_a),fun(X_b,bool),hAPP(fun(X_a,bool),fun(fun(X_b,X_a),fun(X_b,bool)),combb(X_a,bool,X_b),hAPP(X_a,fun(X_a,bool),ord_less(X_a),T_3)),F)),Xs_1) = hAPP(list(X_b),list(X_b),hAPP(fun(X_b,bool),fun(list(X_b),list(X_b)),takeWhile(X_b),hAPP(fun(X_b,X_a),fun(X_b,bool),hAPP(fun(X_a,bool),fun(fun(X_b,X_a),fun(X_b,bool)),combb(X_a,bool,X_b),hAPP(X_a,fun(X_a,bool),ord_less(X_a),T_3)),F)),Xs_1) ) ) ).

fof(fact_936_transpose__column__length,axiom,
    ! [X_a,I,Xs_1] :
      ( hBOOL(hAPP(list(nat),bool,linorder_sorted(nat),hAPP(list(nat),list(nat),rev(nat),hAPP(list(list(X_a)),list(nat),hAPP(fun(list(X_a),nat),fun(list(list(X_a)),list(nat)),map(list(X_a),nat),size_size(list(X_a))),Xs_1))))
     => ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),Xs_1)))
       => hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),filter(list(X_a)),hAPP(fun(list(X_a),nat),fun(list(X_a),bool),hAPP(fun(nat,bool),fun(fun(list(X_a),nat),fun(list(X_a),bool)),combb(nat,bool,list(X_a)),hAPP(nat,fun(nat,bool),ord_less(nat),I)),size_size(list(X_a)))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1))) = hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(nat,list(X_a),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),Xs_1),I)) ) ) ).

fof(fact_937_insort__key__remove1,axiom,
    ! [X_a,X_b] :
      ( linorder(X_b)
     => ! [F,Aa,Xs_1] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Aa),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => ( hBOOL(hAPP(list(X_b),bool,linorder_sorted(X_b),hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_1)))
           => ( 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)),filter(X_a),hAPP(fun(X_a,X_b),fun(X_a,bool),hAPP(fun(X_b,bool),fun(fun(X_a,X_b),fun(X_a,bool)),combb(X_b,bool,X_a),hAPP(X_b,fun(X_b,bool),fequal(X_b),hAPP(X_a,X_b,F,Aa))),F)),Xs_1)) = ti(X_a,Aa)
             => hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),hAPP(fun(X_a,X_b),fun(X_a,fun(list(X_a),list(X_a))),linorder_insort_key(X_a,X_b),F),Aa),hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),remove1(X_a),Aa),Xs_1)) = Xs_1 ) ) ) ) ).

fof(fact_938_transpose__aux__filter__head,axiom,
    ! [X_a,Xss] : hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(list(list(X_a)),list(list(X_a))),map(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),combk(list(X_a),list(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))))),Xss)) = hAPP(list(list(X_a)),list(X_a),hAPP(fun(list(X_a),X_a),fun(list(list(X_a)),list(X_a)),map(list(X_a),X_a),hd(X_a)),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),filter(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),combb(bool,bool,list(X_a)),fNot),hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool)),combc(list(X_a),list(X_a),bool),fequal(list(X_a))),nil(X_a)))),Xss)) ).

fof(fact_939_ex__map__conv,axiom,
    ! [X_a,X_b,Ys,F] :
      ( ? [Xs_2] : Ys = hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_2)
    <=> ! [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),Ys)))
         => ? [Xa] : ti(X_b,X_2) = hAPP(X_a,X_b,F,Xa) ) ) ).

fof(fact_940_filter__concat,axiom,
    ! [X_a,P_2,Xs_1] : hAPP(list(X_a),list(X_a),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_2),hAPP(list(list(X_a)),list(X_a),concat(X_a),Xs_1)) = hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(list(list(X_a)),list(list(X_a))),map(list(X_a),list(X_a)),hAPP(fun(X_a,bool),fun(list(X_a),list(X_a)),filter(X_a),P_2)),Xs_1)) ).

fof(fact_941_map__concat,axiom,
    ! [X_b,X_a,F,Xs_1] : hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),hAPP(list(list(X_b)),list(X_b),concat(X_b),Xs_1)) = hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(list(X_b)),list(list(X_a)),hAPP(fun(list(X_b),list(X_a)),fun(list(list(X_b)),list(list(X_a))),map(list(X_b),list(X_a)),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F)),Xs_1)) ).

fof(fact_942_rev__concat,axiom,
    ! [X_a,Xs_1] : hAPP(list(X_a),list(X_a),rev(X_a),hAPP(list(list(X_a)),list(X_a),concat(X_a),Xs_1)) = hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(list(list(X_a)),list(list(X_a))),map(list(X_a),list(X_a)),rev(X_a)),hAPP(list(list(X_a)),list(list(X_a)),rev(list(X_a)),Xs_1))) ).

fof(fact_943_concat__map__maps,axiom,
    ! [X_a,X_b,F,Xs_1] : hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(X_b),list(list(X_a)),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(list(X_a))),map(X_b,list(X_a)),F),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),Xs_1) ).

fof(fact_944_maps__def,axiom,
    ! [X_b,X_a,F,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),Xs_1) = hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(X_b),list(list(X_a)),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(list(X_a))),map(X_b,list(X_a)),F),Xs_1)) ).

fof(fact_945_concat__conv__foldl,axiom,
    ! [X_a,Xss] : hAPP(list(list(X_a)),list(X_a),concat(X_a),Xss) = hAPP(list(list(X_a)),list(X_a),hAPP(list(X_a),fun(list(list(X_a)),list(X_a)),hAPP(fun(list(X_a),fun(list(X_a),list(X_a))),fun(list(X_a),fun(list(list(X_a)),list(X_a))),foldl(list(X_a),list(X_a)),append(X_a)),nil(X_a)),Xss) ).

fof(fact_946_concat_Osimps_I2_J,axiom,
    ! [X_a,X,Xs] : hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(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),X),hAPP(list(list(X_a)),list(X_a),concat(X_a),Xs)) ).

fof(fact_947_Nil__eq__concat__conv,axiom,
    ! [X_a,Xss] :
      ( nil(X_a) = hAPP(list(list(X_a)),list(X_a),concat(X_a),Xss)
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(list(X_a),bool),bool,hAPP(list(X_a),fun(fun(list(X_a),bool),bool),member(list(X_a)),X_2),hAPP(list(list(X_a)),fun(list(X_a),bool),set(list(X_a)),Xss)))
         => X_2 = nil(X_a) ) ) ).

fof(fact_948_concat__eq__Nil__conv,axiom,
    ! [X_a,Xss] :
      ( hAPP(list(list(X_a)),list(X_a),concat(X_a),Xss) = nil(X_a)
    <=> ! [X_2] :
          ( hBOOL(hAPP(fun(list(X_a),bool),bool,hAPP(list(X_a),fun(fun(list(X_a),bool),bool),member(list(X_a)),X_2),hAPP(list(list(X_a)),fun(list(X_a),bool),set(list(X_a)),Xss)))
         => X_2 = nil(X_a) ) ) ).

fof(fact_949_concat_Osimps_I1_J,axiom,
    ! [X_a] : hAPP(list(list(X_a)),list(X_a),concat(X_a),nil(list(X_a))) = nil(X_a) ).

fof(fact_950_concat__replicate__trivial,axiom,
    ! [X_a,I_1] : hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(X_a),list(list(X_a)),hAPP(nat,fun(list(X_a),list(list(X_a))),replicate(list(X_a)),I_1),nil(X_a))) = nil(X_a) ).

fof(fact_951_foldl__conv__concat,axiom,
    ! [X_a,Xs_1,Xss] : hAPP(list(list(X_a)),list(X_a),hAPP(list(X_a),fun(list(list(X_a)),list(X_a)),hAPP(fun(list(X_a),fun(list(X_a),list(X_a))),fun(list(X_a),fun(list(list(X_a)),list(X_a))),foldl(list(X_a),list(X_a)),append(X_a)),Xs_1),Xss) = 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(list(X_a)),list(X_a),concat(X_a),Xss)) ).

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

fof(fact_953_concat__map__singleton,axiom,
    ! [X_a,X_b,F,Xs_1] : hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(X_b),list(list(X_a)),hAPP(fun(X_b,list(X_a)),fun(list(X_b),list(list(X_a))),map(X_b,list(X_a)),hAPP(list(X_a),fun(X_b,list(X_a)),hAPP(fun(X_b,fun(list(X_a),list(X_a))),fun(list(X_a),fun(X_b,list(X_a))),combc(X_b,list(X_a),list(X_a)),hAPP(fun(X_b,X_a),fun(X_b,fun(list(X_a),list(X_a))),hAPP(fun(X_a,fun(list(X_a),list(X_a))),fun(fun(X_b,X_a),fun(X_b,fun(list(X_a),list(X_a)))),combb(X_a,fun(list(X_a),list(X_a)),X_b),cons(X_a)),F)),nil(X_a))),Xs_1)) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Xs_1) ).

fof(fact_954_transpose_Osimps_I3_J,axiom,
    ! [X_a,X_1,Xs_1,Xss] : hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(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)),Xss)) = hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(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),hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(list(list(X_a)),list(list(X_a))),map(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),combk(list(X_a),list(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))))),Xss)))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(X_a)),Xs_1),hAPP(list(list(list(X_a))),list(list(X_a)),concat(list(X_a)),hAPP(list(list(X_a)),list(list(list(X_a))),hAPP(fun(list(X_a),list(list(X_a))),fun(list(list(X_a)),list(list(list(X_a)))),map(list(X_a),list(list(X_a))),hAPP(fun(X_a,fun(list(X_a),list(list(X_a)))),fun(list(X_a),list(list(X_a))),hAPP(list(list(X_a)),fun(fun(X_a,fun(list(X_a),list(list(X_a)))),fun(list(X_a),list(list(X_a)))),list_case(list(list(X_a)),X_a),nil(list(X_a))),hAPP(fun(list(X_a),list(list(X_a))),fun(X_a,fun(list(X_a),list(list(X_a)))),combk(fun(list(X_a),list(list(X_a))),X_a),hAPP(list(list(X_a)),fun(list(X_a),list(list(X_a))),hAPP(fun(list(X_a),fun(list(list(X_a)),list(list(X_a)))),fun(list(list(X_a)),fun(list(X_a),list(list(X_a)))),combc(list(X_a),list(list(X_a)),list(list(X_a))),cons(list(X_a))),nil(list(X_a)))))),Xss))))) ).

fof(fact_955_transpose__aux__filter__tail,axiom,
    ! [X_a,Xss] : hAPP(list(list(list(X_a))),list(list(X_a)),concat(list(X_a)),hAPP(list(list(X_a)),list(list(list(X_a))),hAPP(fun(list(X_a),list(list(X_a))),fun(list(list(X_a)),list(list(list(X_a)))),map(list(X_a),list(list(X_a))),hAPP(fun(X_a,fun(list(X_a),list(list(X_a)))),fun(list(X_a),list(list(X_a))),hAPP(list(list(X_a)),fun(fun(X_a,fun(list(X_a),list(list(X_a)))),fun(list(X_a),list(list(X_a)))),list_case(list(list(X_a)),X_a),nil(list(X_a))),hAPP(fun(list(X_a),list(list(X_a))),fun(X_a,fun(list(X_a),list(list(X_a)))),combk(fun(list(X_a),list(list(X_a))),X_a),hAPP(list(list(X_a)),fun(list(X_a),list(list(X_a))),hAPP(fun(list(X_a),fun(list(list(X_a)),list(list(X_a)))),fun(list(list(X_a)),fun(list(X_a),list(list(X_a)))),combc(list(X_a),list(list(X_a)),list(list(X_a))),cons(list(X_a))),nil(list(X_a)))))),Xss)) = hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(list(list(X_a)),list(list(X_a))),map(list(X_a),list(X_a)),tl(X_a)),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(list(X_a)),list(list(X_a))),filter(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(bool,bool),fun(fun(list(X_a),bool),fun(list(X_a),bool)),combb(bool,bool,list(X_a)),fNot),hAPP(list(X_a),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(list(X_a),bool)),fun(list(X_a),fun(list(X_a),bool)),combc(list(X_a),list(X_a),bool),fequal(list(X_a))),nil(X_a)))),Xss)) ).

fof(fact_956_transpose_Opsimps_I3_J,axiom,
    ! [X_a,X_1,Xs_1,Xss] :
      ( hBOOL(hAPP(list(list(X_a)),bool,hAPP(fun(list(list(X_a)),fun(list(list(X_a)),bool)),fun(list(list(X_a)),bool),accp(list(list(X_a))),transpose_rel(X_a)),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(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)),Xss)))
     => hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(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)),Xss)) = hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(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),hAPP(list(list(X_a)),list(X_a),concat(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(list(list(X_a)),list(list(X_a))),map(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),combk(list(X_a),list(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))))),Xss)))),hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(X_a)),Xs_1),hAPP(list(list(list(X_a))),list(list(X_a)),concat(list(X_a)),hAPP(list(list(X_a)),list(list(list(X_a))),hAPP(fun(list(X_a),list(list(X_a))),fun(list(list(X_a)),list(list(list(X_a)))),map(list(X_a),list(list(X_a))),hAPP(fun(X_a,fun(list(X_a),list(list(X_a)))),fun(list(X_a),list(list(X_a))),hAPP(list(list(X_a)),fun(fun(X_a,fun(list(X_a),list(list(X_a)))),fun(list(X_a),list(list(X_a)))),list_case(list(list(X_a)),X_a),nil(list(X_a))),hAPP(fun(list(X_a),list(list(X_a))),fun(X_a,fun(list(X_a),list(list(X_a)))),combk(fun(list(X_a),list(list(X_a))),X_a),hAPP(list(list(X_a)),fun(list(X_a),list(list(X_a))),hAPP(fun(list(X_a),fun(list(list(X_a)),list(list(X_a)))),fun(list(list(X_a)),fun(list(X_a),list(list(X_a)))),combc(list(X_a),list(list(X_a)),list(list(X_a))),cons(list(X_a))),nil(list(X_a)))))),Xss))))) ) ).

fof(fact_957_map__cong,axiom,
    ! [X_b,X_a,F,G,Xs_1,Ys] :
      ( Xs_1 = Ys
     => ( ! [X_2] :
            ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Ys)))
           => hAPP(X_a,X_b,F,X_2) = hAPP(X_a,X_b,G,X_2) )
       => hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_1) = hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),G),Ys) ) ) ).

fof(fact_958_transpose_Opsimps_I2_J,axiom,
    ! [X_a,Xss] :
      ( hBOOL(hAPP(list(list(X_a)),bool,hAPP(fun(list(list(X_a)),fun(list(list(X_a)),bool)),fun(list(list(X_a)),bool),accp(list(list(X_a))),transpose_rel(X_a)),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(X_a)),nil(X_a)),Xss)))
     => hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(X_a)),nil(X_a)),Xss)) = hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xss) ) ).

fof(fact_959_accp__downward,axiom,
    ! [X_a,Aa,R_1,Ba] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,bool),accp(X_a),R_1),Ba))
     => ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_1,Aa),Ba))
       => hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,bool),accp(X_a),R_1),Aa)) ) ) ).

fof(fact_960_accp_Osimps,axiom,
    ! [X_a,R_1,Aa] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,bool),accp(X_a),R_1),Aa))
    <=> ? [X_2] :
          ( ti(X_a,Aa) = ti(X_a,X_2)
          & ! [Xa] :
              ( hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),R_1,Xa),X_2))
             => hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,bool),accp(X_a),R_1),Xa)) ) ) ) ).

fof(fact_961_accp__subset,axiom,
    ! [X_a,R1,R2] :
      ( hBOOL(hAPP(fun(X_a,fun(X_a,bool)),bool,hAPP(fun(X_a,fun(X_a,bool)),fun(fun(X_a,fun(X_a,bool)),bool),ord_less_eq(fun(X_a,fun(X_a,bool))),R1),R2))
     => 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,fun(X_a,bool)),fun(X_a,bool),accp(X_a),R2)),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,bool),accp(X_a),R1))) ) ).

fof(fact_962_transpose_Opsimps_I1_J,axiom,
    ! [X_a] :
      ( hBOOL(hAPP(list(list(X_a)),bool,hAPP(fun(list(list(X_a)),fun(list(list(X_a)),bool)),fun(list(list(X_a)),bool),accp(list(list(X_a))),transpose_rel(X_a)),nil(list(X_a))))
     => hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),nil(list(X_a))) = nil(list(X_a)) ) ).

fof(fact_963_map__ext,axiom,
    ! [X_b,X_a,F,G,Xs_1] :
      ( ! [X_2] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))
         => hAPP(X_a,X_b,F,X_2) = hAPP(X_a,X_b,G,X_2) )
     => hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),F),Xs_1) = hAPP(list(X_a),list(X_b),hAPP(fun(X_a,X_b),fun(list(X_a),list(X_b)),map(X_a,X_b),G),Xs_1) ) ).

fof(fact_964_map__idI,axiom,
    ! [X_a,F,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)))
         => hAPP(X_a,X_a,F,X_2) = ti(X_a,X_2) )
     => hAPP(list(X_a),list(X_a),hAPP(fun(X_a,X_a),fun(list(X_a),list(X_a)),map(X_a,X_a),F),Xs_1) = Xs_1 ) ).

fof(fact_965_rev__predicate2D,axiom,
    ! [X_b,X_a,Q_1,P_1,X_1,Y_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),P_1,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))),P_1),Q_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1)) ) ) ).

fof(fact_966_predicate2D,axiom,
    ! [X_a,X_b,X_1,Y_1,P_1,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))),P_1),Q_1))
     => ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),P_1,X_1),Y_1))
       => hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),Q_1,X_1),Y_1)) ) ) ).

fof(fact_967_predicate2I,axiom,
    ! [X_b,X_a,Q_1,P_1] :
      ( ! [X_2,Y_2] :
          ( hBOOL(hAPP(X_b,bool,hAPP(X_a,fun(X_b,bool),P_1,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))),P_1),Q_1)) ) ).

fof(fact_968_Cons__eq__map__conv,axiom,
    ! [X_a,X_b,X_1,Xs_1,F,Ys] :
      ( hAPP(list(X_a),list(X_a),hAPP(X_a,fun(list(X_a),list(X_a)),cons(X_a),X_1),Xs_1) = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Ys)
    <=> ? [Z,Zs] :
          ( Ys = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs)
          & ti(X_a,X_1) = hAPP(X_b,X_a,F,Z)
          & Xs_1 = hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs) ) ) ).

fof(fact_969_map__eq__Cons__conv,axiom,
    ! [X_b,X_a,F,Xs_1,Y_1,Ys] :
      ( hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),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)
    <=> ? [Z,Zs] :
          ( Xs_1 = hAPP(list(X_b),list(X_b),hAPP(X_b,fun(list(X_b),list(X_b)),cons(X_b),Z),Zs)
          & hAPP(X_b,X_a,F,Z) = ti(X_a,Y_1)
          & hAPP(list(X_b),list(X_a),hAPP(fun(X_b,X_a),fun(list(X_b),list(X_a)),map(X_b,X_a),F),Zs) = Ys ) ) ).

fof(fact_970_transpose__rectangle,axiom,
    ! [X_a,N,Xs_1] :
      ( ( Xs_1 = nil(list(X_a))
       => N = zero_zero(nat) )
     => ( ! [I_2] :
            ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_2),hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),Xs_1)))
           => hAPP(list(X_a),nat,size_size(list(X_a)),hAPP(nat,list(X_a),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),Xs_1),I_2)) = N )
       => hAPP(list(list(X_a)),list(list(X_a)),transpose(X_a),Xs_1) = hAPP(list(nat),list(list(X_a)),hAPP(fun(nat,list(X_a)),fun(list(nat),list(list(X_a))),map(nat,list(X_a)),hAPP(list(nat),fun(nat,list(X_a)),hAPP(fun(nat,fun(list(nat),list(X_a))),fun(list(nat),fun(nat,list(X_a))),combc(nat,list(nat),list(X_a)),hAPP(fun(nat,fun(nat,X_a)),fun(nat,fun(list(nat),list(X_a))),hAPP(fun(fun(nat,X_a),fun(list(nat),list(X_a))),fun(fun(nat,fun(nat,X_a)),fun(nat,fun(list(nat),list(X_a)))),combb(fun(nat,X_a),fun(list(nat),list(X_a)),nat),map(nat,X_a)),hAPP(fun(nat,fun(nat,X_a)),fun(nat,fun(nat,X_a)),combc(nat,nat,X_a),hAPP(fun(nat,list(X_a)),fun(nat,fun(nat,X_a)),hAPP(fun(list(X_a),fun(nat,X_a)),fun(fun(nat,list(X_a)),fun(nat,fun(nat,X_a))),combb(list(X_a),fun(nat,X_a),nat),nth(X_a)),hAPP(list(list(X_a)),fun(nat,list(X_a)),nth(list(X_a)),Xs_1))))),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,zero_zero(nat)),hAPP(list(list(X_a)),nat,size_size(list(list(X_a))),Xs_1)))),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,zero_zero(nat)),N)) ) ) ).

fof(fact_971_map__replicate__trivial,axiom,
    ! [X_a,X_1,I] : hAPP(list(nat),list(X_a),hAPP(fun(nat,X_a),fun(list(nat),list(X_a)),map(nat,X_a),hAPP(X_a,fun(nat,X_a),combk(X_a,nat),X_1)),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,zero_zero(nat)),I)) = hAPP(X_a,list(X_a),hAPP(nat,fun(X_a,list(X_a)),replicate(X_a),I),X_1) ).

fof(fact_972_map__Suc__upt,axiom,
    ! [M,N] : hAPP(list(nat),list(nat),hAPP(fun(nat,nat),fun(list(nat),list(nat)),map(nat,nat),suc),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,M),N)) = hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,hAPP(nat,nat,suc,M)),hAPP(nat,nat,suc,N)) ).

fof(fact_973_sorted__upt,axiom,
    ! [I_1,J] : hBOOL(hAPP(list(nat),bool,linorder_sorted(nat),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J))) ).

fof(fact_974_nth__upt,axiom,
    ! [I_1,K,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K)),J))
     => hAPP(nat,nat,hAPP(list(nat),fun(nat,nat),nth(nat),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J)),K) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),K) ) ).

fof(fact_975_upt__0,axiom,
    ! [I_1] : hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),zero_zero(nat)) = nil(nat) ).

fof(fact_976_upt__rec,axiom,
    ! [I_1,J] :
      ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),J))
       => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J) = hAPP(list(nat),list(nat),hAPP(nat,fun(list(nat),list(nat)),cons(nat),I_1),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,hAPP(nat,nat,suc,I_1)),J)) )
      & ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),J))
       => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J) = nil(nat) ) ) ).

fof(fact_977_upt__conv__Cons,axiom,
    ! [I_1,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),J))
     => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J) = hAPP(list(nat),list(nat),hAPP(nat,fun(list(nat),list(nat)),cons(nat),I_1),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,hAPP(nat,nat,suc,I_1)),J)) ) ).

fof(fact_978_drop__upt,axiom,
    ! [M_1,I_1,J] : hAPP(list(nat),list(nat),hAPP(nat,fun(list(nat),list(nat)),drop(nat),M_1),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J)) = hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),M_1)),J) ).

fof(fact_979_hd__upt,axiom,
    ! [I_1,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I_1),J))
     => hAPP(list(nat),nat,hd(nat),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J)) = I_1 ) ).

fof(fact_980_distinct__upt,axiom,
    ! [I_1,J] : hBOOL(hAPP(list(nat),bool,distinct(nat),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J))) ).

fof(fact_981_length__upt,axiom,
    ! [I_1,J] : hAPP(list(nat),nat,size_size(list(nat)),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J)) = hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),J),I_1) ).

fof(fact_982_take__upt,axiom,
    ! [I_1,M_1,N_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),M_1)),N_1))
     => hAPP(list(nat),list(nat),hAPP(nat,fun(list(nat),list(nat)),take(nat),M_1),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),N_1)) = hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),I_1),M_1)) ) ).

fof(fact_983_upt__conv__Nil,axiom,
    ! [J,I_1] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J),I_1))
     => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J) = nil(nat) ) ).

fof(fact_984_upt__eq__Nil__conv,axiom,
    ! [I,J_1] :
      ( hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I),J_1) = nil(nat)
    <=> ( J_1 = zero_zero(nat)
        | hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),J_1),I)) ) ) ).

fof(fact_985_upt__Suc,axiom,
    ! [I_1,J] :
      ( ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),J))
       => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),hAPP(nat,nat,suc,J)) = hAPP(list(nat),list(nat),hAPP(list(nat),fun(list(nat),list(nat)),append(nat),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J)),hAPP(list(nat),list(nat),hAPP(nat,fun(list(nat),list(nat)),cons(nat),J),nil(nat))) )
      & ( ~ hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),J))
       => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),hAPP(nat,nat,suc,J)) = nil(nat) ) ) ).

fof(fact_986_upt__Suc__append,axiom,
    ! [I_1,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),J))
     => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),hAPP(nat,nat,suc,J)) = hAPP(list(nat),list(nat),hAPP(list(nat),fun(list(nat),list(nat)),append(nat),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J)),hAPP(list(nat),list(nat),hAPP(nat,fun(list(nat),list(nat)),cons(nat),J),nil(nat))) ) ).

fof(fact_987_upt__add__eq__append,axiom,
    ! [K,I_1,J] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less_eq(nat),I_1),J))
     => hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K)) = hAPP(list(nat),list(nat),hAPP(list(nat),fun(list(nat),list(nat)),append(nat),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,I_1),J)),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,J),hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),J),K))) ) ).

fof(fact_988_map__nth,axiom,
    ! [X_a,Xs_1] : hAPP(list(nat),list(X_a),hAPP(fun(nat,X_a),fun(list(nat),list(X_a)),map(nat,X_a),hAPP(list(X_a),fun(nat,X_a),nth(X_a),Xs_1)),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,zero_zero(nat)),hAPP(list(X_a),nat,size_size(list(X_a)),Xs_1))) = Xs_1 ).

fof(fact_989_nth__map__upt,axiom,
    ! [X_a,F,I,N,M] :
      ( hBOOL(hAPP(nat,bool,hAPP(nat,fun(nat,bool),ord_less(nat),I),hAPP(nat,nat,hAPP(nat,fun(nat,nat),minus_minus(nat),N),M)))
     => hAPP(nat,X_a,hAPP(list(X_a),fun(nat,X_a),nth(X_a),hAPP(list(nat),list(X_a),hAPP(fun(nat,X_a),fun(list(nat),list(X_a)),map(nat,X_a),F),hAPP(nat,list(nat),hAPP(nat,fun(nat,list(nat)),upt,M),N))),I) = hAPP(nat,X_a,F,hAPP(nat,nat,hAPP(nat,fun(nat,nat),plus_plus(nat),M),I)) ) ).

fof(fact_990_n__lists_Osimps_I2_J,axiom,
    ! [X_a,N,Xs_1] : hAPP(list(X_a),list(list(X_a)),hAPP(nat,fun(list(X_a),list(list(X_a))),n_lists(X_a),hAPP(nat,nat,suc,N)),Xs_1) = hAPP(list(list(list(X_a))),list(list(X_a)),concat(list(X_a)),hAPP(list(list(X_a)),list(list(list(X_a))),hAPP(fun(list(X_a),list(list(X_a))),fun(list(list(X_a)),list(list(list(X_a)))),map(list(X_a),list(list(X_a))),hAPP(list(X_a),fun(list(X_a),list(list(X_a))),hAPP(fun(list(X_a),fun(list(X_a),list(list(X_a)))),fun(list(X_a),fun(list(X_a),list(list(X_a)))),combc(list(X_a),list(X_a),list(list(X_a))),hAPP(fun(list(X_a),fun(X_a,list(X_a))),fun(list(X_a),fun(list(X_a),list(list(X_a)))),hAPP(fun(fun(X_a,list(X_a)),fun(list(X_a),list(list(X_a)))),fun(fun(list(X_a),fun(X_a,list(X_a))),fun(list(X_a),fun(list(X_a),list(list(X_a))))),combb(fun(X_a,list(X_a)),fun(list(X_a),list(list(X_a))),list(X_a)),map(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)))),Xs_1)),hAPP(list(X_a),list(list(X_a)),hAPP(nat,fun(list(X_a),list(list(X_a))),n_lists(X_a),N),Xs_1))) ).

fof(fact_991_sublists_Osimps_I2_J,axiom,
    ! [X_a,X_1,Xs_1] : hAPP(list(X_a),list(list(X_a)),sublists(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(list(X_a)),list(list(X_a)),hAPP(list(list(X_a)),fun(list(list(X_a)),list(list(X_a))),append(list(X_a)),hAPP(list(list(X_a)),list(list(X_a)),hAPP(fun(list(X_a),list(X_a)),fun(list(list(X_a)),list(list(X_a))),map(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(list(X_a)),sublists(X_a),Xs_1))),hAPP(list(X_a),list(list(X_a)),sublists(X_a),Xs_1)) ).

fof(fact_992_distinct__set__sublists,axiom,
    ! [X_a,Xs_1] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs_1))
     => hBOOL(hAPP(list(fun(X_a,bool)),bool,distinct(fun(X_a,bool)),hAPP(list(list(X_a)),list(fun(X_a,bool)),hAPP(fun(list(X_a),fun(X_a,bool)),fun(list(list(X_a)),list(fun(X_a,bool))),map(list(X_a),fun(X_a,bool)),set(X_a)),hAPP(list(X_a),list(list(X_a)),sublists(X_a),Xs_1)))) ) ).

fof(fact_993_distinct__n__lists,axiom,
    ! [X_a,N_1,Xs] :
      ( hBOOL(hAPP(list(X_a),bool,distinct(X_a),Xs))
     => hBOOL(hAPP(list(list(X_a)),bool,distinct(list(X_a)),hAPP(list(X_a),list(list(X_a)),hAPP(nat,fun(list(X_a),list(list(X_a))),n_lists(X_a),N_1),Xs))) ) ).

fof(fact_994_length__n__lists__elem,axiom,
    ! [X_a,Ys,N,Xs_1] :
      ( hBOOL(hAPP(fun(list(X_a),bool),bool,hAPP(list(X_a),fun(fun(list(X_a),bool),bool),member(list(X_a)),Ys),hAPP(list(list(X_a)),fun(list(X_a),bool),set(list(X_a)),hAPP(list(X_a),list(list(X_a)),hAPP(nat,fun(list(X_a),list(list(X_a))),n_lists(X_a),N),Xs_1))))
     => hAPP(list(X_a),nat,size_size(list(X_a)),Ys) = N ) ).

fof(fact_995_sublists_Osimps_I1_J,axiom,
    ! [X_a] : hAPP(list(X_a),list(list(X_a)),sublists(X_a),nil(X_a)) = hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(X_a)),nil(X_a)),nil(list(X_a))) ).

fof(fact_996_set__n__lists,axiom,
    ! [X_a,N,Xs_1] : hAPP(list(list(X_a)),fun(list(X_a),bool),set(list(X_a)),hAPP(list(X_a),list(list(X_a)),hAPP(nat,fun(list(X_a),list(list(X_a))),n_lists(X_a),N),Xs_1)) = hAPP(fun(list(X_a),bool),fun(list(X_a),bool),collect(list(X_a)),hAPP(fun(list(X_a),bool),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),bool)),combs(list(X_a),bool,bool),hAPP(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(list(X_a),bool),fun(list(X_a),fun(bool,bool))),combb(bool,fun(bool,bool),list(X_a)),fconj),hAPP(nat,fun(list(X_a),bool),hAPP(fun(list(X_a),fun(nat,bool)),fun(nat,fun(list(X_a),bool)),combc(list(X_a),nat,bool),hAPP(fun(list(X_a),nat),fun(list(X_a),fun(nat,bool)),hAPP(fun(nat,fun(nat,bool)),fun(fun(list(X_a),nat),fun(list(X_a),fun(nat,bool))),combb(nat,fun(nat,bool),list(X_a)),fequal(nat)),size_size(list(X_a)))),N))),hAPP(fun(X_a,bool),fun(list(X_a),bool),hAPP(fun(list(X_a),fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(list(X_a),bool)),combc(list(X_a),fun(X_a,bool),bool),hAPP(fun(list(X_a),fun(X_a,bool)),fun(list(X_a),fun(fun(X_a,bool),bool)),hAPP(fun(fun(X_a,bool),fun(fun(X_a,bool),bool)),fun(fun(list(X_a),fun(X_a,bool)),fun(list(X_a),fun(fun(X_a,bool),bool))),combb(fun(X_a,bool),fun(fun(X_a,bool),bool),list(X_a)),ord_less_eq(fun(X_a,bool))),set(X_a))),hAPP(list(X_a),fun(X_a,bool),set(X_a),Xs_1)))) ).

fof(fact_997_n__lists_Osimps_I1_J,axiom,
    ! [X_a,Xs] : hAPP(list(X_a),list(list(X_a)),hAPP(nat,fun(list(X_a),list(list(X_a))),n_lists(X_a),zero_zero(nat)),Xs) = hAPP(list(list(X_a)),list(list(X_a)),hAPP(list(X_a),fun(list(list(X_a)),list(list(X_a))),cons(list(X_a)),nil(X_a)),nil(list(X_a))) ).

%----Arities (33)
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_Oord,axiom,
    ! [T_2,T_1] :
      ( ord(T_1)
     => ord(fun(T_2,T_1)) ) ).

fof(arity_fun___Groups_Ominus,axiom,
    ! [T_2,T_1] :
      ( minus(T_1)
     => minus(fun(T_2,T_1)) ) ).

fof(arity_fun___HOL_Oequal,axiom,
    ! [T_2,T_1] :
      ( ( cl_HOL_Oequal(T_1)
        & enum(T_2) )
     => cl_HOL_Oequal(fun(T_2,T_1)) ) ).

fof(arity_Nat_Onat___Semiring__Normalization_Ocomm__semiring__1__cancel__crossproduc,axiom,
    semiri456707255roduct(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__cancel__ab__semigroup__add,axiom,
    ordere223160158up_add(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__ab__semigroup__add__imp__le,axiom,
    ordere236663937imp_le(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__ab__semigroup__add,axiom,
    ordere779506340up_add(nat) ).

fof(arity_Nat_Onat___Groups_Oordered__comm__monoid__add,axiom,
    ordere216010020id_add(nat) ).

fof(arity_Nat_Onat___Groups_Ocancel__ab__semigroup__add,axiom,
    cancel146912293up_add(nat) ).

fof(arity_Nat_Onat___Groups_Ocancel__semigroup__add,axiom,
    cancel_semigroup_add(nat) ).

fof(arity_Nat_Onat___Rings_Olinordered__semidom,axiom,
    linordered_semidom(nat) ).

fof(arity_Nat_Onat___Groups_Oab__semigroup__add,axiom,
    ab_semigroup_add(nat) ).

fof(arity_Nat_Onat___Groups_Ocomm__monoid__add,axiom,
    comm_monoid_add(nat) ).

fof(arity_Nat_Onat___Rings_Ocomm__semiring__1,axiom,
    comm_semiring_1(nat) ).

fof(arity_Nat_Onat___Groups_Osemigroup__add,axiom,
    semigroup_add(nat) ).

fof(arity_Nat_Onat___Orderings_Opreorder,axiom,
    preorder(nat) ).

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

fof(arity_Nat_Onat___Groups_Omonoid__add,axiom,
    monoid_add(nat) ).

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

fof(arity_Nat_Onat___Orderings_Oord,axiom,
    ord(nat) ).

fof(arity_Nat_Onat___Groups_Ominus,axiom,
    minus(nat) ).

fof(arity_Nat_Onat___Groups_Ozero,axiom,
    zero(nat) ).

fof(arity_Nat_Onat___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_Oord,axiom,
    ord(bool) ).

fof(arity_HOL_Obool___Groups_Ominus,axiom,
    minus(bool) ).

fof(arity_HOL_Obool___HOL_Oequal,axiom,
    cl_HOL_Oequal(bool) ).

fof(arity_List_Olist___HOL_Oequal,axiom,
    ! [T_1] : cl_HOL_Oequal(list(T_1)) ).

%----Helper facts (24)
fof(help_ti_idem,axiom,
    ! [T,A] : ti(T,ti(T,A)) = ti(T,A) ).

fof(help_If_1_1_T,axiom,
    ! [X_a,X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),hAPP(bool,fun(X_a,fun(X_a,X_a)),if(X_a),fTrue),X),Y) = ti(X_a,X) ).

fof(help_If_2_1_T,axiom,
    ! [X_a,X,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),hAPP(bool,fun(X_a,fun(X_a,X_a)),if(X_a),fFalse),X),Y) = ti(X_a,Y) ).

fof(help_If_3_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fTrue
      | ti(bool,P) = fFalse ) ).

fof(help_fEx_1_1_U,axiom,
    ! [X_a,P,X] :
      ( ~ hBOOL(hAPP(X_a,bool,P,X))
      | hBOOL(hAPP(fun(X_a,bool),bool,fEx(X_a),P)) ) ).

fof(help_fNot_1_1_U,axiom,
    ! [P] :
      ( ~ hBOOL(hAPP(bool,bool,fNot,P))
      | ~ hBOOL(P) ) ).

fof(help_fNot_2_1_U,axiom,
    ! [P] :
      ( hBOOL(P)
      | hBOOL(hAPP(bool,bool,fNot,P)) ) ).

fof(help_COMBB_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c)),combb(X_b,X_c,X_a),P),Q),R) = hAPP(X_b,X_c,P,hAPP(X_a,X_b,Q,R)) ).

fof(help_COMBC_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(X_b,fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c)),combc(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),Q) ).

fof(help_COMBI_1_1_U,axiom,
    ! [X_a,P] : hAPP(X_a,X_a,combi(X_a),P) = ti(X_a,P) ).

fof(help_COMBK_1_1_U,axiom,
    ! [X_b,X_a,P,Q] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),combk(X_a,X_b),P),Q) = ti(X_a,P) ).

fof(help_COMBS_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c)),combs(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),hAPP(X_a,X_b,Q,R)) ).

fof(help_fTrue_1_1_U,axiom,
    hBOOL(fTrue) ).

fof(help_fTrue_1_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fTrue
      | ti(bool,P) = fFalse ) ).

fof(help_fconj_1_1_U,axiom,
    ! [Q,P] :
      ( ~ hBOOL(P)
      | ~ hBOOL(Q)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q)) ) ).

fof(help_fconj_2_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q))
      | hBOOL(P) ) ).

fof(help_fconj_3_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fconj,P),Q))
      | hBOOL(Q) ) ).

fof(help_fdisj_1_1_U,axiom,
    ! [Q,P] :
      ( ~ hBOOL(P)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ) ).

fof(help_fdisj_2_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(Q)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ) ).

fof(help_fdisj_3_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q))
      | hBOOL(P)
      | hBOOL(Q) ) ).

fof(help_fFalse_1_1_U,axiom,
    ~ hBOOL(fFalse) ).

fof(help_fFalse_1_1_T,axiom,
    ! [P] :
      ( ti(bool,P) = fTrue
      | ti(bool,P) = fFalse ) ).

fof(help_fequal_1_1_T,axiom,
    ! [X_a,X,Y] :
      ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y))
      | ti(X_a,X) = ti(X_a,Y) ) ).

fof(help_fequal_2_1_T,axiom,
    ! [X_a,X,Y] :
      ( ti(X_a,X) != ti(X_a,Y)
      | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y)) ) ).

%----Conjectures (2)
fof(conj_0,hypothesis,
    a != b ).

fof(conj_1,conjecture,
    ? [C] : hBOOL(hAPP(list(arrow_2142409994le_alt),bool,distinct(arrow_2142409994le_alt),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),a),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),b),hAPP(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt),hAPP(arrow_2142409994le_alt,fun(list(arrow_2142409994le_alt),list(arrow_2142409994le_alt)),cons(arrow_2142409994le_alt),C),nil(arrow_2142409994le_alt)))))) ).

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