Commit 405eec83 by Christian Müller

### fix a few things

parent 9a99c60c
 Workflow forallmay x:A,p:P True → Conf += (x,p) forallmay x:A,p:P !Conf(x,p) → Assign += (x,p) forall x:A,p:P,r:R (Assign(x,p) ∧ Oracle(x,p,r)) → Review += (x,p,r) loop { forall xa:A,xb:A,p:P,r:R (Assign(xa,p) ∧ Review(xb,p,r)) → Read += (xa,xb,p,r) forallmay x:A,p:P,r:R (Assign(x,p)) → Review += (x,p,r) } Declassify Oracle(x:A,p:P,r:R): ¬ Conf(xat:A,p:P) Target Read(xat:A, xbt:A, pt:P, rt:R)
This diff is collapsed.
 Name: nonomitting/conference Description: alleq Invariant: ∀ xat:A,xbt:A,pt:P,rt:R. (Read(t1)(xat,xbt,pt,rt) ↔ eq()) Model: causal Result: not inductive WF size: 6 Time: 3813 ms Proof steps: 14 Strengthenings: 9 Largest Inv: 1455 Average Inv: 599 \ No newline at end of file
 digraph "Invariant Labelling" { 3 [label = "Node 3: ∀ xat:A,xbt:A,pt:P,rt:R. (Read(t1)(xat,xbt,pt,rt) ↔ eq())"] 0 [label = "Node 0: True"] 3 -> 5 [label = "forall xa:A,xb:A,p:P,r:R Assign(xa,p) ∧ Review(xb,p,r) → Read += (xa,xb,p,r);", color = red] 3 -> 4 [label = "forall ", color = red] 2 -> 3 [label = "forall x:A,p:P,r:R Assign(x,p) ∧ Oracle(x,p,r) → Review += (x,p,r);", color = red] 4 [label = "Node 4: ∀ xat:A,xbt:A,pt:P,rt:R. (Read(t1)(xat,xbt,pt,rt) ↔ eq())"] 5 -> 3 [label = "forall x:A,p:P,r:R may (Some(choice2)) Assign(x,p) → Review += (x,p,r);", color = red] 1 -> 2 [label = "forall x:A,p:P may (Some(choice1)) ¬ Conf(x,p) → Assign += (x,p);", color = red] 0 -> 1 [label = "forall x:A,p:P may (Some(choice0)) True → Conf += (x,p);", color = red] 1 [label = "Node 1: True"] 4 -> 4 [label = "forall ", color = red] 2 [label = "Node 2: True"] 5 [label = "Node 5: ∀ xat:A,xbt:A,pt:P,rt:R. (Read(t1)(xat,xbt,pt,rt) ↔ eq())"] } \ No newline at end of file

89.2 KB

 digraph "Invariant Labelling" { 3 [label = "Node 3: ∀ xat:A,xbt:A,pt:P,rt:R. (Read(t1)(xat,xbt,pt,rt) ↔ eq())"] 0 [label = "Node 0: True"] 5 -> 3 [label = "forall x:A,p:P,r:R may (Some(choice2)) Assign(x,p) → Review += (x,p,r);", color = green] 3 -> 5 [label = "forall xa:A,xb:A,p:P,r:R Assign(xa,p) ∧ Review(xb,p,r) → Read += (xa,xb,p,r);", color = red] 3 -> 4 [label = "forall ", color = red] 2 -> 3 [label = "forall x:A,p:P,r:R Assign(x,p) ∧ Oracle(x,p,r) → Review += (x,p,r);", color = red] 4 [label = "Node 4: ∀ xat:A,xbt:A,pt:P,rt:R. (Read(t1)(xat,xbt,pt,rt) ↔ eq())"] 1 -> 2 [label = "forall x:A,p:P may (Some(choice1)) ¬ Conf(x,p) → Assign += (x,p);", color = red] 0 -> 1 [label = "forall x:A,p:P may (Some(choice0)) True → Conf += (x,p);", color = red] 1 [label = "Node 1: True"] 4 -> 4 [label = "forall ", color = red] 2 [label = "Node 2: True"] 5 [label = "Node 5: ∀ xat:A,xbt:A,pt:P,rt:R. (Read(t1)(xat,xbt,pt,rt) ↔ eq())"] } \ No newline at end of file

89.4 KB

271 KB

273 KB

368 KB