When building scalable systems that involve general-purpose computation and persistent data, object-oriented languages and relational databases are often essential components. Yet...
In the context of program verification in an interactive theorem prover, we study the problem of transforming function definitions with ML-style (possibly overlapping) pattern mat...
We present a pair of reasoning principles, definition and proof by rigid induction, which can be seen as proper generalizations of lazy-datatype induction to monadic effects other...