TPTP Problem File: SWW470+5.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWW470+5 : TPTP v8.2.0. Released v5.3.0.
% Domain   : Software Verification
% Problem  : Hoare's Logic with Procedures line 200, 100 axioms selected
% Version  : Especial.
% English  :

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

% Status   : Theorem
% Rating   : 0.56 v8.2.0, 0.64 v7.5.0, 0.62 v7.4.0, 0.50 v7.3.0, 0.62 v7.1.0, 0.52 v7.0.0, 0.60 v6.4.0, 0.62 v6.2.0, 0.64 v6.1.0, 0.80 v6.0.0, 0.74 v5.5.0, 0.78 v5.4.0, 0.79 v5.3.0
% Syntax   : Number of formulae    :  163 (  75 unt;   0 def)
%            Number of atoms       :  342 ( 143 equ)
%            Maximal formula atoms :    9 (   2 avg)
%            Number of connectives :  235 (  56   ~;  23   |;  23   &)
%                                         (  21 <=>; 112  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (   5 avg)
%            Maximal term depth    :   16 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   42 (  42 usr;  16 con; 0-4 aty)
%            Number of variables   :  501 ( 483   !;  18   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 13:57:20
%          : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (38)
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_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_Com_Ocom_OSKIP_res,axiom,
    ti(com,skip) = skip ).

fof(tsy_c_Com_Ocom_OSemi_res,axiom,
    ti(fun(com,fun(com,com)),semi) = semi ).

fof(tsy_c_Finite__Set_Ofinite_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,bool),bool),finite_finite_1(X_b)) = finite_finite_1(X_b) ).

fof(tsy_c_Finite__Set_Ofold1_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),X_b)),finite_fold1(X_b)) = finite_fold1(X_b) ).

fof(tsy_c_Finite__Set_Ofold1Set_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool))),finite_fold1Set(X_b)) = finite_fold1Set(X_b) ).

fof(tsy_c_Finite__Set_Ofold__graph_res,axiom,
    ! [X_b,X_c] : ti(fun(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool)))),finite_fold_graph(X_b,X_c)) = finite_fold_graph(X_b,X_c) ).

fof(tsy_c_Finite__Set_Ofolding__one_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool)),finite_folding_one(X_b)) = finite_folding_one(X_b) ).

fof(tsy_c_Finite__Set_Ofolding__one__idem_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool)),finite2073411215e_idem(X_b)) = finite2073411215e_idem(X_b) ).

fof(tsy_c_HOL_OThe_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,bool),X_b),the(X_b)) = the(X_b) ).

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

fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Ohoare__derivs_res,axiom,
    ! [X_b] : ti(fun(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool)),hoare_122391849derivs(X_b)) = hoare_122391849derivs(X_b) ).

fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Otriple_Otriple_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),hoare_1008221573triple(X_b)) = hoare_1008221573triple(X_b) ).

fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Otriple_Otriple__case_res,axiom,
    ! [X_c,X_b] : ti(fun(fun(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),X_b))),fun(hoare_509422987triple(X_c),X_b)),hoare_885240885e_case(X_c,X_b)) = hoare_885240885e_case(X_c,X_b) ).

fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Otriple_Otriple__rec_res,axiom,
    ! [X_c,X_b] : ti(fun(fun(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),X_b))),fun(hoare_509422987triple(X_c),X_b)),hoare_728318379le_rec(X_c,X_b)) = hoare_728318379le_rec(X_c,X_b) ).

fof(tsy_c_Orderings_Obot__class_Obot_res,axiom,
    ! [X_b] :
      ( bot(X_b)
     => ti(X_b,bot_bot(X_b)) = bot_bot(X_b) ) ).

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

fof(tsy_c_Set_Oinsert_res,axiom,
    ! [X_b] : ti(fun(X_b,fun(fun(X_b,bool),fun(X_b,bool))),insert(X_b)) = insert(X_b) ).

fof(tsy_c_Set_Othe__elem_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,bool),X_b),the_elem(X_b)) = the_elem(X_b) ).

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

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

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

fof(tsy_c_fconj_res,hypothesis,
    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_fimplies_res,axiom,
    ti(fun(bool,fun(bool,bool)),fimplies) = fimplies ).

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

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

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

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

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

fof(tsy_v_G_res,hypothesis,
    ti(fun(hoare_509422987triple(x_a),bool),g) = g ).

fof(tsy_v_P_res,hypothesis,
    ti(fun(x_a,fun(state,bool)),p) = p ).

fof(tsy_v_b_res,hypothesis,
    ti(fun(state,bool),b) = b ).

fof(tsy_v_c_res,hypothesis,
    ti(com,c) = c ).

%----Relevant facts (100)
fof(fact_0_empty,axiom,
    ! [X_b,Ga] : hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),bot_bot(fun(hoare_509422987triple(X_b),bool)))) ).

fof(fact_1_triple_Oinject,axiom,
    ! [X_b,Fun1_1,Com_1,Fun2_1,Fun1_2,Com_2,Fun2_2] :
      ( hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Fun1_1),Com_1),Fun2_1) = hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Fun1_2),Com_2),Fun2_2)
    <=> ( Fun1_1 = Fun1_2
        & Com_1 = Com_2
        & Fun2_1 = Fun2_2 ) ) ).

fof(fact_2_cut,axiom,
    ! [X_b,Ga,G_1,Ts] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),G_1),Ts))
     => ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),G_1))
       => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),Ts)) ) ) ).

