Get the latest tech news

Nondeterminism in Formal Specification


Just an unordered collections of thoughts on this. In programming languages, nondeterminism tends to come from randomness, concurrency, or external forces...

When the model checker tries to evaluate AttemptLogin, it will branch and create separate checking executions for picking Login or RejectLogin. Leslie Lamport (the inventor of TLA+) calls these kinds of helpers prophecy variables, because they "predict" what nondeterministic action the system will take. If I don't have something I can readily turn into a Leanpub early-access by then, I will give $1k to a random newsletter subscriber (or donate it to a charity of their choice).

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Formal Specification

Formal Specification

Photo of Nondeterminism

Nondeterminism