TPTP Problem File: SWW474+5.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWW474+5 : TPTP v9.0.0. Released v5.3.0.
% Domain   : Software Verification
% Problem  : Hoare's Logic with Procedures line 440, 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_l440 [Bla11]

% Status   : Theorem
% Rating   : 0.48 v9.0.0, 0.47 v8.2.0, 0.58 v8.1.0, 0.50 v7.5.0, 0.56 v7.4.0, 0.50 v7.3.0, 0.41 v7.2.0, 0.38 v7.1.0, 0.43 v7.0.0, 0.47 v6.4.0, 0.50 v6.2.0, 0.60 v6.1.0, 0.73 v6.0.0, 0.70 v5.4.0, 0.75 v5.3.0
% Syntax   : Number of formulae    :  169 (  76 unt;   0 def)
%            Number of atoms       :  324 ( 120 equ)
%            Maximal formula atoms :    9 (   1 avg)
%            Number of connectives :  195 (  40   ~;  22   |;  14   &)
%                                         (  22 <=>;  97  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   5 avg)
%            Maximal term depth    :   10 (   2 avg)
%            Number of predicates  :    3 (   2 usr;   0 prp; 1-2 aty)
%            Number of functors    :   42 (  42 usr;  19 con; 0-4 aty)
%            Number of variables   :  439 ( 435   !;   4   ?)
% SPC      : FOF_THM_RFO_SEQ

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 14:23:21
%          : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (37)
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_OWT_res,axiom,
    ti(fun(com,bool),wt) = wt ).

fof(tsy_c_Com_OWT__bodies_res,hypothesis,
    ti(bool,wT_bodies) = wT_bodies ).

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

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

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

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_Ostate__not__singleton_res,hypothesis,
    ti(bool,hoare_1883395792gleton) = hoare_1883395792gleton ).

fof(tsy_c_Map_Odom_res,axiom,
    ! [X_b,X_a] : ti(fun(fun(X_b,option(X_a)),fun(X_b,bool)),dom(X_b,X_a)) = dom(X_b,X_a) ).

fof(tsy_c_Option_Ooption_OSome_res,axiom,
    ! [X_a] : ti(fun(X_a,option(X_a)),some(X_a)) = some(X_a) ).

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_a] : ti(fun(X_a,bool),bot_bot(fun(X_a,bool))) = bot_bot(fun(X_a,bool)) ).

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

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_Oimage_res,axiom,
    ! [X_a,X_b] : ti(fun(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool))),image(X_a,X_b)) = image(X_a,X_b) ).

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_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_a] : ti(fun(X_a,fun(fun(X_a,bool),bool)),member(X_a)) = member(X_a) ).

fof(tsy_v_Fa_res,hypothesis,
    ti(fun(hoare_509422987triple(state),bool),fa) = fa ).

fof(tsy_v_pn_res,hypothesis,
    ti(pname,pn) = pn ).

fof(tsy_v_y_res,hypothesis,
    ti(com,y) = y ).

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

fof(fact_1_asm,axiom,
    ! [X_a,Ts,G] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),ord_less_eq(fun(hoare_509422987triple(X_a),bool)),Ts),G))
     => 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),Ts)) ) ).

fof(fact_2_weaken,axiom,
    ! [X_a,Ts,G,Ts_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),Ts_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),ord_less_eq(fun(hoare_509422987triple(X_a),bool)),Ts),Ts_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),Ts)) ) ) ).

fof(fact_3_thin,axiom,
    ! [X_a,G,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),ord_less_eq(fun(hoare_509422987triple(X_a),bool)),G_2),G))
       => 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),Ts)) ) ) ).

fof(fact_4_cut,axiom,
    ! [X_a,G,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),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),Ts)) ) ) ).

fof(fact_5_hoare__derivs_Oinsert,axiom,
    ! [X_a,Ts,G,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),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),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),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_6_derivs__insertD,axiom,
    ! [X_a,G,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),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),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),Ts)) ) ) ).

fof(fact_7_MGT__BodyN,axiom,
    ! [Pn_1,G] :
      ( hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),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,hAPP(pname,com,body_1,Pn_1))),G)),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,hAPP(option(com),com,the(com),hAPP(pname,option(com),body,Pn_1)))),bot_bot(fun(hoare_509422987triple(state),bool)))))
     => hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),G),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,hAPP(pname,com,body_1,Pn_1))),bot_bot(fun(hoare_509422987triple(state),bool))))) ) ).

