%   ORIGINAL: h4/fcp/bit1__induction
% 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/IMP__ANTISYM__AX: !t2 t1. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 <=> t2)
% Assm: h4/fcp/bit1__repfns_c0: !a. h4/fcp/_20_40ind__typefcp7 (h4/fcp/_20_40ind__typefcp8 a) = a
% Assm: h4/fcp/bit1__repfns_c1: !r. (\a0. !_27bit1_27. (!a00. (?a. a00 = (\a1. h4/ind__type/CONSTR h4/num/0 a1 (\n. h4/ind__type/BOTTOM)) a) \/ (?a. a00 = (\a1. h4/ind__type/CONSTR (h4/num/SUC h4/num/0) a1 (\n. h4/ind__type/BOTTOM)) a) \/ a00 = h4/ind__type/CONSTR (h4/num/SUC (h4/num/SUC h4/num/0)) h4/bool/ARB (\n. h4/ind__type/BOTTOM) ==> _27bit1_27 a00) ==> _27bit1_27 a0) r <=> h4/fcp/_20_40ind__typefcp8 (h4/fcp/_20_40ind__typefcp7 r) = r
% Assm: h4/fcp/hidden____20__40ind____typefcp4____def: h4/fcp/_20_40ind__typefcp4 = (\a. h4/fcp/_20_40ind__typefcp7 ((\a0. h4/ind__type/CONSTR h4/num/0 a0 (\n. h4/ind__type/BOTTOM)) a))
% Assm: h4/fcp/hidden____20__40ind____typefcp5____def: h4/fcp/_20_40ind__typefcp5 = (\a. h4/fcp/_20_40ind__typefcp7 ((\a0. h4/ind__type/CONSTR (h4/num/SUC h4/num/0) a0 (\n. h4/ind__type/BOTTOM)) a))
% Assm: h4/fcp/hidden____20__40ind____typefcp6____def: h4/fcp/_20_40ind__typefcp6 = h4/fcp/_20_40ind__typefcp7 (h4/ind__type/CONSTR (h4/num/SUC (h4/num/SUC h4/num/0)) h4/bool/ARB (\n. h4/ind__type/BOTTOM))
% Assm: h4/fcp/BIT1A0: h4/fcp/BIT1A = h4/fcp/_20_40ind__typefcp4
% Assm: h4/fcp/BIT1B0: h4/fcp/BIT1B = h4/fcp/_20_40ind__typefcp5
% Assm: h4/fcp/BIT1C0: h4/fcp/BIT1C = h4/fcp/_20_40ind__typefcp6
% Goal: !P. (!a. P (h4/fcp/BIT1A a)) /\ (!a. P (h4/fcp/BIT1B a)) /\ P h4/fcp/BIT1C ==> (!b. P b)
%   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_IMPu_u_ANTISYMu_u_AX]: !t2 t1. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 <=> t2)
% Assm [h4s_fcps_bit1u_u_repfnsu_c0]: !a. h4/fcp/_20_40ind__typefcp7 (h4/fcp/_20_40ind__typefcp8 a) = a
% Assm [h4s_fcps_bit1u_u_repfnsu_c1]: !_0. (!n. happ _0 n = h4/ind__type/BOTTOM) ==> (!r. (!_27bit1_27. (!a00. (?a. a00 = h4/ind__type/CONSTR h4/num/0 a _0) \/ (?a. a00 = h4/ind__type/CONSTR (h4/num/SUC h4/num/0) a _0) \/ a00 = h4/ind__type/CONSTR (h4/num/SUC (h4/num/SUC h4/num/0)) h4/bool/ARB _0 ==> happ _27bit1_27 a00) ==> happ _27bit1_27 r) <=> h4/fcp/_20_40ind__typefcp8 (h4/fcp/_20_40ind__typefcp7 r) = r)
% Assm [h4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp4u_u_u_u_def]: !_0. (!n. happ _0 n = h4/ind__type/BOTTOM) ==> (!x. happ h4/fcp/_20_40ind__typefcp4 x = h4/fcp/_20_40ind__typefcp7 (h4/ind__type/CONSTR h4/num/0 x _0))
% Assm [h4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp5u_u_u_u_def]: !_0. (!n. happ _0 n = h4/ind__type/BOTTOM) ==> (!x. happ h4/fcp/_20_40ind__typefcp5 x = h4/fcp/_20_40ind__typefcp7 (h4/ind__type/CONSTR (h4/num/SUC h4/num/0) x _0))
% Assm [h4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp6u_u_u_u_def]: !_0. (!n. happ _0 n = h4/ind__type/BOTTOM) ==> h4/fcp/_20_40ind__typefcp6 = h4/fcp/_20_40ind__typefcp7 (h4/ind__type/CONSTR (h4/num/SUC (h4/num/SUC h4/num/0)) h4/bool/ARB _0)
% Assm [h4s_fcps_BIT1A0]: h4/fcp/BIT1A = h4/fcp/_20_40ind__typefcp4
% Assm [h4s_fcps_BIT1B0]: h4/fcp/BIT1B = h4/fcp/_20_40ind__typefcp5
% Assm [h4s_fcps_BIT1C0]: h4/fcp/BIT1C = h4/fcp/_20_40ind__typefcp6
% Goal: !P. (!a. happ P (happ h4/fcp/BIT1A a)) /\ (!a. happ P (happ h4/fcp/BIT1B a)) /\ happ P h4/fcp/BIT1C ==> (!b. happ P b)
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_Q190730,TV_Q190726]: ![V_f, V_g]: (![V_x]: s(TV_Q190726,happ(s(t_fun(TV_Q190730,TV_Q190726),V_f),s(TV_Q190730,V_x))) = s(TV_Q190726,happ(s(t_fun(TV_Q190730,TV_Q190726),V_g),s(TV_Q190730,V_x))) => s(t_fun(TV_Q190730,TV_Q190726),V_f) = s(t_fun(TV_Q190730,TV_Q190726),V_g))).
fof(ah4s_bools_IMPu_u_ANTISYMu_u_AX, axiom, ![V_t2, V_t1]: ((p(s(t_bool,V_t1)) => p(s(t_bool,V_t2))) => ((p(s(t_bool,V_t2)) => p(s(t_bool,V_t1))) => s(t_bool,V_t1) = s(t_bool,V_t2)))).
fof(ah4s_fcps_bit1u_u_repfnsu_c0, axiom, ![TV_u_27a]: ![V_a]: s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp7(s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp8(s(t_h4s_fcps_bit1(TV_u_27a),V_a))))) = s(t_h4s_fcps_bit1(TV_u_27a),V_a)).
fof(ah4s_fcps_bit1u_u_repfnsu_c1, axiom, ![TV_u_27a]: ![V_uu_0]: (![V_n]: s(t_h4s_indu_u_types_recspace(TV_u_27a),happ(s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0),s(t_h4s_nums_num,V_n))) = s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_bottom) => ![V_r]: (![V_uu_27bit1u_27]: (![V_a00]: ((?[V_a]: s(t_h4s_indu_u_types_recspace(TV_u_27a),V_a00) = s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_constr(s(t_h4s_nums_num,h4s_nums_0),s(TV_u_27a,V_a),s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0))) | (?[V_a]: s(t_h4s_indu_u_types_recspace(TV_u_27a),V_a00) = s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_constr(s(t_h4s_nums_num,h4s_nums_suc(s(t_h4s_nums_num,h4s_nums_0))),s(TV_u_27a,V_a),s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0))) | s(t_h4s_indu_u_types_recspace(TV_u_27a),V_a00) = s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_constr(s(t_h4s_nums_num,h4s_nums_suc(s(t_h4s_nums_num,h4s_nums_suc(s(t_h4s_nums_num,h4s_nums_0))))),s(TV_u_27a,h4s_bools_arb),s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0))))) => p(s(t_bool,happ(s(t_fun(t_h4s_indu_u_types_recspace(TV_u_27a),t_bool),V_uu_27bit1u_27),s(t_h4s_indu_u_types_recspace(TV_u_27a),V_a00))))) => p(s(t_bool,happ(s(t_fun(t_h4s_indu_u_types_recspace(TV_u_27a),t_bool),V_uu_27bit1u_27),s(t_h4s_indu_u_types_recspace(TV_u_27a),V_r))))) <=> s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp8(s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp7(s(t_h4s_indu_u_types_recspace(TV_u_27a),V_r))))) = s(t_h4s_indu_u_types_recspace(TV_u_27a),V_r)))).
fof(ah4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp4u_u_u_u_def, axiom, ![TV_u_27a]: ![V_uu_0]: (![V_n]: s(t_h4s_indu_u_types_recspace(TV_u_27a),happ(s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0),s(t_h4s_nums_num,V_n))) = s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_bottom) => ![V_x]: s(t_h4s_fcps_bit1(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp4),s(TV_u_27a,V_x))) = s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp7(s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_constr(s(t_h4s_nums_num,h4s_nums_0),s(TV_u_27a,V_x),s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0))))))).
fof(ah4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp5u_u_u_u_def, axiom, ![TV_u_27a]: ![V_uu_0]: (![V_n]: s(t_h4s_indu_u_types_recspace(TV_u_27a),happ(s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0),s(t_h4s_nums_num,V_n))) = s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_bottom) => ![V_x]: s(t_h4s_fcps_bit1(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp5),s(TV_u_27a,V_x))) = s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp7(s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_constr(s(t_h4s_nums_num,h4s_nums_suc(s(t_h4s_nums_num,h4s_nums_0))),s(TV_u_27a,V_x),s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0))))))).
fof(ah4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp6u_u_u_u_def, axiom, ![TV_u_27a]: ![V_uu_0]: (![V_n]: s(t_h4s_indu_u_types_recspace(TV_u_27a),happ(s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0),s(t_h4s_nums_num,V_n))) = s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_bottom) => s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp6) = s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp7(s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_indu_u_types_constr(s(t_h4s_nums_num,h4s_nums_suc(s(t_h4s_nums_num,h4s_nums_suc(s(t_h4s_nums_num,h4s_nums_0))))),s(TV_u_27a,h4s_bools_arb),s(t_fun(t_h4s_nums_num,t_h4s_indu_u_types_recspace(TV_u_27a)),V_uu_0))))))).
fof(ah4s_fcps_BIT1A0, axiom, ![TV_u_27a]: s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_bit1a) = s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp4)).
fof(ah4s_fcps_BIT1B0, axiom, ![TV_u_27a]: s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_bit1b) = s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp5)).
fof(ah4s_fcps_BIT1C0, axiom, ![TV_u_27a]: s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_bit1c) = s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp6)).
fof(ch4s_fcps_bit1u_u_induction, conjecture, ![TV_u_27a]: ![V_P]: ((![V_a]: p(s(t_bool,happ(s(t_fun(t_h4s_fcps_bit1(TV_u_27a),t_bool),V_P),s(t_h4s_fcps_bit1(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_bit1a),s(TV_u_27a,V_a)))))) & (![V_a]: p(s(t_bool,happ(s(t_fun(t_h4s_fcps_bit1(TV_u_27a),t_bool),V_P),s(t_h4s_fcps_bit1(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit1(TV_u_27a)),h4s_fcps_bit1b),s(TV_u_27a,V_a)))))) & p(s(t_bool,happ(s(t_fun(t_h4s_fcps_bit1(TV_u_27a),t_bool),V_P),s(t_h4s_fcps_bit1(TV_u_27a),h4s_fcps_bit1c)))))) => ![V_b]: p(s(t_bool,happ(s(t_fun(t_h4s_fcps_bit1(TV_u_27a),t_bool),V_P),s(t_h4s_fcps_bit1(TV_u_27a),V_b)))))).
