%   ORIGINAL: h4/quantHeuristics/LIST__LENGTH__10_c119
% 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/IMP__ANTISYM__AX: !t2 t1. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 <=> t2)
% Assm: h4/bool/EQ__SYM__EQ: !y x. x = y <=> y = x
% Assm: h4/bool/LEFT__EXISTS__AND__THM: !Q P. (?x. P x /\ Q) <=> (?x. P x) /\ Q
% Assm: h4/bool/UNWIND__THM2: !a P. (?x. x = a /\ P x) <=> P a
% Assm: h4/arithmetic/SUB__EQUAL__0: !c. h4/arithmetic/_2D c c = h4/num/0
% Assm: h4/arithmetic/GREATER__EQ: !n m. h4/arithmetic/_3E_3D n m <=> h4/arithmetic/_3C_3D m n
% Assm: h4/list/APPEND0_c0: !l. h4/list/APPEND h4/list/NIL l = l
% Assm: h4/list/APPEND0_c1: !l2 l1 h. h4/list/APPEND (h4/list/CONS h l1) l2 = h4/list/CONS h (h4/list/APPEND l1 l2)
% Assm: h4/list/LENGTH__EQ__NUM__compute_c0: !l. h4/list/LENGTH l = h4/num/0 <=> l = h4/list/NIL
% Assm: h4/list/LENGTH__EQ__NUM__compute_c1: !n l. h4/list/LENGTH l = h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 n) <=> (?h l_27. h4/list/LENGTH l_27 = h4/arithmetic/_2D (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 n)) (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 h4/arithmetic/ZERO)) /\ l = h4/list/CONS h l_27)
% Assm: h4/list/LENGTH__EQ__NUM__compute_c2: !n l. h4/list/LENGTH l = h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 n) <=> (?h l_27. h4/list/LENGTH l_27 = h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 n) /\ l = h4/list/CONS h l_27)
% Assm: h4/quantHeuristics/LENGTH__LE__PLUS: !n m l. h4/arithmetic/_3C_3D (h4/arithmetic/_2B n m) (h4/list/LENGTH l) <=> (?l1 l2. h4/list/LENGTH l1 = n /\ h4/arithmetic/_3C_3D m (h4/list/LENGTH l2) /\ l = h4/list/APPEND l1 l2)
% Goal: !x l. h4/arithmetic/_3E_3D (h4/list/LENGTH l) (h4/arithmetic/_2B (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO)) x) <=> (?l_27 e1 e2. h4/arithmetic/_3C_3D x (h4/list/LENGTH l_27) /\ l = h4/list/CONS e1 (h4/list/CONS e2 l_27))
%   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_IMPu_u_ANTISYMu_u_AX]: !t2 t1. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 <=> t2)
% Assm [h4s_bools_EQu_u_SYMu_u_EQ]: !y x. x = y <=> y = x
% Assm [h4s_bools_LEFTu_u_EXISTSu_u_ANDu_u_THM]: !Q P. (?x. happ P x /\ Q) <=> (?x. happ P x) /\ Q
% Assm [h4s_bools_UNWINDu_u_THM2]: !a P. (?x. x = a /\ happ P x) <=> happ P a
% Assm [h4s_arithmetics_SUBu_u_EQUALu_u_0]: !c. h4/arithmetic/_2D c c = h4/num/0
% Assm [h4s_arithmetics_GREATERu_u_EQ]: !n m. h4/arithmetic/_3E_3D n m <=> h4/arithmetic/_3C_3D m n
% Assm [h4s_lists_APPEND0u_c0]: !l. h4/list/APPEND h4/list/NIL l = l
% Assm [h4s_lists_APPEND0u_c1]: !l2 l1 h. h4/list/APPEND (h4/list/CONS h l1) l2 = h4/list/CONS h (h4/list/APPEND l1 l2)
% Assm [h4s_lists_LENGTHu_u_EQu_u_NUMu_u_computeu_c0]: !l. h4/list/LENGTH l = h4/num/0 <=> l = h4/list/NIL
% Assm [h4s_lists_LENGTHu_u_EQu_u_NUMu_u_computeu_c1]: !n l. h4/list/LENGTH l = h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 n) <=> (?h l_27. h4/list/LENGTH l_27 = h4/arithmetic/_2D (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 n)) (h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 h4/arithmetic/ZERO)) /\ l = h4/list/CONS h l_27)
% Assm [h4s_lists_LENGTHu_u_EQu_u_NUMu_u_computeu_c2]: !n l. h4/list/LENGTH l = h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 n) <=> (?h l_27. h4/list/LENGTH l_27 = h4/arithmetic/NUMERAL (h4/arithmetic/BIT1 n) /\ l = h4/list/CONS h l_27)
% Assm [h4s_quantHeuristicss_LENGTHu_u_LEu_u_PLUS]: !n m l. h4/arithmetic/_3C_3D (h4/arithmetic/_2B n m) (h4/list/LENGTH l) <=> (?l1 l2. h4/list/LENGTH l1 = n /\ h4/arithmetic/_3C_3D m (h4/list/LENGTH l2) /\ l = h4/list/APPEND l1 l2)
% Goal: !x l. h4/arithmetic/_3E_3D (h4/list/LENGTH l) (h4/arithmetic/_2B (h4/arithmetic/NUMERAL (h4/arithmetic/BIT2 h4/arithmetic/ZERO)) x) <=> (?l_27 e1 e2. h4/arithmetic/_3C_3D x (h4/list/LENGTH l_27) /\ l = h4/list/CONS e1 (h4/list/CONS e2 l_27))
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_Q35845,TV_Q35841]: ![V_f, V_g]: (![V_x]: s(TV_Q35841,happ(s(t_fun(TV_Q35845,TV_Q35841),V_f),s(TV_Q35845,V_x))) = s(TV_Q35841,happ(s(t_fun(TV_Q35845,TV_Q35841),V_g),s(TV_Q35845,V_x))) => s(t_fun(TV_Q35845,TV_Q35841),V_f) = s(t_fun(TV_Q35845,TV_Q35841),V_g))).
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_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_bools_LEFTu_u_EXISTSu_u_ANDu_u_THM, axiom, ![TV_u_27a]: ![V_Q, V_P]: (?[V_x]: (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,V_Q))) <=> (?[V_x]: 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,V_Q))))).
fof(ah4s_bools_UNWINDu_u_THM2, axiom, ![TV_u_27a]: ![V_a, V_P]: (?[V_x]: (s(TV_u_27a,V_x) = s(TV_u_27a,V_a) & 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,V_a)))))).
fof(ah4s_arithmetics_SUBu_u_EQUALu_u_0, axiom, ![V_c]: s(t_h4s_nums_num,h4s_arithmetics_u_2d(s(t_h4s_nums_num,V_c),s(t_h4s_nums_num,V_c))) = s(t_h4s_nums_num,h4s_nums_0)).
fof(ah4s_arithmetics_GREATERu_u_EQ, axiom, ![V_n, V_m]: s(t_bool,h4s_arithmetics_u_3eu_3d(s(t_h4s_nums_num,V_n),s(t_h4s_nums_num,V_m))) = s(t_bool,h4s_arithmetics_u_3cu_3d(s(t_h4s_nums_num,V_m),s(t_h4s_nums_num,V_n)))).
fof(ah4s_lists_APPEND0u_c0, axiom, ![TV_u_27a]: ![V_l]: s(t_h4s_lists_list(TV_u_27a),h4s_lists_append(s(t_h4s_lists_list(TV_u_27a),h4s_lists_nil),s(t_h4s_lists_list(TV_u_27a),V_l))) = s(t_h4s_lists_list(TV_u_27a),V_l)).
fof(ah4s_lists_APPEND0u_c1, axiom, ![TV_u_27a]: ![V_l2, V_l1, V_h]: s(t_h4s_lists_list(TV_u_27a),h4s_lists_append(s(t_h4s_lists_list(TV_u_27a),h4s_lists_cons(s(TV_u_27a,V_h),s(t_h4s_lists_list(TV_u_27a),V_l1))),s(t_h4s_lists_list(TV_u_27a),V_l2))) = s(t_h4s_lists_list(TV_u_27a),h4s_lists_cons(s(TV_u_27a,V_h),s(t_h4s_lists_list(TV_u_27a),h4s_lists_append(s(t_h4s_lists_list(TV_u_27a),V_l1),s(t_h4s_lists_list(TV_u_27a),V_l2)))))).
fof(ah4s_lists_LENGTHu_u_EQu_u_NUMu_u_computeu_c0, axiom, ![TV_u_27a]: ![V_l]: (s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_l))) = s(t_h4s_nums_num,h4s_nums_0) <=> s(t_h4s_lists_list(TV_u_27a),V_l) = s(t_h4s_lists_list(TV_u_27a),h4s_lists_nil))).
fof(ah4s_lists_LENGTHu_u_EQu_u_NUMu_u_computeu_c1, axiom, ![TV_u_27a]: ![V_n, V_l]: (s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_l))) = s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit1(s(t_h4s_nums_num,V_n))))) <=> ?[V_h, V_lu_27]: (s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_lu_27))) = s(t_h4s_nums_num,h4s_arithmetics_u_2d(s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit1(s(t_h4s_nums_num,V_n))))),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_lists_list(TV_u_27a),V_l) = s(t_h4s_lists_list(TV_u_27a),h4s_lists_cons(s(TV_u_27a,V_h),s(t_h4s_lists_list(TV_u_27a),V_lu_27)))))).
fof(ah4s_lists_LENGTHu_u_EQu_u_NUMu_u_computeu_c2, axiom, ![TV_u_27a]: ![V_n, V_l]: (s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_l))) = s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit2(s(t_h4s_nums_num,V_n))))) <=> ?[V_h, V_lu_27]: (s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_lu_27))) = s(t_h4s_nums_num,h4s_arithmetics_numeral(s(t_h4s_nums_num,h4s_arithmetics_bit1(s(t_h4s_nums_num,V_n))))) & s(t_h4s_lists_list(TV_u_27a),V_l) = s(t_h4s_lists_list(TV_u_27a),h4s_lists_cons(s(TV_u_27a,V_h),s(t_h4s_lists_list(TV_u_27a),V_lu_27)))))).
fof(ah4s_quantHeuristicss_LENGTHu_u_LEu_u_PLUS, axiom, ![TV_u_27a]: ![V_n, V_m, V_l]: (p(s(t_bool,h4s_arithmetics_u_3cu_3d(s(t_h4s_nums_num,h4s_arithmetics_u_2b(s(t_h4s_nums_num,V_n),s(t_h4s_nums_num,V_m))),s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_l)))))) <=> ?[V_l1, V_l2]: (s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_l1))) = s(t_h4s_nums_num,V_n) & (p(s(t_bool,h4s_arithmetics_u_3cu_3d(s(t_h4s_nums_num,V_m),s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_l2)))))) & s(t_h4s_lists_list(TV_u_27a),V_l) = s(t_h4s_lists_list(TV_u_27a),h4s_lists_append(s(t_h4s_lists_list(TV_u_27a),V_l1),s(t_h4s_lists_list(TV_u_27a),V_l2))))))).
fof(ch4s_quantHeuristicss_LISTu_u_LENGTHu_u_10u_c119, conjecture, ![TV_u_27a]: ![V_x, V_l]: (p(s(t_bool,h4s_arithmetics_u_3eu_3d(s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_l))),s(t_h4s_nums_num,h4s_arithmetics_u_2b(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,V_x)))))) <=> ?[V_lu_27, V_e1, V_e2]: (p(s(t_bool,h4s_arithmetics_u_3cu_3d(s(t_h4s_nums_num,V_x),s(t_h4s_nums_num,h4s_lists_length(s(t_h4s_lists_list(TV_u_27a),V_lu_27)))))) & s(t_h4s_lists_list(TV_u_27a),V_l) = s(t_h4s_lists_list(TV_u_27a),h4s_lists_cons(s(TV_u_27a,V_e1),s(t_h4s_lists_list(TV_u_27a),h4s_lists_cons(s(TV_u_27a,V_e2),s(t_h4s_lists_list(TV_u_27a),V_lu_27)))))))).
