(******************************************)
(** * Membership as shifted bisimilarity  *)
(******************************************)

(** A pointed graph (X, A, a) represents an element of a pointed graph
    (Y, B, b) if there is a vertex b':Y one edge below the root b such
    that the pointed graphs (X, A, a) and (Y, B, b') are bisimilar.

    This relation is impredicatively encoded as follows: *)

Definition ELT (X : Typ1) (A : Rel X) (a : X) (Y : Typ1) 
  (B : Rel Y) (b : Y) : Prop :=
  forall E : Prop, (forall b' : Y, B b' b -> EQV X A a Y B b' -> E) -> E.

(* Specifications: *)
Lemma ELT_intro : forall (X : Typ1) (A : Rel X) (a : X) (Y : Typ1) (B : Rel Y) (b b' : Y), B b' b -> EQV X A a Y B b' -> ELT X A a Y B b.
Lemma ELT_direct : forall (X : Typ1) (A : Rel X) (a a' : X), A a' a -> ELT X A a' X A a.
Lemma ELT_compat_l : forall (X : Typ1) (A : Rel X) (a : X) (Y : Typ1) (B : Rel Y) (b : Y) (Z : Typ1) (C : Rel Z) (c : Z), EQV X A a Y B b -> ELT Y B b Z C c -> ELT X A a Z C c.
Lemma ELT_compat_r : forall (X : Typ1) (A : Rel X) (a : X) (Y : Typ1) (B : Rel Y) (b : Y) (Z : Typ1) (C : Rel Z) (c : Z), ELT X A a Y B b -> EQV Y B b Z C c -> ELT X A a Z C c.