%   ORIGINAL: 'h4/thm/ind_type/CONSTR_REC_'
% 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
% Goal: !Fn. ?f. !c i r. f ('h4/const/ind_type/CONSTR' c i r) = Fn c i r (\n. f (r n))
%   PROCESSED
% Assm ['HL_TRUTH']: T
% Assm ['HL_FALSITY']: ~F
% Assm ['HL_BOOL_CASES']: !t. (t <=> T) \/ (t <=> F)
% Assm ['HL_EXT']: !f g. (!x. happ f x = happ g x) ==> f = g
% Goal: !_0. (!f r n. happ (happ (happ _0 f) r) n = happ f (happ r n)) ==> (!Fn. ?f. !c i r. happ f ('h4/const/ind_type/CONSTR' c i r) = happ (happ (happ (happ Fn c) i) r) (happ (happ _0 f) r))
fof('HL_TRUTH', axiom, p(s(bool,'T'))).
fof('HL_FALSITY', axiom, ~ (p(s(bool,'F')))).
fof('HL_BOOL_CASES', axiom, ![T]: (s(bool,T) = s(bool,'T') | s(bool,T) = s(bool,'F'))).
fof('HL_EXT', axiom, ![V_3f74264,V_3f74260]: ![F, G]: (![X]: s(V_3f74260,happ(s(fun(V_3f74264,V_3f74260),F),s(V_3f74264,X))) = s(V_3f74260,happ(s(fun(V_3f74264,V_3f74260),G),s(V_3f74264,X))) => s(fun(V_3f74264,V_3f74260),F) = s(fun(V_3f74264,V_3f74260),G))).
fof('h4/thm/ind_type/CONSTR_REC_', conjecture, ![B,A]: ![V__0]: (![F, R, N]: s(B,happ(s(fun('h4/type/num/num',B),happ(s(fun(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),fun('h4/type/num/num',B)),happ(s(fun(fun('h4/type/ind_type/recspace'(A),B),fun(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),fun('h4/type/num/num',B))),V__0),s(fun('h4/type/ind_type/recspace'(A),B),F))),s(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),R))),s('h4/type/num/num',N))) = s(B,happ(s(fun('h4/type/ind_type/recspace'(A),B),F),s('h4/type/ind_type/recspace'(A),happ(s(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),R),s('h4/type/num/num',N))))) => ![Fn]: ?[F]: ![C, I, R]: s(B,happ(s(fun('h4/type/ind_type/recspace'(A),B),F),s('h4/type/ind_type/recspace'(A),'h4/const/ind_type/CONSTR'(s('h4/type/num/num',C),s(A,I),s(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),R))))) = s(B,happ(s(fun(fun('h4/type/num/num',B),B),happ(s(fun(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),fun(fun('h4/type/num/num',B),B)),happ(s(fun(A,fun(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),fun(fun('h4/type/num/num',B),B))),happ(s(fun('h4/type/num/num',fun(A,fun(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),fun(fun('h4/type/num/num',B),B)))),Fn),s('h4/type/num/num',C))),s(A,I))),s(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),R))),s(fun('h4/type/num/num',B),happ(s(fun(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),fun('h4/type/num/num',B)),happ(s(fun(fun('h4/type/ind_type/recspace'(A),B),fun(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),fun('h4/type/num/num',B))),V__0),s(fun('h4/type/ind_type/recspace'(A),B),F))),s(fun('h4/type/num/num','h4/type/ind_type/recspace'(A)),R))))))).
