%   ORIGINAL: h4/patricia/PEEK__INSERT__PTREE
% 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/one/one1: !v. v = h4/one/one0
% Assm: h4/patricia/PEEK__ADD: !t k j d. h4/patricia/IS__PTREE t ==> h4/patricia/PEEK (h4/patricia/ADD t (h4/pair/_2C k d)) j = h4/bool/COND (k = j) (h4/option/SOME d) (h4/patricia/PEEK t j)
% Assm: h4/patricia/ADD__INSERT: !v t n. h4/patricia/ADD t (h4/pair/_2C n v) = h4/patricia/INSERT__PTREE n t
% Goal: !t k j. h4/patricia/IS__PTREE t ==> h4/patricia/PEEK (h4/patricia/INSERT__PTREE k t) j = h4/bool/COND (k = j) (h4/option/SOME h4/one/one0) (h4/patricia/PEEK t j)
%   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_ones_one1]: !v. v = h4/one/one0
% Assm [h4s_patricias_PEEKu_u_ADD]: !t k j d. h4/patricia/IS__PTREE t ==> (?v. (v <=> k = j) /\ h4/patricia/PEEK (h4/patricia/ADD t (h4/pair/_2C k d)) j = h4/bool/COND v (h4/option/SOME d) (h4/patricia/PEEK t j))
% Assm [h4s_patricias_ADDu_u_INSERT]: !v t n. h4/patricia/ADD t (h4/pair/_2C n v) = h4/patricia/INSERT__PTREE n t
% Goal: !t k j. h4/patricia/IS__PTREE t ==> (?v. (v <=> k = j) /\ h4/patricia/PEEK (h4/patricia/INSERT__PTREE k t) j = h4/bool/COND v (h4/option/SOME h4/one/one0) (h4/patricia/PEEK t j))
fof(aHLu_TRUTH, axiom, p(s(t_bool,t0))).
fof(aHLu_FALSITY, axiom, ~ (p(s(t_bool,f)))).
fof(aHLu_BOOLu_CASES, axiom, ![V_t]: (s(t_bool,V_t) = s(t_bool,t0) | s(t_bool,V_t) = s(t_bool,f))).
fof(aHLu_EXT, axiom, ![TV_Q287047,TV_Q287043]: ![V_f, V_g]: (![V_x]: s(TV_Q287043,happ(s(t_fun(TV_Q287047,TV_Q287043),V_f),s(TV_Q287047,V_x))) = s(TV_Q287043,happ(s(t_fun(TV_Q287047,TV_Q287043),V_g),s(TV_Q287047,V_x))) => s(t_fun(TV_Q287047,TV_Q287043),V_f) = s(t_fun(TV_Q287047,TV_Q287043),V_g))).
fof(ah4s_ones_one1, axiom, ![V_v]: s(t_h4s_ones_one,V_v) = s(t_h4s_ones_one,h4s_ones_one0)).
fof(ah4s_patricias_PEEKu_u_ADD, axiom, ![TV_u_27a]: ![V_t, V_k, V_j, V_d]: (p(s(t_bool,h4s_patricias_isu_u_ptree(s(t_h4s_patricias_ptree(TV_u_27a),V_t)))) => ?[V_v]: ((p(s(t_bool,V_v)) <=> s(t_h4s_nums_num,V_k) = s(t_h4s_nums_num,V_j)) & s(t_h4s_options_option(TV_u_27a),h4s_patricias_peek(s(t_h4s_patricias_ptree(TV_u_27a),h4s_patricias_add(s(t_h4s_patricias_ptree(TV_u_27a),V_t),s(t_h4s_pairs_prod(t_h4s_nums_num,TV_u_27a),h4s_pairs_u_2c(s(t_h4s_nums_num,V_k),s(TV_u_27a,V_d))))),s(t_h4s_nums_num,V_j))) = s(t_h4s_options_option(TV_u_27a),h4s_bools_cond(s(t_bool,V_v),s(t_h4s_options_option(TV_u_27a),h4s_options_some(s(TV_u_27a,V_d))),s(t_h4s_options_option(TV_u_27a),h4s_patricias_peek(s(t_h4s_patricias_ptree(TV_u_27a),V_t),s(t_h4s_nums_num,V_j)))))))).
fof(ah4s_patricias_ADDu_u_INSERT, axiom, ![V_v, V_t, V_n]: s(t_h4s_patricias_ptree(t_h4s_ones_one),h4s_patricias_add(s(t_h4s_patricias_ptree(t_h4s_ones_one),V_t),s(t_h4s_pairs_prod(t_h4s_nums_num,t_h4s_ones_one),h4s_pairs_u_2c(s(t_h4s_nums_num,V_n),s(t_h4s_ones_one,V_v))))) = s(t_h4s_patricias_ptree(t_h4s_ones_one),h4s_patricias_insertu_u_ptree(s(t_h4s_nums_num,V_n),s(t_h4s_patricias_ptree(t_h4s_ones_one),V_t)))).
fof(ch4s_patricias_PEEKu_u_INSERTu_u_PTREE, conjecture, ![V_t, V_k, V_j]: (p(s(t_bool,h4s_patricias_isu_u_ptree(s(t_h4s_patricias_ptree(t_h4s_ones_one),V_t)))) => ?[V_v]: ((p(s(t_bool,V_v)) <=> s(t_h4s_nums_num,V_k) = s(t_h4s_nums_num,V_j)) & s(t_h4s_options_option(t_h4s_ones_one),h4s_patricias_peek(s(t_h4s_patricias_ptree(t_h4s_ones_one),h4s_patricias_insertu_u_ptree(s(t_h4s_nums_num,V_k),s(t_h4s_patricias_ptree(t_h4s_ones_one),V_t))),s(t_h4s_nums_num,V_j))) = s(t_h4s_options_option(t_h4s_ones_one),h4s_bools_cond(s(t_bool,V_v),s(t_h4s_options_option(t_h4s_ones_one),h4s_options_some(s(t_h4s_ones_one,h4s_ones_one0))),s(t_h4s_options_option(t_h4s_ones_one),h4s_patricias_peek(s(t_h4s_patricias_ptree(t_h4s_ones_one),V_t),s(t_h4s_nums_num,V_j)))))))).
