Giter Club home page Giter Club logo

yices2's Introduction

Yices2

This distribution includes the source of Yices, documentation, tests, and examples.

Yices 2 is developed by Bruno Dutertre, Dejan Jovanovic, and Ian Mason at the Computer Science Laboratory, SRI International. To contact us, or to get more information about Yices, please visit our website.

Prerequisites

To build Yices from the source, you need:

  • GCC version 4.0.x or newer (or clang 3.0 or newer)
  • gperf version 3.0 or newer
  • the GMP library version 4.1 or newer
  • other standard tools: make (gnumake is required), sed, etc.

To build the manual, you also need:

  • a latex installation
  • the latexmk tool

To build the on-line documentation, you need to install the Sphinx python pacakge. The simplest method is:

sudo easy_install -U Sphinx

Sphinx 1.3.x or better is needed.

Quick Instalation

Do this:

autoconf
./configure
make
sudo make install

This will install binaries and libraries in /usr/local/. You can change the installation location by giving option --prefix=... to the ./configure script.

For more explanations, please check doc/COMPILING.

Support for Non-Linear Arithmetic

Yices supports non-linear real and integer arithmetic, but this is not enabled by default. If you want non-linear arithmetic, follow these instructions:

  1. Install SRI's library for polynomial manipulation. It's available on github (https://github.com/SRI-CSL/libpoly).

  2. After you've installed libpoly, add option --enable-mcsat to the cofigure command. In details, type this in the toplevel Yices directory:

autoconf
./configure --enable-mcsat
make
sudo make install

3 You may need to provide LDFLAGS/CPPFLAGS if ./configure fails to find the libpoly library. Other options may be useful too. Try ./configure --help to see what's there.

Windows Builds

We recommend compiling using Cygwin. If you want a version that works natively on Windows (i.e., does not depend on the Cygwin DLLs), you can compile from Cygwin using the MinGW cross-compilers. This is explained in doc/COMPILING.

Documentation

To build the manual from the source, type

make doc

This will build ./doc/manual/manual.pdf.

Other documentation is in the ./doc directory:

  • doc/COMPILING explains the compilation process and options in detail.
  • doc/NOTES gives an overview of the source code.
  • doc/YICES-LANGUAGE explains the syntax of the Yices language, and describes commands, functions, and heuristic parameters.

To build the Sphinx documentation:

cd doc/sphinx
make html

This will build the documentation in build/html (within directory doc/sphinx). You can also do:

make epub

and you'll have the doc in build/epub/Yices.epub.

Getting Help and Reporting bugs

For further questions about Yices, please contact us via the Yices mailing lists [email protected]. This mailing list is moderated, but you do not need to register to post to it. You can register to this mailing list if you are interested in helping others.

Please submit bug reports through GitHub issues. Please include enough information in your bug report to enable us to reproduce and fix the problem. This is an example of a good report:

I am experiencing a segmentation fault from Yices. The following is a small test case that causes the crash. I am using Yices 2.4.1 on x86_64 statically linked against GMP on Ubuntu 12.04.

This is an example of a poor bug report:

I have just downloaded Yices. After I compile my code and link it with Yices, there is a segmentation fault when I run the executable. Can you help?

Please try to include answers to the following questions:

  • Which version of Yices are you using?
  • On which hardware and OS?
  • How can we reproduce the bug? If possible, include an input file or program fragment.

yices2's People

Contributors

brunodutertre avatar ianamason avatar dddejan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.