fof(fact_3_hoare__derivs_Oinsert,axiom,
    ! [X_b,Ts,Ga,T_3] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),T_3),bot_bot(fun(hoare_509422987triple(X_b),bool)))))
     => ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),Ts))
       => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),T_3),Ts))) ) ) ).

fof(fact_4_constant,axiom,
    ! [X_b,Ga,Pa,Ca,Q_1,C] :
      ( ( hBOOL(C)
       => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) )
     => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),hAPP(bool,fun(X_b,fun(state,bool)),hAPP(fun(X_b,fun(bool,fun(state,bool))),fun(bool,fun(X_b,fun(state,bool))),combc(X_b,bool,fun(state,bool)),hAPP(fun(X_b,fun(state,fun(bool,bool))),fun(X_b,fun(bool,fun(state,bool))),hAPP(fun(fun(state,fun(bool,bool)),fun(bool,fun(state,bool))),fun(fun(X_b,fun(state,fun(bool,bool))),fun(X_b,fun(bool,fun(state,bool)))),combb(fun(state,fun(bool,bool)),fun(bool,fun(state,bool)),X_b),combc(state,bool,bool)),hAPP(fun(X_b,fun(state,bool)),fun(X_b,fun(state,fun(bool,bool))),hAPP(fun(fun(state,bool),fun(state,fun(bool,bool))),fun(fun(X_b,fun(state,bool)),fun(X_b,fun(state,fun(bool,bool)))),combb(fun(state,bool),fun(state,fun(bool,bool)),X_b),hAPP(fun(bool,fun(bool,bool)),fun(fun(state,bool),fun(state,fun(bool,bool))),combb(bool,fun(bool,bool),state),fconj)),Pa))),C)),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ).

fof(fact_5_escape,axiom,
    ! [X_b,Ga,Ca,Q_1,Pa] :
      ( ! [Z_1,S] :
          ( hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Pa,Z_1),S))
         => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),hAPP(fun(state,bool),fun(X_b,fun(state,bool)),combk(fun(state,bool),X_b),hAPP(state,fun(state,bool),hAPP(fun(state,fun(state,bool)),fun(state,fun(state,bool)),combc(state,state,bool),fequal(state)),S))),Ca),hAPP(fun(state,bool),fun(X_b,fun(state,bool)),combk(fun(state,bool),X_b),hAPP(X_b,fun(state,bool),Q_1,Z_1)))),bot_bot(fun(hoare_509422987triple(X_b),bool))))) )
     => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ).

fof(fact_6_conseq2,axiom,
    ! [X_b,Q_1,Ga,Pa,Ca,Q_3] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_3)),bot_bot(fun(hoare_509422987triple(X_b),bool)))))
     => ( ! [Z_1,S] :
            ( hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Q_3,Z_1),S))
           => hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Q_1,Z_1),S)) )
       => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ) ).

fof(fact_7_conseq1,axiom,
    ! [X_b,Pa,Ga,P_2,Ca,Q_1] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),P_2),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool)))))
     => ( ! [Z_1,S] :
            ( hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Pa,Z_1),S))
           => hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),P_2,Z_1),S)) )
       => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ) ).

fof(fact_8_conseq12,axiom,
    ! [X_b,Q_1,Pa,Ga,P_2,Ca,Q_3] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),P_2),Ca),Q_3)),bot_bot(fun(hoare_509422987triple(X_b),bool)))))
     => ( ! [Z_1,S] :
            ( hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Pa,Z_1),S))
           => ! [S_1] :
                ( ! [Z_2] :
                    ( hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),P_2,Z_2),S))
                   => hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Q_3,Z_2),S_1)) )
               => hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Q_1,Z_1),S_1)) ) )
       => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ) ).

fof(fact_9_insertE,axiom,
    ! [X_b,A_4,Ba,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Ba),A_1)))
     => ( ti(X_b,A_4) != ti(X_b,Ba)
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),A_1)) ) ) ).

fof(fact_10_insertCI,axiom,
    ! [X_b,Ba,A_4,B_1] :
      ( ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),B_1))
       => ti(X_b,A_4) = ti(X_b,Ba) )
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Ba),B_1))) ) ).

fof(fact_11_emptyE,axiom,
    ! [X_b,A_4] : ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),bot_bot(fun(X_b,bool)))) ).

fof(fact_12_singleton__conv2,axiom,
    ! [X_b,A_4] : hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(X_b,fun(X_b,bool),fequal(X_b),A_4)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool))) ).

fof(fact_13_singleton__conv,axiom,
    ! [X_b,A_4] : hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),A_4)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool))) ).

fof(fact_14_Collect__conv__if2,axiom,
    ! [X_b,Pa,A_4] :
      ( ( hBOOL(hAPP(X_b,bool,Pa,A_4))
       => hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fconj),hAPP(X_b,fun(X_b,bool),fequal(X_b),A_4))),Pa)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool))) )
      & ( ~ hBOOL(hAPP(X_b,bool,Pa,A_4))
       => hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fconj),hAPP(X_b,fun(X_b,bool),fequal(X_b),A_4))),Pa)) = bot_bot(fun(X_b,bool)) ) ) ).

