%   ORIGINAL: h4/fcp/bit0__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/bit0__repfns_c0: !a. h4/fcp/_20_40ind__typefcp2 (h4/fcp/_20_40ind__typefcp3 a) = a
% Assm: h4/fcp/bit0__repfns_c1: !r. (\a0. !_27bit0_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) ==> _27bit0_27 a00) ==> _27bit0_27 a0) r <=> h4/fcp/_20_40ind__typefcp3 (h4/fcp/_20_40ind__typefcp2 r) = r
% Assm: h4/fcp/hidden____20__40ind____typefcp0____def: h4/fcp/_20_40ind__typefcp0 = (\a. h4/fcp/_20_40ind__typefcp2 ((\a0. h4/ind__type/CONSTR h4/num/0 a0 (\n. h4/ind__type/BOTTOM)) a))
% Assm: h4/fcp/hidden____20__40ind____typefcp1____def: h4/fcp/_20_40ind__typefcp1 = (\a. h4/fcp/_20_40ind__typefcp2 ((\a0. h4/ind__type/CONSTR (h4/num/SUC h4/num/0) a0 (\n. h4/ind__type/BOTTOM)) a))
% Assm: h4/fcp/BIT0A0: h4/fcp/BIT0A = h4/fcp/_20_40ind__typefcp0
% Assm: h4/fcp/BIT0B0: h4/fcp/BIT0B = h4/fcp/_20_40ind__typefcp1
% Goal: !P. (!a. P (h4/fcp/BIT0A a)) /\ (!a. P (h4/fcp/BIT0B a)) ==> (!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_bit0u_u_repfnsu_c0]: !a. h4/fcp/_20_40ind__typefcp2 (h4/fcp/_20_40ind__typefcp3 a) = a
% Assm [h4s_fcps_bit0u_u_repfnsu_c1]: !_0. (!n. happ _0 n = h4/ind__type/BOTTOM) ==> (!r. (!_27bit0_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) ==> happ _27bit0_27 a00) ==> happ _27bit0_27 r) <=> h4/fcp/_20_40ind__typefcp3 (h4/fcp/_20_40ind__typefcp2 r) = r)
% Assm [h4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp0u_u_u_u_def]: !_0. (!n. happ _0 n = h4/ind__type/BOTTOM) ==> (!x. happ h4/fcp/_20_40ind__typefcp0 x = h4/fcp/_20_40ind__typefcp2 (h4/ind__type/CONSTR h4/num/0 x _0))
% Assm [h4s_fcps_hiddenu_u_u_u_20u_u_40indu_u_u_u_typefcp1u_u_u_u_def]: !_0. (!n. happ _0 n = h4/ind__type/BOTTOM) ==> (!x. happ h4/fcp/_20_40ind__typefcp1 x = h4/fcp/_20_40ind__typefcp2 (h4/ind__type/CONSTR (h4/num/SUC h4/num/0) x _0))
% Assm [h4s_fcps_BIT0A0]: h4/fcp/BIT0A = h4/fcp/_20_40ind__typefcp0
% Assm [h4s_fcps_BIT0B0]: h4/fcp/BIT0B = h4/fcp/_20_40ind__typefcp1
% Goal: !P. (!a. happ P (happ h4/fcp/BIT0A a)) /\ (!a. happ P (happ h4/fcp/BIT0B a)) ==> (!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_Q190427,TV_Q190423]: ![V_f, V_g]: (![V_x]: s(TV_Q190423,happ(s(t_fun(TV_Q190427,TV_Q190423),V_f),s(TV_Q190427,V_x))) = s(TV_Q190423,happ(s(t_fun(TV_Q190427,TV_Q190423),V_g),s(TV_Q190427,V_x))) => s(t_fun(TV_Q190427,TV_Q190423),V_f) = s(t_fun(TV_Q190427,TV_Q190423),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_bit0u_u_repfnsu_c0, axiom, ![TV_u_27a]: ![V_a]: s(t_h4s_fcps_bit0(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp2(s(t_h4s_indu_u_types_recspace(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp3(s(t_h4s_fcps_bit0(TV_u_27a),V_a))))) = s(t_h4s_fcps_bit0(TV_u_27a),V_a)).
fof(ah4s_fcps_bit0u_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_27bit0u_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)))) => p(s(t_bool,happ(s(t_fun(t_h4s_indu_u_types_recspace(TV_u_27a),t_bool),V_uu_27bit0u_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_27bit0u_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_typefcp3(s(t_h4s_fcps_bit0(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp2(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_typefcp0u_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_bit0(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp0),s(TV_u_27a,V_x))) = s(t_h4s_fcps_bit0(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp2(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_typefcp1u_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_bit0(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp1),s(TV_u_27a,V_x))) = s(t_h4s_fcps_bit0(TV_u_27a),h4s_fcps_u_20u_40indu_u_typefcp2(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_BIT0A0, axiom, ![TV_u_27a]: s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_bit0a) = s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp0)).
fof(ah4s_fcps_BIT0B0, axiom, ![TV_u_27a]: s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_bit0b) = s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_u_20u_40indu_u_typefcp1)).
fof(ch4s_fcps_bit0u_u_induction, conjecture, ![TV_u_27a]: ![V_P]: ((![V_a]: p(s(t_bool,happ(s(t_fun(t_h4s_fcps_bit0(TV_u_27a),t_bool),V_P),s(t_h4s_fcps_bit0(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_bit0a),s(TV_u_27a,V_a)))))) & ![V_a]: p(s(t_bool,happ(s(t_fun(t_h4s_fcps_bit0(TV_u_27a),t_bool),V_P),s(t_h4s_fcps_bit0(TV_u_27a),happ(s(t_fun(TV_u_27a,t_h4s_fcps_bit0(TV_u_27a)),h4s_fcps_bit0b),s(TV_u_27a,V_a))))))) => ![V_b]: p(s(t_bool,happ(s(t_fun(t_h4s_fcps_bit0(TV_u_27a),t_bool),V_P),s(t_h4s_fcps_bit0(TV_u_27a),V_b)))))).