fof(fact_8_finite__Collect__subsets,axiom,
    ! [X_a,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),A_1))
     => hBOOL(hAPP(fun(fun(X_a,bool),bool),bool,finite_finite(fun(X_a,bool)),hAPP(fun(fun(X_a,bool),bool),fun(fun(X_a,bool),bool),collect(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),hAPP(fun(fun(X_a,bool),fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(fun(X_a,bool),bool)),combc(fun(X_a,bool),fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool))),A_1)))) ) ).

fof(fact_9_finite__imageI,axiom,
    ! [X_b,X_a,H,Fa] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),Fa))
     => hBOOL(hAPP(fun(X_b,bool),bool,finite_finite(X_b),hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),H),Fa))) ) ).

fof(fact_10_empty__subsetI,axiom,
    ! [X_a,A_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),bot_bot(fun(X_a,bool))),A_1)) ).

fof(fact_11_finite_OinsertI,axiom,
    ! [X_a,A_3,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),A_1))
     => hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(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_3),A_1))) ) ).

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

fof(fact_13_finite__Collect__conjI,axiom,
    ! [X_a,Q_1,P_1] :
      ( ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),P_1)))
        | hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Q_1))) )
     => hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),P_1)),Q_1)))) ) ).

fof(fact_14_image__constant__conv,axiom,
    ! [X_b,X_a,C_1,A_1] :
      ( ( ti(fun(X_a,bool),A_1) = bot_bot(fun(X_a,bool))
       => hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),hAPP(X_b,fun(X_a,X_b),combk(X_b,X_a),C_1)),A_1) = bot_bot(fun(X_b,bool)) )
      & ( ti(fun(X_a,bool),A_1) != bot_bot(fun(X_a,bool))
       => hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),hAPP(X_b,fun(X_a,X_b),combk(X_b,X_a),C_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),C_1),bot_bot(fun(X_b,bool))) ) ) ).

fof(fact_15_image__constant,axiom,
    ! [X_b,X_a,C_1,X_2,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
     => hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),hAPP(X_b,fun(X_a,X_b),combk(X_b,X_a),C_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),C_1),bot_bot(fun(X_b,bool))) ) ).

fof(fact_16_insert__dom,axiom,
    ! [X_b,X_a,F,X_2,Y_3] :
      ( hAPP(X_b,option(X_a),F,X_2) = hAPP(X_a,option(X_a),some(X_a),Y_3)
     => hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_2),hAPP(fun(X_b,option(X_a)),fun(X_b,bool),dom(X_b,X_a),F)) = hAPP(fun(X_b,option(X_a)),fun(X_b,bool),dom(X_b,X_a),F) ) ).

fof(fact_17_finite__surj,axiom,
    ! [X_b,X_a,B,F,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),A_1))
     => ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(fun(X_b,bool),fun(fun(X_b,bool),bool),ord_less_eq(fun(X_b,bool)),B),hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),F),A_1)))
       => hBOOL(hAPP(fun(X_b,bool),bool,finite_finite(X_b),B)) ) ) ).

fof(fact_18_subset__singletonD,axiom,
    ! [X_a,A_1,X_2] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),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),X_2),bot_bot(fun(X_a,bool)))))
     => ( ti(fun(X_a,bool),A_1) = bot_bot(fun(X_a,bool))
        | 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),X_2),bot_bot(fun(X_a,bool))) ) ) ).

fof(fact_19_MGF,axiom,
    ! [C_1] :
      ( hBOOL(hoare_1883395792gleton)
     => ( hBOOL(wT_bodies)
       => ( hBOOL(hAPP(com,bool,wt,C_1))
         => 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_1)),bot_bot(fun(hoare_509422987triple(state),bool))))) ) ) ) ).

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

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

fof(fact_22_insertE,axiom,
    ! [X_a,A_3,B_1,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),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),B_1),A_1)))
     => ( ti(X_a,A_3) != 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_3),A_1)) ) ) ).

fof(fact_23_equalityI,axiom,
    ! [X_a,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B),A_1))
       => ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B) ) ) ).

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

fof(fact_25_image__eqI,axiom,
    ! [X_a,X_b,A_1,B_1,F,X_2] :
      ( ti(X_a,B_1) = hAPP(X_b,X_a,F,X_2)
     => ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_2),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),B_1),hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),A_1))) ) ) ).

fof(fact_26_equals0D,axiom,
    ! [X_a,A_3,A_1] :
      ( ti(fun(X_a,bool),A_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),A_3),A_1)) ) ).

