This paper describes how to verify a parser for regular expressions in a functional programming language using predicate transformer semantics for a variety of effects. Where our previous work in this area focused on the semantics for a single effect, parsing requires a combination of effects: non-determinism, general recursion and mutable state. Reasoning about such combinations of effects is notoriously difficult, yet our approach using predicate transformers enables the careful separation of program syntax, correctness proofs and termination proofs
Contents 1 REGULAR LANGUAGES 1 1.1 Regular Expressions . . . . . . . . . . . . . . . . . . . . . ....
AbstractThis paper presents a language based on regular expressions for describing non-deterministic...
Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many...
Reasoning about programs that use effects can be much harder than reasoning about their pure counter...
The behavior of a program can be modeled by describing how it transforms input states to output stat...
Finite-state techniques are widely used in various areas of Natural Language Processing (NLP).As Kap...
Formal techniques for specifying performance properties of programs (e.g., execution time) and for v...
We develop the semantics of a language with arbitrary atomic statements, unbounded nondeterminacy, a...
The invariant based programming is a technique of constructing correct programs by first identifying...
This paper introduces a technique that allows to build deterministic finite-state automata from word...
This textbook presents a focused guide to the conceptual foundations of compilation, by explaining t...
In the semantics of programming languages one can view programs as statetransformers, or as predicat...
We compare the expressive power of three programming abstractions for user-defined computational eff...
Generally, programming problems are formally described as function computation problems. In this pap...
Abstract. We report on a certified parser generator for regular languages using the Agda programming...
Contents 1 REGULAR LANGUAGES 1 1.1 Regular Expressions . . . . . . . . . . . . . . . . . . . . . ....
AbstractThis paper presents a language based on regular expressions for describing non-deterministic...
Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many...
Reasoning about programs that use effects can be much harder than reasoning about their pure counter...
The behavior of a program can be modeled by describing how it transforms input states to output stat...
Finite-state techniques are widely used in various areas of Natural Language Processing (NLP).As Kap...
Formal techniques for specifying performance properties of programs (e.g., execution time) and for v...
We develop the semantics of a language with arbitrary atomic statements, unbounded nondeterminacy, a...
The invariant based programming is a technique of constructing correct programs by first identifying...
This paper introduces a technique that allows to build deterministic finite-state automata from word...
This textbook presents a focused guide to the conceptual foundations of compilation, by explaining t...
In the semantics of programming languages one can view programs as statetransformers, or as predicat...
We compare the expressive power of three programming abstractions for user-defined computational eff...
Generally, programming problems are formally described as function computation problems. In this pap...
Abstract. We report on a certified parser generator for regular languages using the Agda programming...
Contents 1 REGULAR LANGUAGES 1 1.1 Regular Expressions . . . . . . . . . . . . . . . . . . . . . ....
AbstractThis paper presents a language based on regular expressions for describing non-deterministic...
Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many...