fact: Definition interf := (fix aux1 (l1 l2 : list A) {struct l1} : list A := match l1, l2 with | a :: t1, b :: t2 => match ltADec a b with | inleft (left _) => aux1 t1 (b :: t2) | inleft (right _) => (fix aux2 (l3 : list A) : list A := match l3 with | c :: t3 => match ltADec a c with | inleft (left _) => aux1 t1 (c :: t3) | inleft (right _) => aux2 t3 | inright _ => a :: aux1 t1 t3 end | nil => nil end) (b :: t2) | inright _ => a :: aux1 t1 t2 end | nil, _ => nil | _, nil => nil end).
imports: Coq(Arith) Coq(Lexicographic_Exponentiation)