Giter VIP home page Giter VIP logo

maxixe's Introduction

Maxixe

Version 0.2 | Entry @ catseye.tc | See also: See also: PhilomathLCF-style-NDMadison


Maxixe is a simple proof-checking language. Given a proof written out fully and explicitly (including all rules of inference), a computer can check if it is valid or not.

Here is an example of a valid proof in propositional logic written in Maxixe:

given
    Modus_Ponens                 = impl(P, Q) ; P |- Q
    Simplification               = and(P, Q)      |- Q
    Commutativity_of_Conjunction = and(P, Q)      |- and(Q, P)
    Premise                      =                |- and(p, impl(p, q))
show
    q
proof
    Step_1 = and(p, impl(p, q))    by Premise
    Step_2 = and(impl(p, q), p)    by Commutativity_of_Conjunction with Step_1
    Step_3 = impl(p, q)            by Simplification with Step_1
    Step_4 = p                     by Simplification with Step_2
    Step_5 = q                     by Modus_Ponens with Step_3, Step_4
qed

For Maxixe's design goals, related work, and discussion, see doc/Design.md.

For a description of the language, see doc/Maxixe.md.

For examples of proofs witten in Maxixe, see doc/Examples.md.

The reference implementation of Maxixe, called maxixe, is written in Python, and runs under (at least) Python 2.7.18 and Python 3.8.10. To use maxixe, simply add the bin directory of this repository to your executable search path and run it on a text file containing your proof, like

maxixe my_proof.maxixe

It will output ok if the proof is valid. Otherwise it will display a (currently rather poor) error message.

Disclaimer

I am not prepared to claim that, given an invalid proof, Maxixe will never mistakenly tell you that it is valid.

However, if you find such a proof, please do open a bug report about it.

Note that since Maxixe requires that you supply all the axioms and rules of inference used in a proof, it is entirely possible to give it an inconsistent system of logic in which anything can be proved — but that's not quite the same thing as what I'm talking about. Such a proof is still "valid", relative to the definitions that it is using, even if those definitions are flawed.

But on that note, I am also not prepared to claim that all of the rules of inference I've used in the example proofs Maxixe are consistent (or otherwise fit for writing proofs in), either.

So, if you find a flaw in one of the example proofs, please do open a bug report about that as well.

maxixe's People

Contributors

cpressey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.