fof(fact_27_Collect__empty__eq,axiom,
    ! [X_a,P_1] :
      ( hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),P_1) = bot_bot(fun(X_a,bool))
    <=> ! [X_1] : ~ hBOOL(hAPP(X_a,bool,P_1,X_1)) ) ).

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

fof(fact_29_empty__Collect__eq,axiom,
    ! [X_a,P_1] :
      ( bot_bot(fun(X_a,bool)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),P_1)
    <=> ! [X_1] : ~ hBOOL(hAPP(X_a,bool,P_1,X_1)) ) ).

fof(fact_30_ex__in__conv,axiom,
    ! [X_a,A_1] :
      ( ? [X_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_1))
    <=> ti(fun(X_a,bool),A_1) != bot_bot(fun(X_a,bool)) ) ).

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

fof(fact_32_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_33_finite__code,axiom,
    ! [X_a] :
      ( finite_finite_1(X_a)
     => ! [A_1] : hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),A_1)) ) ).

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

fof(fact_35_insert__absorb,axiom,
    ! [X_a,A_3,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_3),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_3),A_1) = ti(fun(X_a,bool),A_1) ) ).

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

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

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

fof(fact_39_insert__iff,axiom,
    ! [X_a,A_3,B_1,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),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),B_1),A_1)))
    <=> ( ti(X_a,A_3) = 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_3),A_1)) ) ) ).

fof(fact_40_insert__commute,axiom,
    ! [X_a,X_2,Y_3,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),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_3),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),Y_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),X_2),A_1)) ).

fof(fact_41_insert__absorb2,axiom,
    ! [X_a,X_2,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),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),X_2),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),X_2),A_1) ).

fof(fact_42_insert__Collect,axiom,
    ! [X_a,A_3,P_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_3),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),P_1)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),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_3)))),P_1)) ).

fof(fact_43_insert__compr,axiom,
    ! [X_a,A_3,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_3),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_3))),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_44_insertI1,axiom,
    ! [X_a,A_3,B] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),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_3),B))) ).

fof(fact_45_equalityE,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
     => ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
         => ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B),A_1)) ) ) ).

fof(fact_46_subset__trans,axiom,
    ! [X_a,C_2,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B),C_2))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),C_2)) ) ) ).

fof(fact_47_set__mp,axiom,
    ! [X_a,X_2,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B)) ) ) ).

fof(fact_48_set__rev__mp,axiom,
    ! [X_a,B,X_2,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B)) ) ) ).

fof(fact_49_in__mono,axiom,
    ! [X_a,X_2,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
       => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B)) ) ) ).

fof(fact_50_equalityD2,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B),A_1)) ) ).

fof(fact_51_equalityD1,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B)) ) ).

fof(fact_52_set__eq__subset,axiom,
    ! [X_a,A_1,B] :
      ( ti(fun(X_a,bool),A_1) = ti(fun(X_a,bool),B)
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
        & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B),A_1)) ) ) ).

fof(fact_53_subset__refl,axiom,
    ! [X_a,A_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),A_1)) ).

fof(fact_54_rev__image__eqI,axiom,
    ! [X_b,X_a,B_1,F,X_2,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_1))
     => ( ti(X_b,B_1) = hAPP(X_a,X_b,F,X_2)
       => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),B_1),hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),F),A_1))) ) ) ).

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

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

fof(fact_57_finite__Collect__disjI,axiom,
    ! [X_a,P_1,Q_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),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),P_1)),Q_1))))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),P_1)))
        & hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Q_1))) ) ) ).

fof(fact_58_insert__compr__raw,axiom,
    ! [X_a,X_1,Xa] : 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),Xa) = 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)),X_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)),Xa))) ).

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

fof(fact_60_image__image,axiom,
    ! [X_b,X_a,X_c,F,G_1,A_1] : hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),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),G_1),A_1)) = hAPP(fun(X_c,bool),fun(X_a,bool),hAPP(fun(X_c,X_a),fun(fun(X_c,bool),fun(X_a,bool)),image(X_c,X_a),hAPP(fun(X_c,X_b),fun(X_c,X_a),hAPP(fun(X_b,X_a),fun(fun(X_c,X_b),fun(X_c,X_a)),combb(X_b,X_a,X_c),F),G_1)),A_1) ).

fof(fact_61_singleton__inject,axiom,
    ! [X_a,A_3,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_3),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_3) = ti(X_a,B_1) ) ).

