TPTP Problem File: SWW471+5.p

View Solutions - Solve Problem

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

% Status   : Theorem
% Rating   : 1.00 v5.3.0
% Syntax   : Number of formulae    :  169 (  79 unt;   0 def)
%            Number of atoms       :  311 ( 137 equ)
%            Maximal formula atoms :    6 (   1 avg)
%            Number of connectives :  181 (  39   ~;  22   |;  13   &)
%                                         (  22 <=>;  85  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   11 (   5 avg)
%            Maximal term depth    :   18 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   48 (  48 usr;  21 con; 0-4 aty)
%            Number of variables   :  484 ( 479   !;   5   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 14:05:13
%          : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (41)
fof(tsy_c_COMBB_res,axiom,
    ! [X_b,X_c,X_a] : ti(fun(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c))),combb(X_b,X_c,X_a)) = combb(X_b,X_c,X_a) ).

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

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

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

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

fof(tsy_c_Com_Obody_res,hypothesis,
    ti(fun(pname,option(com)),body_1) = body_1 ).

fof(tsy_c_Com_Ocom_OBODY_res,hypothesis,
    ti(fun(pname,com),body) = body ).

fof(tsy_c_Groups_Ozero__class_Ozero_res,axiom,
    ti(nat,zero_zero(nat)) = zero_zero(nat) ).

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_Ohoare__valids_res,axiom,
    ! [X_b] : ti(fun(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),bool)),hoare_1870528171valids(X_b)) = hoare_1870528171valids(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_Hoare__Mirabelle__pjuwniqynr_Otriple__valid_res,axiom,
    ! [X_b] : ti(fun(nat,fun(hoare_509422987triple(X_b),bool)),hoare_763665637_valid(X_b)) = hoare_763665637_valid(X_b) ).

fof(tsy_c_Lattices_Osemilattice__sup__class_Osup_res,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ti(fun(X_a,fun(X_a,X_a)),semilattice_sup_sup(X_a)) = semilattice_sup_sup(X_a) ) ).

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

fof(tsy_c_Natural_Oevalc_res,axiom,
    ti(fun(com,fun(state,fun(state,bool))),evalc) = evalc ).

fof(tsy_c_Option_Othe_res,hypothesis,
    ti(fun(option(com),com),the(com)) = the(com) ).

fof(tsy_c_Orderings_Obot__class_Obot_res,axiom,
    ! [X_b] : ti(fun(X_b,bool),bot_bot(fun(X_b,bool))) = bot_bot(fun(X_b,bool)) ).

fof(tsy_c_Predicate_OPowp_res,axiom,
    ! [X_b] : ti(fun(fun(X_b,bool),fun(fun(X_b,bool),bool)),powp(X_b)) = powp(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_Oimage_res,axiom,
    ! [X_c,X_b] : ti(fun(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool))),image(X_c,X_b)) = image(X_c,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_fFalse_res,axiom,
    ti(bool,fFalse) = fFalse ).

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

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

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

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

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

fof(tsy_c_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_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(pname,fun(x_a,fun(state,bool))),p) = p ).

fof(tsy_v_Procs_res,hypothesis,
    ti(fun(pname,bool),procs) = procs ).

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

fof(tsy_v_n_res,hypothesis,
    ti(nat,n) = n ).

%----Relevant facts (99)
fof(fact_0_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_1_hoare__valids__def,axiom,
    ! [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_1870528171valids(X_b),Ga),Ts))
    <=> ! [N] :
          ( ! [X] :
              ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),bool),member(hoare_509422987triple(X_b)),X),Ga))
             => hBOOL(hAPP(hoare_509422987triple(X_b),bool,hAPP(nat,fun(hoare_509422987triple(X_b),bool),hoare_763665637_valid(X_b),N),X)) )
         => ! [X] :
              ( hBOOL(hAPP(fun(hoare_509422987triple(X_b),bool),bool,hAPP(hoare_509422987triple(X_b),fun(fun(hoare_509422987triple(X_b),bool),bool),member(hoare_509422987triple(X_b)),X),Ts))
             => hBOOL(hAPP(hoare_509422987triple(X_b),bool,hAPP(nat,fun(hoare_509422987triple(X_b),bool),hoare_763665637_valid(X_b),N),X)) ) ) ) ).

