TPTP Problem File: SWW472+5.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWW472+5 : TPTP v8.2.0. Released v5.3.0.
% Domain   : Software Verification
% Problem  : Hoare's Logic with Procedures line 327, 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_l327 [Bla11]

% Status   : Theorem
% Rating   : 1.00 v5.3.0
% Syntax   : Number of formulae    :  165 (  78 unt;   0 def)
%            Number of atoms       :  335 ( 142 equ)
%            Maximal formula atoms :    9 (   2 avg)
%            Number of connectives :  223 (  53   ~;  18   |;  19   &)
%                                         (  21 <=>; 112  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   17 (   5 avg)
%            Maximal term depth    :   21 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   48 (  48 usr;  18 con; 0-4 aty)
%            Number of variables   :  529 ( 513   !;  16   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 14:12:20
%          : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (41)
fof(tsy_c_Big__Operators_Osemilattice__big_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool)),big_semilattice_big(X_a)) = big_semilattice_big(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_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_Com_Ocom_Ocom__case_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))))))),com_case(X_a)) = com_case(X_a) ).

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

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

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

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

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

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

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

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

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

fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_OMGT_res,hypothesis,
    ti(fun(com,hoare_509422987triple(state)),hoare_Mirabelle_MGT) = hoare_Mirabelle_MGT ).

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

fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Ohoare__valids_res,axiom,
    ! [X_a] : ti(fun(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool)),hoare_1870528171valids(X_a)) = hoare_1870528171valids(X_a) ).

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

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

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

fof(tsy_c_Orderings_Obot__class_Obot_res,axiom,
    ! [X_a] :
      ( bot(X_a)
     => ti(X_a,bot_bot(X_a)) = bot_bot(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_Set_Oinsert_res,axiom,
    ! [X_a] : ti(fun(X_a,fun(fun(X_a,bool),fun(X_a,bool))),insert(X_a)) = insert(X_a) ).

fof(tsy_c_Set_Othe__elem_res,axiom,
    ! [X_a] : ti(fun(fun(X_a,bool),X_a),the_elem(X_a)) = the_elem(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_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_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_P_res,hypothesis,
    ti(fun(state,fun(state,bool)),p) = p ).

fof(tsy_v_Q_res,hypothesis,
    ti(fun(state,fun(state,bool)),q) = q ).

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

%----Relevant facts (100)
fof(fact_0_empty,axiom,
    ! [X_a,G_1] : 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_1),bot_bot(fun(hoare_509422987triple(X_a),bool)))) ).

fof(fact_1_triple_Oinject,axiom,
    ! [X_a,Fun1_1,Com_1,Fun2_1,Fun1_2,Com_2,Fun2_2] :
      ( 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),Fun1_1),Com_1),Fun2_1) = 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),Fun1_2),Com_2),Fun2_2)
    <=> ( Fun1_1 = Fun1_2
        & Com_1 = Com_2
        & Fun2_1 = Fun2_2 ) ) ).

fof(fact_2_hoare__sound,axiom,
    ! [X_a,G_1,Ts] :
      ( 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_1),Ts))
     => 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_1870528171valids(X_a),G_1),Ts)) ) ).

fof(fact_3_cut,axiom,
    ! [X_a,G_1,G_2,Ts] :
      ( 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_2),Ts))
     => ( 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_1),G_2))
       => 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_1),Ts)) ) ) ).

fof(fact_4_hoare__derivs_Oinsert,axiom,
    ! [X_a,Ts,G_1,T_3] :
      ( 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_1),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)),T_3),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
     => ( 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_1),Ts))
       => 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_1),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)),T_3),Ts))) ) ) ).

fof(fact_5_derivs__insertD,axiom,
    ! [X_a,G_1,T_3,Ts] :
      ( 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_1),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)),T_3),Ts)))
     => ( 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_1),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)),T_3),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
        & 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_1),Ts)) ) ) ).

fof(fact_6_conseq2,axiom,
    ! [X_a,Qa,G_1,Pa,Ca,Q_2] :
      ( 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_1),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),Pa),Ca),Q_2)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
     => ( ! [Z_1,S] :
            ( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Q_2,Z_1),S))
           => hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Qa,Z_1),S)) )
       => 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_1),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),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).

