Code Monkey home page Code Monkey logo

checkers's Introduction

Checkers

Checkers is a λ-prolog implementation of a tool for checking proofs output by theorem provers. It is based on the theory of foundational proof certificates (see, for example, here).

Currently it has support for checking some of the proofs from e-prover. This means we are able to parse the proofs into λ-prolog modules which can than be checked by checkers.

The parser, implemented in OCaml, can be found in proofs/tstpparser. Just type make inside this directory and you will obtain an executable tstpparser which can be run on e-prover's proof evidence resulting on a .mod and a .sig λ-prolog files (proof certificates). For instance, the following set of commands:

cd proofs/tstpparser
make
cd ..
./tstpparser/tstpparser simple.out simple

will generate the simple.mod and simple.sig files in the proofs directory which correspond to the certificate of the proof in simple.out.

Checkers can be (compiled and) run using the prover.sh script. The sole argument of this script must be the λ-prolog module containing the proof certificate the user wants to check. Additionally, this module and corresponding signature must be in the src directory or in one of the subdirectories of tests.

If you don't want to generate your own certificate, there are some inside tests/eprover ready to go. All you need to do is, from the top-level directory, execute:

./prover.sh module_name

Comments

  • Checkers requires the latest version of Teyjus in order to properly handle paths. It should be noted that the program prover-debug.sh does not require the latest version of Teyjus and can be tried without the intallation of the later.
./prover-debug.sh module_name

checkers's People

Contributors

gisellemnr avatar shaolintl avatar zchihani avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.