Skip to main content

BibTeX

@inProceedings{johansson-etal-2014-hipster-216678,
	title        = {Hipster: Integrating theory exploration in a proof assistant},
	abstract     = {This paper describes Hipster, a system integrating theory exploration with the proof assistant Isabelle/HOL. Theory exploration is a technique for automatically discovering new interesting lemmas in a given theory development. Hipster can be used in two main modes. The first is exploratory mode, used for automatically generating basic lemmas about a given set of datatypes and functions in a new theory development. The second is proof mode, used in a particular proof attempt, trying to discover the missing lemmas which would allow the current goal to be proved. Hipster's proof mode complements and boosts existing proof automation techniques that rely on automatically selecting existing lemmas, by inventing new lemmas that need induction to be proved. We show example uses of both modes.},
	booktitle    = {Lecture Notes in Computer Science},
	author       = {Johansson, Moa and Rosén, Dan and Smallbone, Nicholas and Claessen, Koen},
	year         = {2014},
	volume       = {8543 },
	ISBN         = {978-3-319-08433-6},
	pages        = {108--122},
}

@misc{bernardy-etal-2014-compiling-195331,
	title        = {Compiling Linear Logic using Continuations},
	abstract     = {As System F is the logical foundation of functional programming, it has
long been expected that Classical Linear Logic (CLL) is the logical
foundation of concurrent programming.  In particular, thanks to an
involutive negation, its language of propositions correspond to protocols.
This means that CLL provides the principles to integrate concurrency into
functional programming languages.

Aiming towards this integration, we translate the concurrency features of
CLL into continuations, essentially via a negation-model of CLL into System
F.  Practically, the translation can be used to embed CLL programs into
functional languages such as Haskell. We explain the properties of the
interface between the two languages.  In particular, using an example, we
illustrate how the par (⅋) operator can solve practical functional
programming problems.
},
	author       = {Bernardy, Jean-Philippe and Rosén, Dan and Smallbone, Nicholas},
	year         = {2014},
}