%   ORIGINAL: h4/binary__ieee/ULP__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/pair/pair__case__thm: !y x f. h4/pair/pair__CASE (h4/pair/_2C x y) f = f x y
% Assm: h4/binary__ieee/ULP__primitive__def: h4/binary__ieee/ULP = h4/relation/WFREC (h4/min/_40 (\R. h4/relation/WF R)) (\ULP a. h4/pair/pair__CASE a (\e v1. h4/combin/I (h4/real/_2F (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/bool/COND (e = h4/words/n2w h4/num/0) (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 h4/arithmetic/ZERO)) (h4/words/w2n e))) (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/arithmetic/_2B (h4/words/INT__MAX h4/bool/the__value) (h4/fcp/dimindex h4/bool/the__value))))))
% Goal: !e. h4/binary__ieee/ULP (h4/pair/_2C e h4/bool/the__value) = h4/real/_2F (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/bool/COND (e = h4/words/n2w h4/num/0) (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 h4/arithmetic/ZERO)) (h4/words/w2n e))) (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/arithmetic/_2B (h4/words/INT__MAX h4/bool/the__value) (h4/fcp/dimindex h4/bool/the__value)))
%   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_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_binaryu_u_ieees_ULPu_u_primitiveu_u_def]: !_4. (!e v1. ?v. (v <=> e = h4/words/n2w h4/num/0) /\ happ (happ _4 e) v1 = h4/combin/I (h4/real/_2F (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/bool/COND v (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 h4/arithmetic/ZERO)) (h4/words/w2n e))) (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/arithmetic/_2B (h4/words/INT__MAX h4/bool/the__value) (h4/fcp/dimindex h4/bool/the__value))))) ==> (!_3. (!e. happ _3 e = happ _4 e) ==> (!_2. (!a. happ _2 a = h4/pair/pair__CASE a _3) ==> (!_1. (!ULP. happ _1 ULP = _2) ==> (!_0. (!R. happ _0 R <=> h4/relation/WF R) ==> h4/binary__ieee/ULP = h4/relation/WFREC (h4/min/_40 _0) _1))))
% Goal: !e. ?v. (v <=> e = h4/words/n2w h4/num/0) /\ happ h4/binary__ieee/ULP (h4/pair/_2C e h4/bool/the__value) = h4/real/_2F (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/bool/COND v (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 h4/arithmetic/ZERO)) (h4/words/w2n e))) (h4/real/pow (h4/real/real__of__num (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO))) (h4/arithmetic/_2B (h4/words/INT__MAX h4/bool/the__value) (h4/fcp/dimindex h4/bool/the__value)))
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_Q102610,TV_Q102606]: ![V_f, V_g]: (![V_x]: s(TV_Q102606,happ(s(t_fun(TV_Q102610,TV_Q102606),V_f),s(TV_Q102610,V_x))) = s(TV_Q102606,happ(s(t_fun(TV_Q102610,TV_Q102606),V_g),s(TV_Q102610,V_x))) => s(t_fun(TV_Q102610,TV_Q102606),V_f) = s(t_fun(TV_Q102610,TV_Q102606),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_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_binaryu_u_ieees_ULPu_u_primitiveu_u_def, axiom, ![TV_u_27w,TV_u_27t]: ![V_uu_4]: (![V_e, V_v1]: ?[V_v]: ((p(s(t_bool,V_v)) <=> s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e) = s(t_h4s_fcps_cart(t_bool,TV_u_27w),h4s_wordss_n2w(s(t_h4s_nums_num,h4s_nums_0)))) & s(t_h4s_realaxs_real,happ(s(t_fun(t_h4s_bools_itself(TV_u_27t),t_h4s_realaxs_real),happ(s(t_fun(t_h4s_fcps_cart(t_bool,TV_u_27w),t_fun(t_h4s_bools_itself(TV_u_27t),t_h4s_realaxs_real)),V_uu_4),s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e))),s(t_h4s_bools_itself(TV_u_27t),V_v1))) = s(t_h4s_realaxs_real,h4s_combins_i(s(t_h4s_realaxs_real,h4s_reals_u_2f(s(t_h4s_realaxs_real,h4s_reals_pow(s(t_h4s_realaxs_real,h4s_reals_realu_u_ofu_u_num(s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit2(s(t_h4s_nums_num,h4s_arithmetics_zero))))))),s(t_h4s_nums_num,h4s_bools_cond(s(t_bool,V_v),s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit1(s(t_h4s_nums_num,h4s_arithmetics_zero))))),s(t_h4s_nums_num,h4s_wordss_w2n(s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e))))))),s(t_h4s_realaxs_real,h4s_reals_pow(s(t_h4s_realaxs_real,h4s_reals_realu_u_ofu_u_num(s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit2(s(t_h4s_nums_num,h4s_arithmetics_zero))))))),s(t_h4s_nums_num,h4s_arithmetics_u_2b(s(t_h4s_nums_num,h4s_wordss_intu_u_max(s(t_h4s_bools_itself(TV_u_27w),h4s_bools_theu_u_value))),s(t_h4s_nums_num,h4s_fcps_dimindex(s(t_h4s_bools_itself(TV_u_27t),h4s_bools_theu_u_value)))))))))))) => ![V_uu_3]: (![V_e]: s(t_fun(t_h4s_bools_itself(TV_u_27t),t_h4s_realaxs_real),happ(s(t_fun(t_h4s_fcps_cart(t_bool,TV_u_27w),t_fun(t_h4s_bools_itself(TV_u_27t),t_h4s_realaxs_real)),V_uu_3),s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e))) = s(t_fun(t_h4s_bools_itself(TV_u_27t),t_h4s_realaxs_real),happ(s(t_fun(t_h4s_fcps_cart(t_bool,TV_u_27w),t_fun(t_h4s_bools_itself(TV_u_27t),t_h4s_realaxs_real)),V_uu_4),s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e))) => ![V_uu_2]: (![V_a]: s(t_h4s_realaxs_real,happ(s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),V_uu_2),s(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),V_a))) = s(t_h4s_realaxs_real,h4s_pairs_pairu_u_case(s(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),V_a),s(t_fun(t_h4s_fcps_cart(t_bool,TV_u_27w),t_fun(t_h4s_bools_itself(TV_u_27t),t_h4s_realaxs_real)),V_uu_3))) => ![V_uu_1]: (![V_ULP]: s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),happ(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real)),V_uu_1),s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),V_ULP))) = s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),V_uu_2) => ![V_uu_0]: (![V_R]: s(t_bool,happ(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_bool)),t_bool),V_uu_0),s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_bool)),V_R))) = s(t_bool,h4s_relations_wf(s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_bool)),V_R))) => s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),h4s_binaryu_u_ieees_ulp) = s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),h4s_relations_wfrec(s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_bool)),h4s_mins_u_40(s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_bool)),t_bool),V_uu_0))),s(t_fun(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real)),V_uu_1))))))))).
fof(ch4s_binaryu_u_ieees_ULPu_u_def, conjecture, ![TV_u_27w,TV_u_27t]: ![V_e]: ?[V_v]: ((p(s(t_bool,V_v)) <=> s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e) = s(t_h4s_fcps_cart(t_bool,TV_u_27w),h4s_wordss_n2w(s(t_h4s_nums_num,h4s_nums_0)))) & s(t_h4s_realaxs_real,happ(s(t_fun(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),t_h4s_realaxs_real),h4s_binaryu_u_ieees_ulp),s(t_h4s_pairs_prod(t_h4s_fcps_cart(t_bool,TV_u_27w),t_h4s_bools_itself(TV_u_27t)),h4s_pairs_u_2c(s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e),s(t_h4s_bools_itself(TV_u_27t),h4s_bools_theu_u_value))))) = s(t_h4s_realaxs_real,h4s_reals_u_2f(s(t_h4s_realaxs_real,h4s_reals_pow(s(t_h4s_realaxs_real,h4s_reals_realu_u_ofu_u_num(s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit2(s(t_h4s_nums_num,h4s_arithmetics_zero))))))),s(t_h4s_nums_num,h4s_bools_cond(s(t_bool,V_v),s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit1(s(t_h4s_nums_num,h4s_arithmetics_zero))))),s(t_h4s_nums_num,h4s_wordss_w2n(s(t_h4s_fcps_cart(t_bool,TV_u_27w),V_e))))))),s(t_h4s_realaxs_real,h4s_reals_pow(s(t_h4s_realaxs_real,h4s_reals_realu_u_ofu_u_num(s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit2(s(t_h4s_nums_num,h4s_arithmetics_zero))))))),s(t_h4s_nums_num,h4s_arithmetics_u_2b(s(t_h4s_nums_num,h4s_wordss_intu_u_max(s(t_h4s_bools_itself(TV_u_27w),h4s_bools_theu_u_value))),s(t_h4s_nums_num,h4s_fcps_dimindex(s(t_h4s_bools_itself(TV_u_27t),h4s_bools_theu_u_value))))))))))).