fof(fact_15_Collect__conv__if,axiom,
    ! [X_b,Pa,A_4] :
      ( ( hBOOL(hAPP(X_b,bool,Pa,A_4))
       => hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fconj),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),A_4))),Pa)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool))) )
      & ( ~ hBOOL(hAPP(X_b,bool,Pa,A_4))
       => hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fconj),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),A_4))),Pa)) = bot_bot(fun(X_b,bool)) ) ) ).

fof(fact_16_triple_Orecs,axiom,
    ! [X_c,X_b,F1,Fun1_1,Com_1,Fun2_1] : hAPP(hoare_509422987triple(X_c),X_b,hAPP(fun(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),X_b))),fun(hoare_509422987triple(X_c),X_b),hoare_728318379le_rec(X_c,X_b),F1),hAPP(fun(X_c,fun(state,bool)),hoare_509422987triple(X_c),hAPP(com,fun(fun(X_c,fun(state,bool)),hoare_509422987triple(X_c)),hAPP(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),hoare_509422987triple(X_c))),hoare_1008221573triple(X_c),Fun1_1),Com_1),Fun2_1)) = hAPP(fun(X_c,fun(state,bool)),X_b,hAPP(com,fun(fun(X_c,fun(state,bool)),X_b),hAPP(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),X_b)),F1,Fun1_1),Com_1),Fun2_1) ).

fof(fact_17_equals0D,axiom,
    ! [X_b,A_4,A_1] :
      ( ti(fun(X_b,bool),A_1) = bot_bot(fun(X_b,bool))
     => ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),A_1)) ) ).

fof(fact_18_Collect__empty__eq,axiom,
    ! [X_b,Pa] :
      ( hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),Pa) = bot_bot(fun(X_b,bool))
    <=> ! [X_2] : ~ hBOOL(hAPP(X_b,bool,Pa,X_2)) ) ).

fof(fact_19_empty__iff,axiom,
    ! [X_b,Ca] : ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Ca),bot_bot(fun(X_b,bool)))) ).

fof(fact_20_empty__Collect__eq,axiom,
    ! [X_b,Pa] :
      ( bot_bot(fun(X_b,bool)) = hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),Pa)
    <=> ! [X_2] : ~ hBOOL(hAPP(X_b,bool,Pa,X_2)) ) ).

fof(fact_21_ex__in__conv,axiom,
    ! [X_b,A_1] :
      ( ? [X_2] : hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_1))
    <=> ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool)) ) ).

fof(fact_22_all__not__in__conv,axiom,
    ! [X_b,A_1] :
      ( ! [X_2] : ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_1))
    <=> ti(fun(X_b,bool),A_1) = bot_bot(fun(X_b,bool)) ) ).

fof(fact_23_empty__def,axiom,
    ! [X_b] : bot_bot(fun(X_b,bool)) = hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(bool,fun(X_b,bool),combk(bool,X_b),fFalse)) ).

fof(fact_24_insert__absorb,axiom,
    ! [X_b,A_4,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),A_1))
     => hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),A_1) = ti(fun(X_b,bool),A_1) ) ).

fof(fact_25_insertI2,axiom,
    ! [X_b,Ba,A_4,B_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),B_1))
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Ba),B_1))) ) ).

fof(fact_26_insert__ident,axiom,
    ! [X_b,B_1,X_1,A_1] :
      ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_1))
     => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),B_1))
       => ( hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),B_1)
        <=> ti(fun(X_b,bool),A_1) = ti(fun(X_b,bool),B_1) ) ) ) ).

fof(fact_27_insert__code,axiom,
    ! [X_b,Y_2,A_1,X_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Y_2),A_1),X_1))
    <=> ( ti(X_b,Y_2) = ti(X_b,X_1)
        | hBOOL(hAPP(X_b,bool,A_1,X_1)) ) ) ).

fof(fact_28_insert__iff,axiom,
    ! [X_b,A_4,Ba,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Ba),A_1)))
    <=> ( ti(X_b,A_4) = ti(X_b,Ba)
        | hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),A_1)) ) ) ).

fof(fact_29_insert__commute,axiom,
    ! [X_b,X_1,Y_2,A_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Y_2),A_1)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Y_2),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_1)) ).

fof(fact_30_insert__absorb2,axiom,
    ! [X_b,X_1,A_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_1)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_1) ).

fof(fact_31_insert__Collect,axiom,
    ! [X_b,A_4,Pa] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),Pa)) = hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fimplies),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),fNot),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),A_4)))),Pa)) ).

fof(fact_32_insert__compr,axiom,
    ! [X_b,A_4,B_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),B_1) = hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fdisj),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),A_4))),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(fun(X_b,bool),bool)),fun(fun(X_b,bool),fun(X_b,bool)),combc(X_b,fun(X_b,bool),bool),member(X_b)),B_1))) ).

fof(fact_33_insertI1,axiom,
    ! [X_b,A_4,B_1] : hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),B_1))) ).

fof(fact_34_insert__compr__raw,axiom,
    ! [X_b,X_2,Xa] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),Xa) = hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fdisj),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),X_2))),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(fun(X_b,bool),bool)),fun(fun(X_b,bool),fun(X_b,bool)),combc(X_b,fun(X_b,bool),bool),member(X_b)),Xa))) ).

fof(fact_35_singleton__inject,axiom,
    ! [X_b,A_4,Ba] :
      ( hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool))) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Ba),bot_bot(fun(X_b,bool)))
     => ti(X_b,A_4) = ti(X_b,Ba) ) ).

