Goal:
  
  A : Type
  H : ReflectEq A
  a1 : A
  l1 : list A
  a2 : A
  l2 : list A
  prefix : list A
  l1' : list A
  l2' : list A
  Heq : split_prefix l1 l2 = (prefix, l1', l2')
  Hind : ∀ l : list A,
           is_prefix l l1
           → is_prefix l l2 → is_prefix l (fst (fst (split_prefix l1 l2)))
  Heq0 : (a1 == a2) = true
  l : list A
  _x_ : list A
  pr1 : is_prefix _x_ l1
  eqa : a1 = a2
  pr2 : is_prefix _x_ l2
  _a_ : list A
  _b_ : list A
  _b1_ : list A
  ============================
   (l1' = _b_
    → l2' = _b1_
      → is_prefix _x_ (fst (fst (_a_, _b_, _b1_))) → is_prefix _x_ _a_)


DEBUG:Going to execute:
trivial; hnf; intros