Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A formalisation of the normal forms of context-free grammars in HOL4
CSL'10/EACSL'10 Proceedings of the 24th international conference/19th annual conference on Computer science logic
Proof assistants as teaching assistants: a view from the trenches
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Simple, functional, sound and complete parsing for all context-free grammars
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Hi-index | 0.00 |
We describe the mechanisation of some foundational results in the theory of context-free languages (CFLs), using the HOL4 system. We focus on pushdown automata (PDAs). We show that two standard acceptance criteria for PDAs (''accept-by-empty-stack'' and ''accept-by-final-state'') are equivalent in power. We are then able to show that the pushdown automata (PDAs) and context-free grammars (CFGs) accept the same languages by showing that each can emulate the other. With both of these models to hand, we can then show a number of basic, but important results. For example, we prove the basic closure properties of the context-free languages such as union and concatenation. Along the way, we also discuss the varying extent to which textbook proofs (we follow Hopcroft and Ullman) and our mechanisations diverge: sometimes elegant textbook proofs remain elegant in HOL; sometimes the required mechanisation effort blows up unconscionably.