(*  a -->  b -->* c    d - by prior lemma |      |      |    e - by induction. v      v      v *      *      * a2 --> d -->* e  *)

Lemma join_symmetry: forall S D a b, joins S D a b -> joins S D b a.
Definition extends (G G2 : context) := exists G1, G = G1 ++ G2.