fof(fact_2_hoare__derivs_OBody,axiom,
    ! [X_b,Ga,Pa,Qa,Procsa] :
      ( 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),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),semilattice_sup_sup(fun(hoare_509422987triple(X_b),bool)),Ga),hAPP(fun(pname,bool),fun(hoare_509422987triple(X_b),bool),hAPP(fun(pname,hoare_509422987triple(X_b)),fun(fun(pname,bool),fun(hoare_509422987triple(X_b),bool)),image(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b))),combs(pname,fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),combs(pname,com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))))),combb(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),pname),hoare_1008221573triple(X_b)),Pa)),body)),Qa)),Procsa))),hAPP(fun(pname,bool),fun(hoare_509422987triple(X_b),bool),hAPP(fun(pname,hoare_509422987triple(X_b)),fun(fun(pname,bool),fun(hoare_509422987triple(X_b),bool)),image(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b))),combs(pname,fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),combs(pname,com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))))),combb(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),pname),hoare_1008221573triple(X_b)),Pa)),hAPP(fun(pname,option(com)),fun(pname,com),hAPP(fun(option(com),com),fun(fun(pname,option(com)),fun(pname,com)),combb(option(com),com,pname),the(com)),body_1))),Qa)),Procsa)))
     => 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(pname,bool),fun(hoare_509422987triple(X_b),bool),hAPP(fun(pname,hoare_509422987triple(X_b)),fun(fun(pname,bool),fun(hoare_509422987triple(X_b),bool)),image(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b))),combs(pname,fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),combs(pname,com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))))),combb(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),pname),hoare_1008221573triple(X_b)),Pa)),body)),Qa)),Procsa))) ) ).

fof(fact_3_UnE,axiom,
    ! [X_b,C,A_1,B_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1)))
     => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),A_1))
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),B_1)) ) ) ).

fof(fact_4_sup1E,axiom,
    ! [X_b,A_1,B_1,X_2] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1),X_2))
     => ( ~ hBOOL(hAPP(X_b,bool,A_1,X_2))
       => hBOOL(hAPP(X_b,bool,B_1,X_2)) ) ) ).

fof(fact_5_sup1CI,axiom,
    ! [X_b,A_1,B_1,X_2] :
      ( ( ~ hBOOL(hAPP(X_b,bool,B_1,X_2))
       => hBOOL(hAPP(X_b,bool,A_1,X_2)) )
     => hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1),X_2)) ) ).

fof(fact_6_UnCI,axiom,
    ! [X_b,A_1,C,B_1] :
      ( ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),B_1))
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),A_1)) )
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1))) ) ).

fof(fact_7_image__eqI,axiom,
    ! [X_b,X_c,A_1,B,F,X_2] :
      ( ti(X_b,B) = hAPP(X_c,X_b,F,X_2)
     => ( hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),X_2),A_1))
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),B),hAPP(fun(X_c,bool),fun(X_b,bool),hAPP(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool)),image(X_c,X_b),F),A_1))) ) ) ).

fof(fact_8_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_9_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_10_image__Un,axiom,
    ! [X_c,X_b,F,A_1,B_1] : hAPP(fun(X_c,bool),fun(X_b,bool),hAPP(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool)),image(X_c,X_b),F),hAPP(fun(X_c,bool),fun(X_c,bool),hAPP(fun(X_c,bool),fun(fun(X_c,bool),fun(X_c,bool)),semilattice_sup_sup(fun(X_c,bool)),A_1),B_1)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),hAPP(fun(X_c,bool),fun(X_b,bool),hAPP(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool)),image(X_c,X_b),F),A_1)),hAPP(fun(X_c,bool),fun(X_b,bool),hAPP(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool)),image(X_c,X_b),F),B_1)) ).

fof(fact_11_sup__fun__def,axiom,
    ! [X_b,X_c] :
      ( lattice(X_c)
     => ! [F,G,X] : hAPP(X_b,X_c,hAPP(fun(X_b,X_c),fun(X_b,X_c),hAPP(fun(X_b,X_c),fun(fun(X_b,X_c),fun(X_b,X_c)),semilattice_sup_sup(fun(X_b,X_c)),F),G),X) = hAPP(X_c,X_c,hAPP(X_c,fun(X_c,X_c),semilattice_sup_sup(X_c),hAPP(X_b,X_c,F,X)),hAPP(X_b,X_c,G,X)) ) ).

fof(fact_12_sup__apply,axiom,
    ! [X_c,X_b] :
      ( lattice(X_b)
     => ! [F,G,X_2] : hAPP(X_c,X_b,hAPP(fun(X_c,X_b),fun(X_c,X_b),hAPP(fun(X_c,X_b),fun(fun(X_c,X_b),fun(X_c,X_b)),semilattice_sup_sup(fun(X_c,X_b)),F),G),X_2) = hAPP(X_b,X_b,hAPP(X_b,fun(X_b,X_b),semilattice_sup_sup(X_b),hAPP(X_c,X_b,F,X_2)),hAPP(X_c,X_b,G,X_2)) ) ).

fof(fact_13_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_14_sup__assoc,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X_1,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_1)) ) ).

fof(fact_15_inf__sup__aci_I6_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X_1,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y)),Z_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_1)) ) ).

fof(fact_16_sup_Oassoc,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_3,B_2,C_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),B_2)),C_1) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),C_1)) ) ).

