%   ORIGINAL: h4/hreal/HREAL__SUB__ISACUT
% 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/TRUTH: T
% Assm: h4/bool/IMP__ANTISYM__AX: !t2 t1. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 <=> t2)
% Assm: h4/bool/FALSITY: !t. F ==> t
% Assm: h4/bool/AND__CLAUSES_c0: !t. T /\ t <=> t
% Assm: h4/bool/AND__CLAUSES_c1: !t. t /\ T <=> t
% Assm: h4/bool/NOT__CLAUSES_c0: !t. ~ ~t <=> t
% Assm: h4/bool/NOT__CLAUSES_c2: ~F <=> T
% Assm: h4/bool/EQ__CLAUSES_c1: !t. (t <=> T) <=> t
% Assm: h4/bool/DE__MORGAN__THM_c0: !B A. ~(A /\ B) <=> ~A \/ ~B
% Assm: h4/hrat/HRAT__ADD__ASSOC: !j i h. h4/hrat/hrat__add h (h4/hrat/hrat__add i j) = h4/hrat/hrat__add (h4/hrat/hrat__add h i) j
% Assm: h4/hreal/hrat__lt0: !y x. h4/hreal/hrat__lt x y <=> (?d. y = h4/hrat/hrat__add x d)
% Assm: h4/hreal/HRAT__LT__ADDL: !y x. h4/hreal/hrat__lt x (h4/hrat/hrat__add x y)
% Assm: h4/hreal/HRAT__LT__ADDR: !y x. h4/hreal/hrat__lt y (h4/hrat/hrat__add x y)
% Assm: h4/hreal/HRAT__LT__LADD: !z y x. h4/hreal/hrat__lt (h4/hrat/hrat__add z x) (h4/hrat/hrat__add z y) <=> h4/hreal/hrat__lt x y
% Assm: h4/hreal/isacut0: !C. h4/hreal/isacut C <=> (?x. C x) /\ (?x. ~C x) /\ (!x y. C x /\ h4/hreal/hrat__lt y x ==> C y) /\ (!x. C x ==> (?y. C y /\ h4/hreal/hrat__lt x y))
% Assm: h4/hreal/CUT__BOUNDED: !X. ?x. ~h4/hreal/cut X x
% Assm: h4/hreal/CUT__DOWN: !y x X. h4/hreal/cut X x /\ h4/hreal/hrat__lt y x ==> h4/hreal/cut X y
% Assm: h4/hreal/CUT__UP: !x X. h4/hreal/cut X x ==> (?y. h4/hreal/cut X y /\ h4/hreal/hrat__lt x y)
% Assm: h4/hreal/CUT__UBOUND: !y x X. ~h4/hreal/cut X x /\ h4/hreal/hrat__lt x y ==> ~h4/hreal/cut X y
% Assm: h4/hreal/HREAL__LT__LEMMA: !Y X. h4/hreal/hreal__lt X Y ==> (?x. ~h4/hreal/cut X x /\ h4/hreal/cut Y x)
% Goal: !Y X. h4/hreal/hreal__lt X Y ==> h4/hreal/isacut (\w. ?x. ~h4/hreal/cut X x /\ h4/hreal/cut Y (h4/hrat/hrat__add x w))
%   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_TRUTH]: T
% Assm [h4s_bools_IMPu_u_ANTISYMu_u_AX]: !t2 t1. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 <=> t2)
% Assm [h4s_bools_FALSITY]: !t. F ==> t
% Assm [h4s_bools_ANDu_u_CLAUSESu_c0]: !t. T /\ t <=> t
% Assm [h4s_bools_ANDu_u_CLAUSESu_c1]: !t. t /\ T <=> t
% Assm [h4s_bools_NOTu_u_CLAUSESu_c0]: !t. ~ ~t <=> t
% Assm [h4s_bools_NOTu_u_CLAUSESu_c2]: ~F <=> T
% Assm [h4s_bools_EQu_u_CLAUSESu_c1]: !t. (t <=> T) <=> t
% Assm [h4s_bools_DEu_u_MORGANu_u_THMu_c0]: !B A. ~(A /\ B) <=> ~A \/ ~B
% Assm [h4s_hrats_HRATu_u_ADDu_u_ASSOC]: !j i h. h4/hrat/hrat__add h (h4/hrat/hrat__add i j) = h4/hrat/hrat__add (h4/hrat/hrat__add h i) j
% Assm [h4s_hreals_hratu_u_lt0]: !y x. h4/hreal/hrat__lt x y <=> (?d. y = h4/hrat/hrat__add x d)
% Assm [h4s_hreals_HRATu_u_LTu_u_ADDL]: !y x. h4/hreal/hrat__lt x (h4/hrat/hrat__add x y)
% Assm [h4s_hreals_HRATu_u_LTu_u_ADDR]: !y x. h4/hreal/hrat__lt y (h4/hrat/hrat__add x y)
% Assm [h4s_hreals_HRATu_u_LTu_u_LADD]: !z y x. h4/hreal/hrat__lt (h4/hrat/hrat__add z x) (h4/hrat/hrat__add z y) <=> h4/hreal/hrat__lt x y
% Assm [h4s_hreals_isacut0]: !C. h4/hreal/isacut C <=> (?x. happ C x) /\ (?x. ~happ C x) /\ (!x y. happ C x /\ h4/hreal/hrat__lt y x ==> happ C y) /\ (!x. happ C x ==> (?y. happ C y /\ h4/hreal/hrat__lt x y))
% Assm [h4s_hreals_CUTu_u_BOUNDED]: !X. ?x. ~h4/hreal/cut X x
% Assm [h4s_hreals_CUTu_u_DOWN]: !y x X. h4/hreal/cut X x /\ h4/hreal/hrat__lt y x ==> h4/hreal/cut X y
% Assm [h4s_hreals_CUTu_u_UP]: !x X. h4/hreal/cut X x ==> (?y. h4/hreal/cut X y /\ h4/hreal/hrat__lt x y)
% Assm [h4s_hreals_CUTu_u_UBOUND]: !y x X. ~h4/hreal/cut X x /\ h4/hreal/hrat__lt x y ==> ~h4/hreal/cut X y
% Assm [h4s_hreals_HREALu_u_LTu_u_LEMMA]: !Y X. h4/hreal/hreal__lt X Y ==> (?x. ~h4/hreal/cut X x /\ h4/hreal/cut Y x)
% Goal: !_0. (!X Y w. happ (happ (happ _0 X) Y) w <=> (?x. ~h4/hreal/cut X x /\ h4/hreal/cut Y (h4/hrat/hrat__add x w))) ==> (!Y X. h4/hreal/hreal__lt X Y ==> h4/hreal/isacut (happ (happ _0 X) 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_Q254931,TV_Q254927]: ![V_f, V_g]: (![V_x]: s(TV_Q254927,happ(s(t_fun(TV_Q254931,TV_Q254927),V_f),s(TV_Q254931,V_x))) = s(TV_Q254927,happ(s(t_fun(TV_Q254931,TV_Q254927),V_g),s(TV_Q254931,V_x))) => s(t_fun(TV_Q254931,TV_Q254927),V_f) = s(t_fun(TV_Q254931,TV_Q254927),V_g))).
fof(ah4s_bools_TRUTH, axiom, p(s(t_bool,t))).
fof(ah4s_bools_IMPu_u_ANTISYMu_u_AX, axiom, ![V_t2, V_t1]: ((p(s(t_bool,V_t1)) => p(s(t_bool,V_t2))) => ((p(s(t_bool,V_t2)) => p(s(t_bool,V_t1))) => s(t_bool,V_t1) = s(t_bool,V_t2)))).
fof(ah4s_bools_FALSITY, axiom, ![V_t]: (p(s(t_bool,f)) => p(s(t_bool,V_t)))).
fof(ah4s_bools_ANDu_u_CLAUSESu_c0, axiom, ![V_t]: ((p(s(t_bool,t)) & p(s(t_bool,V_t))) <=> p(s(t_bool,V_t)))).
fof(ah4s_bools_ANDu_u_CLAUSESu_c1, axiom, ![V_t]: ((p(s(t_bool,V_t)) & p(s(t_bool,t))) <=> p(s(t_bool,V_t)))).
fof(ah4s_bools_NOTu_u_CLAUSESu_c0, axiom, ![V_t]: (~ (~ (p(s(t_bool,V_t)))) <=> p(s(t_bool,V_t)))).
fof(ah4s_bools_NOTu_u_CLAUSESu_c2, axiom, (~ (p(s(t_bool,f))) <=> p(s(t_bool,t)))).
fof(ah4s_bools_EQu_u_CLAUSESu_c1, axiom, ![V_t]: (s(t_bool,V_t) = s(t_bool,t) <=> p(s(t_bool,V_t)))).
fof(ah4s_bools_DEu_u_MORGANu_u_THMu_c0, axiom, ![V_B, V_A]: (~ ((p(s(t_bool,V_A)) & p(s(t_bool,V_B)))) <=> (~ (p(s(t_bool,V_A))) | ~ (p(s(t_bool,V_B)))))).
fof(ah4s_hrats_HRATu_u_ADDu_u_ASSOC, axiom, ![V_j, V_i, V_h]: s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_h),s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_i),s(t_h4s_hrats_hrat,V_j))))) = s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_h),s(t_h4s_hrats_hrat,V_i))),s(t_h4s_hrats_hrat,V_j)))).
fof(ah4s_hreals_hratu_u_lt0, axiom, ![V_y, V_x]: (p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_y)))) <=> ?[V_d]: s(t_h4s_hrats_hrat,V_y) = s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_d))))).
fof(ah4s_hreals_HRATu_u_LTu_u_ADDL, axiom, ![V_y, V_x]: p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_y))))))).
fof(ah4s_hreals_HRATu_u_LTu_u_ADDR, axiom, ![V_y, V_x]: p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_y),s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_y))))))).
fof(ah4s_hreals_HRATu_u_LTu_u_LADD, axiom, ![V_z, V_y, V_x]: s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_z),s(t_h4s_hrats_hrat,V_x))),s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_z),s(t_h4s_hrats_hrat,V_y))))) = s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_y)))).
fof(ah4s_hreals_isacut0, axiom, ![V_C]: (p(s(t_bool,h4s_hreals_isacut(s(t_fun(t_h4s_hrats_hrat,t_bool),V_C)))) <=> (?[V_x]: p(s(t_bool,happ(s(t_fun(t_h4s_hrats_hrat,t_bool),V_C),s(t_h4s_hrats_hrat,V_x)))) & (?[V_x]: ~ (p(s(t_bool,happ(s(t_fun(t_h4s_hrats_hrat,t_bool),V_C),s(t_h4s_hrats_hrat,V_x))))) & (![V_x, V_y]: ((p(s(t_bool,happ(s(t_fun(t_h4s_hrats_hrat,t_bool),V_C),s(t_h4s_hrats_hrat,V_x)))) & p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_y),s(t_h4s_hrats_hrat,V_x))))) => p(s(t_bool,happ(s(t_fun(t_h4s_hrats_hrat,t_bool),V_C),s(t_h4s_hrats_hrat,V_y))))) & ![V_x]: (p(s(t_bool,happ(s(t_fun(t_h4s_hrats_hrat,t_bool),V_C),s(t_h4s_hrats_hrat,V_x)))) => ?[V_y]: (p(s(t_bool,happ(s(t_fun(t_h4s_hrats_hrat,t_bool),V_C),s(t_h4s_hrats_hrat,V_y)))) & p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_y))))))))))).
fof(ah4s_hreals_CUTu_u_BOUNDED, axiom, ![V_X]: ?[V_x]: ~ (p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_x)))))).
fof(ah4s_hreals_CUTu_u_DOWN, axiom, ![V_y, V_x, V_X]: ((p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_x)))) & p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_y),s(t_h4s_hrats_hrat,V_x))))) => p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_y)))))).
fof(ah4s_hreals_CUTu_u_UP, axiom, ![V_x, V_X]: (p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_x)))) => ?[V_y]: (p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_y)))) & p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_y))))))).
fof(ah4s_hreals_CUTu_u_UBOUND, axiom, ![V_y, V_x, V_X]: ((~ (p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_x))))) & p(s(t_bool,h4s_hreals_hratu_u_lt(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_y))))) => ~ (p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_y))))))).
fof(ah4s_hreals_HREALu_u_LTu_u_LEMMA, axiom, ![V_Y, V_X]: (p(s(t_bool,h4s_hreals_hrealu_u_lt(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hreals_hreal,V_Y)))) => ?[V_x]: (~ (p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_x))))) & p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_Y),s(t_h4s_hrats_hrat,V_x))))))).
fof(ch4s_hreals_HREALu_u_SUBu_u_ISACUT, conjecture, ![V_uu_0]: (![V_X, V_Y, V_w]: (p(s(t_bool,happ(s(t_fun(t_h4s_hrats_hrat,t_bool),happ(s(t_fun(t_h4s_hreals_hreal,t_fun(t_h4s_hrats_hrat,t_bool)),happ(s(t_fun(t_h4s_hreals_hreal,t_fun(t_h4s_hreals_hreal,t_fun(t_h4s_hrats_hrat,t_bool))),V_uu_0),s(t_h4s_hreals_hreal,V_X))),s(t_h4s_hreals_hreal,V_Y))),s(t_h4s_hrats_hrat,V_w)))) <=> ?[V_x]: (~ (p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hrats_hrat,V_x))))) & p(s(t_bool,h4s_hreals_cut(s(t_h4s_hreals_hreal,V_Y),s(t_h4s_hrats_hrat,h4s_hrats_hratu_u_add(s(t_h4s_hrats_hrat,V_x),s(t_h4s_hrats_hrat,V_w)))))))) => ![V_Y, V_X]: (p(s(t_bool,h4s_hreals_hrealu_u_lt(s(t_h4s_hreals_hreal,V_X),s(t_h4s_hreals_hreal,V_Y)))) => p(s(t_bool,h4s_hreals_isacut(s(t_fun(t_h4s_hrats_hrat,t_bool),happ(s(t_fun(t_h4s_hreals_hreal,t_fun(t_h4s_hrats_hrat,t_bool)),happ(s(t_fun(t_h4s_hreals_hreal,t_fun(t_h4s_hreals_hreal,t_fun(t_h4s_hrats_hrat,t_bool))),V_uu_0),s(t_h4s_hreals_hreal,V_X))),s(t_h4s_hreals_hreal,V_Y))))))))).
