Section: Software
Bedwyr
Participants : David Baelde, Andrew Gacek, Dale Miller.
In order to provide some practical validation of the formal results mentioned above regarding the logic LINC and the quantifier , we picked a small but expressive subset of that logic for implementation. While that subset did not involve the proof rules for induction and coinduction (which are difficult to automate) the subset did allow for modelchecking style computation. During 2006 and 2007, the Parsifal team, with contributions from our close colleagues at the University of Minnesota and the Australian National University, designed and implemented the Bedwyr system for doing proof search in that fragment of LINC. This system is organized as an open source project and is hosted on INRIA's GForge server. It has been described in the conference papers [56] and [25] . This systems, which is implemented in OCaml, has been download about 200 times since it was first released.
Bedwyr is a generalization of logic programming that allows model checking directly on syntactic expressions possibly containing bindings. This system, written in OCaml, is a direct implementation of two recent advances in the theory of proof search.

It is possible to capture both finite success and finite failure in a sequent calculus. Proof search in such a proof system can capture both may and must behavior in operational semantics.

Higherorder abstract syntax is directly supported using termlevel binders, the quantifier, higherorder pattern unification, and explicit substitutions. These features allow reasoning directly on expressions containing bound variables.
Bedwyr has served well to validate the underlying theoretical considerations while at the same time providing a useful tool for exploring some applications. The distributed system comes with several example applications, including the finite calculus (operational semantics, bisimulation, trace analysis, and modal logics), the spicalculus (operational semantics), valuepassing CCS, the calculus, winning strategies for games, and various other model checking problems.