fof(fact_62_singletonE,axiom,
    ! [X_a,B_1,A_3] :
      ( 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_3),bot_bot(fun(X_a,bool)))))
     => ti(X_a,B_1) = ti(X_a,A_3) ) ).

fof(fact_63_doubleton__eq__iff,axiom,
    ! [X_a,A_3,B_1,C_1,D_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_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),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),C_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),D_1),bot_bot(fun(X_a,bool))))
    <=> ( ( ti(X_a,A_3) = ti(X_a,C_1)
          & ti(X_a,B_1) = ti(X_a,D_1) )
        | ( ti(X_a,A_3) = ti(X_a,D_1)
          & ti(X_a,B_1) = ti(X_a,C_1) ) ) ) ).

fof(fact_64_singleton__iff,axiom,
    ! [X_a,B_1,A_3] :
      ( 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_3),bot_bot(fun(X_a,bool)))))
    <=> ti(X_a,B_1) = ti(X_a,A_3) ) ).

fof(fact_65_insert__not__empty,axiom,
    ! [X_a,A_3,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_3),A_1) != bot_bot(fun(X_a,bool)) ).

fof(fact_66_empty__not__insert,axiom,
    ! [X_a,A_3,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_3),A_1) ).

fof(fact_67_finite__insert,axiom,
    ! [X_a,A_3,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(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_3),A_1)))
    <=> hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),A_1)) ) ).

fof(fact_68_subset__empty,axiom,
    ! [X_a,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),bot_bot(fun(X_a,bool))))
    <=> ti(fun(X_a,bool),A_1) = bot_bot(fun(X_a,bool)) ) ).

fof(fact_69_image__is__empty,axiom,
    ! [X_b,X_a,F,A_1] :
      ( hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),A_1) = bot_bot(fun(X_a,bool))
    <=> ti(fun(X_b,bool),A_1) = bot_bot(fun(X_b,bool)) ) ).

fof(fact_70_image__empty,axiom,
    ! [X_b,X_a,F] : hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),bot_bot(fun(X_b,bool))) = bot_bot(fun(X_a,bool)) ).

fof(fact_71_empty__is__image,axiom,
    ! [X_a,X_b,F,A_1] :
      ( bot_bot(fun(X_a,bool)) = hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),A_1)
    <=> ti(fun(X_b,bool),A_1) = bot_bot(fun(X_b,bool)) ) ).

fof(fact_72_finite__subset,axiom,
    ! [X_a,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),B))
       => hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),A_1)) ) ) ).

fof(fact_73_rev__finite__subset,axiom,
    ! [X_a,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
       => hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),A_1)) ) ) ).

fof(fact_74_insert__mono,axiom,
    ! [X_a,A_3,C_2,D] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),C_2),D))
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_3),C_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_3),D))) ) ).

fof(fact_75_ext,axiom,
    ! [X_a,X_b,F,G_1] :
      ( ! [X_1] : hAPP(X_a,X_b,F,X_1) = hAPP(X_a,X_b,G_1,X_1)
     => ti(fun(X_a,X_b),F) = ti(fun(X_a,X_b),G_1) ) ).

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

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

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

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

fof(fact_80_insert__subset,axiom,
    ! [X_a,X_2,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),A_1)),B))
    <=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B))
        & hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B)) ) ) ).

fof(fact_81_subset__insertI,axiom,
    ! [X_a,B,A_3] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),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_3),B))) ).

fof(fact_82_insert__image,axiom,
    ! [X_b,X_a,F,X_2,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),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),hAPP(X_a,X_b,F,X_2)),hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),F),A_1)) = hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),F),A_1) ) ).

fof(fact_83_image__insert,axiom,
    ! [X_b,X_a,F,A_3,B] : hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,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),A_3),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),hAPP(X_b,X_a,F,A_3)),hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),B)) ).

fof(fact_84_image__mono,axiom,
    ! [X_b,X_a,F,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B))
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(fun(X_b,bool),fun(fun(X_b,bool),bool),ord_less_eq(fun(X_b,bool)),hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),F),A_1)),hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(fun(X_a,X_b),fun(fun(X_a,bool),fun(X_b,bool)),image(X_a,X_b),F),B))) ) ).

