Home

Awesome

LISA = LISA Is Sets Automated

LISA is a proof assistant based on first-order logic sequent calculus and set theory. To get started, check the Reference Manual.

LISA is developed and maintained by the Laboratory for Automated Reasoning and Analysis (LARA) at the EPFL.

For details regarding the design of LISA and techniques implemented here, you can check the following publications:

Installation and utilisation

Project Organisation

Kernel

The lisa-kernel package contains the trusted code of LISA, in the sense that all theorems and proofs pass through it to be considered correct. It only can produce theorems and verify proof. Any bug or error in code written outside this package should not possibly break soundness.

The kernel essentially contains two elements: formalisation of first-order logic, and formalisation of proofs through sequent calculus.

Utils

The lisa-utils package contains a set of utilities to interact with the kernel. Syntactic sugar, a parser and printer for proofs and formulas, unification algorithms, among others. The package also contains LISA's DSL to write proofs, tactics, and mathematical developments.

Most user-developed tactics, syntax, and auxiliary utilities go here.

Interacting with the project

The following commands can be used to perform different actions as configured in the project. Each command ("command") can be run within the sbt console as simply command or in batch mode from a shell session in the project directory with sbt command or sbt "command; command; ...".

License and Distribution

Copyright 2023 EPFL

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.