fof(fact_17_sup__left__commute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X_1,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Z_1)) ) ).

fof(fact_18_inf__sup__aci_I7_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X_1,Y,Z_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),Z_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Z_1)) ) ).

fof(fact_19_sup_Oleft__commute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [B_2,A_3,C_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),C_1)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),C_1)) ) ).

fof(fact_20_sup__left__idem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X_1,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y) ) ).

fof(fact_21_inf__sup__aci_I8_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X_1,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y) ) ).

fof(fact_22_sup_Oleft__idem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_3,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),B_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),B_2) ) ).

fof(fact_23_sup__commute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X_1,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),X_1) ) ).

fof(fact_24_inf__sup__aci_I5_J,axiom,
    ! [X_a] :
      ( lattice(X_a)
     => ! [X_1,Y] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),Y) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),Y),X_1) ) ).

fof(fact_25_sup_Ocommute,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_3,B_2] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),B_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),B_2),A_3) ) ).

fof(fact_26_sup__idem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [X_1] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),X_1),X_1) = ti(X_a,X_1) ) ).

fof(fact_27_sup_Oidem,axiom,
    ! [X_a] :
      ( semilattice_sup(X_a)
     => ! [A_3] : hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),semilattice_sup_sup(X_a),A_3),A_3) = ti(X_a,A_3) ) ).

fof(fact_28_rev__image__eqI,axiom,
    ! [X_c,X_b,B,F,X_2,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_1))
     => ( ti(X_c,B) = hAPP(X_b,X_c,F,X_2)
       => hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),B),hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(fun(X_b,X_c),fun(fun(X_b,bool),fun(X_c,bool)),image(X_b,X_c),F),A_1))) ) ) ).

fof(fact_29_imageI,axiom,
    ! [X_c,X_b,F,X_2,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_1))
     => hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),hAPP(X_b,X_c,F,X_2)),hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(fun(X_b,X_c),fun(fun(X_b,bool),fun(X_c,bool)),image(X_b,X_c),F),A_1))) ) ).

fof(fact_30_image__iff,axiom,
    ! [X_b,X_c,Z,F,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Z),hAPP(fun(X_c,bool),fun(X_b,bool),hAPP(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool)),image(X_c,X_b),F),A_1)))
    <=> ? [X] :
          ( hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),X),A_1))
          & ti(X_b,Z) = hAPP(X_c,X_b,F,X) ) ) ).

fof(fact_31_UnI2,axiom,
    ! [X_b,A_1,C,B_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),B_1))
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1))) ) ).

fof(fact_32_UnI1,axiom,
    ! [X_b,B_1,C,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),A_1))
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1))) ) ).

fof(fact_33_sup1I2,axiom,
    ! [X_b,A_1,B_1,X_2] :
      ( hBOOL(hAPP(X_b,bool,B_1,X_2))
     => hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1),X_2)) ) ).

fof(fact_34_sup1I1,axiom,
    ! [X_b,B_1,A_1,X_2] :
      ( hBOOL(hAPP(X_b,bool,A_1,X_2))
     => hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1),X_2)) ) ).

fof(fact_35_ball__Un,axiom,
    ! [X_b,Pa,A_1,B_1] :
      ( ! [X] :
          ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1)))
         => hBOOL(hAPP(X_b,bool,Pa,X)) )
    <=> ( ! [X] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),A_1))
           => hBOOL(hAPP(X_b,bool,Pa,X)) )
        & ! [X] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),B_1))
           => hBOOL(hAPP(X_b,bool,Pa,X)) ) ) ) ).

fof(fact_36_bex__Un,axiom,
    ! [X_b,Pa,A_1,B_1] :
      ( ? [X] :
          ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1)))
          & hBOOL(hAPP(X_b,bool,Pa,X)) )
    <=> ( ? [X] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),A_1))
            & hBOOL(hAPP(X_b,bool,Pa,X)) )
        | ? [X] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),B_1))
            & hBOOL(hAPP(X_b,bool,Pa,X)) ) ) ) ).

fof(fact_37_Un__assoc,axiom,
    ! [X_b,A_1,B_1,C_2] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1)),C_2) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),B_1),C_2)) ).

fof(fact_38_Un__iff,axiom,
    ! [X_b,C,A_1,B_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1)))
    <=> ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),A_1))
        | hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),C),B_1)) ) ) ).

fof(fact_39_Un__left__commute,axiom,
    ! [X_b,A_1,B_1,C_2] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),B_1),C_2)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),B_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),C_2)) ).

fof(fact_40_Un__left__absorb,axiom,
    ! [X_b,A_1,B_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1) ).

fof(fact_41_Un__commute,axiom,
    ! [X_b,A_1,B_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),B_1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),B_1),A_1) ).

