-
Notifications
You must be signed in to change notification settings - Fork 212
Open
Description
Examples/specifications/bcastByz/bcastByz.tla
Lines 173 to 176 in c993823
| (* This formula SpecNoBcast is used to only check Unforgeability. | |
| No fairness is needed, as Unforgeability is a safety property. | |
| *) | |
| SpecNoBcast == InitNoBcast /\ [][Next]_vars |
Examples/specifications/bcastByz/bcastByz.tla
Lines 210 to 222 in c993823
| (* If a correct process broadcasts, then every correct process eventually accepts. *) | |
| CorrLtl == (\A i \in Corr: pc[i] = "V1") => <>(\A i \in Corr: pc[i] = "AC") | |
| (* If a correct process accepts, then every correct process accepts. *) | |
| RelayLtl == []((\E i \in Corr: pc[i] = "AC") => <>(\A i \in Corr: pc[i] = "AC")) | |
| (* If no correct process don't broadcast ECHO messages then no correct processes accept. *) | |
| UnforgLtl == (\A i \in Corr: pc[i] = "V0") => [](\A i \in Corr: pc[i] /= "AC") | |
| (* The special case of the unforgeability property. When our algorithms start with InitNoBcast, | |
| we can rewrite UnforgLtl as a first-order formula. | |
| *) | |
| Unforg == (\A i \in Proc: i \in Corr => (pc[i] /= "AC")) |
| PROPERTIES CorrLtl RelayLtl |
Metadata
Metadata
Assignees
Labels
No labels