fof(fact_7_conseq1,axiom,
    ! [X_a,Pa,G_1,P_2,Ca,Qa] :
      ( 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_1),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),P_2),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
     => ( ! [Z_1,S] :
            ( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Pa,Z_1),S))
           => hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),P_2,Z_1),S)) )
       => 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_1),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),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).

fof(fact_8_insertE,axiom,
    ! [X_a,A_1,B_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),A_2)))
     => ( ti(X_a,A_1) != ti(X_a,B_1)
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ) ) ).

fof(fact_9_insertCI,axiom,
    ! [X_a,B_1,A_1,B] :
      ( ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),B))
       => ti(X_a,A_1) = ti(X_a,B_1) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),B))) ) ).

fof(fact_10_conseq12,axiom,
    ! [X_a,Qa,Pa,G_1,P_2,Ca,Q_2] :
      ( 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_1),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),P_2),Ca),Q_2)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
     => ( ! [Z_1,S] :
            ( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Pa,Z_1),S))
           => ! [S_1] :
                ( ! [Z_2] :
                    ( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),P_2,Z_2),S))
                   => hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Q_2,Z_2),S_1)) )
               => hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Qa,Z_1),S_1)) ) )
       => 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_1),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),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).

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

fof(fact_12_triple_Orecs,axiom,
    ! [X_b,X_a,F1,Fun1_1,Com_1,Fun2_1] : hAPP(hoare_509422987triple(X_b),X_a,hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a))),fun(hoare_509422987triple(X_b),X_a),hoare_728318379le_rec(X_b,X_a),F1),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)),X_a,hAPP(com,fun(fun(X_b,fun(state,bool)),X_a),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a)),F1,Fun1_1),Com_1),Fun2_1) ).

fof(fact_13_triple_Osimps_I2_J,axiom,
    ! [X_b,X_a,F1,Fun1_1,Com_1,Fun2_1] : hAPP(hoare_509422987triple(X_b),X_a,hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a))),fun(hoare_509422987triple(X_b),X_a),hoare_885240885e_case(X_b,X_a),F1),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)),X_a,hAPP(com,fun(fun(X_b,fun(state,bool)),X_a),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a)),F1,Fun1_1),Com_1),Fun2_1) ).

fof(fact_14_empty__not__insert,axiom,
    ! [X_a,A_1,A_2] : bot_bot(fun(X_a,bool)) != hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) ).

fof(fact_15_insert__not__empty,axiom,
    ! [X_a,A_1,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) != bot_bot(fun(X_a,bool)) ).

fof(fact_16_singleton__iff,axiom,
    ! [X_a,B_1,A_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(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))))
    <=> ti(X_a,B_1) = ti(X_a,A_1) ) ).

fof(fact_17_doubleton__eq__iff,axiom,
    ! [X_a,A_1,B_1,Ca,D] :
      ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),bot_bot(fun(X_a,bool)))) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),D),bot_bot(fun(X_a,bool))))
    <=> ( ( ti(X_a,A_1) = ti(X_a,Ca)
          & ti(X_a,B_1) = ti(X_a,D) )
        | ( ti(X_a,A_1) = ti(X_a,D)
          & ti(X_a,B_1) = ti(X_a,Ca) ) ) ) ).

fof(fact_18_equals0D,axiom,
    ! [X_a,A_1,A_2] :
      ( ti(fun(X_a,bool),A_2) = bot_bot(fun(X_a,bool))
     => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ) ).

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

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

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

fof(fact_22_ex__in__conv,axiom,
    ! [X_a,A_2] :
      ( ? [X_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
    <=> ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool)) ) ).

fof(fact_23_all__not__in__conv,axiom,
    ! [X_a,A_2] :
      ( ! [X_2] : ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
    <=> ti(fun(X_a,bool),A_2) = bot_bot(fun(X_a,bool)) ) ).

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

fof(fact_25_insert__absorb,axiom,
    ! [X_a,A_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
     => hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) = ti(fun(X_a,bool),A_2) ) ).

