ivy/README.md

76 строки
1.9 KiB
Markdown
Исходник Обычный вид История

2015-12-28 07:07:55 +03:00
# ivy
2016-03-06 05:44:28 +03:00
IVy is a research tool intended to allow interactive development of
protocols and their proofs of correctness and to provide a platform
for developing and experimenting with automated proof techniques. In
particular, IVy provides interactive visualization of automated
proofs, and supports a use model in which the human protocol designer
and the automated tool interact to expose errors and prove
correctness.
## prerequisites
### python 2.7
Get it from [here](https://www.python.org/downloads) or as part of
your Linux distribution.
### Z3
Following the instructions [here](https://github.com/Z3Prover/z3) to
install Z3. Set the environment variable Z3DIR to the prefix at which
you installed Z3. By defult this is /usr/local, in which case:
$ export Z3DIR = /usr/local
2016-04-11 02:44:26 +03:00
### Python packages
2016-03-06 05:44:28 +03:00
2016-04-11 02:44:26 +03:00
Install the python packages ply and pygraphviz. On Ubuntu, install them
like this:
2016-03-06 05:44:28 +03:00
2016-04-11 02:44:26 +03:00
$ sudo apt-get install python-ply python-pygraphviz
### tcl/tk/tcldot
To use the Tk-based user interface, you need to install the python
package tk, the tix widget set, and the tcldot package (part of
graphviz). On Ubuntu, install them all like this:
$ sudo apt-get install python-tk tix libgv-tcl
2016-03-06 05:44:28 +03:00
## install
Get the source like this:
$ git clone https://github.com/Microsoft/ivy.git
Set the environment variable IVYDIR to point to the root of Ivy's
source tree, like this:
$ cd ivy
$ export IVYDIR=`pwd`
Add Ivy's bin directory to your path, like this:
$ export PATH=`pwd`/bin:$PATH
## run
Run Ivy on an example, using the Tcl/Tk user interface:
$ cd examples/ivy
$ ivy client_server.ivy
2016-04-05 01:23:07 +03:00
## emacs mode
An emacs major mode for Ivy is available in lib/emacs/ivy-mode.el. Put this file
somewhere in your emacs load path and add the following code to your
.emacs:
(add-to-list 'auto-mode-alist '("\\.ivy\\'" . ivy-mode))
2016-04-27 06:39:19 +03:00
(autoload 'ivy-mode "ivy-mode.el" "Major mode for editing Ivy code" t nil)
2016-04-05 01:23:07 +03:00
2016-03-06 05:44:28 +03:00