We describe the mechanisation of an SLR parser produced by a parser generator, covering background properties of context-free languages and grammars, as well as the construction of an SLR automaton. Among the various properties proved about the parser we show, in particular, soundness: if the parser results in a parse tree on a given input, then the parse… (More)

We describe the mechanisation of some foundational results in the theory of context-free languages (CFLs), using the HOL4 system. We focus on push-down automata (PDAs). We show that two standard acceptance criteria for PDAs (“accept-by-empty-stack” and “accept-by-finalstate”) are equivalent in power. We are then able to show that the pushdown automata… (More)

We provide a formalisation of the theory of pushdown automata (PDAs) using the HOL4 theorem prover. It illustrates how provers such as HOL can be used for mechanising complicated proofs, but also how intensive such a process can turn out to be. The proofs blow up in size in way difficult to predict from examining original textbook presentations. Even a… (More)

The product of interactive theorem proving in an LCF-style prover such as the HOL system is an ML script that can be replayed as required. This paper describes an extension to the standard HOL system architecture whereby such replays may be executed in less time than is currently the norm. The savings, however, depend on expensive decision procedures being… (More)

We describe the formalisation of the Chomsky and Greibach normal forms for context-free grammars (CFGs) using the HOL4 theorem prover. We discuss the varying degrees to which proofs that are straightforward on pen and paper, turn out to be much harder to mechanise. While both proofs are of similar length in their informal presentations, the mechanised… (More)