fof(fact_36_singletonE,axiom,
    ! [X_b,Ba,A_4] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Ba),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool)))))
     => ti(X_b,Ba) = ti(X_b,A_4) ) ).

fof(fact_37_doubleton__eq__iff,axiom,
    ! [X_b,A_4,Ba,Ca,D] :
      ( hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Ba),bot_bot(fun(X_b,bool)))) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Ca),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),D),bot_bot(fun(X_b,bool))))
    <=> ( ( ti(X_b,A_4) = ti(X_b,Ca)
          & ti(X_b,Ba) = ti(X_b,D) )
        | ( ti(X_b,A_4) = ti(X_b,D)
          & ti(X_b,Ba) = ti(X_b,Ca) ) ) ) ).

fof(fact_38_singleton__iff,axiom,
    ! [X_b,Ba,A_4] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Ba),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool)))))
    <=> ti(X_b,Ba) = ti(X_b,A_4) ) ).

fof(fact_39_insert__not__empty,axiom,
    ! [X_b,A_4,A_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),A_1) != bot_bot(fun(X_b,bool)) ).

fof(fact_40_empty__not__insert,axiom,
    ! [X_b,A_4,A_1] : bot_bot(fun(X_b,bool)) != hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),A_1) ).

fof(fact_41_the__elem__eq,axiom,
    ! [X_b,X_1] : hAPP(fun(X_b,bool),X_b,the_elem(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),bot_bot(fun(X_b,bool)))) = ti(X_b,X_1) ).

fof(fact_42_triple_Osimps_I2_J,axiom,
    ! [X_c,X_b,F1,Fun1_1,Com_1,Fun2_1] : hAPP(hoare_509422987triple(X_c),X_b,hAPP(fun(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),X_b))),fun(hoare_509422987triple(X_c),X_b),hoare_885240885e_case(X_c,X_b),F1),hAPP(fun(X_c,fun(state,bool)),hoare_509422987triple(X_c),hAPP(com,fun(fun(X_c,fun(state,bool)),hoare_509422987triple(X_c)),hAPP(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),hoare_509422987triple(X_c))),hoare_1008221573triple(X_c),Fun1_1),Com_1),Fun2_1)) = hAPP(fun(X_c,fun(state,bool)),X_b,hAPP(com,fun(fun(X_c,fun(state,bool)),X_b),hAPP(fun(X_c,fun(state,bool)),fun(com,fun(fun(X_c,fun(state,bool)),X_b)),F1,Fun1_1),Com_1),Fun2_1) ).

fof(fact_43_bot__apply,axiom,
    ! [X_c,X_b] :
      ( bot(X_b)
     => ! [X_1] : hAPP(X_c,X_b,bot_bot(fun(X_c,X_b)),X_1) = bot_bot(X_b) ) ).

fof(fact_44_bot__fun__def,axiom,
    ! [X_b,X_c] :
      ( bot(X_c)
     => ! [X_2] : hAPP(X_b,X_c,bot_bot(fun(X_b,X_c)),X_2) = bot_bot(X_c) ) ).

fof(fact_45_hoare__derivs_OSkip,axiom,
    ! [X_b,Ga,Pa] : hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),skip),Pa)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ).

fof(fact_46_Comp,axiom,
    ! [X_b,D,R_1,Ga,Pa,Ca,Q_1] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool)))))
     => ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Q_1),D),R_1)),bot_bot(fun(hoare_509422987triple(X_b),bool)))))
       => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),hAPP(com,com,hAPP(com,fun(com,com),semi,Ca),D)),R_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ) ).

fof(fact_47_triple_Oexhaust,axiom,
    ! [X_b,Y_2] :
      ~ ! [Fun1,Com,Fun2] : Y_2 != hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Fun1),Com),Fun2) ).

fof(fact_48_Set_Oset__insert,axiom,
    ! [X_b,X_1,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_1))
     => ~ ! [B] :
            ( ti(fun(X_b,bool),A_1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),B)
           => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),B)) ) ) ).

fof(fact_49_com_Osimps_I13_J,axiom,
    ! [Com1_2,Com2_2] : hAPP(com,com,hAPP(com,fun(com,com),semi,Com1_2),Com2_2) != skip ).

fof(fact_50_com_Osimps_I12_J,axiom,
    ! [Com1_2,Com2_2] : skip != hAPP(com,com,hAPP(com,fun(com,com),semi,Com1_2),Com2_2) ).

fof(fact_51_the__elem__def,axiom,
    ! [X_b,X_3] : hAPP(fun(X_b,bool),X_b,the_elem(X_b),X_3) = hAPP(fun(X_b,bool),X_b,the(X_b),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,bool),hAPP(fun(fun(X_b,bool),bool),fun(fun(X_b,fun(X_b,bool)),fun(X_b,bool)),combb(fun(X_b,bool),bool,X_b),hAPP(fun(X_b,bool),fun(fun(X_b,bool),bool),fequal(fun(X_b,bool)),X_3)),hAPP(fun(X_b,bool),fun(X_b,fun(X_b,bool)),hAPP(fun(X_b,fun(fun(X_b,bool),fun(X_b,bool))),fun(fun(X_b,bool),fun(X_b,fun(X_b,bool))),combc(X_b,fun(X_b,bool),fun(X_b,bool)),insert(X_b)),bot_bot(fun(X_b,bool))))) ).