fof(fact_42_Un__def,axiom,
    ! [X_b,A_1,B_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),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(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)),A_1))),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_43_Un__absorb,axiom,
    ! [X_b,A_1] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),A_1),A_1) = ti(fun(X_b,bool),A_1) ).

fof(fact_44_image__ident,axiom,
    ! [X_b,Y_2] : hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,X_b),fun(fun(X_b,bool),fun(X_b,bool)),image(X_b,X_b),combi(X_b)),Y_2) = ti(fun(X_b,bool),Y_2) ).

fof(fact_45_image__image,axiom,
    ! [X_c,X_b,X_d,F,G,A_1] : hAPP(fun(X_c,bool),fun(X_b,bool),hAPP(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool)),image(X_c,X_b),F),hAPP(fun(X_d,bool),fun(X_c,bool),hAPP(fun(X_d,X_c),fun(fun(X_d,bool),fun(X_c,bool)),image(X_d,X_c),G),A_1)) = hAPP(fun(X_d,bool),fun(X_b,bool),hAPP(fun(X_d,X_b),fun(fun(X_d,bool),fun(X_b,bool)),image(X_d,X_b),hAPP(fun(X_d,X_c),fun(X_d,X_b),hAPP(fun(X_c,X_b),fun(fun(X_d,X_c),fun(X_d,X_b)),combb(X_c,X_b,X_d),F),G)),A_1) ).

fof(fact_46_sup__Un__eq,axiom,
    ! [X_b,R_1,S_1,X] :
      ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),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)),R_1)),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)),S_1)),X))
    <=> hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),R_1),S_1))) ) ).

fof(fact_47_Collect__disj__eq,axiom,
    ! [X_b,Pa,Qa] : 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)),Qa)) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(fun(X_b,bool)),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),Qa)) ).

fof(fact_48_imageE,axiom,
    ! [X_b,X_c,B,F,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),B),hAPP(fun(X_c,bool),fun(X_b,bool),hAPP(fun(X_c,X_b),fun(fun(X_c,bool),fun(X_b,bool)),image(X_c,X_b),F),A_1)))
     => ~ ! [X] :
            ( ti(X_b,B) = hAPP(X_c,X_b,F,X)
           => ~ hBOOL(hAPP(fun(X_c,bool),bool,hAPP(X_c,fun(fun(X_c,bool),bool),member(X_c),X),A_1)) ) ) ).

fof(fact_49_Body__triple__valid__Suc,axiom,
    ! [X_b,N_2,Pa,Pn_1,Qa] :
      ( hBOOL(hAPP(hoare_509422987triple(X_b),bool,hAPP(nat,fun(hoare_509422987triple(X_b),bool),hoare_763665637_valid(X_b),N_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),Pa),hAPP(option(com),com,the(com),hAPP(pname,option(com),body_1,Pn_1))),Qa)))
    <=> hBOOL(hAPP(hoare_509422987triple(X_b),bool,hAPP(nat,fun(hoare_509422987triple(X_b),bool),hoare_763665637_valid(X_b),hAPP(nat,nat,suc,N_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),Pa),hAPP(pname,com,body,Pn_1)),Qa))) ) ).

fof(fact_50_triple_Oexhaust,axiom,
    ! [X_b,Y_1] :
      ~ ! [Fun1,Com,Fun2] : Y_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),Com),Fun2) ).

fof(fact_51_Body1,axiom,
    ! [X_b,Pn_1,Ga,Pa,Qa,Procsa] :
      ( 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),hAPP(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool),hAPP(fun(hoare_509422987triple(X_b),bool),fun(fun(hoare_509422987triple(X_b),bool),fun(hoare_509422987triple(X_b),bool)),semilattice_sup_sup(fun(hoare_509422987triple(X_b),bool)),Ga),hAPP(fun(pname,bool),fun(hoare_509422987triple(X_b),bool),hAPP(fun(pname,hoare_509422987triple(X_b)),fun(fun(pname,bool),fun(hoare_509422987triple(X_b),bool)),image(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b))),combs(pname,fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),combs(pname,com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))))),combb(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),pname),hoare_1008221573triple(X_b)),Pa)),body)),Qa)),Procsa))),hAPP(fun(pname,bool),fun(hoare_509422987triple(X_b),bool),hAPP(fun(pname,hoare_509422987triple(X_b)),fun(fun(pname,bool),fun(hoare_509422987triple(X_b),bool)),image(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b)),hAPP(fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,hoare_509422987triple(X_b))),combs(pname,fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,com),fun(pname,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),combs(pname,com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hAPP(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)))),fun(fun(pname,fun(X_b,fun(state,bool))),fun(pname,fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))))),combb(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),pname),hoare_1008221573triple(X_b)),Pa)),hAPP(fun(pname,option(com)),fun(pname,com),hAPP(fun(option(com),com),fun(fun(pname,option(com)),fun(pname,com)),combb(option(com),com,pname),the(com)),body_1))),Qa)),Procsa)))
     => ( hBOOL(hAPP(fun(pname,bool),bool,hAPP(pname,fun(fun(pname,bool),bool),member(pname),Pn_1),Procsa))
       => 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(pname,fun(X_b,fun(state,bool)),Pa,Pn_1)),hAPP(pname,com,body,Pn_1)),hAPP(pname,fun(X_b,fun(state,bool)),Qa,Pn_1))),bot_bot(fun(hoare_509422987triple(X_b),bool))))) ) ) ).

