Giter Club home page Giter Club logo

mathesis's Introduction

Mathesis

PyPI Documentation Status

Mathesis is a human-friendly Python library for computational formal logic (including mathematical, symbolic, philosophical logic), formal semantics, and theorem proving. It is particularly well-suited for:

  • Students learning logic and educators teaching it
  • Researchers in fields like logic, philosophy, linguistics, computer science, and many others

Documentation: https://ozekik.github.io/mathesis/

Installation

pip install mathesis

Key features

  • Interactive theorem proving for humans (proof assistant)
  • Automated reasoning (theorem prover)
  • Define models and check validity of inferences in the models
  • JupyterLab/Jupyter Notebook support
  • Output formulas/proofs in LaTeX
  • Customizable ASCII/Unicode syntax (like A -> B, A → B, A ⊃ B for the conditional)

Supported logics

Propositional logics

Truth Table Tableau Natural Deduction Sequent Calculus
Classical logic
Many-valued logics - - -
Intuitionistic logic n/a - -

In Progress

  • Modal logics
  • Fuzzy logics
  • Substructural logics
  • Epistemic, doxastic, deontic logics
  • Temporal logics

First-order logics (quantified, predicate logics)

Model Tableau Natural Deduction Sequent Calculus
Classical logic - -

In Progress

  • Many-valued logics
  • Modal logics
  • Intuitionistic logic
  • Fuzzy logics
  • Substructural logics
  • Higher-order logics

Development status

Proof theories

  • Tableaux (semantic tableaux, analytic tableaux)
    • Unsigned tableaux
    • Signed tableaux
  • Hilbert systems
    • Hilbert systems
  • Natural deduction
    • Generic natural deduction
    • Gentzen-style natural deduction (Output)
    • Fitch-style natural deduction
  • Sequent calculi (Gentzen-style sequent calculi)
    • Two-sided sequent calculi
    • Hilbert systems in sequent calculus
    • Natural deduction in sequent calculus

Semantics

  • Truth tables
  • Set-theoretic models
  • Possible world semantics (Kripke semantics)
  • Algebraic semantics
  • Game-theoretic semantics
  • Category-theoretic semantics

Internals

Roadmap

  • Add tests
  • Hilbert systems
  • Natural deduction
  • Boolean algebra
  • Type theory
  • Metatheorems
  • Output graphical representations of models
  • Support tptp syntax

mathesis's People

Contributors

ozekik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.