fof(fact_52_mk__disjoint__insert,axiom,
    ! [X_b,A_4,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),A_1))
     => ? [B] :
          ( ti(fun(X_b,bool),A_1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),B)
          & ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),B)) ) ) ).

fof(fact_53_com_Osimps_I3_J,axiom,
    ! [Com1_1,Com2_1,Com1,Com2] :
      ( hAPP(com,com,hAPP(com,fun(com,com),semi,Com1_1),Com2_1) = hAPP(com,com,hAPP(com,fun(com,com),semi,Com1),Com2)
    <=> ( Com1_1 = Com1
        & Com2_1 = Com2 ) ) ).

fof(fact_54_the__sym__eq__trivial,axiom,
    ! [X_b,X_1] : hAPP(fun(X_b,bool),X_b,the(X_b),hAPP(X_b,fun(X_b,bool),fequal(X_b),X_1)) = ti(X_b,X_1) ).

fof(fact_55_the__eq__trivial,axiom,
    ! [X_b,A_4] : hAPP(fun(X_b,bool),X_b,the(X_b),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),A_4)) = ti(X_b,A_4) ).

fof(fact_56_If__def,axiom,
    ! [X_b,X_1,Y_2,Pa] :
      ( ( hBOOL(Pa)
       => ti(X_b,X_1) = hAPP(fun(X_b,bool),X_b,the(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fconj),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fimplies,Pa)),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),X_1)))),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fimplies,hAPP(bool,bool,fNot,Pa))),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),Y_2)))) )
      & ( ~ hBOOL(Pa)
       => ti(X_b,Y_2) = hAPP(fun(X_b,bool),X_b,the(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fconj),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fimplies,Pa)),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),X_1)))),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(bool,bool),fun(fun(X_b,bool),fun(X_b,bool)),combb(bool,bool,X_b),hAPP(bool,fun(bool,bool),fimplies,hAPP(bool,bool,fNot,Pa))),hAPP(X_b,fun(X_b,bool),hAPP(fun(X_b,fun(X_b,bool)),fun(X_b,fun(X_b,bool)),combc(X_b,X_b,bool),fequal(X_b)),Y_2)))) ) ) ).

fof(fact_57_equals0I,axiom,
    ! [X_b,A_1] :
      ( ! [Y_1] : ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Y_1),A_1))
     => ti(fun(X_b,bool),A_1) = bot_bot(fun(X_b,bool)) ) ).

fof(fact_58_the__equality,axiom,
    ! [X_b,Pa,A_4] :
      ( hBOOL(hAPP(X_b,bool,Pa,A_4))
     => ( ! [X_2] :
            ( hBOOL(hAPP(X_b,bool,Pa,X_2))
           => ti(X_b,X_2) = ti(X_b,A_4) )
       => hAPP(fun(X_b,bool),X_b,the(X_b),Pa) = ti(X_b,A_4) ) ) ).

fof(fact_59_theI,axiom,
    ! [X_b,Pa,A_4] :
      ( hBOOL(hAPP(X_b,bool,Pa,A_4))
     => ( ! [X_2] :
            ( hBOOL(hAPP(X_b,bool,Pa,X_2))
           => ti(X_b,X_2) = ti(X_b,A_4) )
       => hBOOL(hAPP(X_b,bool,Pa,hAPP(fun(X_b,bool),X_b,the(X_b),Pa))) ) ) ).

fof(fact_60_the1__equality,axiom,
    ! [X_b,A_4,Pa] :
      ( ? [X_2] :
          ( hBOOL(hAPP(X_b,bool,Pa,X_2))
          & ! [Y_1] :
              ( hBOOL(hAPP(X_b,bool,Pa,Y_1))
             => ti(X_b,Y_1) = ti(X_b,X_2) ) )
     => ( hBOOL(hAPP(X_b,bool,Pa,A_4))
       => hAPP(fun(X_b,bool),X_b,the(X_b),Pa) = ti(X_b,A_4) ) ) ).

fof(fact_61_theI_H,axiom,
    ! [X_b,Pa] :
      ( ? [X_2] :
          ( hBOOL(hAPP(X_b,bool,Pa,X_2))
          & ! [Y_1] :
              ( hBOOL(hAPP(X_b,bool,Pa,Y_1))
             => ti(X_b,Y_1) = ti(X_b,X_2) ) )
     => hBOOL(hAPP(X_b,bool,Pa,hAPP(fun(X_b,bool),X_b,the(X_b),Pa))) ) ).

fof(fact_62_conseq,axiom,
    ! [X_b,Q_1,Ga,Ca,Pa] :
      ( ! [Z_1,S] :
          ( hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Pa,Z_1),S))
         => ? [P_1,Q_2] :
              ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),P_1),Ca),Q_2)),bot_bot(fun(hoare_509422987triple(X_b),bool)))))
              & ! [S_1] :
                  ( ! [Z_2] :
                      ( hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),P_1,Z_2),S))
                     => hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Q_2,Z_2),S_1)) )
                 => hBOOL(hAPP(state,bool,hAPP(X_b,fun(state,bool),Q_1,Z_1),S_1)) ) ) )
     => hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool),hoare_122391849derivs(X_b),Ga),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),insert(hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Pa),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ).

fof(fact_63_nonempty__iff,axiom,
    ! [X_b,A_1] :
      ( ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool))
    <=> ? [X_2,B] :
          ( ti(fun(X_b,bool),A_1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),B)
          & ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),B)) ) ) ).

