%   ORIGINAL: h4/string/EXTRACT__def_c1
% 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/option/option__case__def_c0: !v f. h4/option/option__CASE h4/option/NONE v f = v
% Assm: h4/option/option__case__def_c1: !x v f. h4/option/option__CASE (h4/option/SOME x) v f = f 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/pair/pair__case__thm: !y x f. h4/pair/pair__CASE (h4/pair/_2C x y) f = f x y
% Assm: h4/string/EXTRACT__primitive__def: h4/string/EXTRACT = h4/relation/WFREC (h4/min/_40 (\R. h4/relation/WF R)) (\EXTRACT a. h4/pair/pair__CASE a (\s v1. h4/pair/pair__CASE v1 (\i v3. h4/option/option__CASE v3 (h4/combin/I (h4/string/SUBSTRING (h4/pair/_2C s (h4/pair/_2C i (h4/arithmetic/_2D (h4/list/LENGTH s) i))))) (\n. h4/combin/I (h4/string/SUBSTRING (h4/pair/_2C s (h4/pair/_2C i n)))))))
% Goal: !s n i. h4/string/EXTRACT (h4/pair/_2C s (h4/pair/_2C i (h4/option/SOME n))) = h4/string/SUBSTRING (h4/pair/_2C s (h4/pair/_2C i n))
%   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_options_optionu_u_caseu_u_defu_c0]: !v f. h4/option/option__CASE h4/option/NONE v f = v
% Assm [h4s_options_optionu_u_caseu_u_defu_c1]: !x v f. h4/option/option__CASE (h4/option/SOME x) v f = happ f 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_pairs_pairu_u_caseu_u_thm]: !y x f. h4/pair/pair__CASE (h4/pair/_2C x y) f = happ (happ f x) y
% Assm [h4s_strings_EXTRACTu_u_primitiveu_u_def]: !_7. (!s i n. happ (happ (happ _7 s) i) n = h4/combin/I (h4/string/SUBSTRING (h4/pair/_2C s (h4/pair/_2C i n)))) ==> (!_6. (!s i v3. happ (happ (happ _6 s) i) v3 = h4/option/option__CASE v3 (h4/combin/I (h4/string/SUBSTRING (h4/pair/_2C s (h4/pair/_2C i (h4/arithmetic/_2D (h4/list/LENGTH s) i))))) (happ (happ _7 s) i)) ==> (!_5. (!s i. happ (happ _5 s) i = happ (happ _6 s) i) ==> (!_4. (!s v1. happ (happ _4 s) v1 = h4/pair/pair__CASE v1 (happ _5 s)) ==> (!_3. (!s. happ _3 s = happ _4 s) ==> (!_2. (!a. happ _2 a = h4/pair/pair__CASE a _3) ==> (!_1. (!EXTRACT. happ _1 EXTRACT = _2) ==> (!_0. (!R. happ _0 R <=> h4/relation/WF R) ==> h4/string/EXTRACT = h4/relation/WFREC (h4/min/_40 _0) _1)))))))
% Goal: !s n i. happ h4/string/EXTRACT (h4/pair/_2C s (h4/pair/_2C i (h4/option/SOME n))) = h4/string/SUBSTRING (h4/pair/_2C s (h4/pair/_2C i n))
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_Q211891,TV_Q211887]: ![V_f, V_g]: (![V_x]: s(TV_Q211887,happ(s(t_fun(TV_Q211891,TV_Q211887),V_f),s(TV_Q211891,V_x))) = s(TV_Q211887,happ(s(t_fun(TV_Q211891,TV_Q211887),V_g),s(TV_Q211891,V_x))) => s(t_fun(TV_Q211891,TV_Q211887),V_f) = s(t_fun(TV_Q211891,TV_Q211887),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_options_optionu_u_caseu_u_defu_c0, axiom, ![TV_u_27a,TV_u_27b]: ![V_v, V_f]: s(TV_u_27b,h4s_options_optionu_u_case(s(t_h4s_options_option(TV_u_27a),h4s_options_none),s(TV_u_27b,V_v),s(t_fun(TV_u_27a,TV_u_27b),V_f))) = s(TV_u_27b,V_v)).
fof(ah4s_options_optionu_u_caseu_u_defu_c1, axiom, ![TV_u_27b,TV_u_27a]: ![V_x, V_v, V_f]: s(TV_u_27b,h4s_options_optionu_u_case(s(t_h4s_options_option(TV_u_27a),h4s_options_some(s(TV_u_27a,V_x))),s(TV_u_27b,V_v),s(t_fun(TV_u_27a,TV_u_27b),V_f))) = s(TV_u_27b,happ(s(t_fun(TV_u_27a,TV_u_27b),V_f),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_pairs_pairu_u_caseu_u_thm, axiom, ![TV_u_27a,TV_u_27b,TV_u_27c]: ![V_y, V_x, V_f]: s(TV_u_27a,h4s_pairs_pairu_u_case(s(t_h4s_pairs_prod(TV_u_27b,TV_u_27c),h4s_pairs_u_2c(s(TV_u_27b,V_x),s(TV_u_27c,V_y))),s(t_fun(TV_u_27b,t_fun(TV_u_27c,TV_u_27a)),V_f))) = s(TV_u_27a,happ(s(t_fun(TV_u_27c,TV_u_27a),happ(s(t_fun(TV_u_27b,t_fun(TV_u_27c,TV_u_27a)),V_f),s(TV_u_27b,V_x))),s(TV_u_27c,V_y)))).
fof(ah4s_strings_EXTRACTu_u_primitiveu_u_def, axiom, ![V_uu_7]: (![V_s, V_i, V_n]: s(t_h4s_lists_list(t_h4s_strings_char),happ(s(t_fun(t_h4s_nums_num,t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_nums_num,t_fun(t_h4s_nums_num,t_h4s_lists_list(t_h4s_strings_char))),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_nums_num,t_fun(t_h4s_nums_num,t_h4s_lists_list(t_h4s_strings_char)))),V_uu_7),s(t_h4s_lists_list(t_h4s_strings_char),V_s))),s(t_h4s_nums_num,V_i))),s(t_h4s_nums_num,V_n))) = s(t_h4s_lists_list(t_h4s_strings_char),h4s_combins_i(s(t_h4s_lists_list(t_h4s_strings_char),h4s_strings_substring(s(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_nums_num)),h4s_pairs_u_2c(s(t_h4s_lists_list(t_h4s_strings_char),V_s),s(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_nums_num),h4s_pairs_u_2c(s(t_h4s_nums_num,V_i),s(t_h4s_nums_num,V_n))))))))) => ![V_uu_6]: (![V_s, V_i, V_v3]: s(t_h4s_lists_list(t_h4s_strings_char),happ(s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char))),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char)))),V_uu_6),s(t_h4s_lists_list(t_h4s_strings_char),V_s))),s(t_h4s_nums_num,V_i))),s(t_h4s_options_option(t_h4s_nums_num),V_v3))) = s(t_h4s_lists_list(t_h4s_strings_char),h4s_options_optionu_u_case(s(t_h4s_options_option(t_h4s_nums_num),V_v3),s(t_h4s_lists_list(t_h4s_strings_char),h4s_combins_i(s(t_h4s_lists_list(t_h4s_strings_char),h4s_strings_substring(s(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_nums_num)),h4s_pairs_u_2c(s(t_h4s_lists_list(t_h4s_strings_char),V_s),s(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_nums_num),h4s_pairs_u_2c(s(t_h4s_nums_num,V_i),s(t_h4s_nums_num,h4s_arithmetics_u_2d(s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(t_h4s_strings_char),V_s))),s(t_h4s_nums_num,V_i))))))))))),s(t_fun(t_h4s_nums_num,t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_nums_num,t_fun(t_h4s_nums_num,t_h4s_lists_list(t_h4s_strings_char))),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_nums_num,t_fun(t_h4s_nums_num,t_h4s_lists_list(t_h4s_strings_char)))),V_uu_7),s(t_h4s_lists_list(t_h4s_strings_char),V_s))),s(t_h4s_nums_num,V_i))))) => ![V_uu_5]: (![V_s, V_i]: s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char))),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char)))),V_uu_5),s(t_h4s_lists_list(t_h4s_strings_char),V_s))),s(t_h4s_nums_num,V_i))) = s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char))),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char)))),V_uu_6),s(t_h4s_lists_list(t_h4s_strings_char),V_s))),s(t_h4s_nums_num,V_i))) => ![V_uu_4]: (![V_s, V_v1]: s(t_h4s_lists_list(t_h4s_strings_char),happ(s(t_fun(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),t_h4s_lists_list(t_h4s_strings_char))),V_uu_4),s(t_h4s_lists_list(t_h4s_strings_char),V_s))),s(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),V_v1))) = s(t_h4s_lists_list(t_h4s_strings_char),h4s_pairs_pairu_u_case(s(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),V_v1),s(t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char))),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_nums_num,t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_lists_list(t_h4s_strings_char)))),V_uu_5),s(t_h4s_lists_list(t_h4s_strings_char),V_s))))) => ![V_uu_3]: (![V_s]: s(t_fun(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),t_h4s_lists_list(t_h4s_strings_char))),V_uu_3),s(t_h4s_lists_list(t_h4s_strings_char),V_s))) = s(t_fun(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),t_h4s_lists_list(t_h4s_strings_char))),V_uu_4),s(t_h4s_lists_list(t_h4s_strings_char),V_s))) => ![V_uu_2]: (![V_a]: s(t_h4s_lists_list(t_h4s_strings_char),happ(s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),V_uu_2),s(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),V_a))) = s(t_h4s_lists_list(t_h4s_strings_char),h4s_pairs_pairu_u_case(s(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),V_a),s(t_fun(t_h4s_lists_list(t_h4s_strings_char),t_fun(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),t_h4s_lists_list(t_h4s_strings_char))),V_uu_3))) => ![V_uu_1]: (![V_EXTRACT]: s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),happ(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char))),V_uu_1),s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),V_EXTRACT))) = s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),V_uu_2) => ![V_uu_0]: (![V_R]: s(t_bool,happ(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_bool)),t_bool),V_uu_0),s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_bool)),V_R))) = s(t_bool,h4s_relations_wf(s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_bool)),V_R))) => s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),h4s_strings_extract) = s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),h4s_relations_wfrec(s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_bool)),h4s_mins_u_40(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_bool)),t_bool),V_uu_0))),s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char))),V_uu_1)))))))))))).
fof(ch4s_strings_EXTRACTu_u_defu_c1, conjecture, ![V_s, V_n, V_i]: s(t_h4s_lists_list(t_h4s_strings_char),happ(s(t_fun(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),t_h4s_lists_list(t_h4s_strings_char)),h4s_strings_extract),s(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),h4s_pairs_u_2c(s(t_h4s_lists_list(t_h4s_strings_char),V_s),s(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),h4s_pairs_u_2c(s(t_h4s_nums_num,V_i),s(t_h4s_options_option(t_h4s_nums_num),h4s_options_some(s(t_h4s_nums_num,V_n))))))))) = s(t_h4s_lists_list(t_h4s_strings_char),h4s_strings_substring(s(t_h4s_pairs_prod(t_h4s_lists_list(t_h4s_strings_char),t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_nums_num)),h4s_pairs_u_2c(s(t_h4s_lists_list(t_h4s_strings_char),V_s),s(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_nums_num),h4s_pairs_u_2c(s(t_h4s_nums_num,V_i),s(t_h4s_nums_num,V_n)))))))).