fof(fact_26_insertI2,axiom,
    ! [X_a,B_1,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),B))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),B))) ) ).

fof(fact_27_insert__ident,axiom,
    ! [X_a,B,X_1,A_2] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
     => ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B))
       => ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),B)
        <=> ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B) ) ) ) ).

fof(fact_28_insert__code,axiom,
    ! [X_a,Y_2,A_2,X_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Y_2),A_2),X_1))
    <=> ( ti(X_a,Y_2) = ti(X_a,X_1)
        | hBOOL(hAPP(X_a,bool,A_2,X_1)) ) ) ).

fof(fact_29_insert__iff,axiom,
    ! [X_a,A_1,B_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),A_2)))
    <=> ( ti(X_a,A_1) = ti(X_a,B_1)
        | hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ) ) ).

fof(fact_30_insert__commute,axiom,
    ! [X_a,X_1,Y_2,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Y_2),A_2)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Y_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)) ).

fof(fact_31_insert__absorb2,axiom,
    ! [X_a,X_1,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2) ).

fof(fact_32_insert__Collect,axiom,
    ! [X_a,A_1,Pa] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa)) = 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),fimplies),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)),A_1)))),Pa)) ).

fof(fact_33_insert__compr,axiom,
    ! [X_a,A_1,B] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),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),fdisj),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)),A_1))),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),B))) ).

fof(fact_34_insertI1,axiom,
    ! [X_a,A_1,B] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B))) ).

fof(fact_35_singleton__inject,axiom,
    ! [X_a,A_1,B_1] :
      ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),bot_bot(fun(X_a,bool)))
     => ti(X_a,A_1) = ti(X_a,B_1) ) ).

fof(fact_36_singletonE,axiom,
    ! [X_a,B_1,A_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(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))))
     => ti(X_a,B_1) = ti(X_a,A_1) ) ).

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

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

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

fof(fact_40_hoare__derivs_OSkip,axiom,
    ! [X_a,G_1,Pa] : 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_1),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),Pa),skip),Pa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ).

fof(fact_41_Comp,axiom,
    ! [X_a,D,R_1,G_1,Pa,Ca,Qa] :
      ( 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_1),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),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
     => ( 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_1),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),Qa),D),R_1)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
       => 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_1),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),Pa),hAPP(com,com,hAPP(com,fun(com,com),semi,Ca),D)),R_1)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).

fof(fact_42_triple_Oexhaust,axiom,
    ! [X_a,Y_2] :
      ~ ! [Fun1,Com,Fun2] : Y_2 != 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),Fun1),Com),Fun2) ).

fof(fact_43_Set_Oset__insert,axiom,
    ! [X_a,X_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
     => ~ ! [B_2] :
            ( ti(fun(X_a,bool),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),B_2)
           => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_2)) ) ) ).

fof(fact_44_mk__disjoint__insert,axiom,
    ! [X_a,A_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
     => ? [B_2] :
          ( ti(fun(X_a,bool),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B_2)
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),B_2)) ) ) ).

fof(fact_45_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_46_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_47_equals0I,axiom,
    ! [X_a,A_2] :
      ( ! [Y_1] : ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),A_2))
     => ti(fun(X_a,bool),A_2) = bot_bot(fun(X_a,bool)) ) ).

fof(fact_48_conseq,axiom,
    ! [X_a,Qa,G_1,Ca,Pa] :
      ( ! [Z_1,S] :
          ( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Pa,Z_1),S))
         => ? [P_1,Q_1] :
              ( 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_1),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),P_1),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
              & ! [S_1] :
                  ( ! [Z_2] :
                      ( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),P_1,Z_2),S))
                     => hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Q_1,Z_2),S_1)) )
                 => hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Qa,Z_1),S_1)) ) ) )
     => 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_1),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),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ).

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

fof(fact_50_nonempty__iff,axiom,
    ! [X_a,A_2] :
      ( ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool))
    <=> ? [X_2,B_2] :
          ( ti(fun(X_a,bool),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),B_2)
          & ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_2)) ) ) ).

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