fof(fact_64_fold1Set__sing,axiom,
    ! [X_b,F_1,A_4,Ba] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool)))),Ba))
    <=> ti(X_b,A_4) = ti(X_b,Ba) ) ).

fof(fact_65_folding__one_Osingleton,axiom,
    ! [X_b,X_1,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_b),bool,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool),finite_folding_one(X_b),F_1),F))
     => hAPP(fun(X_b,bool),X_b,F,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),bot_bot(fun(X_b,bool)))) = ti(X_b,X_1) ) ).

fof(fact_66_bot__empty__eq,axiom,
    ! [X_b,X_2] :
      ( hBOOL(hAPP(X_b,bool,bot_bot(fun(X_b,bool)),X_2))
    <=> hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),bot_bot(fun(X_b,bool)))) ) ).

fof(fact_67_empty__fold1SetE,axiom,
    ! [X_b,F_1,X_1] : ~ hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),bot_bot(fun(X_b,bool))),X_1)) ).

fof(fact_68_fold1Set__nonempty,axiom,
    ! [X_b,F_1,A_1,X_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),A_1),X_1))
     => ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool)) ) ).

fof(fact_69_fold1Set_Ointros,axiom,
    ! [X_b,F_1,A_4,A_1,X_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),hAPP(fun(X_b,fun(X_b,X_b)),fun(X_b,fun(fun(X_b,bool),fun(X_b,bool))),finite_fold_graph(X_b,X_b),F_1),A_4),A_1),X_1))
     => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_4),A_1))
       => hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),A_1)),X_1)) ) ) ).

fof(fact_70_folding__one_Oinsert,axiom,
    ! [X_b,X_1,A_1,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_b),bool,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool),finite_folding_one(X_b),F_1),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
       => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_1))
         => ( ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool))
           => hAPP(fun(X_b,bool),X_b,F,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_1)) = hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),F_1,X_1),hAPP(fun(X_b,bool),X_b,F,A_1)) ) ) ) ) ).

fof(fact_71_fold1__def,axiom,
    ! [X_b,F_1,A_1] : hAPP(fun(X_b,bool),X_b,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),X_b),finite_fold1(X_b),F_1),A_1) = hAPP(fun(X_b,bool),X_b,the(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),A_1)) ).

fof(fact_72_finite__Collect__conjI,axiom,
    ! [X_b,Q_1,Pa] :
      ( ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),Pa)))
        | hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),Q_1))) )
     => hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fconj),Pa)),Q_1)))) ) ).

fof(fact_73_finite_OemptyI,axiom,
    ! [X_b] : hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),bot_bot(fun(X_b,bool)))) ).

fof(fact_74_finite_OinsertI,axiom,
    ! [X_b,A_4,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
     => hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),A_1))) ) ).

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

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

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

fof(fact_78_folding__one_Oeq__fold,axiom,
    ! [X_b,A_1,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_b),bool,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool),finite_folding_one(X_b),F_1),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
       => hAPP(fun(X_b,bool),X_b,F,A_1) = hAPP(fun(X_b,bool),X_b,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),X_b),finite_fold1(X_b),F_1),A_1) ) ) ).

fof(fact_79_fold__graph_OemptyI,axiom,
    ! [X_c,X_b,F_1,Z] : hBOOL(hAPP(X_c,bool,hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_b,bool),fun(X_c,bool)),hAPP(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool))),finite_fold_graph(X_b,X_c),F_1),Z),bot_bot(fun(X_b,bool))),Z)) ).

fof(fact_80_empty__fold__graphE,axiom,
    ! [X_c,X_b,F_1,Z,X_1] :
      ( hBOOL(hAPP(X_c,bool,hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_b,bool),fun(X_c,bool)),hAPP(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool))),finite_fold_graph(X_b,X_c),F_1),Z),bot_bot(fun(X_b,bool))),X_1))
     => ti(X_c,X_1) = ti(X_c,Z) ) ).

fof(fact_81_fold__graph_OinsertI,axiom,
    ! [X_c,X_b,F_1,Z,Y_2,X_1,A_1] :
      ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_1))
     => ( hBOOL(hAPP(X_c,bool,hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_b,bool),fun(X_c,bool)),hAPP(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool))),finite_fold_graph(X_b,X_c),F_1),Z),A_1),Y_2))
       => hBOOL(hAPP(X_c,bool,hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_b,bool),fun(X_c,bool)),hAPP(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool))),finite_fold_graph(X_b,X_c),F_1),Z),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_1)),hAPP(X_c,X_c,hAPP(X_b,fun(X_c,X_c),F_1,X_1),Y_2))) ) ) ).

fof(fact_82_finite,axiom,
    ! [X_b] :
      ( finite_finite(X_b)
     => ! [A_1] : hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1)) ) ).

fof(fact_83_finite__code,axiom,
    ! [X_b] :
      ( finite_finite(X_b)
     => ! [A_1] : hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1)) ) ).

fof(fact_84_finite__Collect__disjI,axiom,
    ! [X_b,Pa,Q_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,bool)),combs(X_b,bool,bool),hAPP(fun(X_b,bool),fun(X_b,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_b,bool),fun(X_b,fun(bool,bool))),combb(bool,fun(bool,bool),X_b),fdisj),Pa)),Q_1))))
    <=> ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),Pa)))
        & hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),Q_1))) ) ) ).

