https://123dok.com/document/yrkm8m7z-formal-proof-correctness-construct-association-promela-java.html