%   ORIGINAL: h4/lbtree/optmin__def_c2
% 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/bool/EQ__SYM__EQ: !y x. x = y <=> y = x
% 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/lbtree/optmin__tupled__primitive__def: h4/lbtree/optmin__tupled = h4/relation/WFREC (h4/min/_40 (\R. h4/relation/WF R)) (\optmin__tupled a. h4/pair/pair__CASE a (\v v1. h4/option/option__CASE v (h4/option/option__CASE v1 (h4/combin/I h4/option/NONE) (\y. h4/combin/I (h4/option/SOME y))) (\x. h4/option/option__CASE v1 (h4/combin/I (h4/option/SOME x)) (\y_27. h4/combin/I (h4/option/SOME (h4/arithmetic/MIN x y_27))))))
% Assm: h4/lbtree/optmin__curried__def: !x1 x. h4/lbtree/optmin x x1 = h4/lbtree/optmin__tupled (h4/pair/_2C x x1)
% Goal: !y. h4/lbtree/optmin h4/option/NONE (h4/option/SOME y) = h4/option/SOME y
%   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_bools_EQu_u_SYMu_u_EQ]: !y x. x = y <=> y = x
% 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_lbtrees_optminu_u_tupledu_u_primitiveu_u_def]: !_7. (!x y_27. happ (happ _7 x) y_27 = h4/combin/I (h4/option/SOME (h4/arithmetic/MIN x y_27))) ==> (!_6. (!v1 x. happ (happ _6 v1) x = h4/option/option__CASE v1 (h4/combin/I (h4/option/SOME x)) (happ _7 x)) ==> (!_5. (!y. happ _5 y = h4/combin/I (h4/option/SOME y)) ==> (!_4. (!v v1. happ (happ _4 v) v1 = h4/option/option__CASE v (h4/option/option__CASE v1 (h4/combin/I h4/option/NONE) _5) (happ _6 v1)) ==> (!_3. (!v. happ _3 v = happ _4 v) ==> (!_2. (!a. happ _2 a = h4/pair/pair__CASE a _3) ==> (!_1. (!optmin__tupled. happ _1 optmin__tupled = _2) ==> (!_0. (!R. happ _0 R <=> h4/relation/WF R) ==> h4/lbtree/optmin__tupled = h4/relation/WFREC (h4/min/_40 _0) _1)))))))
% Assm [h4s_lbtrees_optminu_u_curriedu_u_def]: !x1 x. h4/lbtree/optmin x x1 = happ h4/lbtree/optmin__tupled (h4/pair/_2C x x1)
% Goal: !y. h4/lbtree/optmin h4/option/NONE (h4/option/SOME y) = h4/option/SOME y
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_Q198369,TV_Q198365]: ![V_f, V_g]: (![V_x]: s(TV_Q198365,happ(s(t_fun(TV_Q198369,TV_Q198365),V_f),s(TV_Q198369,V_x))) = s(TV_Q198365,happ(s(t_fun(TV_Q198369,TV_Q198365),V_g),s(TV_Q198369,V_x))) => s(t_fun(TV_Q198369,TV_Q198365),V_f) = s(t_fun(TV_Q198369,TV_Q198365),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_bools_EQu_u_SYMu_u_EQ, axiom, ![TV_u_27a]: ![V_y, V_x]: (s(TV_u_27a,V_x) = s(TV_u_27a,V_y) <=> s(TV_u_27a,V_y) = s(TV_u_27a,V_x))).
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_lbtrees_optminu_u_tupledu_u_primitiveu_u_def, axiom, ![V_uu_7]: (![V_x, V_yu_27]: s(t_h4s_options_option(t_h4s_nums_num),happ(s(t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_h4s_nums_num,t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),V_uu_7),s(t_h4s_nums_num,V_x))),s(t_h4s_nums_num,V_yu_27))) = s(t_h4s_options_option(t_h4s_nums_num),h4s_combins_i(s(t_h4s_options_option(t_h4s_nums_num),h4s_options_some(s(t_h4s_nums_num,h4s_arithmetics_min(s(t_h4s_nums_num,V_x),s(t_h4s_nums_num,V_yu_27))))))) => ![V_uu_6]: (![V_v1, V_x]: s(t_h4s_options_option(t_h4s_nums_num),happ(s(t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),V_uu_6),s(t_h4s_options_option(t_h4s_nums_num),V_v1))),s(t_h4s_nums_num,V_x))) = s(t_h4s_options_option(t_h4s_nums_num),h4s_options_optionu_u_case(s(t_h4s_options_option(t_h4s_nums_num),V_v1),s(t_h4s_options_option(t_h4s_nums_num),h4s_combins_i(s(t_h4s_options_option(t_h4s_nums_num),h4s_options_some(s(t_h4s_nums_num,V_x))))),s(t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_h4s_nums_num,t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),V_uu_7),s(t_h4s_nums_num,V_x))))) => ![V_uu_5]: (![V_y]: s(t_h4s_options_option(t_h4s_nums_num),happ(s(t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),V_uu_5),s(t_h4s_nums_num,V_y))) = s(t_h4s_options_option(t_h4s_nums_num),h4s_combins_i(s(t_h4s_options_option(t_h4s_nums_num),h4s_options_some(s(t_h4s_nums_num,V_y))))) => ![V_uu_4]: (![V_v, V_v1]: s(t_h4s_options_option(t_h4s_nums_num),happ(s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num))),V_uu_4),s(t_h4s_options_option(t_h4s_nums_num),V_v))),s(t_h4s_options_option(t_h4s_nums_num),V_v1))) = s(t_h4s_options_option(t_h4s_nums_num),h4s_options_optionu_u_case(s(t_h4s_options_option(t_h4s_nums_num),V_v),s(t_h4s_options_option(t_h4s_nums_num),h4s_options_optionu_u_case(s(t_h4s_options_option(t_h4s_nums_num),V_v1),s(t_h4s_options_option(t_h4s_nums_num),h4s_combins_i(s(t_h4s_options_option(t_h4s_nums_num),h4s_options_none))),s(t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),V_uu_5))),s(t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_fun(t_h4s_nums_num,t_h4s_options_option(t_h4s_nums_num))),V_uu_6),s(t_h4s_options_option(t_h4s_nums_num),V_v1))))) => ![V_uu_3]: (![V_v]: s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num))),V_uu_3),s(t_h4s_options_option(t_h4s_nums_num),V_v))) = s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num))),V_uu_4),s(t_h4s_options_option(t_h4s_nums_num),V_v))) => ![V_uu_2]: (![V_a]: s(t_h4s_options_option(t_h4s_nums_num),happ(s(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),V_uu_2),s(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),V_a))) = s(t_h4s_options_option(t_h4s_nums_num),h4s_pairs_pairu_u_case(s(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),V_a),s(t_fun(t_h4s_options_option(t_h4s_nums_num),t_fun(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num))),V_uu_3))) => ![V_uu_1]: (![V_optminu_u_tupled]: s(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),happ(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num))),V_uu_1),s(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),V_optminu_u_tupled))) = s(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),V_uu_2) => ![V_uu_0]: (![V_R]: s(t_bool,happ(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_fun(t_h4s_pairs_prod(t_h4s_options_option(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_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_fun(t_h4s_pairs_prod(t_h4s_options_option(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_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_fun(t_h4s_pairs_prod(t_h4s_options_option(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_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),h4s_lbtrees_optminu_u_tupled) = s(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),h4s_relations_wfrec(s(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_fun(t_h4s_pairs_prod(t_h4s_options_option(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_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_fun(t_h4s_pairs_prod(t_h4s_options_option(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_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num))),V_uu_1)))))))))))).
fof(ah4s_lbtrees_optminu_u_curriedu_u_def, axiom, ![V_x1, V_x]: s(t_h4s_options_option(t_h4s_nums_num),h4s_lbtrees_optmin(s(t_h4s_options_option(t_h4s_nums_num),V_x),s(t_h4s_options_option(t_h4s_nums_num),V_x1))) = s(t_h4s_options_option(t_h4s_nums_num),happ(s(t_fun(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),t_h4s_options_option(t_h4s_nums_num)),h4s_lbtrees_optminu_u_tupled),s(t_h4s_pairs_prod(t_h4s_options_option(t_h4s_nums_num),t_h4s_options_option(t_h4s_nums_num)),h4s_pairs_u_2c(s(t_h4s_options_option(t_h4s_nums_num),V_x),s(t_h4s_options_option(t_h4s_nums_num),V_x1)))))).
fof(ch4s_lbtrees_optminu_u_defu_c2, conjecture, ![V_y]: s(t_h4s_options_option(t_h4s_nums_num),h4s_lbtrees_optmin(s(t_h4s_options_option(t_h4s_nums_num),h4s_options_none),s(t_h4s_options_option(t_h4s_nums_num),h4s_options_some(s(t_h4s_nums_num,V_y))))) = s(t_h4s_options_option(t_h4s_nums_num),h4s_options_some(s(t_h4s_nums_num,V_y)))).