fof(fact_52_image__cong,axiom,
    ! [X_c,X_b,F,G,M,N_1] :
      ( ti(fun(X_b,bool),M) = ti(fun(X_b,bool),N_1)
     => ( ! [X] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X),N_1))
           => hAPP(X_b,X_c,F,X) = hAPP(X_b,X_c,G,X) )
       => hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(fun(X_b,X_c),fun(fun(X_b,bool),fun(X_c,bool)),image(X_b,X_c),F),M) = hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(fun(X_b,X_c),fun(fun(X_b,bool),fun(X_c,bool)),image(X_b,X_c),G),N_1) ) ) ).

fof(fact_53_Powp__def,axiom,
    ! [X_b,A_1,X] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(fun(X_b,bool),fun(fun(X_b,bool),bool),powp(X_b),A_1),X))
    <=> ! [Xa] :
          ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),Xa),X))
         => hBOOL(hAPP(X_b,bool,A_1,Xa)) ) ) ).

fof(fact_54_Body__triple__valid__0,axiom,
    ! [X_b,Pa,Pn_1,Qa] : hBOOL(hAPP(hoare_509422987triple(X_b),bool,hAPP(nat,fun(hoare_509422987triple(X_b),bool),hoare_763665637_valid(X_b),zero_zero(nat)),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(pname,com,body,Pn_1)),Qa))) ).

fof(fact_55_com_Osimps_I6_J,axiom,
    ! [Pname_1,Pname] :
      ( hAPP(pname,com,body,Pname_1) = hAPP(pname,com,body,Pname)
    <=> ti(pname,Pname_1) = ti(pname,Pname) ) ).

fof(fact_56_evalc_OBody,axiom,
    ! [Pn,S0,S1] :
      ( hBOOL(hAPP(state,bool,hAPP(state,fun(state,bool),hAPP(com,fun(state,fun(state,bool)),evalc,hAPP(option(com),com,the(com),hAPP(pname,option(com),body_1,Pn))),S0),S1))
     => hBOOL(hAPP(state,bool,hAPP(state,fun(state,bool),hAPP(com,fun(state,fun(state,bool)),evalc,hAPP(pname,com,body,Pn)),S0),S1)) ) ).

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

fof(fact_58_insertE,axiom,
    ! [X_b,A_2,B,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),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),B),A_1)))
     => ( ti(X_b,A_2) != ti(X_b,B)
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_2),A_1)) ) ) ).

fof(fact_59_insertCI,axiom,
    ! [X_b,B,A_2,B_1] :
      ( ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_2),B_1))
       => ti(X_b,A_2) = ti(X_b,B) )
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),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),B),B_1))) ) ).

fof(fact_60_evalc__elim__cases_I6_J,axiom,
    ! [P,S,S1] :
      ( hBOOL(hAPP(state,bool,hAPP(state,fun(state,bool),hAPP(com,fun(state,fun(state,bool)),evalc,hAPP(pname,com,body,P)),S),S1))
     => hBOOL(hAPP(state,bool,hAPP(state,fun(state,bool),hAPP(com,fun(state,fun(state,bool)),evalc,hAPP(option(com),com,the(com),hAPP(pname,option(com),body_1,P))),S),S1)) ) ).

fof(fact_61_empty__not__insert,axiom,
    ! [X_b,A_2,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_2),A_1) ).

fof(fact_62_insert__not__empty,axiom,
    ! [X_b,A_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),A_2),A_1) != bot_bot(fun(X_b,bool)) ).

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

fof(fact_64_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_65_insertI1,axiom,
    ! [X_b,A_2,B_1] : hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),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_2),B_1))) ).

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

fof(fact_67_singleton__conv2,axiom,
    ! [X_b,A_2] : hAPP(fun(X_b,bool),fun(X_b,bool),collect(X_b),hAPP(X_b,fun(X_b,bool),fequal(X_b),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_2),bot_bot(fun(X_b,bool))) ).

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

fof(fact_69_singleton__conv,axiom,
    ! [X_b,A_2] : 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_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_2),bot_bot(fun(X_b,bool))) ).

