File: why3.1

package info (click to toggle)
why3 1.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 26,592 kB
  • sloc: xml: 129,496; ml: 77,153; ansic: 2,518; makefile: 2,220; sh: 1,600; lisp: 193; python: 29
file content (144 lines) | stat: -rw-r--r-- 4,335 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
.TH WHY3 "1" "March 2016" "Why3 platform" "User Commands"
.SH NAME
Why3 \- software verification platform
.SH SYNOPSIS
.B why3
[\fI\,general options\/\fR] \fI\,<command> \/\fR[\fI\,command options\/\fR]
[\fI\,command arguments\/\fR]
.SH DESCRIPTION
This manual page summarizes basic information about the \fBwhy3\fR command.
Please refer to the Reference Manual for complete information.

Why3 is a platform for deductive program verification. It provides a
rich language for specification and programming, called whyml, and
relies on external theorem provers, both automated and interactive, to
discharge verification conditions. Why3 comes with a standard library
of logical theories (integer and real arithmetic, Boolean operations,
sets and maps, etc.) and basic programming data structures (arrays,
queues, hash tables, etc.). A user can write whyml programs directly
and get correct-by-construction OCaml programs through an automated
extraction mechanism. whyml is also used as an intermediate language
for the verification of C, Java, or Ada programs.

.SH GENERAL OPTIONS
.TP
\fB\-C\fR <file>
read configuration from <file>
.TP
\fB\-\-config\fR
same as \fB\-C\fR
.HP
\fB\-\-extra\-config\fR <file> read additional configuration from <file>
.TP
\fB\-L\fR <dir>
add <dir> to the library search path
.TP
\fB\-\-library\fR
same as \fB\-L\fR
.TP
\fB\-\-debug\fR <flag>
set a debug flag
.TP
\fB\-\-debug\-all\fR
set all debug flags that do not change Why3 behaviour
.TP
\fB\-\-list\-debug\-flags\fR
list known debug flags
.TP
\fB\-\-list\-transforms\fR
list known transformations
.TP
\fB\-\-list\-printers\fR
list known printers
.TP
\fB\-\-list\-provers\fR
list known provers
.TP
\fB\-\-list\-formats\fR
list known input formats
.TP
\fB\-\-list\-metas\fR
list known metas
.TP
\fB\-\-print\-libdir\fR
print location of binary components (plugins, etc)
.TP
\fB\-\-print\-datadir\fR
print location of non\-binary data (theories, modules, etc)
.TP
\fB\-\-version\fR
print version information
.TP
\fB\-h\fR
print this list of options
.TP
\fB\-\-help\fR
same as \fB\-h\fR

.SH "COMMANDS"
.TP
\fBconfig\fR Creates a why3 configuration file \fI~/.why3.conf\fR,
containing in particular information about available provers and
plugins. If this file exists already, config
will only reset unset variables to default value, but will not try to
detect provers.

The command option \fB--detect-provers\fR can be used to force Why3 to
detect again the available provers and to replace them in the
configuration file. The command option \fB--detect-plugins\fR does the
same for plugins.

If a supported prover is installed under a name that is not
automatically recognized by why3 config, the command option \fB--add-prover\fR 
adds a specified binary to the configuration. For example, an Alt-Ergo
executable /home/me/bin/alt-ergo-trunk can be added as follows:

  why3 config --add-prover alt-ergo /home/me/bin/alt-ergo-trunk

.TP
\fBdoc\fR
produces HTML pages from Why3 source code.
.TP
\fBexecute\fR
symbolically executes programs written in the WhyML language
.TP
\fBextract\fR
extracts OCaml code from programs written in the WhyML language
.TP
\fBide\fR
launches the graphical user interface of the why3 platform.

There are no specific command options. However, at least one
command argument must be given. More
precisely, the first argument must be the directory of the
session. If the directory does not exist, it is created. The other
arguments should be existing files that are going to be added to the
session. For convenience, if there is only one argument, it
can be an existing file and in this case the session directory is
obtained by removing the extension from the file name.

.TP
\fBprove\fR
launches \fBwhy3\fR in batch mode on a an input file
.TP
\fBrealize\fR
produces skeleton files for proof assistants
.TP
\fBreplay\fR
executes the proofs stored in a Why3 session file, as produced by the IDE.
.TP
\fBsession\fR
.TP
\fBwc\fR
produces statistics about Why3 and WhyML source codes.

.SH "AUTHOR"
The information on this manpage was extracted from the complete Why3
reference manual.

.SH "SEE ALSO"
On a debian system, the full documentation for \fBwhy3\fP
is distributed in PDF and HTML format in the packages 
\fBwhy3-doc-html\fP and \fBwhy3-doc-pdf\fP.
It is also available from the why3 homepage
<http://why3.lri.fr>.