TPTP Problem File: SWW472+5.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SWW472+5 : TPTP v9.0.0. Released v5.3.0.
% Domain : Software Verification
% Problem : Hoare's Logic with Procedures line 327, 100 axioms selected
% Version : Especial.
% English :
% Refs : [BN10] Boehme & Nipkow (2010), Sledgehammer: Judgement Day
% : [Bla11] Blanchette (2011), Email to Geoff Sutcliffe
% Source : [Bla11]
% Names : hoare_100_fofpt_l327 [Bla11]
% Status : Theorem
% Rating : 1.00 v5.3.0
% Syntax : Number of formulae : 165 ( 78 unt; 0 def)
% Number of atoms : 335 ( 142 equ)
% Maximal formula atoms : 9 ( 2 avg)
% Number of connectives : 223 ( 53 ~; 18 |; 19 &)
% ( 21 <=>; 112 =>; 0 <=; 0 <~>)
% Maximal formula depth : 17 ( 5 avg)
% Maximal term depth : 21 ( 2 avg)
% Number of predicates : 4 ( 3 usr; 0 prp; 1-2 aty)
% Number of functors : 48 ( 48 usr; 18 con; 0-4 aty)
% Number of variables : 529 ( 513 !; 16 ?)
% SPC : FOF_THM_RFO_SEQ
% Comments : This file was generated by Isabelle (most likely Sledgehammer)
% 2011-08-09 14:12:20
% : Encoded with polymorphic tags.
%------------------------------------------------------------------------------
%----Explicit typings (41)
fof(tsy_c_Big__Operators_Osemilattice__big_res,axiom,
! [X_a] : ti(fun(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool)),big_semilattice_big(X_a)) = big_semilattice_big(X_a) ).
fof(tsy_c_COMBB_res,axiom,
! [X_b,X_c,X_a] : ti(fun(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c))),combb(X_b,X_c,X_a)) = combb(X_b,X_c,X_a) ).
fof(tsy_c_COMBC_res,axiom,
! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c))),combc(X_a,X_b,X_c)) = combc(X_a,X_b,X_c) ).
fof(tsy_c_COMBK_res,axiom,
! [X_a,X_b] : ti(fun(X_a,fun(X_b,X_a)),combk(X_a,X_b)) = combk(X_a,X_b) ).
fof(tsy_c_COMBS_res,axiom,
! [X_a,X_b,X_c] : ti(fun(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c))),combs(X_a,X_b,X_c)) = combs(X_a,X_b,X_c) ).
fof(tsy_c_Com_Ocom_OSKIP_res,axiom,
ti(com,skip) = skip ).
fof(tsy_c_Com_Ocom_OSemi_res,axiom,
ti(fun(com,fun(com,com)),semi) = semi ).
fof(tsy_c_Com_Ocom_Ocom__case_res,axiom,
! [X_a] : ti(fun(X_a,fun(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))))))),com_case(X_a)) = com_case(X_a) ).
fof(tsy_c_Finite__Set_Ofinite_res,axiom,
! [X_a] : ti(fun(fun(X_a,bool),bool),finite_finite_1(X_a)) = finite_finite_1(X_a) ).
fof(tsy_c_Finite__Set_Ofold1_res,axiom,
! [X_a] : ti(fun(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a)),finite_fold1(X_a)) = finite_fold1(X_a) ).
fof(tsy_c_Finite__Set_Ofold1Set_res,axiom,
! [X_a] : ti(fun(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool))),finite_fold1Set(X_a)) = finite_fold1Set(X_a) ).
fof(tsy_c_Finite__Set_Ofold__graph_res,axiom,
! [X_a,X_b] : ti(fun(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool)))),finite_fold_graph(X_a,X_b)) = finite_fold_graph(X_a,X_b) ).
fof(tsy_c_Finite__Set_Ofolding__image__simple__idem_res,axiom,
! [X_a,X_b] : ti(fun(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool)))),finite908156982e_idem(X_a,X_b)) = finite908156982e_idem(X_a,X_b) ).
fof(tsy_c_Finite__Set_Ofolding__one_res,axiom,
! [X_a] : ti(fun(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool)),finite_folding_one(X_a)) = finite_folding_one(X_a) ).
fof(tsy_c_Finite__Set_Ofolding__one__idem_res,axiom,
! [X_a] : ti(fun(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool)),finite2073411215e_idem(X_a)) = finite2073411215e_idem(X_a) ).
fof(tsy_c_Groups_Ominus__class_Ominus_res,axiom,
! [X_a] : ti(fun(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool))),minus_minus(fun(X_a,bool))) = minus_minus(fun(X_a,bool)) ).
fof(tsy_c_HOL_Oundefined_res,axiom,
! [X_a] : ti(X_a,undefined(X_a)) = undefined(X_a) ).
fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_OMGT_res,hypothesis,
ti(fun(com,hoare_509422987triple(state)),hoare_Mirabelle_MGT) = hoare_Mirabelle_MGT ).
fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Ohoare__derivs_res,axiom,
! [X_a] : ti(fun(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool)),hoare_122391849derivs(X_a)) = hoare_122391849derivs(X_a) ).
fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Ohoare__valids_res,axiom,
! [X_a] : ti(fun(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool)),hoare_1870528171valids(X_a)) = hoare_1870528171valids(X_a) ).
fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Otriple_Otriple_res,axiom,
! [X_a] : ti(fun(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)))),hoare_1008221573triple(X_a)) = hoare_1008221573triple(X_a) ).
fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Otriple_Otriple__case_res,axiom,
! [X_b,X_a] : ti(fun(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a))),fun(hoare_509422987triple(X_b),X_a)),hoare_885240885e_case(X_b,X_a)) = hoare_885240885e_case(X_b,X_a) ).
fof(tsy_c_Hoare__Mirabelle__pjuwniqynr_Otriple_Otriple__rec_res,axiom,
! [X_b,X_a] : ti(fun(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a))),fun(hoare_509422987triple(X_b),X_a)),hoare_728318379le_rec(X_b,X_a)) = hoare_728318379le_rec(X_b,X_a) ).
fof(tsy_c_Orderings_Obot__class_Obot_res,axiom,
! [X_a] :
( bot(X_a)
=> ti(X_a,bot_bot(X_a)) = bot_bot(X_a) ) ).
fof(tsy_c_Set_OCollect_res,axiom,
! [X_a] : ti(fun(fun(X_a,bool),fun(X_a,bool)),collect(X_a)) = collect(X_a) ).
fof(tsy_c_Set_Oinsert_res,axiom,
! [X_a] : ti(fun(X_a,fun(fun(X_a,bool),fun(X_a,bool))),insert(X_a)) = insert(X_a) ).
fof(tsy_c_Set_Othe__elem_res,axiom,
! [X_a] : ti(fun(fun(X_a,bool),X_a),the_elem(X_a)) = the_elem(X_a) ).
fof(tsy_c_fFalse_res,axiom,
ti(bool,fFalse) = fFalse ).
fof(tsy_c_fNot_res,axiom,
ti(fun(bool,bool),fNot) = fNot ).
fof(tsy_c_fTrue_res,axiom,
ti(bool,fTrue) = fTrue ).
fof(tsy_c_fdisj_res,axiom,
ti(fun(bool,fun(bool,bool)),fdisj) = fdisj ).
fof(tsy_c_fequal_res,axiom,
! [X_a] : ti(fun(X_a,fun(X_a,bool)),fequal(X_a)) = fequal(X_a) ).
fof(tsy_c_fimplies_res,axiom,
ti(fun(bool,fun(bool,bool)),fimplies) = fimplies ).
fof(tsy_c_hAPP_arg1,axiom,
! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,ti(fun(X_a,X_c),B_1_1),B_2_1) = hAPP(X_a,X_c,B_1_1,B_2_1) ).
fof(tsy_c_hAPP_arg2,axiom,
! [X_a,X_c,B_1_1,B_2_1] : hAPP(X_a,X_c,B_1_1,ti(X_a,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1) ).
fof(tsy_c_hAPP_res,axiom,
! [X_c,X_a,B_1_1,B_2_1] : ti(X_c,hAPP(X_a,X_c,B_1_1,B_2_1)) = hAPP(X_a,X_c,B_1_1,B_2_1) ).
fof(tsy_c_hBOOL_arg1,hypothesis,
! [B_1_1] :
( hBOOL(ti(bool,B_1_1))
<=> hBOOL(B_1_1) ) ).
fof(tsy_c_member_res,axiom,
! [X_a] : ti(fun(X_a,fun(fun(X_a,bool),bool)),member(X_a)) = member(X_a) ).
fof(tsy_v_P_res,hypothesis,
ti(fun(state,fun(state,bool)),p) = p ).
fof(tsy_v_Q_res,hypothesis,
ti(fun(state,fun(state,bool)),q) = q ).
fof(tsy_v_c_res,hypothesis,
ti(com,c) = c ).
%----Relevant facts (100)
fof(fact_0_empty,axiom,
! [X_a,G_1] : hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),bot_bot(fun(hoare_509422987triple(X_a),bool)))) ).
fof(fact_1_triple_Oinject,axiom,
! [X_a,Fun1_1,Com_1,Fun2_1,Fun1_2,Com_2,Fun2_2] :
( hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Fun1_1),Com_1),Fun2_1) = hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Fun1_2),Com_2),Fun2_2)
<=> ( Fun1_1 = Fun1_2
& Com_1 = Com_2
& Fun2_1 = Fun2_2 ) ) ).
fof(fact_2_hoare__sound,axiom,
! [X_a,G_1,Ts] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),Ts))
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_1870528171valids(X_a),G_1),Ts)) ) ).
fof(fact_3_cut,axiom,
! [X_a,G_1,G_2,Ts] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_2),Ts))
=> ( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),G_2))
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),Ts)) ) ) ).
fof(fact_4_hoare__derivs_Oinsert,axiom,
! [X_a,Ts,G_1,T_3] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),T_3),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
=> ( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),Ts))
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),T_3),Ts))) ) ) ).
fof(fact_5_derivs__insertD,axiom,
! [X_a,G_1,T_3,Ts] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),T_3),Ts)))
=> ( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),T_3),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
& hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),Ts)) ) ) ).
fof(fact_6_conseq2,axiom,
! [X_a,Qa,G_1,Pa,Ca,Q_2] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),Ca),Q_2)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
=> ( ! [Z_1,S] :
( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Q_2,Z_1),S))
=> hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Qa,Z_1),S)) )
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).
fof(fact_7_conseq1,axiom,
! [X_a,Pa,G_1,P_2,Ca,Qa] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),P_2),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
=> ( ! [Z_1,S] :
( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Pa,Z_1),S))
=> hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),P_2,Z_1),S)) )
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).
fof(fact_8_insertE,axiom,
! [X_a,A_1,B_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),A_2)))
=> ( ti(X_a,A_1) != ti(X_a,B_1)
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ) ) ).
fof(fact_9_insertCI,axiom,
! [X_a,B_1,A_1,B] :
( ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),B))
=> ti(X_a,A_1) = ti(X_a,B_1) )
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),B))) ) ).
fof(fact_10_conseq12,axiom,
! [X_a,Qa,Pa,G_1,P_2,Ca,Q_2] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),P_2),Ca),Q_2)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
=> ( ! [Z_1,S] :
( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Pa,Z_1),S))
=> ! [S_1] :
( ! [Z_2] :
( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),P_2,Z_2),S))
=> hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Q_2,Z_2),S_1)) )
=> hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Qa,Z_1),S_1)) ) )
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).
fof(fact_11_emptyE,axiom,
! [X_a,A_1] : ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),bot_bot(fun(X_a,bool)))) ).
fof(fact_12_triple_Orecs,axiom,
! [X_b,X_a,F1,Fun1_1,Com_1,Fun2_1] : hAPP(hoare_509422987triple(X_b),X_a,hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a))),fun(hoare_509422987triple(X_b),X_a),hoare_728318379le_rec(X_b,X_a),F1),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Fun1_1),Com_1),Fun2_1)) = hAPP(fun(X_b,fun(state,bool)),X_a,hAPP(com,fun(fun(X_b,fun(state,bool)),X_a),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a)),F1,Fun1_1),Com_1),Fun2_1) ).
fof(fact_13_triple_Osimps_I2_J,axiom,
! [X_b,X_a,F1,Fun1_1,Com_1,Fun2_1] : hAPP(hoare_509422987triple(X_b),X_a,hAPP(fun(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a))),fun(hoare_509422987triple(X_b),X_a),hoare_885240885e_case(X_b,X_a),F1),hAPP(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b),hAPP(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b)),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),hoare_509422987triple(X_b))),hoare_1008221573triple(X_b),Fun1_1),Com_1),Fun2_1)) = hAPP(fun(X_b,fun(state,bool)),X_a,hAPP(com,fun(fun(X_b,fun(state,bool)),X_a),hAPP(fun(X_b,fun(state,bool)),fun(com,fun(fun(X_b,fun(state,bool)),X_a)),F1,Fun1_1),Com_1),Fun2_1) ).
fof(fact_14_empty__not__insert,axiom,
! [X_a,A_1,A_2] : bot_bot(fun(X_a,bool)) != hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) ).
fof(fact_15_insert__not__empty,axiom,
! [X_a,A_1,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) != bot_bot(fun(X_a,bool)) ).
fof(fact_16_singleton__iff,axiom,
! [X_a,B_1,A_1] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))))
<=> ti(X_a,B_1) = ti(X_a,A_1) ) ).
fof(fact_17_doubleton__eq__iff,axiom,
! [X_a,A_1,B_1,Ca,D] :
( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),bot_bot(fun(X_a,bool)))) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),D),bot_bot(fun(X_a,bool))))
<=> ( ( ti(X_a,A_1) = ti(X_a,Ca)
& ti(X_a,B_1) = ti(X_a,D) )
| ( ti(X_a,A_1) = ti(X_a,D)
& ti(X_a,B_1) = ti(X_a,Ca) ) ) ) ).
fof(fact_18_equals0D,axiom,
! [X_a,A_1,A_2] :
( ti(fun(X_a,bool),A_2) = bot_bot(fun(X_a,bool))
=> ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ) ).
fof(fact_19_Collect__empty__eq,axiom,
! [X_a,Pa] :
( hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa) = bot_bot(fun(X_a,bool))
<=> ! [X_2] : ~ hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ).
fof(fact_20_empty__iff,axiom,
! [X_a,Ca] : ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),bot_bot(fun(X_a,bool)))) ).
fof(fact_21_empty__Collect__eq,axiom,
! [X_a,Pa] :
( bot_bot(fun(X_a,bool)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa)
<=> ! [X_2] : ~ hBOOL(hAPP(X_a,bool,Pa,X_2)) ) ).
fof(fact_22_ex__in__conv,axiom,
! [X_a,A_2] :
( ? [X_2] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
<=> ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool)) ) ).
fof(fact_23_all__not__in__conv,axiom,
! [X_a,A_2] :
( ! [X_2] : ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_2))
<=> ti(fun(X_a,bool),A_2) = bot_bot(fun(X_a,bool)) ) ).
fof(fact_24_empty__def,axiom,
! [X_a] : bot_bot(fun(X_a,bool)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(bool,fun(X_a,bool),combk(bool,X_a),fFalse)) ).
fof(fact_25_insert__absorb,axiom,
! [X_a,A_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
=> hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) = ti(fun(X_a,bool),A_2) ) ).
fof(fact_26_insertI2,axiom,
! [X_a,B_1,A_1,B] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),B))
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),B))) ) ).
fof(fact_27_insert__ident,axiom,
! [X_a,B,X_1,A_2] :
( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B))
=> ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),B)
<=> ti(fun(X_a,bool),A_2) = ti(fun(X_a,bool),B) ) ) ) ).
fof(fact_28_insert__code,axiom,
! [X_a,Y_2,A_2,X_1] :
( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Y_2),A_2),X_1))
<=> ( ti(X_a,Y_2) = ti(X_a,X_1)
| hBOOL(hAPP(X_a,bool,A_2,X_1)) ) ) ).
fof(fact_29_insert__iff,axiom,
! [X_a,A_1,B_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),A_2)))
<=> ( ti(X_a,A_1) = ti(X_a,B_1)
| hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2)) ) ) ).
fof(fact_30_insert__commute,axiom,
! [X_a,X_1,Y_2,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Y_2),A_2)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Y_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)) ).
fof(fact_31_insert__absorb2,axiom,
! [X_a,X_1,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2) ).
fof(fact_32_insert__Collect,axiom,
! [X_a,A_1,Pa] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa)) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fimplies),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(bool,bool),fun(fun(X_a,bool),fun(X_a,bool)),combb(bool,bool,X_a),fNot),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),A_1)))),Pa)) ).
fof(fact_33_insert__compr,axiom,
! [X_a,A_1,B] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B) = hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,bool)),combs(X_a,bool,bool),hAPP(fun(X_a,bool),fun(X_a,fun(bool,bool)),hAPP(fun(bool,fun(bool,bool)),fun(fun(X_a,bool),fun(X_a,fun(bool,bool))),combb(bool,fun(bool,bool),X_a),fdisj),hAPP(X_a,fun(X_a,bool),hAPP(fun(X_a,fun(X_a,bool)),fun(X_a,fun(X_a,bool)),combc(X_a,X_a,bool),fequal(X_a)),A_1))),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(fun(X_a,bool),bool)),fun(fun(X_a,bool),fun(X_a,bool)),combc(X_a,fun(X_a,bool),bool),member(X_a)),B))) ).
fof(fact_34_insertI1,axiom,
! [X_a,A_1,B] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B))) ).
fof(fact_35_singleton__inject,axiom,
! [X_a,A_1,B_1] :
( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),B_1),bot_bot(fun(X_a,bool)))
=> ti(X_a,A_1) = ti(X_a,B_1) ) ).
fof(fact_36_singletonE,axiom,
! [X_a,B_1,A_1] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),B_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))))
=> ti(X_a,B_1) = ti(X_a,A_1) ) ).
fof(fact_37_the__elem__eq,axiom,
! [X_a,X_1] : hAPP(fun(X_a,bool),X_a,the_elem(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) = ti(X_a,X_1) ).
fof(fact_38_bot__apply,axiom,
! [X_b,X_a] :
( bot(X_a)
=> ! [X_1] : hAPP(X_b,X_a,bot_bot(fun(X_b,X_a)),X_1) = bot_bot(X_a) ) ).
fof(fact_39_bot__fun__def,axiom,
! [X_a,X_b] :
( bot(X_b)
=> ! [X_2] : hAPP(X_a,X_b,bot_bot(fun(X_a,X_b)),X_2) = bot_bot(X_b) ) ).
fof(fact_40_hoare__derivs_OSkip,axiom,
! [X_a,G_1,Pa] : hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),skip),Pa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ).
fof(fact_41_Comp,axiom,
! [X_a,D,R_1,G_1,Pa,Ca,Qa] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
=> ( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Qa),D),R_1)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),hAPP(com,com,hAPP(com,fun(com,com),semi,Ca),D)),R_1)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ) ).
fof(fact_42_triple_Oexhaust,axiom,
! [X_a,Y_2] :
~ ! [Fun1,Com,Fun2] : Y_2 != hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Fun1),Com),Fun2) ).
fof(fact_43_Set_Oset__insert,axiom,
! [X_a,X_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
=> ~ ! [B_2] :
( ti(fun(X_a,bool),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),B_2)
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),B_2)) ) ) ).
fof(fact_44_mk__disjoint__insert,axiom,
! [X_a,A_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
=> ? [B_2] :
( ti(fun(X_a,bool),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B_2)
& ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),B_2)) ) ) ).
fof(fact_45_com_Osimps_I13_J,axiom,
! [Com1_2,Com2_2] : hAPP(com,com,hAPP(com,fun(com,com),semi,Com1_2),Com2_2) != skip ).
fof(fact_46_com_Osimps_I12_J,axiom,
! [Com1_2,Com2_2] : skip != hAPP(com,com,hAPP(com,fun(com,com),semi,Com1_2),Com2_2) ).
fof(fact_47_equals0I,axiom,
! [X_a,A_2] :
( ! [Y_1] : ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Y_1),A_2))
=> ti(fun(X_a,bool),A_2) = bot_bot(fun(X_a,bool)) ) ).
fof(fact_48_conseq,axiom,
! [X_a,Qa,G_1,Ca,Pa] :
( ! [Z_1,S] :
( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Pa,Z_1),S))
=> ? [P_1,Q_1] :
( hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),P_1),Ca),Q_1)),bot_bot(fun(hoare_509422987triple(X_a),bool)))))
& ! [S_1] :
( ! [Z_2] :
( hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),P_1,Z_2),S))
=> hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Q_1,Z_2),S_1)) )
=> hBOOL(hAPP(state,bool,hAPP(X_a,fun(state,bool),Qa,Z_1),S_1)) ) ) )
=> hBOOL(hAPP(fun(hoare_509422987triple(X_a),bool),bool,hAPP(fun(hoare_509422987triple(X_a),bool),fun(fun(hoare_509422987triple(X_a),bool),bool),hoare_122391849derivs(X_a),G_1),hAPP(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool),hAPP(hoare_509422987triple(X_a),fun(fun(hoare_509422987triple(X_a),bool),fun(hoare_509422987triple(X_a),bool)),insert(hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a),hAPP(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a)),hAPP(fun(X_a,fun(state,bool)),fun(com,fun(fun(X_a,fun(state,bool)),hoare_509422987triple(X_a))),hoare_1008221573triple(X_a),Pa),Ca),Qa)),bot_bot(fun(hoare_509422987triple(X_a),bool))))) ) ).
fof(fact_49_com_Osimps_I3_J,axiom,
! [Com1,Com2,Com1_1,Com2_1] :
( hAPP(com,com,hAPP(com,fun(com,com),semi,Com1),Com2) = hAPP(com,com,hAPP(com,fun(com,com),semi,Com1_1),Com2_1)
<=> ( Com1 = Com1_1
& Com2 = Com2_1 ) ) ).
fof(fact_50_nonempty__iff,axiom,
! [X_a,A_2] :
( ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool))
<=> ? [X_2,B_2] :
( ti(fun(X_a,bool),A_2) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),B_2)
& ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),B_2)) ) ) ).
fof(fact_51_bot__empty__eq,axiom,
! [X_a,X_2] :
( hBOOL(hAPP(X_a,bool,bot_bot(fun(X_a,bool)),X_2))
<=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),bot_bot(fun(X_a,bool)))) ) ).
fof(fact_52_com_Osimps_I64_J,axiom,
! [X_a,F1,F2,F3,F4,F5,F6,F7,F8] : hAPP(com,X_a,hAPP(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a),hAPP(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)),hAPP(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))),hAPP(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))),hAPP(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))),hAPP(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))),hAPP(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))))),hAPP(X_a,fun(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))))),com_case(X_a),F1),F2),F3),F4),F5),F6),F7),F8),skip) = ti(X_a,F1) ).
fof(fact_53_com_Osimps_I67_J,axiom,
! [X_a,F1,F2,F3,F4,F5,F6,F7,F8,Com1,Com2] : hAPP(com,X_a,hAPP(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a),hAPP(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)),hAPP(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))),hAPP(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))),hAPP(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))),hAPP(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))),hAPP(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a))))))),hAPP(X_a,fun(fun(vname,fun(fun(state,nat),X_a)),fun(fun(loc,fun(fun(state,nat),fun(com,X_a))),fun(fun(com,fun(com,X_a)),fun(fun(fun(state,bool),fun(com,fun(com,X_a))),fun(fun(fun(state,bool),fun(com,X_a)),fun(fun(pname,X_a),fun(fun(vname,fun(pname,fun(fun(state,nat),X_a))),fun(com,X_a)))))))),com_case(X_a),F1),F2),F3),F4),F5),F6),F7),F8),hAPP(com,com,hAPP(com,fun(com,com),semi,Com1),Com2)) = hAPP(com,X_a,hAPP(com,fun(com,X_a),F4,Com1),Com2) ).
fof(fact_54_fold1Set__sing,axiom,
! [X_a,F_1,A_1,B_1] :
( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))),B_1))
<=> ti(X_a,A_1) = ti(X_a,B_1) ) ).
fof(fact_55_folding__one_Osingleton,axiom,
! [X_a,X_1,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite_folding_one(X_a),F_1),F))
=> hAPP(fun(X_a,bool),X_a,F,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) = ti(X_a,X_1) ) ).
fof(fact_56_fold1__singleton,axiom,
! [X_a,F_1,A_1] : hAPP(fun(X_a,bool),X_a,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))) = ti(X_a,A_1) ).
fof(fact_57_fold1__singleton__def,axiom,
! [X_a,A_1,G,F_1] :
( G = hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1)
=> hAPP(fun(X_a,bool),X_a,G,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))) = ti(X_a,A_1) ) ).
fof(fact_58_empty__fold1SetE,axiom,
! [X_a,F_1,X_1] : ~ hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),bot_bot(fun(X_a,bool))),X_1)) ).
fof(fact_59_fold1Set__nonempty,axiom,
! [X_a,F_1,A_2,X_1] :
( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),A_2),X_1))
=> ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool)) ) ).
fof(fact_60_fold1Set_Ointros,axiom,
! [X_a,F_1,A_1,A_2,X_1] :
( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_a,bool),fun(X_a,bool))),finite_fold_graph(X_a,X_a),F_1),A_1),A_2),X_1))
=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
=> hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2)),X_1)) ) ) ).
fof(fact_61_folding__one_Oinsert,axiom,
! [X_a,X_1,A_2,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite_folding_one(X_a),F_1),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
=> ( ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool))
=> hAPP(fun(X_a,bool),X_a,F,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),hAPP(fun(X_a,bool),X_a,F,A_2)) ) ) ) ) ).
fof(fact_62_folding__one_Oeq__fold,axiom,
! [X_a,A_2,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite_folding_one(X_a),F_1),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> hAPP(fun(X_a,bool),X_a,F,A_2) = hAPP(fun(X_a,bool),X_a,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1),A_2) ) ) ).
fof(fact_63_finite_OemptyI,axiom,
! [X_a] : hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),bot_bot(fun(X_a,bool)))) ).
fof(fact_64_finite_OinsertI,axiom,
! [X_a,A_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2))) ) ).
fof(fact_65_fold__graph_OemptyI,axiom,
! [X_b,X_a,F_1,Z] : hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),bot_bot(fun(X_a,bool))),Z)) ).
fof(fact_66_empty__fold__graphE,axiom,
! [X_b,X_a,F_1,Z,X_1] :
( hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),bot_bot(fun(X_a,bool))),X_1))
=> ti(X_b,X_1) = ti(X_b,Z) ) ).
fof(fact_67_fold__graph_OinsertI,axiom,
! [X_b,X_a,F_1,Z,Y_2,X_1,A_2] :
( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
=> ( hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),A_2),Y_2))
=> hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)),hAPP(X_b,X_b,hAPP(X_a,fun(X_b,X_b),F_1,X_1),Y_2))) ) ) ).
fof(fact_68_finite,axiom,
! [X_a] :
( finite_finite(X_a)
=> ! [A_2] : hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2)) ) ).
fof(fact_69_finite__code,axiom,
! [X_a] :
( finite_finite(X_a)
=> ! [A_2] : hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2)) ) ).
fof(fact_70_finite__insert,axiom,
! [X_a,A_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2)))
<=> hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2)) ) ).
fof(fact_71_folding__one_Oclosed,axiom,
! [X_a,A_2,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite_folding_one(X_a),F_1),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> ( ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool))
=> ( ! [X_2,Y_1] : hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_2),Y_1)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),Y_1),bot_bot(fun(X_a,bool))))))
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),hAPP(fun(X_a,bool),X_a,F,A_2)),A_2)) ) ) ) ) ).
fof(fact_72_insert__fold1SetE,axiom,
! [X_a,F_1,A_1,X_3,X_1] :
( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),X_3)),X_1))
=> ~ ! [A_4,A_3] :
( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),X_3) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_4),A_3)
=> ( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_a,bool),fun(X_a,bool))),finite_fold_graph(X_a,X_a),F_1),A_4),A_3),X_1))
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_4),A_3)) ) ) ) ).
fof(fact_73_finite__nonempty__imp__fold1Set,axiom,
! [X_a,F_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> ( ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool))
=> ? [X1] : hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),A_2),X1)) ) ) ).
fof(fact_74_finite__induct,axiom,
! [X_a,Pa,F] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,Pa,bot_bot(fun(X_a,bool))))
=> ( ! [X_2,F_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),F_2))
=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),F_2))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,Pa,F_2))
=> hBOOL(hAPP(fun(X_a,bool),bool,Pa,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),F_2))) ) ) )
=> hBOOL(hAPP(fun(X_a,bool),bool,Pa,F)) ) ) ) ).
fof(fact_75_ext,axiom,
! [X_a,X_b,F_1,G] :
( ! [X_2] : hAPP(X_a,X_b,F_1,X_2) = hAPP(X_a,X_b,G,X_2)
=> ti(fun(X_a,X_b),F_1) = ti(fun(X_a,X_b),G) ) ).
fof(fact_76_mem__def,axiom,
! [X_a,X_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
<=> hBOOL(hAPP(X_a,bool,A_2,X_1)) ) ).
fof(fact_77_Collect__def,axiom,
! [X_a,Pa] : hAPP(fun(X_a,bool),fun(X_a,bool),collect(X_a),Pa) = ti(fun(X_a,bool),Pa) ).
fof(fact_78_finite_Osimps,axiom,
! [X_a,A_1] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_1))
<=> ( ti(fun(X_a,bool),A_1) = bot_bot(fun(X_a,bool))
| ? [A_3,A_4] :
( ti(fun(X_a,bool),A_1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_4),A_3)
& hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_3)) ) ) ) ).
fof(fact_79_finite__imp__fold__graph,axiom,
! [X_b,X_a,F_1,Z,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> ? [X1] : hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),A_2),X1)) ) ).
fof(fact_80_fold1Set_Osimps,axiom,
! [X_a,F_1,A1,A2] :
( hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),fun(X_a,bool)),finite_fold1Set(X_a),F_1),A1),A2))
<=> ? [A_4,A_3,X_2] :
( ti(fun(X_a,bool),A1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_4),A_3)
& ti(X_a,A2) = ti(X_a,X_2)
& hBOOL(hAPP(X_a,bool,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_a,bool),fun(X_a,bool))),finite_fold_graph(X_a,X_a),F_1),A_4),A_3),X_2))
& ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_4),A_3)) ) ) ).
fof(fact_81_fold__graph_Osimps,axiom,
! [X_b,X_a,F_1,Z,A1,A2] :
( hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),A1),A2))
<=> ( ( ti(fun(X_a,bool),A1) = bot_bot(fun(X_a,bool))
& ti(X_b,A2) = ti(X_b,Z) )
| ? [X_2,A_3,Y_1] :
( ti(fun(X_a,bool),A1) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),A_3)
& ti(X_b,A2) = hAPP(X_b,X_b,hAPP(X_a,fun(X_b,X_b),F_1,X_2),Y_1)
& ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),A_3))
& hBOOL(hAPP(X_b,bool,hAPP(fun(X_a,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_a,bool),fun(X_b,bool)),hAPP(fun(X_a,fun(X_b,X_b)),fun(X_b,fun(fun(X_a,bool),fun(X_b,bool))),finite_fold_graph(X_a,X_b),F_1),Z),A_3),Y_1)) ) ) ) ).
fof(fact_82_folding__one__idem_Oinsert__idem,axiom,
! [X_a,X_1,A_2,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite2073411215e_idem(X_a),F_1),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> ( ti(fun(X_a,bool),A_2) != bot_bot(fun(X_a,bool))
=> hAPP(fun(X_a,bool),X_a,F,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),hAPP(fun(X_a,bool),X_a,F,A_2)) ) ) ) ).
fof(fact_83_folding__one__idem_Oidem,axiom,
! [X_a,X_1,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite2073411215e_idem(X_a),F_1),F))
=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),X_1) = ti(X_a,X_1) ) ).
fof(fact_84_folding__one__idem_Oin__idem,axiom,
! [X_a,X_1,A_2,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite2073411215e_idem(X_a),F_1),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),hAPP(fun(X_a,bool),X_a,F,A_2)) = hAPP(fun(X_a,bool),X_a,F,A_2) ) ) ) ).
fof(fact_85_finite__ne__induct,axiom,
! [X_a,Pa,F] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),F))
=> ( ti(fun(X_a,bool),F) != bot_bot(fun(X_a,bool))
=> ( ! [X_2] : hBOOL(hAPP(fun(X_a,bool),bool,Pa,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),bot_bot(fun(X_a,bool)))))
=> ( ! [X_2,F_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),F_2))
=> ( ti(fun(X_a,bool),F_2) != bot_bot(fun(X_a,bool))
=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_2),F_2))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,Pa,F_2))
=> hBOOL(hAPP(fun(X_a,bool),bool,Pa,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_2),F_2))) ) ) ) )
=> hBOOL(hAPP(fun(X_a,bool),bool,Pa,F)) ) ) ) ) ).
fof(fact_86_folding__image__simple__idem_Oinsert__idem,axiom,
! [X_b,X_a,X_1,A_2,F_1,Z,G,F] :
( hBOOL(hAPP(fun(fun(X_b,bool),X_a),bool,hAPP(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool),hAPP(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool))),finite908156982e_idem(X_a,X_b),F_1),Z),G),F))
=> ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_2))
=> hAPP(fun(X_b,bool),X_a,F,hAPP(fun(X_b,bool),fun(X_b,bool),hAPP(X_b,fun(fun(X_b,bool),fun(X_b,bool)),insert(X_b),X_1),A_2)) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,hAPP(X_b,X_a,G,X_1)),hAPP(fun(X_b,bool),X_a,F,A_2)) ) ) ).
fof(fact_87_folding__image__simple__idem_Oidem,axiom,
! [X_b,X_a,X_1,F_1,Z,G,F] :
( hBOOL(hAPP(fun(fun(X_b,bool),X_a),bool,hAPP(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool),hAPP(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool))),finite908156982e_idem(X_a,X_b),F_1),Z),G),F))
=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),X_1) = ti(X_a,X_1) ) ).
fof(fact_88_folding__image__simple__idem_Oin__idem,axiom,
! [X_b,X_a,X_1,A_2,F_1,Z,G,F] :
( hBOOL(hAPP(fun(fun(X_b,bool),X_a),bool,hAPP(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool),hAPP(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool)),hAPP(fun(X_a,fun(X_a,X_a)),fun(X_a,fun(fun(X_b,X_a),fun(fun(fun(X_b,bool),X_a),bool))),finite908156982e_idem(X_a,X_b),F_1),Z),G),F))
=> ( hBOOL(hAPP(fun(X_b,bool),bool,finite_finite_1(X_b),A_2))
=> ( hBOOL(hAPP(fun(X_b,bool),bool,hAPP(X_b,fun(fun(X_b,bool),bool),member(X_b),X_1),A_2))
=> hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,hAPP(X_b,X_a,G,X_1)),hAPP(fun(X_b,bool),X_a,F,A_2)) = hAPP(fun(X_b,bool),X_a,F,A_2) ) ) ) ).
fof(fact_89_semilattice__big_OF__eq,axiom,
! [X_a,A_2,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),big_semilattice_big(X_a),F_1),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> hAPP(fun(X_a,bool),X_a,F,A_2) = hAPP(fun(X_a,bool),X_a,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(X_a,bool),X_a),finite_fold1(X_a),F_1),A_2) ) ) ).
fof(fact_90_folding__one_Oremove,axiom,
! [X_a,X_1,A_2,F_1,F] :
( hBOOL(hAPP(fun(fun(X_a,bool),X_a),bool,hAPP(fun(X_a,fun(X_a,X_a)),fun(fun(fun(X_a,bool),X_a),bool),finite_folding_one(X_a),F_1),F))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
=> ( ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) = bot_bot(fun(X_a,bool))
=> hAPP(fun(X_a,bool),X_a,F,A_2) = ti(X_a,X_1) )
& ( hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) != bot_bot(fun(X_a,bool))
=> hAPP(fun(X_a,bool),X_a,F,A_2) = hAPP(X_a,X_a,hAPP(X_a,fun(X_a,X_a),F_1,X_1),hAPP(fun(X_a,bool),X_a,F,hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))))) ) ) ) ) ) ).
fof(fact_91_DiffI,axiom,
! [X_a,B,Ca,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
=> ( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B))
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B))) ) ) ).
fof(fact_92_DiffE,axiom,
! [X_a,Ca,A_2,B] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B)))
=> ~ ( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),A_2))
=> hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),Ca),B)) ) ) ).
fof(fact_93_finite__Diff,axiom,
! [X_a,B,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),A_2))
=> hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B))) ) ).
fof(fact_94_insert__Diff,axiom,
! [X_a,A_1,A_2] :
( hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),A_1),A_2))
=> hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))))) = ti(fun(X_a,bool),A_2) ) ).
fof(fact_95_Diff__insert__absorb,axiom,
! [X_a,X_1,A_2] :
( ~ hBOOL(hAPP(fun(X_a,bool),bool,hAPP(X_a,fun(fun(X_a,bool),bool),member(X_a),X_1),A_2))
=> hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),A_2)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),X_1),bot_bot(fun(X_a,bool)))) = ti(fun(X_a,bool),A_2) ) ).
fof(fact_96_insert__Diff__single,axiom,
! [X_a,A_1,A_2] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))))) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),A_2) ).
fof(fact_97_Diff__insert2,axiom,
! [X_a,A_2,A_1,B] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool))))),B) ).
fof(fact_98_Diff__insert,axiom,
! [X_a,A_2,A_1,B] : hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B)) = hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B)),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),bot_bot(fun(X_a,bool)))) ).
fof(fact_99_finite__Diff__insert,axiom,
! [X_a,A_2,A_1,B] :
( hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(X_a,fun(fun(X_a,bool),fun(X_a,bool)),insert(X_a),A_1),B))))
<=> hBOOL(hAPP(fun(X_a,bool),bool,finite_finite_1(X_a),hAPP(fun(X_a,bool),fun(X_a,bool),hAPP(fun(X_a,bool),fun(fun(X_a,bool),fun(X_a,bool)),minus_minus(fun(X_a,bool)),A_2),B))) ) ).
%----Arities (4)
fof(arity_fun___Finite__Set_Ofinite,axiom,
! [T_2,T_1] :
( ( finite_finite(T_1)
& finite_finite(T_2) )
=> finite_finite(fun(T_2,T_1)) ) ).
fof(arity_fun___Orderings_Obot,axiom,
! [T_2,T_1] :
( bot(T_1)
=> bot(fun(T_2,T_1)) ) ).
fof(arity_HOL_Obool___Finite__Set_Ofinite,axiom,
finite_finite(bool) ).
fof(arity_HOL_Obool___Orderings_Obot,axiom,
bot(bool) ).
%----Helper facts (17)
fof(help_ti_idem,axiom,
! [T,A] : ti(T,ti(T,A)) = ti(T,A) ).
fof(help_fNot_1_1_U,axiom,
! [P] :
( ~ hBOOL(hAPP(bool,bool,fNot,P))
| ~ hBOOL(P) ) ).
fof(help_fNot_2_1_U,axiom,
! [P] :
( hBOOL(P)
| hBOOL(hAPP(bool,bool,fNot,P)) ) ).
fof(help_COMBB_1_1_U,axiom,
! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_b,X_c),fun(fun(X_a,X_b),fun(X_a,X_c)),combb(X_b,X_c,X_a),P),Q),R) = hAPP(X_b,X_c,P,hAPP(X_a,X_b,Q,R)) ).
fof(help_COMBC_1_1_U,axiom,
! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(X_b,fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(X_b,fun(X_a,X_c)),combc(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),Q) ).
fof(help_COMBK_1_1_U,axiom,
! [X_b,X_a,P,Q] : hAPP(X_b,X_a,hAPP(X_a,fun(X_b,X_a),combk(X_a,X_b),P),Q) = ti(X_a,P) ).
fof(help_COMBS_1_1_U,axiom,
! [X_a,X_c,X_b,P,Q,R] : hAPP(X_a,X_c,hAPP(fun(X_a,X_b),fun(X_a,X_c),hAPP(fun(X_a,fun(X_b,X_c)),fun(fun(X_a,X_b),fun(X_a,X_c)),combs(X_a,X_b,X_c),P),Q),R) = hAPP(X_b,X_c,hAPP(X_a,fun(X_b,X_c),P,R),hAPP(X_a,X_b,Q,R)) ).
fof(help_fdisj_1_1_U,axiom,
! [Q,P] :
( ~ hBOOL(P)
| hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ) ).
fof(help_fdisj_2_1_U,axiom,
! [P,Q] :
( ~ hBOOL(Q)
| hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q)) ) ).
fof(help_fdisj_3_1_U,axiom,
! [P,Q] :
( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fdisj,P),Q))
| hBOOL(P)
| hBOOL(Q) ) ).
fof(help_fFalse_1_1_U,axiom,
~ hBOOL(fFalse) ).
fof(help_fFalse_1_1_T,axiom,
! [P] :
( ti(bool,P) = fTrue
| ti(bool,P) = fFalse ) ).
fof(help_fequal_1_1_T,axiom,
! [X_a,X,Y] :
( ~ hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y))
| ti(X_a,X) = ti(X_a,Y) ) ).
fof(help_fequal_2_1_T,axiom,
! [X_a,X,Y] :
( ti(X_a,X) != ti(X_a,Y)
| hBOOL(hAPP(X_a,bool,hAPP(X_a,fun(X_a,bool),fequal(X_a),X),Y)) ) ).
fof(help_fimplies_1_1_U,axiom,
! [Q,P] :
( hBOOL(P)
| hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fimplies,P),Q)) ) ).
fof(help_fimplies_2_1_U,axiom,
! [P,Q] :
( ~ hBOOL(Q)
| hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fimplies,P),Q)) ) ).
fof(help_fimplies_3_1_U,axiom,
! [P,Q] :
( ~ hBOOL(hAPP(bool,bool,hAPP(bool,fun(bool,bool),fimplies,P),Q))
| ~ hBOOL(P)
| hBOOL(Q) ) ).
%----Conjectures (3)
fof(conj_0,hypothesis,
hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),bot_bot(fun(hoare_509422987triple(state),bool))),hAPP(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool),hAPP(hoare_509422987triple(state),fun(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool)),insert(hoare_509422987triple(state)),hAPP(com,hoare_509422987triple(state),hoare_Mirabelle_MGT,c)),bot_bot(fun(hoare_509422987triple(state),bool))))) ).
fof(conj_1,hypothesis,
hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_1870528171valids(state),bot_bot(fun(hoare_509422987triple(state),bool))),hAPP(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool),hAPP(hoare_509422987triple(state),fun(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool)),insert(hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),hoare_509422987triple(state),hAPP(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),fun(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state))),hoare_1008221573triple(state),p),c),q)),bot_bot(fun(hoare_509422987triple(state),bool))))) ).
fof(conj_2,conjecture,
hBOOL(hAPP(fun(hoare_509422987triple(state),bool),bool,hAPP(fun(hoare_509422987triple(state),bool),fun(fun(hoare_509422987triple(state),bool),bool),hoare_122391849derivs(state),bot_bot(fun(hoare_509422987triple(state),bool))),hAPP(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool),hAPP(hoare_509422987triple(state),fun(fun(hoare_509422987triple(state),bool),fun(hoare_509422987triple(state),bool)),insert(hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),hoare_509422987triple(state),hAPP(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state)),hAPP(fun(state,fun(state,bool)),fun(com,fun(fun(state,fun(state,bool)),hoare_509422987triple(state))),hoare_1008221573triple(state),p),c),q)),bot_bot(fun(hoare_509422987triple(state),bool))))) ).
%------------------------------------------------------------------------------