Instance list_PCM (P : Ghost) : Ghost := { valid a := True; Join_G := list_join }.

Lemma list_join_app : forall {P : Ghost} l1 l2 m1 m2 n1 n2,
length l1 = length m1 -> length l1 = length n1 ->
list_join l1 m1 n1 -> list_join l2 m2 n2 ->
list_join (l1 ++ l2) (m1 ++ m2) (n1 ++ n2).