fof(fact_70_Collect__conv__if2,axiom,
    ! [X_b,Pa,A_2] :
      ( ( hBOOL(hAPP(X_b,bool,Pa,A_2))
       => 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_2))),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_2),bot_bot(fun(X_b,bool))) )
      & ( ~ hBOOL(hAPP(X_b,bool,Pa,A_2))
       => 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_2))),Pa)) = bot_bot(fun(X_b,bool)) ) ) ).

fof(fact_71_Collect__conv__if,axiom,
    ! [X_b,Pa,A_2] :
      ( ( hBOOL(hAPP(X_b,bool,Pa,A_2))
       => 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_2))),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_2),bot_bot(fun(X_b,bool))) )
      & ( ~ hBOOL(hAPP(X_b,bool,Pa,A_2))
       => 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_2))),Pa)) = bot_bot(fun(X_b,bool)) ) ) ).

fof(fact_72_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] : ~ hBOOL(hAPP(X_b,bool,Pa,X)) ) ).

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

fof(fact_74_ext,axiom,
    ! [X_b,X_c,F,G] :
      ( ! [X] : hAPP(X_b,X_c,F,X) = hAPP(X_b,X_c,G,X)
     => ti(fun(X_b,X_c),F) = ti(fun(X_b,X_c),G) ) ).

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

fof(fact_76_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_77_insert__compr,axiom,
    ! [X_b,A_2,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_2),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_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)),B_1))) ).

fof(fact_78_insert__is__Un,axiom,
    ! [X_b,A_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),A_2),A_1) = hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(fun(X_b,bool),fun(fun(X_b,bool),fun(X_b,bool)),semilattice_sup_sup(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_2),bot_bot(fun(X_b,bool)))),A_1) ).

fof(fact_79_insert__Collect,axiom,
    ! [X_b,A_2,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_2),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_2)))),Pa)) ).

fof(fact_80_singleton__iff,axiom,
    ! [X_b,B,A_2] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),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_2),bot_bot(fun(X_b,bool)))))
    <=> ti(X_b,B) = ti(X_b,A_2) ) ).

fof(fact_81_insert__absorb2,axiom,
    ! [X_b,X_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_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_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_2),A_1) ).

fof(fact_82_insert__commute,axiom,
    ! [X_b,X_2,Y_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_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),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_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),A_1)) ).

fof(fact_83_insert__iff,axiom,
    ! [X_b,A_2,B,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),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),B),A_1)))
    <=> ( ti(X_b,A_2) = ti(X_b,B)
        | hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_2),A_1)) ) ) ).

fof(fact_84_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] : ~ hBOOL(hAPP(X_b,bool,Pa,X)) ) ).

fof(fact_85_doubleton__eq__iff,axiom,
    ! [X_b,A_2,B,C,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_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),B),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),C),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_2) = ti(X_b,C)
          & ti(X_b,B) = ti(X_b,D) )
        | ( ti(X_b,A_2) = ti(X_b,D)
          & ti(X_b,B) = ti(X_b,C) ) ) ) ).

fof(fact_86_insert__code,axiom,
    ! [X_b,Y_1,A_1,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)),insert(X_b),Y_1),A_1),X_2))
    <=> ( ti(X_b,Y_1) = ti(X_b,X_2)
        | hBOOL(hAPP(X_b,bool,A_1,X_2)) ) ) ).

fof(fact_87_insert__compr__raw,axiom,
    ! [X_b,X,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),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))),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_88_insert__ident,axiom,
    ! [X_b,B_1,X_2,A_1] :
      ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_1))
     => ( ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),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_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_2),B_1)
        <=> ti(fun(X_b,bool),A_1) = ti(fun(X_b,bool),B_1) ) ) ) ).

fof(fact_89_equals0D,axiom,
    ! [X_b,A_2,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_2),A_1)) ) ).

fof(fact_90_insertI2,axiom,
    ! [X_b,B,A_2,B_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_2),B_1))
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),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),B),B_1))) ) ).

fof(fact_91_insert__absorb,axiom,
    ! [X_b,A_2,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_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),A_2),A_1) = ti(fun(X_b,bool),A_1) ) ).

fof(fact_92_hoare__derivs_Oinsert,axiom,
    ! [X_b,Ts,Ga,T_4] :
      ( 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_4),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_4),Ts))) ) ) ).

fof(fact_93_singletonE,axiom,
    ! [X_b,B,A_2] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),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_2),bot_bot(fun(X_b,bool)))))
     => ti(X_b,B) = ti(X_b,A_2) ) ).

fof(fact_94_derivs__insertD,axiom,
    ! [X_b,Ga,T_4,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_4),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_4),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)) ) ) ).

fof(fact_95_singleton__inject,axiom,
    ! [X_b,A_2,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_2),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),B),bot_bot(fun(X_b,bool)))
     => ti(X_b,A_2) = ti(X_b,B) ) ).

