%   ORIGINAL: h4/bool/OR__ELIM__THM
% 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/OR__DEF: $or = (\t1 t2. !t. (t1 ==> t) ==> (t2 ==> t) ==> t)
% Goal: !t2 t1 t. t1 \/ t2 ==> (t1 ==> t) ==> (t2 ==> t) ==> t
%   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_ORu_u_DEF]: !x x'. $or x x' <=> (!t. (x ==> t) ==> (x' ==> t) ==> t)
% Goal: !t2 t1 t. t1 \/ t2 ==> (t1 ==> t) ==> (t2 ==> t) ==> t
fof(aHLu_TRUTH, axiom, p(s(t_bool,t0))).
fof(aHLu_FALSITY, axiom, ~ (p(s(t_bool,f)))).
fof(aHLu_BOOLu_CASES, axiom, ![V_t]: (s(t_bool,V_t) = s(t_bool,t0) | s(t_bool,V_t) = s(t_bool,f))).
fof(aHLu_EXT, axiom, ![TV_Q290514,TV_Q290510]: ![V_f, V_g]: (![V_x]: s(TV_Q290510,happ(s(t_fun(TV_Q290514,TV_Q290510),V_f),s(TV_Q290514,V_x))) = s(TV_Q290510,happ(s(t_fun(TV_Q290514,TV_Q290510),V_g),s(TV_Q290514,V_x))) => s(t_fun(TV_Q290514,TV_Q290510),V_f) = s(t_fun(TV_Q290514,TV_Q290510),V_g))).
fof(ah4s_bools_ORu_u_DEF, axiom, ![V_x, V_xi_]: (p(s(t_bool,d_or(s(t_bool,V_x),s(t_bool,V_xi_)))) <=> ![V_t]: ((p(s(t_bool,V_x)) => p(s(t_bool,V_t))) => ((p(s(t_bool,V_xi_)) => p(s(t_bool,V_t))) => p(s(t_bool,V_t)))))).
fof(ch4s_bools_ORu_u_ELIMu_u_THM, conjecture, ![V_t2, V_t1, V_t]: ((p(s(t_bool,V_t1)) | p(s(t_bool,V_t2))) => ((p(s(t_bool,V_t1)) => p(s(t_bool,V_t))) => ((p(s(t_bool,V_t2)) => p(s(t_bool,V_t))) => p(s(t_bool,V_t)))))).