fof(fact_52_com_Osimps_I64_J,axiom,
    ! [X_a,F1,F2,F3,F4,F5,F6,F7,F8] : hAPP(com,X_a,hAPP(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a),hAPP(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)),hAPP(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))),hAPP(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))),hAPP(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))),hAPP(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))),hAPP(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))))),hAPP(X_a,fun(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))))),com_case(X_a),F1),F2),F3),F4),F5),F6),F7),F8),skip) = ti(X_a,F1) ).

fof(fact_53_com_Osimps_I67_J,axiom,
    ! [X_a,F1,F2,F3,F4,F5,F6,F7,F8,Com1,Com2] : hAPP(com,X_a,hAPP(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a),hAPP(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)),hAPP(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))),hAPP(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))),hAPP(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))),hAPP(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))),hAPP(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))))),hAPP(X_a,fun(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))))),com_case(X_a),F1),F2),F3),F4),F5),F6),F7),F8),hAPP(com,com,hAPP(com,fun(com,com),semi,Com1),Com2)) = hAPP(com,X_a,hAPP(com,fun(com,X_a),F4,Com1),Com2) ).

fof(fact_54_fold1Set__sing,axiom,
    ! [X_a,F_1,A_1,B_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))),B_1))
    <=> ti(X_a,A_1) = ti(X_a,B_1) ) ).

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

fof(fact_56_fold1__singleton,axiom,
    ! [X_a,F_1,A_1] : hAPP(fun(X_a,bool),X_a,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))) = ti(X_a,A_1) ).

fof(fact_57_fold1__singleton__def,axiom,
    ! [X_a,A_1,G,F_1] :
      ( G = hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1)
     => hAPP(fun(X_a,bool),X_a,G,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))) = ti(X_a,A_1) ) ).

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

fof(fact_59_fold1Set__nonempty,axiom,
    ! [X_a,F_1,A_2,X_1] :
      ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),A_2),X_1))
     => ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool)) ) ).

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

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

fof(fact_62_folding__one_Oeq__fold,axiom,
    ! [X_a,A_2,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite_folding_one(X_a),F_1),F))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
       => hAPP(fun(X_a,bool),X_a,F,A_2) = hAPP(fun(X_a,bool),X_a,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1),A_2) ) ) ).

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

fof(fact_64_finite_OinsertI,axiom,
    ! [X_a,A_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
     => hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2))) ) ).

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

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

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

fof(fact_68_finite,axiom,
    ! [X_a] :
      ( finite_finite(X_a)
     => ! [A_2] : hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2)) ) ).

fof(fact_69_finite__code,axiom,
    ! [X_a] :
      ( finite_finite(X_a)
     => ! [A_2] : hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2)) ) ).

fof(fact_70_finite__insert,axiom,
    ! [X_a,A_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2)))
    <=> hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2)) ) ).

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

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

fof(fact_73_finite__nonempty__imp__fold1Set,axiom,
    ! [X_a,F_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
     => ( ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool))
       => ? [X1] : hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),A_2),X1)) ) ) ).

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

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

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

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

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

fof(fact_79_finite__imp__fold__graph,axiom,
    ! [X_b,X_a,F_1,Z,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
     => ? [X1] : hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),A_2),X1)) ) ).

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

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

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

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

fof(fact_84_folding__one__idem_Oin__idem,axiom,
    ! [X_a,X_1,A_2,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite2073411215e_idem(X_a),F_1),F))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
       => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),hAPP(fun(X_a,bool),X_a,F,A_2)) = hAPP(fun(X_a,bool),X_a,F,A_2) ) ) ) ).

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

fof(fact_86_folding__image__simple__idem_Oinsert__idem,axiom,
    ! [X_b,X_a,X_1,A_2,F_1,Z,G,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_a),bool,hAPP(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool),hAPP(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool))),finite908156982e_idem(X_a,X_b),F_1),Z),G),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_2))
       => hAPP(fun(X_b,bool),X_a,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_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,hAPP(X_b,X_a,G,X_1)),hAPP(fun(X_b,bool),X_a,F,A_2)) ) ) ).

fof(fact_87_folding__image__simple__idem_Oidem,axiom,
    ! [X_b,X_a,X_1,F_1,Z,G,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_a),bool,hAPP(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool),hAPP(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool))),finite908156982e_idem(X_a,X_b),F_1),Z),G),F))
     => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),X_1) = ti(X_a,X_1) ) ).

