Definition sharedSrc mu b :=
    match shared_of mu b
    with Some _ => true | None => false
    end.

(* Specifications: *)
Lemma sharedSrc_iff: forall mu b, sharedSrc mu b = true <-> exists b2 d, shared_of mu b = Some(b2,d).
Lemma pubSrc_shared: forall mu (WD: SM_wd mu) b, pubBlocksSrc mu b = true -> sharedSrc mu b = true.
Lemma frgnSrc_shared: forall mu (WD: SM_wd mu) b, frgnBlocksSrc mu b = true -> sharedSrc mu b = true.
Lemma sharedSrc_iff_frgnpub: forall mu (WD: SM_wd mu), sharedSrc mu = fun b => orb (frgnBlocksSrc mu b) (pubBlocksSrc mu b).
Lemma sharedSrc_iff: forall mu b, sharedSrc mu b = true <-> exists b2 d, shared_of mu b = Some(b2,d).
Lemma pubSrc_shared: forall mu (WD: SM_wd mu) b, pubBlocksSrc mu b = true -> sharedSrc mu b = true.
Lemma frgnSrc_shared: forall mu (WD: SM_wd mu) b, frgnBlocksSrc mu b = true -> sharedSrc mu b = true.
Lemma sharedSrc_iff_frgnpub: forall mu (WD: SM_wd mu), sharedSrc mu = fun b => orb (frgnBlocksSrc mu b) (pubBlocksSrc mu b).