%   ORIGINAL: h4/path/mem__thm_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/TRUTH: T
% Assm: h4/bool/IMP__ANTISYM__AX: !t2 t1. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 <=> t2)
% Assm: h4/bool/REFL__CLAUSE: !x. x = x <=> T
% Assm: h4/bool/EQ__SYM__EQ: !y x. x = y <=> y = x
% Assm: h4/bool/EXISTS__OR__THM: !Q P. (?x. P x \/ Q x) <=> (?x. P x) \/ (?x. Q x)
% Assm: h4/bool/LEFT__EXISTS__AND__THM: !Q P. (?x. P x /\ Q) <=> (?x. P x) /\ Q
% Assm: h4/bool/RIGHT__AND__OVER__OR: !C B A. (B \/ C) /\ A <=> B /\ A \/ C /\ A
% Assm: h4/bool/UNWIND__THM2: !a P. (?x. x = a /\ P x) <=> P a
% Assm: h4/pred__set/IN__INSERT: !y x s. h4/bool/IN x (h4/pred__set/INSERT y s) <=> x = y \/ h4/bool/IN x s
% Assm: h4/pred__set/IN__IMAGE: !y s f. h4/bool/IN y (h4/pred__set/IMAGE f s) <=> (?x. y = f x /\ h4/bool/IN x s)
% Assm: h4/path/first__thm_c1: !x r p. h4/path/first (h4/path/pcons x r p) = x
% Assm: h4/path/tail__def: !x r p. h4/path/tail (h4/path/pcons x r p) = p
% Assm: h4/path/el__def_c0: !p. h4/path/el h4/num/0 p = h4/path/first p
% Assm: h4/path/el__def_c1: !p n. h4/path/el (h4/num/SUC n) p = h4/path/el n (h4/path/tail p)
% Assm: h4/path/PL__thm_c1: !x r q. h4/path/PL (h4/path/pcons x r q) = h4/pred__set/INSERT h4/num/0 (h4/pred__set/IMAGE h4/num/SUC (h4/path/PL q))
% Assm: h4/path/mem__def: !s p. h4/path/mem s p <=> (?i. h4/bool/IN i (h4/path/PL p) /\ s = h4/path/el i p)
% Goal: !x s r p. h4/path/mem s (h4/path/pcons x r p) <=> s = x \/ h4/path/mem s p
%   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_REFLu_u_CLAUSE]: !x. x = x <=> T
% Assm [h4s_bools_EQu_u_SYMu_u_EQ]: !y x. x = y <=> y = x
% Assm [h4s_bools_EXISTSu_u_ORu_u_THM]: !Q P. (?x. happ P x \/ happ Q x) <=> (?x. happ P x) \/ (?x. happ Q 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_RIGHTu_u_ANDu_u_OVERu_u_OR]: !C B A. (B \/ C) /\ A <=> B /\ A \/ C /\ A
% Assm [h4s_bools_UNWINDu_u_THM2]: !a P. (?x. x = a /\ happ P x) <=> happ P a
% Assm [h4s_predu_u_sets_INu_u_INSERT]: !y x s. h4/bool/IN x (h4/pred__set/INSERT y s) <=> x = y \/ h4/bool/IN x s
% Assm [h4s_predu_u_sets_INu_u_IMAGE]: !y s f. h4/bool/IN y (h4/pred__set/IMAGE f s) <=> (?x. y = happ f x /\ h4/bool/IN x s)
% Assm [h4s_paths_firstu_u_thmu_c1]: !x r p. h4/path/first (h4/path/pcons x r p) = x
% Assm [h4s_paths_tailu_u_def]: !x r p. h4/path/tail (h4/path/pcons x r p) = p
% Assm [h4s_paths_elu_u_defu_c0]: !p. h4/path/el h4/num/0 p = h4/path/first p
% Assm [h4s_paths_elu_u_defu_c1]: !p n. h4/path/el (happ h4/num/SUC n) p = h4/path/el n (h4/path/tail p)
% Assm [h4s_paths_PLu_u_thmu_c1]: !x r q. h4/path/PL (h4/path/pcons x r q) = h4/pred__set/INSERT h4/num/0 (h4/pred__set/IMAGE h4/num/SUC (h4/path/PL q))
% Assm [h4s_paths_memu_u_def]: !s p. h4/path/mem s p <=> (?i. h4/bool/IN i (h4/path/PL p) /\ s = h4/path/el i p)
% Goal: !x s r p. h4/path/mem s (h4/path/pcons x r p) <=> s = x \/ h4/path/mem s p
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_Q142131,TV_Q142127]: ![V_f, V_g]: (![V_x]: s(TV_Q142127,happ(s(t_fun(TV_Q142131,TV_Q142127),V_f),s(TV_Q142131,V_x))) = s(TV_Q142127,happ(s(t_fun(TV_Q142131,TV_Q142127),V_g),s(TV_Q142131,V_x))) => s(t_fun(TV_Q142131,TV_Q142127),V_f) = s(t_fun(TV_Q142131,TV_Q142127),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_REFLu_u_CLAUSE, axiom, ![TV_u_27a]: ![V_x]: (s(TV_u_27a,V_x) = s(TV_u_27a,V_x) <=> p(s(t_bool,t)))).
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_EXISTSu_u_ORu_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,happ(s(t_fun(TV_u_27a,t_bool),V_Q),s(TV_u_27a,V_x))))) <=> (?[V_x]: p(s(t_bool,happ(s(t_fun(TV_u_27a,t_bool),V_P),s(TV_u_27a,V_x)))) | ?[V_x]: p(s(t_bool,happ(s(t_fun(TV_u_27a,t_bool),V_Q),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_RIGHTu_u_ANDu_u_OVERu_u_OR, axiom, ![V_C, V_B, V_A]: (((p(s(t_bool,V_B)) | p(s(t_bool,V_C))) & p(s(t_bool,V_A))) <=> ((p(s(t_bool,V_B)) & p(s(t_bool,V_A))) | (p(s(t_bool,V_C)) & p(s(t_bool,V_A)))))).
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_predu_u_sets_INu_u_INSERT, axiom, ![TV_u_27a]: ![V_y, V_x, V_s]: (p(s(t_bool,h4s_bools_in(s(TV_u_27a,V_x),s(t_fun(TV_u_27a,t_bool),h4s_predu_u_sets_insert(s(TV_u_27a,V_y),s(t_fun(TV_u_27a,t_bool),V_s)))))) <=> (s(TV_u_27a,V_x) = s(TV_u_27a,V_y) | p(s(t_bool,h4s_bools_in(s(TV_u_27a,V_x),s(t_fun(TV_u_27a,t_bool),V_s))))))).
fof(ah4s_predu_u_sets_INu_u_IMAGE, axiom, ![TV_u_27b,TV_u_27a]: ![V_y, V_s, V_f]: (p(s(t_bool,h4s_bools_in(s(TV_u_27b,V_y),s(t_fun(TV_u_27b,t_bool),h4s_predu_u_sets_image(s(t_fun(TV_u_27a,TV_u_27b),V_f),s(t_fun(TV_u_27a,t_bool),V_s)))))) <=> ?[V_x]: (s(TV_u_27b,V_y) = s(TV_u_27b,happ(s(t_fun(TV_u_27a,TV_u_27b),V_f),s(TV_u_27a,V_x))) & p(s(t_bool,h4s_bools_in(s(TV_u_27a,V_x),s(t_fun(TV_u_27a,t_bool),V_s))))))).
fof(ah4s_paths_firstu_u_thmu_c1, axiom, ![TV_u_27b,TV_u_27a]: ![V_x, V_r, V_p]: s(TV_u_27a,h4s_paths_first(s(t_h4s_paths_path(TV_u_27a,TV_u_27b),h4s_paths_pcons(s(TV_u_27a,V_x),s(TV_u_27b,V_r),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p))))) = s(TV_u_27a,V_x)).
fof(ah4s_paths_tailu_u_def, axiom, ![TV_u_27a,TV_u_27b]: ![V_x, V_r, V_p]: s(t_h4s_paths_path(TV_u_27a,TV_u_27b),h4s_paths_tail(s(t_h4s_paths_path(TV_u_27a,TV_u_27b),h4s_paths_pcons(s(TV_u_27a,V_x),s(TV_u_27b,V_r),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p))))) = s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p)).
fof(ah4s_paths_elu_u_defu_c0, axiom, ![TV_u_27a,TV_u_27b]: ![V_p]: s(TV_u_27a,h4s_paths_el(s(t_h4s_nums_num,h4s_nums_0),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p))) = s(TV_u_27a,h4s_paths_first(s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p)))).
fof(ah4s_paths_elu_u_defu_c1, axiom, ![TV_u_27a,TV_u_27b]: ![V_p, V_n]: s(TV_u_27a,h4s_paths_el(s(t_h4s_nums_num,happ(s(t_fun(t_h4s_nums_num,t_h4s_nums_num),h4s_nums_suc),s(t_h4s_nums_num,V_n))),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p))) = s(TV_u_27a,h4s_paths_el(s(t_h4s_nums_num,V_n),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),h4s_paths_tail(s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p)))))).
fof(ah4s_paths_PLu_u_thmu_c1, axiom, ![TV_u_27a,TV_u_27b]: ![V_x, V_r, V_q]: s(t_fun(t_h4s_nums_num,t_bool),h4s_paths_pl(s(t_h4s_paths_path(TV_u_27a,TV_u_27b),h4s_paths_pcons(s(TV_u_27a,V_x),s(TV_u_27b,V_r),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_q))))) = s(t_fun(t_h4s_nums_num,t_bool),h4s_predu_u_sets_insert(s(t_h4s_nums_num,h4s_nums_0),s(t_fun(t_h4s_nums_num,t_bool),h4s_predu_u_sets_image(s(t_fun(t_h4s_nums_num,t_h4s_nums_num),h4s_nums_suc),s(t_fun(t_h4s_nums_num,t_bool),h4s_paths_pl(s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_q)))))))).
fof(ah4s_paths_memu_u_def, axiom, ![TV_u_27a,TV_u_27b]: ![V_s, V_p]: (p(s(t_bool,h4s_paths_mem(s(TV_u_27a,V_s),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p)))) <=> ?[V_i]: (p(s(t_bool,h4s_bools_in(s(t_h4s_nums_num,V_i),s(t_fun(t_h4s_nums_num,t_bool),h4s_paths_pl(s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p)))))) & s(TV_u_27a,V_s) = s(TV_u_27a,h4s_paths_el(s(t_h4s_nums_num,V_i),s(t_h4s_paths_path(TV_u_27a,TV_u_27b),V_p)))))).
fof(ch4s_paths_memu_u_thmu_c1, conjecture, ![TV_u_27c,TV_u_27d]: ![V_x, V_s, V_r, V_p]: (p(s(t_bool,h4s_paths_mem(s(TV_u_27c,V_s),s(t_h4s_paths_path(TV_u_27c,TV_u_27d),h4s_paths_pcons(s(TV_u_27c,V_x),s(TV_u_27d,V_r),s(t_h4s_paths_path(TV_u_27c,TV_u_27d),V_p)))))) <=> (s(TV_u_27c,V_s) = s(TV_u_27c,V_x) | p(s(t_bool,h4s_paths_mem(s(TV_u_27c,V_s),s(t_h4s_paths_path(TV_u_27c,TV_u_27d),V_p))))))).
