Definition sizel3
  (m : list (Term A n) * (list (Term A n) * list (Term A n))) :=
  match m with
  | (l1, (l2, l3)) => size l1 + (size l2 + size l3)
  end.Definition lessP3
  (m1 m2 : list (Term A n) * (list (Term A n) * list (Term A n))) :=
  sizel3 m1 < sizel3 m2.

Lemma wf_lessP3 : well_founded lessP3.