fof(fact_88_folding__image__simple__idem_Oin__idem,axiom,
    ! [X_b,X_a,X_1,A_2,F_1,Z,G,F] :
      ( hBOOL(hAPP(fun(fun(X_b,bool),X_a),bool,hAPP(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool),hAPP(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool))),finite908156982e_idem(X_a,X_b),F_1),Z),G),F))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_2))
       => ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_2))
         => hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,hAPP(X_b,X_a,G,X_1)),hAPP(fun(X_b,bool),X_a,F,A_2)) = hAPP(fun(X_b,bool),X_a,F,A_2) ) ) ) ).

fof(fact_89_semilattice__big_OF__eq,axiom,
    ! [X_a,A_2,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),big_semilattice_big(X_a),F_1),F))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
       => hAPP(fun(X_a,bool),X_a,F,A_2) = hAPP(fun(X_a,bool),X_a,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1),A_2) ) ) ).

fof(fact_90_folding__one_Oremove,axiom,
    ! [X_a,X_1,A_2,F_1,F] :
      ( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite_folding_one(X_a),F_1),F))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
       => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
         => ( ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) = bot_bot(fun(X_a,bool))
             => hAPP(fun(X_a,bool),X_a,F,A_2) = ti(X_a,X_1) )
            & ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) != bot_bot(fun(X_a,bool))
             => hAPP(fun(X_a,bool),X_a,F,A_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),hAPP(fun(X_a,bool),X_a,F,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))))) ) ) ) ) ) ).

fof(fact_91_DiffI,axiom,
    ! [X_a,B,Ca,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
     => ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B))) ) ) ).

fof(fact_92_DiffE,axiom,
    ! [X_a,Ca,A_2,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B)))
     => ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
         => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B)) ) ) ).

fof(fact_93_finite__Diff,axiom,
    ! [X_a,B,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
     => hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B))) ) ).

fof(fact_94_insert__Diff,axiom,
    ! [X_a,A_1,A_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
     => hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))))) = ti(fun(X_a,bool),A_2) ) ).

fof(fact_95_Diff__insert__absorb,axiom,
    ! [X_a,X_1,A_2] :
      ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
     => 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(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) = ti(fun(X_a,bool),A_2) ) ).

fof(fact_96_insert__Diff__single,axiom,
    ! [X_a,A_1,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))))) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) ).

fof(fact_97_Diff__insert2,axiom,
    ! [X_a,A_2,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_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(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_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))))),B) ).

fof(fact_98_Diff__insert,axiom,
    ! [X_a,A_2,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_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(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_2),B)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))) ).

fof(fact_99_finite__Diff__insert,axiom,
    ! [X_a,A_2,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B))))
    <=> hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B))) ) ).

%----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 (17)
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_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 (3)
fof(conj_0,hypothesis,
    hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),bot_bot(fun(hoare_509422987triple(state),bool))),hAPP(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool),hAPP(hoare_509422987triple(state),fun(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool)),insert(hoare_509422987triple(state)),hAPP(com,hoare_509422987triple(state),hoare_Mirabelle_MGT,c)),bot_bot(fun(hoare_509422987triple(state),bool))))) ).

fof(conj_1,hypothesis,
    hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_1870528171valids(state),bot_bot(fun(hoare_509422987triple(state),bool))),hAPP(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool),hAPP(hoare_509422987triple(state),fun(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool)),insert(hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),hoare_509422987triple(state),hAPP(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),fun(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state))),hoare_1008221573triple(state),p),c),q)),bot_bot(fun(hoare_509422987triple(state),bool))))) ).

fof(conj_2,conjecture,
    hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),bot_bot(fun(hoare_509422987triple(state),bool))),hAPP(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool),hAPP(hoare_509422987triple(state),fun(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool)),insert(hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),hoare_509422987triple(state),hAPP(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),fun(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state))),hoare_1008221573triple(state),p),c),q)),bot_bot(fun(hoare_509422987triple(state),bool))))) ).

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