fof(fact_85_finite__insert,axiom,
    ! [X_b,A_4,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),A_1)))
    <=> hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1)) ) ).

fof(fact_86_fold1__singleton__def,axiom,
    ! [X_b,A_4,G,F_1] :
      ( G = hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),X_b),finite_fold1(X_b),F_1)
     => hAPP(fun(X_b,bool),X_b,G,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool)))) = ti(X_b,A_4) ) ).

fof(fact_87_fold1__singleton,axiom,
    ! [X_b,F_1,A_4] : hAPP(fun(X_b,bool),X_b,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),X_b),finite_fold1(X_b),F_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),bot_bot(fun(X_b,bool)))) = ti(X_b,A_4) ).

fof(fact_88_folding__one_Oclosed,axiom,
    ! [X_b,A_1,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_b),bool,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool),finite_folding_one(X_b),F_1),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
       => ( ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool))
         => ( ! [X_2,Y_1] : hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),F_1,X_2),Y_1)),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),Y_1),bot_bot(fun(X_b,bool))))))
           => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),hAPP(fun(X_b,bool),X_b,F,A_1)),A_1)) ) ) ) ) ).

fof(fact_89_insert__fold1SetE,axiom,
    ! [X_b,F_1,A_4,X_3,X_1] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),X_3)),X_1))
     => ~ ! [A_3,A_2] :
            ( hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_4),X_3) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_3),A_2)
           => ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),hAPP(fun(X_b,fun(X_b,X_b)),fun(X_b,fun(fun(X_b,bool),fun(X_b,bool))),finite_fold_graph(X_b,X_b),F_1),A_3),A_2),X_1))
             => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_3),A_2)) ) ) ) ).

fof(fact_90_finite__nonempty__imp__fold1Set,axiom,
    ! [X_b,F_1,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
     => ( ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool))
       => ? [X1] : hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),A_1),X1)) ) ) ).

fof(fact_91_finite__induct,axiom,
    ! [X_b,Pa,F] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,Pa,bot_bot(fun(X_b,bool))))
       => ( ! [X_2,F_2] :
              ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),F_2))
             => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),F_2))
               => ( hBOOL(hAPP(fun(X_b,bool),bool,Pa,F_2))
                 => hBOOL(hAPP(fun(X_b,bool),bool,Pa,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),F_2))) ) ) )
         => hBOOL(hAPP(fun(X_b,bool),bool,Pa,F)) ) ) ) ).

fof(fact_92_finite_Osimps,axiom,
    ! [X_b,A_4] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_4))
    <=> ( ti(fun(X_b,bool),A_4) = bot_bot(fun(X_b,bool))
        | ? [A_2,A_3] :
            ( ti(fun(X_b,bool),A_4) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_3),A_2)
            & hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_2)) ) ) ) ).

fof(fact_93_finite__imp__fold__graph,axiom,
    ! [X_c,X_b,F_1,Z,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
     => ? [X1] : hBOOL(hAPP(X_c,bool,hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_b,bool),fun(X_c,bool)),hAPP(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool))),finite_fold_graph(X_b,X_c),F_1),Z),A_1),X1)) ) ).

fof(fact_94_fold1Set_Osimps,axiom,
    ! [X_b,F_1,A1,A2] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(X_b,bool),fun(X_b,bool)),finite_fold1Set(X_b),F_1),A1),A2))
    <=> ? [A_3,A_2,X_2] :
          ( ti(fun(X_b,bool),A1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),A_3),A_2)
          & ti(X_b,A2) = ti(X_b,X_2)
          & hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),hAPP(fun(X_b,fun(X_b,X_b)),fun(X_b,fun(fun(X_b,bool),fun(X_b,bool))),finite_fold_graph(X_b,X_b),F_1),A_3),A_2),X_2))
          & ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_3),A_2)) ) ) ).

fof(fact_95_fold__graph_Osimps,axiom,
    ! [X_c,X_b,F_1,Z,A1,A2] :
      ( hBOOL(hAPP(X_c,bool,hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_b,bool),fun(X_c,bool)),hAPP(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool))),finite_fold_graph(X_b,X_c),F_1),Z),A1),A2))
    <=> ( ( ti(fun(X_b,bool),A1) = bot_bot(fun(X_b,bool))
          & ti(X_c,A2) = ti(X_c,Z) )
        | ? [X_2,A_2,Y_1] :
            ( ti(fun(X_b,bool),A1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),A_2)
            & ti(X_c,A2) = hAPP(X_c,X_c,hAPP(X_b,fun(X_c,X_c),F_1,X_2),Y_1)
            & ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_2))
            & hBOOL(hAPP(X_c,bool,hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_b,bool),fun(X_c,bool)),hAPP(fun(X_b,fun(X_c,X_c)),fun(X_c,fun(fun(X_b,bool),fun(X_c,bool))),finite_fold_graph(X_b,X_c),F_1),Z),A_2),Y_1)) ) ) ) ).

fof(fact_96_folding__one__idem_Oinsert__idem,axiom,
    ! [X_b,X_1,A_1,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_b),bool,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool),finite2073411215e_idem(X_b),F_1),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
       => ( ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool))
         => hAPP(fun(X_b,bool),X_b,F,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_1)) = hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),F_1,X_1),hAPP(fun(X_b,bool),X_b,F,A_1)) ) ) ) ).

