%   ORIGINAL: h4/pair/ELIM__PEXISTS__EVAL
% Assm: HL_TRUTH: T
% Assm: HL_FALSITY: ~F
% Assm: HL_BOOL_CASES: !t. (t <=> T) \/ (t <=> F)
% Assm: HL_EXT: !f g. (!x. f x = g x) ==> f = g
% Assm: h4/bool/TRUTH: T
% Assm: h4/bool/ETA__THM: !M. (\x. M x) = M
% Assm: h4/bool/FORALL__SIMP: !t. (!x. t) <=> t
% Assm: h4/bool/REFL__CLAUSE: !x. x = x <=> T
% Assm: h4/pair/PEXISTS__THM: !P. (?x y. P x y) <=> $exists (h4/pair/UNCURRY (\x y. P x y))
% Goal: !P. $exists (h4/pair/UNCURRY (\x. P x)) <=> (?x. $exists (P x))
%   PROCESSED
% Assm [HLu_TRUTH]: T
% Assm [HLu_FALSITY]: ~F
% Assm [HLu_BOOLu_CASES]: !t. (t <=> T) \/ (t <=> F)
% Assm [HLu_EXT]: !f g. (!x. happ f x = happ g x) ==> f = g
% Assm [h4s_bools_TRUTH]: T
% Assm [h4s_bools_ETAu_u_THM]: !M x. happ M x = happ M x
% Assm [h4s_bools_FORALLu_u_SIMP]: !t. (!x. t) <=> t
% Assm [h4s_bools_REFLu_u_CLAUSE]: !x. x = x <=> T
% Assm [h4s_pairs_PEXISTSu_u_THM]: !_1. (!P x y. happ (happ (happ _1 P) x) y <=> happ (happ P x) y) ==> (!_0. (!P x. happ (happ _0 P) x = happ (happ _1 P) x) ==> (!P. (?x y. happ (happ P x) y) <=> $exists (h4/pair/UNCURRY (happ _0 P))))
% Goal: !_0. (!P x. happ (happ _0 P) x = happ P x) ==> (!P. $exists (h4/pair/UNCURRY (happ _0 P)) <=> (?x. $exists (happ P x)))
fof(aHLu_TRUTH, axiom, p(s(t_bool,t))).
fof(aHLu_FALSITY, axiom, ~ (p(s(t_bool,f)))).
fof(aHLu_BOOLu_CASES, axiom, ![V_t]: (s(t_bool,V_t) = s(t_bool,t) | s(t_bool,V_t) = s(t_bool,f))).
fof(aHLu_EXT, axiom, ![TV_Q284423,TV_Q284419]: ![V_f, V_g]: (![V_x]: s(TV_Q284419,happ(s(t_fun(TV_Q284423,TV_Q284419),V_f),s(TV_Q284423,V_x))) = s(TV_Q284419,happ(s(t_fun(TV_Q284423,TV_Q284419),V_g),s(TV_Q284423,V_x))) => s(t_fun(TV_Q284423,TV_Q284419),V_f) = s(t_fun(TV_Q284423,TV_Q284419),V_g))).
fof(ah4s_bools_TRUTH, axiom, p(s(t_bool,t))).
fof(ah4s_bools_ETAu_u_THM, axiom, ![TV_u_27b,TV_u_27a]: ![V_M, V_x]: s(TV_u_27b,happ(s(t_fun(TV_u_27a,TV_u_27b),V_M),s(TV_u_27a,V_x))) = s(TV_u_27b,happ(s(t_fun(TV_u_27a,TV_u_27b),V_M),s(TV_u_27a,V_x)))).
fof(ah4s_bools_FORALLu_u_SIMP, axiom, ![TV_u_27a]: ![V_t]: (![V_x]: p(s(t_bool,V_t)) <=> p(s(t_bool,V_t)))).
fof(ah4s_bools_REFLu_u_CLAUSE, axiom, ![TV_u_27a]: ![V_x]: (s(TV_u_27a,V_x) = s(TV_u_27a,V_x) <=> p(s(t_bool,t)))).
fof(ah4s_pairs_PEXISTSu_u_THM, axiom, ![TV_u_27a,TV_u_27b]: ![V_uu_1]: (![V_P, V_x, V_y]: s(t_bool,happ(s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),happ(s(t_fun(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool))),V_uu_1),s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P))),s(TV_u_27a,V_x))),s(TV_u_27b,V_y))) = s(t_bool,happ(s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P),s(TV_u_27a,V_x))),s(TV_u_27b,V_y))) => ![V_uu_0]: (![V_P, V_x]: s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),happ(s(t_fun(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool))),V_uu_0),s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P))),s(TV_u_27a,V_x))) = s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),happ(s(t_fun(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool))),V_uu_1),s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P))),s(TV_u_27a,V_x))) => ![V_P]: (?[V_x, V_y]: p(s(t_bool,happ(s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P),s(TV_u_27a,V_x))),s(TV_u_27b,V_y)))) <=> p(s(t_bool,d_exists(s(t_fun(t_h4s_pairs_prod(TV_u_27a,TV_u_27b),t_bool),h4s_pairs_uncurry(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),happ(s(t_fun(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool))),V_uu_0),s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P)))))))))))).
fof(ch4s_pairs_ELIMu_u_PEXISTSu_u_EVAL, conjecture, ![TV_u_27b,TV_u_27a]: ![V_uu_0]: (![V_P, V_x]: s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),happ(s(t_fun(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool))),V_uu_0),s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P))),s(TV_u_27a,V_x))) = s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P),s(TV_u_27a,V_x))) => ![V_P]: (p(s(t_bool,d_exists(s(t_fun(t_h4s_pairs_prod(TV_u_27a,TV_u_27b),t_bool),h4s_pairs_uncurry(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),happ(s(t_fun(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool))),V_uu_0),s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P)))))))) <=> ?[V_x]: p(s(t_bool,d_exists(s(t_fun(TV_u_27b,t_bool),happ(s(t_fun(TV_u_27a,t_fun(TV_u_27b,t_bool)),V_P),s(TV_u_27a,V_x))))))))).
