Implementation of higher-order logic in Python.
This project requires Python 3.5.
Required packages are listed in requirements.txt. To install required packages, use:
python -m pip install -r requirements.txt
Unit tests for the backend are all located in files of the form */tests/*_test.py
.
To start the frontend, use:
python app.py
-
kernel
: kernel for higher-order logic.type
: datatype for HOL types.term
: datatype for HOL terms.thm
: datatype for HOL theorems, including list of basic derivations.proof
: linear representation of a proof, consisting of a list of instructions to the kernel.macro
: macros as user-defined proof methods.theory
: theory state, containing signature for types and constants, and list of axioms and theorems.extension
: types of extensions to a theory.report
: statistics and debugging information for checking a theory extension.
-
logic
: base logic and standard automation.matcher
: matching of terms.proofterm
: tree-like representation of a proof. Used for convenient construction of proofs, and can be transformed to the linear representation.conv
: conversions.operator
: data for unary and binary operators.logic
: utilities for logic.nat
: utilities for natural numbers.induct
: definition of types and constants by induction.logic_macro
: definition of standard macros in logic.basic
: definition of base logic.
-
syntax
: parsing and printing. -
server
: toplevel functions. -
app
: web application.static/js/main.js
: main javascript file.templates/index.html
: main HTML page.__init__.py
: main server program.
-
library
: main library of theories.