%   ORIGINAL: h4/string/TOCHAR__def
% 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/SELECT__AX: !x P. P x ==> P (h4/min/_40 P)
% Assm: h4/combin/I__THM: !x. h4/combin/I x = x
% Assm: h4/relation/WF__EMPTY__REL: h4/relation/WF h4/relation/EMPTY__REL
% Assm: h4/relation/WFREC__COROLLARY: !f R M. f = h4/relation/WFREC R M ==> h4/relation/WF R ==> (!x. f x = M (h4/relation/RESTRICT f R x) x)
% Assm: h4/list/list__case__def_c0: !v f. h4/list/list__CASE h4/list/NIL v f = v
% Assm: h4/list/list__case__def_c1: !v f a1 a0. h4/list/list__CASE (h4/list/CONS a0 a1) v f = f a0 a1
% Assm: h4/string/TOCHAR__primitive__def: h4/string/TOCHAR = h4/relation/WFREC (h4/min/_40 (\R. h4/relation/WF R)) (\TOCHAR a. h4/list/list__CASE a h4/bool/ARB (\c v1. h4/list/list__CASE v1 (h4/combin/I c) (\v2 v3. h4/bool/ARB)))
% Goal: !c. h4/string/TOCHAR (h4/list/CONS c h4/list/NIL) = c
%   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_SELECTu_u_AX]: !x P. happ P x ==> happ P (h4/min/_40 P)
% Assm [h4s_combins_Iu_u_THM]: !x. h4/combin/I x = x
% Assm [h4s_relations_WFu_u_EMPTYu_u_REL]: h4/relation/WF h4/relation/EMPTY__REL
% Assm [h4s_relations_WFRECu_u_COROLLARY]: !f R M. f = h4/relation/WFREC R M ==> h4/relation/WF R ==> (!x. happ f x = happ (happ M (h4/relation/RESTRICT f R x)) x)
% Assm [h4s_lists_listu_u_caseu_u_defu_c0]: !v f. h4/list/list__CASE h4/list/NIL v f = v
% Assm [h4s_lists_listu_u_caseu_u_defu_c1]: !v f a1 a0. h4/list/list__CASE (h4/list/CONS a0 a1) v f = happ (happ f a0) a1
% Assm [h4s_strings_TOCHARu_u_primitiveu_u_def]: !_6. (!v3. happ _6 v3 = h4/bool/ARB) ==> (!_5. (!v2. happ _5 v2 = _6) ==> (!_4. (!c v1. happ (happ _4 c) v1 = h4/list/list__CASE v1 (h4/combin/I c) _5) ==> (!_3. (!c. happ _3 c = happ _4 c) ==> (!_2. (!a. happ _2 a = h4/list/list__CASE a h4/bool/ARB _3) ==> (!_1. (!TOCHAR. happ _1 TOCHAR = _2) ==> (!_0. (!R. happ _0 R <=> h4/relation/WF R) ==> h4/string/TOCHAR = h4/relation/WFREC (h4/min/_40 _0) _1))))))
% Goal: !c. happ h4/string/TOCHAR (h4/list/CONS c h4/list/NIL) = c
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_Q211416,TV_Q211412]: ![V_f, V_g]: (![V_x]: s(TV_Q211412,happ(s(t_fun(TV_Q211416,TV_Q211412),V_f),s(TV_Q211416,V_x))) = s(TV_Q211412,happ(s(t_fun(TV_Q211416,TV_Q211412),V_g),s(TV_Q211416,V_x))) => s(t_fun(TV_Q211416,TV_Q211412),V_f) = s(t_fun(TV_Q211416,TV_Q211412),V_g))).
fof(ah4s_bools_SELECTu_u_AX, axiom, ![TV_u_27a]: ![V_x, V_P]: (p(s(t_bool,happ(s(t_fun(TV_u_27a,t_bool),V_P),s(TV_u_27a,V_x)))) => p(s(t_bool,happ(s(t_fun(TV_u_27a,t_bool),V_P),s(TV_u_27a,h4s_mins_u_40(s(t_fun(TV_u_27a,t_bool),V_P)))))))).
fof(ah4s_combins_Iu_u_THM, axiom, ![TV_u_27a]: ![V_x]: s(TV_u_27a,h4s_combins_i(s(TV_u_27a,V_x))) = s(TV_u_27a,V_x)).
fof(ah4s_relations_WFu_u_EMPTYu_u_REL, axiom, ![TV_u_27a]: p(s(t_bool,h4s_relations_wf(s(t_fun(TV_u_27a,t_fun(TV_u_27a,t_bool)),h4s_relations_emptyu_u_rel))))).
fof(ah4s_relations_WFRECu_u_COROLLARY, axiom, ![TV_u_27b,TV_u_27a]: ![V_f, V_R, V_M]: (s(t_fun(TV_u_27a,TV_u_27b),V_f) = s(t_fun(TV_u_27a,TV_u_27b),h4s_relations_wfrec(s(t_fun(TV_u_27a,t_fun(TV_u_27a,t_bool)),V_R),s(t_fun(t_fun(TV_u_27a,TV_u_27b),t_fun(TV_u_27a,TV_u_27b)),V_M))) => (p(s(t_bool,h4s_relations_wf(s(t_fun(TV_u_27a,t_fun(TV_u_27a,t_bool)),V_R)))) => ![V_x]: s(TV_u_27b,happ(s(t_fun(TV_u_27a,TV_u_27b),V_f),s(TV_u_27a,V_x))) = s(TV_u_27b,happ(s(t_fun(TV_u_27a,TV_u_27b),happ(s(t_fun(t_fun(TV_u_27a,TV_u_27b),t_fun(TV_u_27a,TV_u_27b)),V_M),s(t_fun(TV_u_27a,TV_u_27b),h4s_relations_restrict(s(t_fun(TV_u_27a,TV_u_27b),V_f),s(t_fun(TV_u_27a,t_fun(TV_u_27a,t_bool)),V_R),s(TV_u_27a,V_x))))),s(TV_u_27a,V_x)))))).
fof(ah4s_lists_listu_u_caseu_u_defu_c0, axiom, ![TV_u_27a,TV_u_27b]: ![V_v, V_f]: s(TV_u_27b,h4s_lists_listu_u_case(s(t_h4s_lists_list(TV_u_27a),h4s_lists_nil),s(TV_u_27b,V_v),s(t_fun(TV_u_27a,t_fun(t_h4s_lists_list(TV_u_27a),TV_u_27b)),V_f))) = s(TV_u_27b,V_v)).
fof(ah4s_lists_listu_u_caseu_u_defu_c1, axiom, ![TV_u_27b,TV_u_27a]: ![V_v, V_f, V_a1, V_a0]: s(TV_u_27b,h4s_lists_listu_u_case(s(t_h4s_lists_list(TV_u_27a),h4s_lists_cons(s(TV_u_27a,V_a0),s(t_h4s_lists_list(TV_u_27a),V_a1))),s(TV_u_27b,V_v),s(t_fun(TV_u_27a,t_fun(t_h4s_lists_list(TV_u_27a),TV_u_27b)),V_f))) = s(TV_u_27b,happ(s(t_fun(t_h4s_lists_list(TV_u_27a),TV_u_27b),happ(s(t_fun(TV_u_27a,t_fun(t_h4s_lists_list(TV_u_27a),TV_u_27b)),V_f),s(TV_u_27a,V_a0))),s(t_h4s_lists_list(TV_u_27a),V_a1)))).
fof(ah4s_strings_TOCHARu_u_primitiveu_u_def, axiom, ![V_uu_6]: (![V_v3]: s(t_h4s_strings_char,happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),V_uu_6),s(t_h4s_lists_list(t_h4s_strings_char),V_v3))) = s(t_h4s_strings_char,h4s_bools_arb) => ![V_uu_5]: (![V_v2]: s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),happ(s(t_fun(t_h4s_strings_char,t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_5),s(t_h4s_strings_char,V_v2))) = s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),V_uu_6) => ![V_uu_4]: (![V_c, V_v1]: s(t_h4s_strings_char,happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),happ(s(t_fun(t_h4s_strings_char,t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_4),s(t_h4s_strings_char,V_c))),s(t_h4s_lists_list(t_h4s_strings_char),V_v1))) = s(t_h4s_strings_char,h4s_lists_listu_u_case(s(t_h4s_lists_list(t_h4s_strings_char),V_v1),s(t_h4s_strings_char,h4s_combins_i(s(t_h4s_strings_char,V_c))),s(t_fun(t_h4s_strings_char,t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_5))) => ![V_uu_3]: (![V_c]: s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),happ(s(t_fun(t_h4s_strings_char,t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_3),s(t_h4s_strings_char,V_c))) = s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),happ(s(t_fun(t_h4s_strings_char,t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_4),s(t_h4s_strings_char,V_c))) => ![V_uu_2]: (![V_a]: s(t_h4s_strings_char,happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),V_uu_2),s(t_h4s_lists_list(t_h4s_strings_char),V_a))) = s(t_h4s_strings_char,h4s_lists_listu_u_case(s(t_h4s_lists_list(t_h4s_strings_char),V_a),s(t_h4s_strings_char,h4s_bools_arb),s(t_fun(t_h4s_strings_char,t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_3))) => ![V_uu_1]: (![V_TOCHAR]: s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),happ(s(t_fun(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_1),s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),V_TOCHAR))) = s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),V_uu_2) => ![V_uu_0]: (![V_R]: s(t_bool,happ(s(t_fun(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_lists_list(t_h4s_strings_char),t_bool)),t_bool),V_uu_0),s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_lists_list(t_h4s_strings_char),t_bool)),V_R))) = s(t_bool,h4s_relations_wf(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_lists_list(t_h4s_strings_char),t_bool)),V_R))) => s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),h4s_strings_tochar) = s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),h4s_relations_wfrec(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_lists_list(t_h4s_strings_char),t_bool)),h4s_mins_u_40(s(t_fun(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_lists_list(t_h4s_strings_char),t_bool)),t_bool),V_uu_0))),s(t_fun(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char)),V_uu_1))))))))))).
fof(ch4s_strings_TOCHARu_u_def, conjecture, ![V_c]: s(t_h4s_strings_char,happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_h4s_strings_char),h4s_strings_tochar),s(t_h4s_lists_list(t_h4s_strings_char),h4s_lists_cons(s(t_h4s_strings_char,V_c),s(t_h4s_lists_list(t_h4s_strings_char),h4s_lists_nil))))) = s(t_h4s_strings_char,V_c)).
