%   ORIGINAL: 'h4/thm/ind_type/ISO_FUN_'
% 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: !'g\'' g 'f\'' f. 'h4/const/ind_type/ISO' f 'f\'' /\ 'h4/const/ind_type/ISO' g 'g\'' ==> 'h4/const/ind_type/ISO' (\h 'a\''. g (h ('f\'' 'a\''))) (\h a. 'g\'' (h (f a)))
%   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: !_3. (!'g\'' h f a. happ (happ (happ (happ _3 'g\'') h) f) a = happ 'g\'' (happ h (happ f a))) ==> (!_2. (!'g\'' f h. happ (happ (happ _2 'g\'') f) h = happ (happ (happ _3 'g\'') h) f) ==> (!_1. (!g h 'f\'' 'a\''. happ (happ (happ (happ _1 g) h) 'f\'') 'a\'' = happ g (happ h (happ 'f\'' 'a\''))) ==> (!_0. (!g 'f\'' h. happ (happ (happ _0 g) 'f\'') h = happ (happ (happ _1 g) h) 'f\'') ==> (!'g\'' g 'f\'' f. 'h4/const/ind_type/ISO' f 'f\'' /\ 'h4/const/ind_type/ISO' g 'g\'' ==> 'h4/const/ind_type/ISO' (happ (happ _0 g) 'f\'') (happ (happ _2 'g\'') f)))))
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_3f74340,V_3f74336]: ![F, G]: (![X]: s(V_3f74336,happ(s(fun(V_3f74340,V_3f74336),F),s(V_3f74340,X))) = s(V_3f74336,happ(s(fun(V_3f74340,V_3f74336),G),s(V_3f74340,X))) => s(fun(V_3f74340,V_3f74336),F) = s(fun(V_3f74340,V_3f74336),G))).
fof('h4/thm/ind_type/ISO_FUN_', conjecture, ![D,B,A,C]: ![V__3]: (![V_27g_5c_27_27, H, F, A0]: s(B,happ(s(fun(A,B),happ(s(fun(fun(A,C),fun(A,B)),happ(s(fun(fun(C,D),fun(fun(A,C),fun(A,B))),happ(s(fun(fun(D,B),fun(fun(C,D),fun(fun(A,C),fun(A,B)))),V__3),s(fun(D,B),V_27g_5c_27_27))),s(fun(C,D),H))),s(fun(A,C),F))),s(A,A0))) = s(B,happ(s(fun(D,B),V_27g_5c_27_27),s(D,happ(s(fun(C,D),H),s(C,happ(s(fun(A,C),F),s(A,A0))))))) => ![V__2]: (![V_27g_5c_27_27, F, H]: s(fun(A,B),happ(s(fun(fun(C,D),fun(A,B)),happ(s(fun(fun(A,C),fun(fun(C,D),fun(A,B))),happ(s(fun(fun(D,B),fun(fun(A,C),fun(fun(C,D),fun(A,B)))),V__2),s(fun(D,B),V_27g_5c_27_27))),s(fun(A,C),F))),s(fun(C,D),H))) = s(fun(A,B),happ(s(fun(fun(A,C),fun(A,B)),happ(s(fun(fun(C,D),fun(fun(A,C),fun(A,B))),happ(s(fun(fun(D,B),fun(fun(C,D),fun(fun(A,C),fun(A,B)))),V__3),s(fun(D,B),V_27g_5c_27_27))),s(fun(C,D),H))),s(fun(A,C),F))) => ![V__1]: (![G, H, V_27f_5c_27_27, V_27a_5c_27_27]: s(D,happ(s(fun(C,D),happ(s(fun(fun(C,A),fun(C,D)),happ(s(fun(fun(A,B),fun(fun(C,A),fun(C,D))),happ(s(fun(fun(B,D),fun(fun(A,B),fun(fun(C,A),fun(C,D)))),V__1),s(fun(B,D),G))),s(fun(A,B),H))),s(fun(C,A),V_27f_5c_27_27))),s(C,V_27a_5c_27_27))) = s(D,happ(s(fun(B,D),G),s(B,happ(s(fun(A,B),H),s(A,happ(s(fun(C,A),V_27f_5c_27_27),s(C,V_27a_5c_27_27))))))) => ![V__0]: (![G, V_27f_5c_27_27, H]: s(fun(C,D),happ(s(fun(fun(A,B),fun(C,D)),happ(s(fun(fun(C,A),fun(fun(A,B),fun(C,D))),happ(s(fun(fun(B,D),fun(fun(C,A),fun(fun(A,B),fun(C,D)))),V__0),s(fun(B,D),G))),s(fun(C,A),V_27f_5c_27_27))),s(fun(A,B),H))) = s(fun(C,D),happ(s(fun(fun(C,A),fun(C,D)),happ(s(fun(fun(A,B),fun(fun(C,A),fun(C,D))),happ(s(fun(fun(B,D),fun(fun(A,B),fun(fun(C,A),fun(C,D)))),V__1),s(fun(B,D),G))),s(fun(A,B),H))),s(fun(C,A),V_27f_5c_27_27))) => ![V_27g_5c_27_27, G, V_27f_5c_27_27, F]: ((p(s(bool,'h4/const/ind_type/ISO'(s(fun(A,C),F),s(fun(C,A),V_27f_5c_27_27)))) & p(s(bool,'h4/const/ind_type/ISO'(s(fun(B,D),G),s(fun(D,B),V_27g_5c_27_27))))) => p(s(bool,'h4/const/ind_type/ISO'(s(fun(fun(A,B),fun(C,D)),happ(s(fun(fun(C,A),fun(fun(A,B),fun(C,D))),happ(s(fun(fun(B,D),fun(fun(C,A),fun(fun(A,B),fun(C,D)))),V__0),s(fun(B,D),G))),s(fun(C,A),V_27f_5c_27_27))),s(fun(fun(C,D),fun(A,B)),happ(s(fun(fun(A,C),fun(fun(C,D),fun(A,B))),happ(s(fun(fun(D,B),fun(fun(A,C),fun(fun(C,D),fun(A,B)))),V__2),s(fun(D,B),V_27g_5c_27_27))),s(fun(A,C),F)))))))))))).
