Definition extern_incr (mu mu': SM_Injection): Prop :=
inject_incr (extern_of mu) (extern_of mu') /\
(local_of mu = local_of mu') /\
(forall b, extBlocksSrc mu b = true -> extBlocksSrc mu' b = true) /\
(forall b, extBlocksTgt mu b = true -> extBlocksTgt mu' b = true) /\
(locBlocksSrc mu = locBlocksSrc mu') /\
(locBlocksTgt mu = locBlocksTgt mu') /\
(pubBlocksSrc mu = pubBlocksSrc mu') /\
(pubBlocksTgt mu = pubBlocksTgt mu') /\
(frgnBlocksSrc mu = frgnBlocksSrc mu') /\
(frgnBlocksTgt mu = frgnBlocksTgt mu').

(* Specifications: *)
Lemma extern_incr_locBlocksSrc mu mu':
extern_incr mu mu' ->
locBlocksSrc mu = locBlocksSrc mu'.
Lemma extern_incr_DOM:
forall mu mu' (Inc: extern_incr mu mu') b,
DOM mu b -> DOM mu' b.
Lemma extern_incr_RNG:
forall mu mu' (Inc: extern_incr mu mu') b,
RNG mu b -> RNG mu' b.
Lemma extern_incr_foreign_inc: forall mu mu' (INC: extern_incr mu mu'),
inject_incr (foreign_of mu) (foreign_of mu').
Lemma extern_incr_foreign: forall mu mu' (INC: extern_incr mu mu') (WDmu: SM_wd mu),
foreign_of mu = foreign_of mu'.
Lemma extern_incr_pub: forall mu mu' (INC: extern_incr mu mu'),
pub_of mu = pub_of mu'.
Lemma extern_incr_priv: forall mu mu' (INC: extern_incr mu mu'),
priv_of mu = priv_of mu'.
Lemma extern_incr_DomSrc:
forall mu mu' (Inc: extern_incr mu mu') b,
DomSrc mu b = true -> DomSrc mu' b = true.
Lemma extern_incr_DOM:
forall mu mu' (Inc: extern_incr mu mu') b,
DOM mu b -> DOM mu' b.
Lemma extern_incr_RNG:
forall mu mu' (Inc: extern_incr mu mu') b,
RNG mu b -> RNG mu' b.
Lemma extern_incr_frgnBlocksSrc: forall
mu nu (INC: extern_incr mu nu),
frgnBlocksSrc mu = frgnBlocksSrc nu.
Lemma extern_incr_foreign: forall mu mu' (INC: extern_incr mu mu') (WDmu: SM_wd mu),
foreign_of mu = foreign_of mu'.
Lemma extern_incr_pub: forall mu mu' (INC: extern_incr mu mu'),
pub_of mu = pub_of mu'.
Lemma extern_incr_priv: forall mu mu' (INC: extern_incr mu mu'),
priv_of mu = priv_of mu'.