A Logical Treatment of Finite Automata

Nishant Rodrigues and Mircea Sebe and Xiaohong Chen and Grigore Rosu
TACAS'24 ACM, April 2024
PDF BIB TACAS'24 Matching Logic in MM0

Abstract. We present a sound and complete axiomatization of finite words using matching logic. A unique feature of our axiomatization is that it gives a \emph{shallow embedding} of regular expressions into matching logic, and a \emph{logical} representation of finite automata. The semantics of both expressions and automata are precisely captured as matching logic formulae that evaluate to the corresponding language. Regular expressions are matching logic formulae \emph{as is}, while the embedding of automata is a \emph{structural analog}---computational aspects of automata are captured as syntactic features. We demonstrate that our axiomatization is sound and complete by showing that runs of Brzozowski's procedure for equivalence checking correspond to matching logic proofs. We propose this as a general methodology for producing machine-checkable formal proofs, enabled by capturing structural analogs of computational artifacts in logic. The proofs produced can be efficiently checked by the Metamath Zero verifier. Work presented in this paper contributes to the general scheme of achieving verifiable computing via logical methods, where computations are reduced to logical reasoning, encoded as machine-checkable proof objects, and checked by a trusted proof checker.