fof(fact_85_subset__image__iff,axiom,
    ! [X_a,X_b,B,F,A_1] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B),hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),A_1)))
    <=> ? [AA] :
          ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(fun(X_b,bool),fun(fun(X_b,bool),bool),ord_less_eq(fun(X_b,bool)),AA),A_1))
          & ti(fun(X_a,bool),B) = hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),AA) ) ) ).

fof(fact_86_domI,axiom,
    ! [X_b,X_a,M,A_3,B_1] :
      ( hAPP(X_b,option(X_a),M,A_3) = hAPP(X_a,option(X_a),some(X_a),B_1)
     => hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),A_3),hAPP(fun(X_b,option(X_a)),fun(X_b,bool),dom(X_b,X_a),M))) ) ).

fof(fact_87_Collect__conv__if,axiom,
    ! [X_a,P_1,A_3] :
      ( ( hBOOL(hAPP(X_a,bool,P_1,A_3))
       => hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(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_3))),P_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_3),bot_bot(fun(X_a,bool))) )
      & ( ~ hBOOL(hAPP(X_a,bool,P_1,A_3))
       => hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(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_3))),P_1)) = bot_bot(fun(X_a,bool)) ) ) ).

fof(fact_88_Collect__conv__if2,axiom,
    ! [X_a,P_1,A_3] :
      ( ( hBOOL(hAPP(X_a,bool,P_1,A_3))
       => hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(X_a,fun(X_a,bool),fequal(X_a),A_3))),P_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_3),bot_bot(fun(X_a,bool))) )
      & ( ~ hBOOL(hAPP(X_a,bool,P_1,A_3))
       => hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fconj),hAPP(X_a,fun(X_a,bool),fequal(X_a),A_3))),P_1)) = bot_bot(fun(X_a,bool)) ) ) ).

fof(fact_89_singleton__conv,axiom,
    ! [X_a,A_3] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),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_3),bot_bot(fun(X_a,bool))) ).

fof(fact_90_singleton__conv2,axiom,
    ! [X_a,A_3] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(X_a,fun(X_a,bool),fequal(X_a),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_3),bot_bot(fun(X_a,bool))) ).

fof(fact_91_MGF__lemma1,axiom,
    ! [C_1,G] :
      ( hBOOL(hoare_1883395792gleton)
     => ( ! [X_1] :
            ( hBOOL(hAPP(fun(pname,bool),bool,hAPP(pname,fun(fun(pname,bool),bool),member(pname),X_1),hAPP(fun(pname,option(com)),fun(pname,bool),dom(pname,com),body)))
           => hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),G),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,hAPP(pname,com,body_1,X_1))),bot_bot(fun(hoare_509422987triple(state),bool))))) )
       => ( hBOOL(hAPP(com,bool,wt,C_1))
         => hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),G),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_1)),bot_bot(fun(hoare_509422987triple(state),bool))))) ) ) ) ).

fof(fact_92_WT__bodiesD,axiom,
    ! [Pn,B_2] :
      ( hBOOL(wT_bodies)
     => ( hAPP(pname,option(com),body,Pn) = hAPP(com,option(com),some(com),B_2)
       => hBOOL(hAPP(com,bool,wt,B_2)) ) ) ).

fof(fact_93_imageE,axiom,
    ! [X_a,X_b,B_1,F,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_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),A_1)))
     => ~ ! [X_1] :
            ( ti(X_a,B_1) = hAPP(X_b,X_a,F,X_1)
           => ~ hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_1)) ) ) ).

fof(fact_94_finite__subset__induct,axiom,
    ! [X_a,P_1,A_1,Fa] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),Fa))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),Fa),A_1))
       => ( hBOOL(hAPP(fun(X_a,bool),bool,P_1,bot_bot(fun(X_a,bool))))
         => ( ! [A_2,F_1] :
                ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),F_1))
               => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_2),A_1))
                 => ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_2),F_1))
                   => ( hBOOL(hAPP(fun(X_a,bool),bool,P_1,F_1))
                     => hBOOL(hAPP(fun(X_a,bool),bool,P_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_2),F_1))) ) ) ) )
           => hBOOL(hAPP(fun(X_a,bool),bool,P_1,Fa)) ) ) ) ) ).

fof(fact_95_WTs__elim__cases_I7_J,axiom,
    ! [P] :
      ( hBOOL(hAPP(com,bool,wt,hAPP(pname,com,body_1,P)))
     => ~ ! [Y_1] : hAPP(pname,option(com),body,P) != hAPP(com,option(com),some(com),Y_1) ) ).

