Notation coherent := (Coh W).Definition always A s (p : proc A) P := forall scs, always_sc s p scs P.

(* Specifications: *)
Lemma alw_safe' A s (p : proc A) sc scs P : always_sc s p (sc :: scs) P -> safe p sc s.
Lemma alw_safe A s (p : proc A) P : always s p P -> forall sc, safe p sc s.
Lemma alw_refl' A s (p : proc A) sc P : always_sc s p sc P -> P s p.
Lemma alw_refl A s (p : proc A) P : always s p P -> P s p.
Lemma alw_envs' A s1 (p : proc A) scs s2 P : always_sc s1 p scs P -> network_rely W this s1 s2 -> always_sc s2 p scs P.
Lemma alw_envs A s1 (p : proc A) s2 P : always s1 p P -> network_rely W this s1 s2 -> always s2 p P.
Lemma alw_step A s1 (p : proc A) sc s2 q P : always s1 p P -> pstep s1 p sc s2 q -> always s2 q P.
Lemma alwp_envsq A s1 (p1 : proc A) scs (P : _ -> _ -> Prop) : always_sc s1 p1 scs P -> always_sc s1 p1 scs (fun s2 p2 => forall s3, network_rely W this s2 s3 -> P s3 p2).
Lemma alw_envsq A s1 (p1 : proc A) (P : _ -> _ -> Prop) : always s1 p1 P -> always s1 p1 (fun s2 p2 => forall s3, network_rely W this s2 s3 -> P s3 p2).