-
Notifications
You must be signed in to change notification settings - Fork 210
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