Skip to main content

A client to Isabelle proof assistant server

Project description

BinderPyPI versionAnaconda versionCircleCIDocumentation StatuscodecovDOI

Python client for Isabelle server

isabelle-client is a TCP client for Isabelle server. For more information about the server see Chapter 4 of the Isabelle system manual.

How to Install

The best way to install this package is to use pip:

pip install isabelle-client

Another option is to use Anaconda:

conda install -c conda-forge isabelle-client

One can also download and run the client together with Isabelle in a Docker contanier:

docker build -t isabelle-client https://github.com/inpefess/isabelle-client.git
docker run -d --rm -p 8888:8888 --name isabelle-client isabelle-client

And navigate to example page in your browser.

How to use

from isabelle_client import get_isabelle_client, start_isabelle_server

# start Isabelle server
server_info, _ = start_isabelle_server()
# create a client object
isabelle = get_isabelle_client(server_info)
# send a theory file from the current directory to the server
response = isabelle.use_theories(
    theories=["Example"], master_dir=".", watchdog_timeout=0
)
# shut the server down
isabelle.shutdown()

For more details, follow the usage example from documentation, run the script, or use isabelle-client from a notebook.

More documentation

More documentation can be found here.

Similar Software

There are Python clients to other interactive theorem provers, for example:

Modules helping to inetract with Isabelle server from Python are parts of the Proving for Fun project.

There are also clients to Isabelle server in other programming languages, e.g. this one in Rust.

How to cite

If you’re writing a research paper, you can cite the Isabelle client using the following DOI. You can also cite Isabelle 2021 (and the earlier version of the client) with this DOI. There also is a somewhat more complete (but unpublished) pre-print.

How to Contribute

Please follow the contribution guide while adhering to the code of conduct.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isabelle_client-0.5.7.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

isabelle_client-0.5.7-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file isabelle_client-0.5.7.tar.gz.

File metadata

  • Download URL: isabelle_client-0.5.7.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.2 Linux/6.14.0-22-generic

File hashes

Hashes for isabelle_client-0.5.7.tar.gz
Algorithm Hash digest
SHA256 ad5b83a2b74558ec6d70afd450b4f214d58e1c5d79d277d68304e3cfb77b752e
MD5 1ac560cb2ed3be3418113c7abfd7986b
BLAKE2b-256 c64aa5f89075539bd17ca3ce388888b0f097e7094879c33ac26d4070c564c397

See more details on using hashes here.

File details

Details for the file isabelle_client-0.5.7-py3-none-any.whl.

File metadata

  • Download URL: isabelle_client-0.5.7-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.2 Linux/6.14.0-22-generic

File hashes

Hashes for isabelle_client-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a0bd4fddfbe3e9e6a4c13d75649098d05c3f7dd019e80985e381a63b2895487c
MD5 f73c4c2288db855313e32f2f9cd7a1b4
BLAKE2b-256 ae3b40b1e30f7bcd3b3dc6fa04302299f91bd025637b93d5fd258274db233115

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page