alt-ergo man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

Alt-Ergo(1)							   Alt-Ergo(1)

NAME
       Alt-Ergo	 -  An automatic theorem prover dedicated to program verifica‐
       tion

SYNOPSIS
       alt-ergo [ options ] file

DESCRIPTION
       Alt-Ergo is an automatic theorem prover.	 It takes as inputs  an	 arbi‐
       trary polymorphic and multi-sorted first-order formula written is a why
       like syntax.

OPTIONS
       -h     Help. Will give you the full list of command line options.

EXAMPLES
       A theory of functional arrays with integer indexes . This  theory  pro‐
       vides  a built-in type ('a,'b) farray and a built-in syntax for manipu‐
       lating arrays.

	      For instance, given an abstract datatype tau  and	 a  functional
	      array t of type (int, tau) farray declared as follows:

	      type tau

	      logic t : (int, tau) farray

	      The expressions:

	      t[i] denotes the value stored in t at index i

	      t[i1<-v1,...,in<-vn] denotes an array which stores the same val‐
	      ues as t for every index except  possibly	 i1,...,in,  where  it
	      stores   value  v1,...,vn.  This	expression  is	equivalent  to
	      ((t[i1<-v1])[i2<-v2])...[in<-vn].

	      Examples.

	      t[0<-v][1<-w]

	      t[0<-v, 1<-w]

	      t[0<-v, 1<-w][1]

       A theory of enumeration types.

	      For instance an enumeration type t with constructors A, B, C  is
	      defined as follows :

	      type t = A | B | C

	      Which  means  that all values of type t are equal to either A, B
	      or C. And that all these constructors are distinct.

       A theory of polymorphic records.

	      For instance a polymorphic record type 'a t with	two  labels  a
	      and b of type 'a and int respectively is defined as follows:

	      type 'a t = { a : 'a; b : int }

	      The  expressions	{  a  =	 4; b = 5 } and { r with b = 3} denote
	      records, while the dot notation r.a is used to access to labels.

       Alt-Ergo (v. >= 0.95) allows the user to force the type of terms	 using
       the  syntax  <term>  : <type>. The example below illustrates the use of
       this new feature.

	      type 'a list

	      logic nil : 'b list

	      logic f : 'c list -> int

	      goal g1 : f(nil) = f(nil) (* not valid because the two instances
	      of nil may have different types *)

	      goal g2 : f(nil:'d list) = f(nil:'d list) (* valid *)

ENVIRONMENT VARIABLES
       ERGOLIB
	      Alternative path for the Alt-Ergo library

AUTHORS
       Sylvain	 Conchon   <conchon@lri.fr>   and  Evelyne  Contejean  <conte‐
       jea@lri.fr>

SEE ALSO
       Alt-Ergo web site: http://alt-ergo.lri.fr

			       (C)  2006 -- 2013		   Alt-Ergo(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net