(** Quantifications on both sides of a relation *)
    Definition bisimulation R := simulation  TX TY R /\ simulation TY TX (trans R).Definition expansion    R := expansion1  TX TY R /\ simulation TY TX (trans R).Definition wexpansion   R := wexpansion1 TX TY R /\ simulation TY TX (trans R).(** Definition of the co-inductive relations as `greatest relations such that' *)
    Definition bisim   := union_st bisimulation.Definition expand  := union_st expansion.Definition wexpand := union_st wexpansion.

(* Specifications: *)
Lemma bisimulation_bisim: bisimulation bisim.
Lemma expansion_expand: expansion expand.
Lemma wexpansion_wexpand: wexpansion wexpand.
Lemma expand_wexpand: incl expand wexpand.
Lemma wexpand_bisim: incl wexpand bisim.
Lemma simulation_comp: simulation TX TY R -> simulation TY TZ S -> simulation TX TZ (comp R S).
Lemma expansion1_comp: expansion1 TX TY R -> expansion1 TY TZ S -> expansion1 TX TZ (comp R S).
Lemma wexpansion1_comp: wexpansion1 TX TY R -> wexpansion1 TY TZ S -> wexpansion1 TX TZ (comp R S).
Lemma bisimulation_comp: bisimulation TX TY R -> bisimulation TY TZ S -> bisimulation TX TZ (comp R S).
Lemma expansion_comp: expansion TX TY R -> expansion TY TZ S -> expansion TX TZ (comp R S).
Lemma wexpansion_comp: wexpansion TX TY R -> wexpansion TY TZ S -> wexpansion TX TZ (comp R S).
Lemma bisim_sym: symmetric (bisim TX TX).
Lemma bisim_refl: reflexive (bisim TX TX).
Lemma bisim_trans: transitive (bisim TX TX).