[Imprint][Data Privacy Statement][E-Mail]
Back to main index.
View the specification.
View theorem base summary,
View theorem base listing,
the used properties by spec,
the dependency list,
the symbol table,
enrich MeydenTrans with
comment: Test to connect language based NIF with purge for the transitive case.
This requires that all names have a domain and a stronger notion of observe
(or a weaker notion of language based NIF, see below).
no-read-up and no-write-down are not needed which is somewhat strange.;
functions
cdom : name → secdomain;
predicates
eqlb : systemstate × secdomain × systemstate;
axioms
no-read-up : ⊦ observe(nam, d) → cdom(nam) ⇒ d;
no-write-down : ⊦ alter(nam, d) → d ⇒ cdom(nam);
observe-all-names : ⊦ cdom(nam) ⇒ d → observe(nam, d);
comment: this is the stronger version of observe.;
eqlb-def : ⊦ eqlb(sys, d, sys0) ↔ (∀ nam. cdom(nam) ⇒ d → contents(sys, nam) = contents(sys0, nam));
LanguageBasedNIF-run
: ∀ nam. cdom(nam) ⇒ d → contents(sys, nam) = contents(sys0, nam)
⊦
∀ nam. cdom(nam) ⇒ d → contents(run(sys, cl), nam) = contents(run(sys0, cl), nam);
used for : theorem;
LanguageBasedNIF-observe-run : eqd(sys, d, sys0) ⊦ ∀ nam. observe(nam, d) → contents(run(sys, cl), nam) = contents(run(sys0, cl), nam);
comment: holds without observe-all-names.;
used for : theorem;
eqd-implies-lbnif : eqd(sys, d, sys0) ⊦ ∀ nam. cdom(nam) ⇒ d → contents(sys, nam) = contents(sys0, nam);
used for : theorem;
obs-implies-lbnif : obs(sys, d) = obs(sys0, d) ⊦ ∀ nam. cdom(nam) ⇒ d → contents(sys, nam) = contents(sys0, nam);
used for : theorem;
obs-implies-lbnif-weaker : obs(sys, d) = obs(sys0, d) ⊦ ∀ nam. cdom(nam) ⇒ d ∧ observe(nam, d) → contents(sys, nam) = contents(sys0, nam);
used for : theorem;
end enrich