data61 / PSL

Other
65 stars 9 forks source link
artificial-intelligence conjecture domain-specific-language formal-methods formal-proofs formal-verification hol induction interactive-theorem-proving isabelle itp machine-learning proof proof-assistant proof-search proof-strategies psl

Note on Isabelle2024 and its Sledgehammer

This repository has been updated to Isabelle2024. However, we have received reports that the integration of Sledgehammer with this repository is now less stable under Isabelle2024. Therefore, although we have confirmed that the Abduction Prover works in some cases, its performance may currently be suboptimal. We are working to resolve this issue as quickly as possible. 🙇

For users seeking the best performance, we recommend using Isabelle2023 and this version of the Abduction Prover (v0.2.7-alpha), which was developed specifically for Isabelle2023."

News

Smart_Isabelle

This repository contains various tools to support interactive theorem proving in Isabelle/HOL using artificial intelligence. This repository contains the implementation of proof strategy language (PSL) and its default strategy, try_hard, for Isabelle2024. Past versions of Isabelle, such as Isabelle2022-1, are no longer supported.

YouTube

We opened a YouTube channel to introduce aspects of this project.

Video Thumbnail

Installation (of SeLFiE, PSL, and sem_ind in one go) (for MacOS/Lunux users)

  1. Install Isabelle2024.
  2. Download or clone this repository (git clone https://github.com/data61/PSL.git).
  3. Open Isabelle/jEdit with PSL and all that. You can do this by opening Isabelle/jEdit as following:
    • (path to the Isabelle binary)isabelle jedit -d (path to the directory that contains this README file) -l Smart_Isabelle
    • If you are a MacOS user and your current directory is this one with this README.md, probably you should type something like this in Terminal:
    • /Applications/Isabelle2024.app/bin/isabelle jedit -d . -l Smart_Isabelle
  4. Then, You can use SeLFiE/PSL/sem_ind to your theory files with the Isabelle keyword, imports as imports "Smart_Isabelle.Smart_Isabelle".
  5. Open Example/Example.thy to see if the installation is successful.

Note on installation for Windows users

The basic steps are the same as MacOS and Linux. However, instead of using the binary file directly, use Isabelle2024\Cygwin-Terminal in Command Prompt. Once you start Isabelle2024\Cygwin-Terminal, you can install our tools by typing isabelle jedit -d (path to the directory that contains this README file) -l Smart_Isabelle. Note that once you started Isabelle2024\Cygwin-Terminal, you should not specify the path to the Isabelle binary file. Therefore, the command you need after starting Isabelle2024\Cygwin-Terminal is something like isabelle jedit -d . -l Smart_Isabelle, assuming that your current directory is this one with this README.md/

Screenshot

If you find it difficult to install our tool, please refer to the Isabelle System Manual. Alternatively, you can just send an email to Yutaka at united.reasoning+gmail.com (reaplace + with @).

Hints

PSL's runtime tactic generation can result in a large number of messages in Isabelle/jEdit's output panel. This might cause Isabelle/jEdit to pause PSL's proof search after reaching its default upper limit for tracing messages.

Documentations

We published academic papers describing the ideas implemented in this project.

We presented the final goal of this project at AITP2017. Our position paper "Towards Smart Proof Search for Isabelle" is available at arXiv.

We also plan to improve the proof automation using evolutionary computation. We presented our plan during the poster session at GECCO2019. Our poster-only paper is available at ACM digital library and arXiv.

Preferred Citation

Screenshots

PSL example

Screenshot

Abduction Prover example

Screenshot