Section Programs.
Variable this : nid.
Variable W : world.
Variable A : Type.
Notation coherent := (Coh W).
Arguments Prog [W A].
Arguments Prog [W A this].
Coercion set_of : prog >-> Funclass.
Canonical prog_PredType W A := mkPredType (fun p => @set_of W A this p).

Lemma progE (T1 T2 : prog W A this) :
T1 = T2 <-> set_of T1 = set_of T2.