fof(fact_97_finite__ne__induct,axiom,
    ! [X_b,Pa,F] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),F))
     => ( ti(fun(X_b,bool),F) != bot_bot(fun(X_b,bool))
       => ( ! [X_2] : hBOOL(hAPP(fun(X_b,bool),bool,Pa,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),bot_bot(fun(X_b,bool)))))
         => ( ! [X_2,F_2] :
                ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),F_2))
               => ( ti(fun(X_b,bool),F_2) != bot_bot(fun(X_b,bool))
                 => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),F_2))
                   => ( hBOOL(hAPP(fun(X_b,bool),bool,Pa,F_2))
                     => hBOOL(hAPP(fun(X_b,bool),bool,Pa,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),F_2))) ) ) ) )
           => hBOOL(hAPP(fun(X_b,bool),bool,Pa,F)) ) ) ) ) ).

fof(fact_98_folding__one__idem_Oidem,axiom,
    ! [X_b,X_1,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_b),bool,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool),finite2073411215e_idem(X_b),F_1),F))
     => hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),F_1,X_1),X_1) = ti(X_b,X_1) ) ).

fof(fact_99_folding__one__idem_Oin__idem,axiom,
    ! [X_b,X_1,A_1,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_b),bool,hAPP(fun(X_b,fun(X_b,X_b)),fun(fun(fun(X_b,bool),X_b),bool),finite2073411215e_idem(X_b),F_1),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_1))
       => ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_1))
         => hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),F_1,X_1),hAPP(fun(X_b,bool),X_b,F,A_1)) = hAPP(fun(X_b,bool),X_b,F,A_1) ) ) ) ).

%----Arities (4)
fof(arity_fun___Finite__Set_Ofinite,axiom,
    ! [T_2,T_1] :
      ( ( finite_finite(T_1)
        & finite_finite(T_2) )
     => finite_finite(fun(T_2,T_1)) ) ).

fof(arity_fun___Orderings_Obot,axiom,
    ! [T_2,T_1] :
      ( bot(T_1)
     => bot(fun(T_2,T_1)) ) ).

fof(arity_HOL_Obool___Finite__Set_Ofinite,axiom,
    finite_finite(bool) ).

fof(arity_HOL_Obool___Orderings_Obot,axiom,
    bot(bool) ).

%----Helper facts (20)
fof(help_ti_idem,axiom,
    ! [T,A] : ti(T,ti(T,A)) = ti(T,A) ).

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_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_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)) ) ).

fof(help_fimplies_1_1_U,axiom,
    ! [Q,P] :
      ( hBOOL(P)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fimplies,P),Q)) ) ).

fof(help_fimplies_2_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(Q)
      | hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fimplies,P),Q)) ) ).

fof(help_fimplies_3_1_U,axiom,
    ! [P,Q] :
      ( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fimplies,P),Q))
      | ~ hBOOL(P)
      | hBOOL(Q) ) ).

%----Conjectures (1)
fof(conj_0,conjecture,
    hBOOL(hAPP(fun(hoare_509422987triple(x_a),bool),bool,hAPP(fun(hoare_509422987triple(x_a),bool),fun(fun(hoare_509422987triple(x_a),bool),bool),hoare_122391849derivs(x_a),g),hAPP(fun(hoare_509422987triple(x_a),bool),fun(hoare_509422987triple(x_a),bool),hAPP(hoare_509422987triple(x_a),fun(fun(hoare_509422987triple(x_a),bool),fun(hoare_509422987triple(x_a),bool)),insert(hoare_509422987triple(x_a)),hAPP(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a),hAPP(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)),hAPP(fun(x_a,fun(state,bool)),fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),hoare_1008221573triple(x_a),hAPP(fun(state,bool),fun(x_a,fun(state,bool)),combk(fun(state,bool),x_a),hAPP(bool,fun(state,bool),combk(bool,state),fFalse))),c),hAPP(fun(state,bool),fun(x_a,fun(state,bool)),hAPP(fun(x_a,fun(fun(state,bool),fun(state,bool))),fun(fun(state,bool),fun(x_a,fun(state,bool))),combc(x_a,fun(state,bool),fun(state,bool)),hAPP(fun(x_a,fun(state,fun(bool,bool))),fun(x_a,fun(fun(state,bool),fun(state,bool))),hAPP(fun(fun(state,fun(bool,bool)),fun(fun(state,bool),fun(state,bool))),fun(fun(x_a,fun(state,fun(bool,bool))),fun(x_a,fun(fun(state,bool),fun(state,bool)))),combb(fun(state,fun(bool,bool)),fun(fun(state,bool),fun(state,bool)),x_a),combs(state,bool,bool)),hAPP(fun(x_a,fun(state,bool)),fun(x_a,fun(state,fun(bool,bool))),hAPP(fun(fun(state,bool),fun(state,fun(bool,bool))),fun(fun(x_a,fun(state,bool)),fun(x_a,fun(state,fun(bool,bool)))),combb(fun(state,bool),fun(state,fun(bool,bool)),x_a),hAPP(fun(bool,fun(bool,bool)),fun(fun(state,bool),fun(state,fun(bool,bool))),combb(bool,fun(bool,bool),state),fconj)),p))),hAPP(fun(state,bool),fun(state,bool),hAPP(fun(bool,bool),fun(fun(state,bool),fun(state,bool)),combb(bool,bool,state),fNot),b)))),bot_bot(fun(hoare_509422987triple(x_a),bool))))) ).

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