fof(fact_96_subsetI,axiom,
    ! [X_a,B,A_1] :
      ( ! [X_1] :
          ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_1))
         => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B)) )
     => hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),A_1),B)) ) ).

fof(fact_97_finite__subset__image,axiom,
    ! [X_b,X_a,F,A_1,B] :
      ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite(X_a),B))
     => ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(fun(X_a,bool),fun(fun(X_a,bool),bool),ord_less_eq(fun(X_a,bool)),B),hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),A_1)))
       => ? [C] :
            ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(fun(X_b,bool),fun(fun(X_b,bool),bool),ord_less_eq(fun(X_b,bool)),C),A_1))
            & hBOOL(hAPP(fun(X_b,bool),bool,finite_finite(X_b),C))
            & ti(fun(X_a,bool),B) = hAPP(fun(X_b,bool),fun(X_a,bool),hAPP(fun(X_b,X_a),fun(fun(X_b,bool),fun(X_a,bool)),image(X_b,X_a),F),C) ) ) ) ).

fof(fact_98_finite__dom__body,axiom,
    hBOOL(hAPP(fun(pname,bool),bool,finite_finite(pname),hAPP(fun(pname,option(com)),fun(pname,bool),dom(pname,com),body))) ).

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

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

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

fof(arity_Option_Ooption___Finite__Set_Ofinite,axiom,
    ! [T_1] :
      ( finite_finite_1(T_1)
     => finite_finite_1(option(T_1)) ) ).

%----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,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 (8)
fof(conj_0,hypothesis,
    hBOOL(hoare_1883395792gleton) ).

fof(conj_1,hypothesis,
    hBOOL(wT_bodies) ).

fof(conj_2,hypothesis,
    hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,finite_finite(hoare_509422987triple(state)),fa)) ).

fof(conj_3,hypothesis,
    ~ hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(hoare_509422987triple(state),fun(fun(hoare_509422987triple(state),bool),bool),member(hoare_509422987triple(state)),hAPP(com,hoare_509422987triple(state),hoare_Mirabelle_MGT,y)),fa)) ).

fof(conj_4,hypothesis,
    hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),ord_less_eq(fun(hoare_509422987triple(state),bool)),fa),hAPP(fun(pname,bool),fun(hoare_509422987triple(state),bool),hAPP(fun(pname,hoare_509422987triple(state)),fun(fun(pname,bool),fun(hoare_509422987triple(state),bool)),image(pname,hoare_509422987triple(state)),hAPP(fun(pname,com),fun(pname,hoare_509422987triple(state)),hAPP(fun(com,hoare_509422987triple(state)),fun(fun(pname,com),fun(pname,hoare_509422987triple(state))),combb(com,hoare_509422987triple(state),pname),hoare_Mirabelle_MGT),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))),hAPP(fun(pname,option(com)),fun(pname,bool),dom(pname,com),body)))) ).

fof(conj_5,hypothesis,
    hAPP(pname,option(com),body,pn) = hAPP(com,option(com),some(com),y) ).

fof(conj_6,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),hAPP(fun(pname,bool),fun(hoare_509422987triple(state),bool),hAPP(fun(pname,hoare_509422987triple(state)),fun(fun(pname,bool),fun(hoare_509422987triple(state),bool)),image(pname,hoare_509422987triple(state)),hAPP(fun(pname,com),fun(pname,hoare_509422987triple(state)),hAPP(fun(com,hoare_509422987triple(state)),fun(fun(pname,com),fun(pname,hoare_509422987triple(state))),combb(com,hoare_509422987triple(state),pname),hoare_Mirabelle_MGT),body_1)),hAPP(fun(pname,option(com)),fun(pname,bool),dom(pname,com),body))),fa)) ).

fof(conj_7,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),hAPP(fun(pname,bool),fun(hoare_509422987triple(state),bool),hAPP(fun(pname,hoare_509422987triple(state)),fun(fun(pname,bool),fun(hoare_509422987triple(state),bool)),image(pname,hoare_509422987triple(state)),hAPP(fun(pname,com),fun(pname,hoare_509422987triple(state)),hAPP(fun(com,hoare_509422987triple(state)),fun(fun(pname,com),fun(pname,hoare_509422987triple(state))),combb(com,hoare_509422987triple(state),pname),hoare_Mirabelle_MGT),body_1)),hAPP(fun(pname,option(com)),fun(pname,bool),dom(pname,com),body))),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,y)),bot_bot(fun(hoare_509422987triple(state),bool))))) ).

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