fof(fact_96_com__det,axiom,
    ! [U,C_1,S,T_3] :
      ( hBOOL(hAPP(state,bool,hAPP(state,fun(state,bool),hAPP(com,fun(state,fun(state,bool)),evalc,C_1),S),T_3))
     => ( hBOOL(hAPP(state,bool,hAPP(state,fun(state,bool),hAPP(com,fun(state,fun(state,bool)),evalc,C_1),S),U))
       => U = T_3 ) ) ).

fof(fact_97_image__constant__conv,axiom,
    ! [X_c,X_b,C,A_1] :
      ( ( ti(fun(X_b,bool),A_1) = bot_bot(fun(X_b,bool))
       => hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(fun(X_b,X_c),fun(fun(X_b,bool),fun(X_c,bool)),image(X_b,X_c),hAPP(X_c,fun(X_b,X_c),combk(X_c,X_b),C)),A_1) = bot_bot(fun(X_c,bool)) )
      & ( ti(fun(X_b,bool),A_1) != bot_bot(fun(X_b,bool))
       => hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(fun(X_b,X_c),fun(fun(X_b,bool),fun(X_c,bool)),image(X_b,X_c),hAPP(X_c,fun(X_b,X_c),combk(X_c,X_b),C)),A_1) = hAPP(fun(X_c,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_c,bool),fun(X_c,bool)),insert(X_c),C),bot_bot(fun(X_c,bool))) ) ) ).

fof(fact_98_image__constant,axiom,
    ! [X_c,X_b,C,X_2,A_1] :
      ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_1))
     => hAPP(fun(X_b,bool),fun(X_c,bool),hAPP(fun(X_b,X_c),fun(fun(X_b,bool),fun(X_c,bool)),image(X_b,X_c),hAPP(X_c,fun(X_b,X_c),combk(X_c,X_b),C)),A_1) = hAPP(fun(X_c,bool),fun(X_c,bool),hAPP(X_c,fun(fun(X_c,bool),fun(X_c,bool)),insert(X_c),C),bot_bot(fun(X_c,bool))) ) ).

%----Arities (6)
fof(arity_fun___Lattices_Osemilattice__sup,axiom,
    ! [T_2,T_1] :
      ( lattice(T_1)
     => semilattice_sup(fun(T_2,T_1)) ) ).

fof(arity_fun___Lattices_Olattice,axiom,
    ! [T_2,T_1] :
      ( lattice(T_1)
     => lattice(fun(T_2,T_1)) ) ).

fof(arity_Nat_Onat___Lattices_Osemilattice__sup,axiom,
    semilattice_sup(nat) ).

fof(arity_Nat_Onat___Lattices_Olattice,axiom,
    lattice(nat) ).

fof(arity_HOL_Obool___Lattices_Osemilattice__sup,axiom,
    semilattice_sup(bool) ).

fof(arity_HOL_Obool___Lattices_Olattice,axiom,
    lattice(bool) ).

%----Helper facts (21)
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_COMBI_1_1_U,axiom,
    ! [X_a,P] : hAPP(X_a,X_a,combi(X_a),P) = ti(X_a,P) ).

fof(help_COMBK_1_1_U,axiom,
    ! [X_b,X_a,P,Q] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),combk(X_a,X_b),P),Q) = ti(X_a,P) ).

fof(help_COMBS_1_1_U,axiom,
    ! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c)),combs(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),hAPP(X_a,X_b,Q,R)) ).

fof(help_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_1,Y] :
      ( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X_1),Y))
      | ti(X_a,X_1) = ti(X_a,Y) ) ).

