PyTactician is a library to help write proving agents and explore datasets.
The major version number x of this library
indicates the version of the dataset and communication protocol. Any PyTactician
version x.y is compatible with the communication protocol x.
Installation
Binary wheels are provided for Linux and MacOS (on
PyPI). On those platforms you can
install by executing pip install pytactician. If you need to install from
source, you need to have Cap’n Proto >= 0.8 installed on your system. See the
main repo
README for
more details on prerequisites. Once you have the prerequisites, you can install
by running pip install . from the root of the repository.
Usage
PyTactician provides a library to work with the datasets extracted from Coq and to directly interface with Coq through Tacticians API.
- PyTactician Library Documentation.
- To get started quickly, there are some simple example scripts that interface with the dataset.
In addition, PyTactician contains a number of executables that can be used to
analyze datasets and interact with Coq. Available executables are as follows
(use the --help flag for each executable to learn about all the options).
pytact-check [-h] [--jobs JOBS] [--quick] [--verbose VERBOSE] dirRun sanity checks on a dataset and print some statistics.pytact-visualize [-h] [--port PORT] [--hostname HOSTNAME] [--dev] [--fast | --workers WORKERS] dataset: Start an interactive server that visualizes a dataset.pytact-server [-h] [--tcp TCP] [--record RECORD_FILE] {graph,text}Example python server capable of communicating with Coq through Tactician’s ‘synth’ tactic To learn how to interface Coq and Tactician with this server, see the sections below.pytact-oracle [-h] [--tcp PORT] [--record RECORD_FILE] {graph,text} datasetA tactic prediction server acting as an oracle, retrieving it’s information from a datasetpytact-fake-coq [-h] (--tcp TCP_LOCATION | --stdin EXECUTABLE) dataA fake Coq client that connects to a prediction server and feeds it a stream of previously recorded messages.pytact-prover: A dummy example client that interfaces with Coq and Tactician for proof exploration driven by the client.