tags : Math, Concurrency, Algorithms

Intro

  • Different formalisms often have different ergonomics when it comes to different particular systems and properties, and the matter of personal aesthetic preference also plays a big role.
  • At the end of the day, many those formalisms have similar expressivity (i.e., they can describe roughly the same set of systems and the same set of properties)

Theorem Provers and Formal Spec Tools

  • Formal Logic : formal specification (description) + formal proof
  • Writing formal specification is different skillset from writing formal proofs.
  • You can write formal specification without knowing how to write formal proof
NameType
AlloySpec Tool
TLA+Spec Tool
Z3Model Checker
LeanProof Writing
CoqProof Writing
IsablleProof Writing

Formal specification first

Temporal Logic of Action(TLA+)

Alloy

Proof writing first

Lean and Coq are based on Lambda calculus

Lean

Coq

Model Checkers

SMT Solvers

Satisfiability Modulo Theories Solver

Z3

Resources