[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,

Specification RG2+DF-Theory-Ext
enrich
   state, 
   nat

with
   

   
   
   
   predicates  Init : state;
               Inv : state;
               R1 : state × state;
               G1 : state × state;
               Pre1 : state × state;
               Post1 : state × state;
               Runs1 : state;
               R2 : state × state;
               G2 : state × state;
               Pre2 : state × state;
               Post2 : state × state;
               Runs2 : state;
   procedures Proc1  : state nonfunctional nondeterministic;
              Proc2  : state nonfunctional nondeterministic;
   variables  N : nat flexible;
   
   

   

   axioms init-ex :  ⊦ ∃ s. Init(s);
          init-pre-inv :  ⊦ Init(s) → Pre1(s, s) ∧ Pre2(s, s) ∧ Inv(s);
          pre1-stable-r1 :  ⊦ Pre1(s, s0) ∧ R1(s0, s1) → (¬ Pre1(s, s1) ↔ false);
          used for: s, ls;
          pre2-stable-r2 :  ⊦ Pre2(s, s0) ∧ R2(s0, s1) → (¬ Pre2(s, s1) ↔ false);
          used for: s, ls;
          post1-stable-r1 :  ⊦ Post1(s, s0) ∧ R1(s0, s1) → (¬ Post1(s, s1) ↔ false);
          used for: s, ls;
          post2-stable-r2 :  ⊦ Post2(s, s0) ∧ R2(s0, s1) → (¬ Post2(s, s1) ↔ false);
          used for: s, ls;
          g1-r2 :  ⊦ G1(s, s0) → (¬ R2(s, s0) ↔ false);
          used for: s, ls;
          g2-r1 :  ⊦ G2(s, s0) → (¬ R1(s, s0) ↔ false);
          used for: s, ls;
          r1-refl :  ⊦ R1(s, s);
          used for: s, ls;
          r2-refl :  ⊦ R2(s, s);
          used for: s, ls;
          r1-trans :  ⊦ R1(s, s0) ∧ R1(s0, s1) → (¬ R1(s, s1) ↔ false);
          used for: s, ls;
          r2-trans :  ⊦ R2(s, s0) ∧ R2(s0, s1) → (¬ R2(s, s1) ↔ false);
          used for: s, ls;
          inv-runs :  ⊦ Inv(s) → Runs1(s) ∨ Runs2(s);
          post1-runs2 :  ⊦ Post1(s, s0) → (¬ Runs2(s0) ↔ false);
          used for: s, ls;
          post2-runs1 :  ⊦ Post2(s, s0) → (¬ Runs1(s0) ↔ false);
          used for: s, ls;
          proc1-rg-totalcorr : Pre1(s, S), Inv(S) ⊦ ⟨:S | R1(S', S''), (G1(S, S') ∧ (Runs1(S) → ¬ blocked)), Inv(S), Proc1(; S)⟩ Post1(s, S);
          used for: tl;
          proc2-rg-totalcorr : Pre2(s, S), Inv(S) ⊦ ⟨:S | R2(S', S''), (G2(S, S') ∧ (Runs2(S) → ¬ blocked)), Inv(S), Proc2(; S)⟩ Post2(s, S);
          used for: tl;

   

   
end enrich