fof(help_fequal_2_1_T,axiom,
    ! [X_a,X_1,Y] :
      ( ti(X_a,X_1) != ti(X_a,Y)
      | hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X_1),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 (2)
fof(conj_0,hypothesis,
    ! [N] :
      ( ! [X] :
          ( hBOOL(hAPP(fun(hoare_509422987triple(x_a),bool),bool,hAPP(hoare_509422987triple(x_a),fun(fun(hoare_509422987triple(x_a),bool),bool),member(hoare_509422987triple(x_a)),X),hAPP(fun(hoare_509422987triple(x_a),bool),fun(hoare_509422987triple(x_a),bool),hAPP(fun(hoare_509422987triple(x_a),bool),fun(fun(hoare_509422987triple(x_a),bool),fun(hoare_509422987triple(x_a),bool)),semilattice_sup_sup(fun(hoare_509422987triple(x_a),bool)),g),hAPP(fun(pname,bool),fun(hoare_509422987triple(x_a),bool),hAPP(fun(pname,hoare_509422987triple(x_a)),fun(fun(pname,bool),fun(hoare_509422987triple(x_a),bool)),image(pname,hoare_509422987triple(x_a)),hAPP(fun(pname,fun(x_a,fun(state,bool))),fun(pname,hoare_509422987triple(x_a)),hAPP(fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),fun(fun(pname,fun(x_a,fun(state,bool))),fun(pname,hoare_509422987triple(x_a))),combs(pname,fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)),hAPP(fun(pname,com),fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),hAPP(fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),fun(fun(pname,com),fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),combs(pname,com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),hAPP(fun(pname,fun(x_a,fun(state,bool))),fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),hAPP(fun(fun(x_a,fun(state,bool)),fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),fun(fun(pname,fun(x_a,fun(state,bool))),fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))))),combb(fun(x_a,fun(state,bool)),fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),pname),hoare_1008221573triple(x_a)),p)),body)),q)),procs))))
         => hBOOL(hAPP(hoare_509422987triple(x_a),bool,hAPP(nat,fun(hoare_509422987triple(x_a),bool),hoare_763665637_valid(x_a),N),X)) )
     => ! [X] :
          ( hBOOL(hAPP(fun(hoare_509422987triple(x_a),bool),bool,hAPP(hoare_509422987triple(x_a),fun(fun(hoare_509422987triple(x_a),bool),bool),member(hoare_509422987triple(x_a)),X),hAPP(fun(pname,bool),fun(hoare_509422987triple(x_a),bool),hAPP(fun(pname,hoare_509422987triple(x_a)),fun(fun(pname,bool),fun(hoare_509422987triple(x_a),bool)),image(pname,hoare_509422987triple(x_a)),hAPP(fun(pname,fun(x_a,fun(state,bool))),fun(pname,hoare_509422987triple(x_a)),hAPP(fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),fun(fun(pname,fun(x_a,fun(state,bool))),fun(pname,hoare_509422987triple(x_a))),combs(pname,fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)),hAPP(fun(pname,com),fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),hAPP(fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),fun(fun(pname,com),fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),combs(pname,com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),hAPP(fun(pname,fun(x_a,fun(state,bool))),fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),hAPP(fun(fun(x_a,fun(state,bool)),fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),fun(fun(pname,fun(x_a,fun(state,bool))),fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))))),combb(fun(x_a,fun(state,bool)),fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),pname),hoare_1008221573triple(x_a)),p)),hAPP(fun(pname,option(com)),fun(pname,com),hAPP(fun(option(com),com),fun(fun(pname,option(com)),fun(pname,com)),combb(option(com),com,pname),the(com)),body_1))),q)),procs)))
         => hBOOL(hAPP(hoare_509422987triple(x_a),bool,hAPP(nat,fun(hoare_509422987triple(x_a),bool),hoare_763665637_valid(x_a),N),X)) ) ) ).

fof(conj_1,conjecture,
    ( ! [X] :
        ( hBOOL(hAPP(fun(hoare_509422987triple(x_a),bool),bool,hAPP(hoare_509422987triple(x_a),fun(fun(hoare_509422987triple(x_a),bool),bool),member(hoare_509422987triple(x_a)),X),g))
       => hBOOL(hAPP(hoare_509422987triple(x_a),bool,hAPP(nat,fun(hoare_509422987triple(x_a),bool),hoare_763665637_valid(x_a),n),X)) )
   => ! [X] :
        ( hBOOL(hAPP(fun(hoare_509422987triple(x_a),bool),bool,hAPP(hoare_509422987triple(x_a),fun(fun(hoare_509422987triple(x_a),bool),bool),member(hoare_509422987triple(x_a)),X),hAPP(fun(pname,bool),fun(hoare_509422987triple(x_a),bool),hAPP(fun(pname,hoare_509422987triple(x_a)),fun(fun(pname,bool),fun(hoare_509422987triple(x_a),bool)),image(pname,hoare_509422987triple(x_a)),hAPP(fun(pname,fun(x_a,fun(state,bool))),fun(pname,hoare_509422987triple(x_a)),hAPP(fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),fun(fun(pname,fun(x_a,fun(state,bool))),fun(pname,hoare_509422987triple(x_a))),combs(pname,fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)),hAPP(fun(pname,com),fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),hAPP(fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),fun(fun(pname,com),fun(pname,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),combs(pname,com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),hAPP(fun(pname,fun(x_a,fun(state,bool))),fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),hAPP(fun(fun(x_a,fun(state,bool)),fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a)))),fun(fun(pname,fun(x_a,fun(state,bool))),fun(pname,fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))))),combb(fun(x_a,fun(state,bool)),fun(com,fun(fun(x_a,fun(state,bool)),hoare_509422987triple(x_a))),pname),hoare_1008221573triple(x_a)),p)),body)),q)),procs)))
       => hBOOL(hAPP(hoare_509422987triple(x_a),bool,hAPP(nat,fun(hoare_509422987triple(x_a),bool),hoare_763665637_valid(x_a),n),X)) ) ) ).

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