Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
why3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
120
Issues
120
List
Boards
Labels
Service Desk
Milestones
Merge Requests
17
Merge Requests
17
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Why3
why3
Commits
9ddbd8d7
Commit
9ddbd8d7
authored
Jan 12, 2015
by
MARCHE Claude
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update sessions: enforce Alt-Ergo 0.95.2 in some use of why3 Coq tactic
parent
df3b3fe9
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
249 additions
and
227 deletions
+249
-227
examples/bitvectors/bitvector/why3session.xml
examples/bitvectors/bitvector/why3session.xml
+37
-38
examples/bitvectors/double_of_int/double_of_int_DoubleOfInt_lemma2_1.v
...ectors/double_of_int/double_of_int_DoubleOfInt_lemma2_1.v
+50
-43
examples/bitvectors/double_of_int/why3session.xml
examples/bitvectors/double_of_int/why3session.xml
+65
-65
examples/dijkstra/dijkstra_DijkstraShortestPath_WP_parameter_shortest_path_code_2.v
..._DijkstraShortestPath_WP_parameter_shortest_path_code_2.v
+60
-46
examples/dijkstra/why3session.xml
examples/dijkstra/why3session.xml
+3
-3
examples/optimal_replay/distance_Distance_WP_parameter_distance_1.v
...ptimal_replay/distance_Distance_WP_parameter_distance_1.v
+28
-26
examples/optimal_replay/why3session.xml
examples/optimal_replay/why3session.xml
+6
-6
No files found.
examples/bitvectors/bitvector/why3session.xml
View file @
9ddbd8d7
...
...
@@ -4,8 +4,8 @@
<why3session
shape_version=
"4"
>
<prover
id=
"0"
name=
"CVC4"
version=
"1.2"
timelimit=
"30"
memlimit=
"4000"
/>
<prover
id=
"1"
name=
"Coq"
version=
"8.4pl4"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"2"
name=
"
Alt-Ergo"
version=
"0.95
.1"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"3"
name=
"
CVC3"
version=
"2.4
.1"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"2"
name=
"
CVC3"
version=
"2.4
.1"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"3"
name=
"
Alt-Ergo"
version=
"0.95
.1"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"4"
name=
"Z3"
version=
"2.19"
timelimit=
"3"
memlimit=
"1000"
/>
<prover
id=
"5"
name=
"CVC4"
version=
"1.4"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"6"
name=
"Z3"
version=
"4.3.1"
timelimit=
"5"
memlimit=
"1000"
/>
...
...
@@ -16,28 +16,28 @@
<file
name=
"../bitvector.why"
expanded=
"true"
>
<theory
name=
"BitVector"
sum=
"c987a49d4811dbdbdb5f642ae8b291d3"
expanded=
"true"
>
<goal
name=
"Nth_bw_xor_v1true"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.
10"
steps=
"85
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.
01
"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.
01
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.
10"
steps=
"85
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.01"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.15"
steps=
"85"
/></proof>
</goal>
<goal
name=
"Nth_bw_xor_v1false"
>
<proof
prover=
"
3
"
><result
status=
"valid"
time=
"0.00"
/></proof>
<proof
prover=
"
2
"
><result
status=
"valid"
time=
"0.00"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.00"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.14"
steps=
"87"
/></proof>
</goal>
<goal
name=
"Nth_bw_xor_v2true"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
7"
steps=
"8
2"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.0
7"
steps=
"8
2"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.03"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.01"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.04"
steps=
"82"
/></proof>
</goal>
<goal
name=
"Nth_bw_xor_v2false"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
6"
steps=
"80
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.0
6"
steps=
"80
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.03"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.08"
steps=
"80"
/></proof>
...
...
@@ -63,50 +63,49 @@
<proof
prover=
"9"
><result
status=
"timeout"
time=
"4.97"
/></proof>
</goal>
<goal
name=
"nth_from_int_low_even"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2"
steps=
"70
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.0
7
"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
7
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.0
2"
steps=
"70
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.06"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.04"
steps=
"70"
/></proof>
</goal>
<goal
name=
"nth_from_int_low_odd"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2"
steps=
"70
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.0
7
"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
7
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.0
2"
steps=
"70
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.07"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.04"
steps=
"70"
/></proof>
</goal>
<goal
name=
"nth_from_int_0"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.1
6"
steps=
"80
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.1
3
"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.1
3
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.1
6"
steps=
"80
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.07"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.03"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.29"
steps=
"80"
/></proof>
</goal>
<goal
name=
"nth_from_int2c_low_even"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.08"
steps=
"72"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.08"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.08"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.08"
steps=
"72"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.08"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.05"
steps=
"72"
/></proof>
</goal>
<goal
name=
"nth_from_int2c_low_odd"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.
07"
steps=
"7
2"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.
1
2"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.
1
2"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.
07"
steps=
"7
2"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.07"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.02"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.04"
steps=
"72"
/></proof>
</goal>
<goal
name=
"nth_from_int2c_0"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.
23"
steps=
"8
3"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.
1
3"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.
1
3"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.
23"
steps=
"8
3"
/></proof>
<proof
prover=
"5"
><result
status=
"timeout"
time=
"4.99"
/></proof>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.03"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.44"
steps=
"83"
/></proof>
</goal>
<goal
name=
"nth_from_int2c_plus_pow2"
>
<proof
prover=
"1"
timelimit=
"10"
edited=
"bitvector_BitVector_nth_from_int2c_plus_pow2_1.v"
><result
status=
"valid"
time=
"2.11"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.94"
steps=
"120"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.08"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"1.26"
steps=
"120"
/></proof>
</goal>
...
...
@@ -120,8 +119,8 @@
<theory
name=
"TestBv32"
sum=
"9674a66038630320e8dcfbf55092b81b"
expanded=
"true"
>
<goal
name=
"Test1"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.12"
steps=
"73
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.12"
steps=
"73
"
/></proof>
<proof
prover=
"4"
><result
status=
"valid"
time=
"0.85"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"6"
><result
status=
"valid"
time=
"1.11"
/></proof>
...
...
@@ -130,8 +129,8 @@
</goal>
<goal
name=
"Test2"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.05"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.03"
steps=
"74
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.06
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.06
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.03"
steps=
"74
"
/></proof>
<proof
prover=
"4"
><result
status=
"valid"
time=
"0.79"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"6"
><result
status=
"valid"
time=
"1.00"
/></proof>
...
...
@@ -140,8 +139,8 @@
</goal>
<goal
name=
"Test3"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
steps=
"66
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.02"
steps=
"66
"
/></proof>
<proof
prover=
"4"
><result
status=
"valid"
time=
"0.10"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"6"
><result
status=
"valid"
time=
"0.12"
/></proof>
...
...
@@ -151,8 +150,8 @@
</goal>
<goal
name=
"Test4"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.06"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
steps=
"71
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.02"
steps=
"71
"
/></proof>
<proof
prover=
"4"
><result
status=
"valid"
time=
"0.81"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"6"
><result
status=
"valid"
time=
"0.98"
/></proof>
...
...
@@ -161,8 +160,8 @@
</goal>
<goal
name=
"Test5"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.05"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.03"
steps=
"71
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.03"
steps=
"71
"
/></proof>
<proof
prover=
"4"
><result
status=
"valid"
time=
"0.79"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.04"
/></proof>
<proof
prover=
"6"
><result
status=
"valid"
time=
"1.10"
/></proof>
...
...
@@ -171,8 +170,8 @@
</goal>
<goal
name=
"Test6"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.05"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.07"
steps=
"71
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.07
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.07"
steps=
"71
"
/></proof>
<proof
prover=
"4"
><result
status=
"valid"
time=
"0.79"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.05"
/></proof>
<proof
prover=
"6"
><result
status=
"valid"
time=
"1.03"
/></proof>
...
...
@@ -182,8 +181,8 @@
</goal>
<goal
name=
"to_nat_0x00000000"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.06"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.05"
steps=
"80
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.12
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.12
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.05"
steps=
"80
"
/></proof>
<proof
prover=
"4"
><result
status=
"valid"
time=
"0.79"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.05"
/></proof>
<proof
prover=
"6"
><result
status=
"valid"
time=
"1.02"
/></proof>
...
...
@@ -284,8 +283,8 @@
</goal>
<goal
name=
"to_nat_0xFFFFFFFF"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.05"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.04"
steps=
"80
"
/></proof>
<proof
prover=
"3"
timelimit=
"3"
><result
status=
"valid"
time=
"0.12
"
/></proof>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.12
"
/></proof>
<proof
prover=
"3"
><result
status=
"valid"
time=
"0.04"
steps=
"80
"
/></proof>
<proof
prover=
"5"
><result
status=
"valid"
time=
"0.05"
/></proof>
<proof
prover=
"7"
timelimit=
"3"
><result
status=
"valid"
time=
"0.03"
/></proof>
<proof
prover=
"9"
><result
status=
"valid"
time=
"0.15"
steps=
"80"
/></proof>
...
...
examples/bitvectors/double_of_int/double_of_int_DoubleOfInt_lemma2_1.v
View file @
9ddbd8d7
...
...
@@ -152,15 +152,19 @@ Axiom pow2_62 : ((pow2 62%Z) = 4611686018427387904%Z).
Axiom
pow2_63
:
((
pow2
63
%
Z
)
=
9223372036854775808
%
Z
).
Axiom
Div_double
:
forall
(
x
:
Z
)
(
y
:
Z
),
(((
0
%
Z
<
y
)
%
Z
/
\
(
y
<=
x
)
%
Z
)
/
\
(
x
<
(
2
%
Z
*
y
)
%
Z
)
%
Z
)
->
((
int
.
EuclideanDivision
.
div
x
y
)
=
1
%
Z
).
Axiom
Div_mult_inst
:
forall
(
x
:
Z
)
(
z
:
Z
),
(
0
%
Z
<
x
)
%
Z
->
((
int
.
EuclideanDivision
.
div
((
x
*
1
%
Z
)
%
Z
+
z
)
%
Z
x
)
=
(
1
%
Z
+
(
int
.
EuclideanDivision
.
div
z
x
))
%
Z
).
Axiom
Div_double
:
forall
(
x
:
Z
)
(
y
:
Z
),
((
0
%
Z
<
y
)
%
Z
/
\
((
y
<=
x
)
%
Z
/
\
(
x
<
(
2
%
Z
*
y
)
%
Z
)
%
Z
))
->
((
int
.
EuclideanDivision
.
div
x
y
)
=
1
%
Z
).
Axiom
Div_pow
:
forall
(
x
:
Z
)
(
i
:
Z
),
(
0
%
Z
<
i
)
%
Z
->
((((
pow2
(
i
-
1
%
Z
)
%
Z
)
<=
x
)
%
Z
/
\
(
x
<
(
pow2
i
))
%
Z
)
->
((
int
.
EuclideanDivision
.
div
x
(
pow2
(
i
-
1
%
Z
)
%
Z
))
=
1
%
Z
)).
Axiom
Div_double_neg
:
forall
(
x
:
Z
)
(
y
:
Z
),
((((
(
-
2
%
Z
)
%
Z
*
y
)
%
Z
<=
x
)
%
Z
/
\
(
x
<
(
-
y
)
%
Z
)
%
Z
)
/
\
((
-
y
)
%
Z
<
0
%
Z
)
%
Z
)
->
((
int
.
EuclideanDivision
.
div
x
Axiom
Div_double_neg
:
forall
(
x
:
Z
)
(
y
:
Z
),
((((
-
2
%
Z
)
%
Z
*
y
)
%
Z
<=
x
)
%
Z
/
\
(
(
x
<
(
-
y
)
%
Z
)
%
Z
/
\
((
-
y
)
%
Z
<
0
%
Z
)
%
Z
)
)
->
((
int
.
EuclideanDivision
.
div
x
y
)
=
(
-
2
%
Z
)
%
Z
).
Axiom
Div_pow2
:
forall
(
x
:
Z
)
(
i
:
Z
),
(
0
%
Z
<
i
)
%
Z
->
...
...
@@ -188,7 +192,7 @@ Axiom Power_s_all : forall (n:Z),
Axiom
Power_p_all
:
forall
(
n
:
Z
),
((
pow21
(
n
-
1
%
Z
)
%
Z
)
=
((
05
/
10
)
%
R
*
(
pow21
n
))
%
R
).
Axiom
Power_1_2
:
((
05
/
10
)
%
R
=
(
Rdiv
1
%
R
2
%
R
)
%
R
).
Axiom
Power_1_2
:
((
05
/
10
)
%
R
=
(
1
%
R
/
2
%
R
)
%
R
).
Axiom
Power_11
:
((
pow21
1
%
Z
)
=
2
%
R
).
...
...
@@ -197,11 +201,11 @@ Axiom Power_neg1 : ((pow21 (-1%Z)%Z) = (05 / 10)%R).
Axiom
Power_non_null_aux
:
forall
(
n
:
Z
),
(
0
%
Z
<=
n
)
%
Z
->
~
((
pow21
n
)
=
0
%
R
).
Axiom
Power_neg_aux
:
forall
(
n
:
Z
),
(
0
%
Z
<=
n
)
%
Z
->
((
pow21
(
-
n
)
%
Z
)
=
(
Rdiv
1
%
R
(
pow21
n
))
%
R
).
((
pow21
(
-
n
)
%
Z
)
=
(
1
%
R
/
(
pow21
n
))
%
R
).
Axiom
Power_non_null
:
forall
(
n
:
Z
),
~
((
pow21
n
)
=
0
%
R
).
Axiom
Power_neg
:
forall
(
n
:
Z
),
((
pow21
(
-
n
)
%
Z
)
=
(
Rdiv
1
%
R
(
pow21
n
))
%
R
).
Axiom
Power_neg
:
forall
(
n
:
Z
),
((
pow21
(
-
n
)
%
Z
)
=
(
1
%
R
/
(
pow21
n
))
%
R
).
Axiom
Power_sum_aux
:
forall
(
n
:
Z
)
(
m
:
Z
),
(
0
%
Z
<=
m
)
%
Z
->
((
pow21
(
n
+
m
)
%
Z
)
=
((
pow21
n
)
*
(
pow21
m
))
%
R
).
...
...
@@ -210,7 +214,7 @@ Axiom Power_sum1 : forall (n:Z) (m:Z),
((
pow21
(
n
+
m
)
%
Z
)
=
((
pow21
n
)
*
(
pow21
m
))
%
R
).
Axiom
Pow2_int_real
:
forall
(
x
:
Z
),
(
0
%
Z
<=
x
)
%
Z
->
((
pow21
x
)
=
(
IZR
(
pow2
x
))).
((
pow21
x
)
=
(
Reals
.
Raxioms
.
IZR
(
pow2
x
))).
Axiom
size_positive
:
(
1
%
Z
<
32
%
Z
)
%
Z
.
...
...
@@ -239,21 +243,24 @@ Axiom extensionality : forall (v1:bv) (v2:bv), (eq v1 v2) -> (v1 = v2).
Parameter
bw_and
:
bv
->
bv
->
bv
.
Axiom
Nth_bw_and
:
forall
(
v1
:
bv
)
(
v2
:
bv
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
->
((
nth
(
bw_and
v1
v2
)
n
)
=
(
andb
(
nth
v1
n
)
(
nth
v2
n
))).
(
n
<
32
%
Z
)
%
Z
)
->
((
nth
(
bw_and
v1
v2
)
n
)
=
(
Init
.
Datatypes
.
andb
(
nth
v1
n
)
(
nth
v2
n
))).
Parameter
bw_or
:
bv
->
bv
->
bv
.
Axiom
Nth_bw_or
:
forall
(
v1
:
bv
)
(
v2
:
bv
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
->
((
nth
(
bw_or
v1
v2
)
n
)
=
(
orb
(
nth
v1
n
)
(
nth
v2
n
))).
(
n
<
32
%
Z
)
%
Z
)
->
((
nth
(
bw_or
v1
v2
)
n
)
=
(
Init
.
Datatypes
.
orb
(
nth
v1
n
)
(
nth
v2
n
))).
Parameter
bw_xor
:
bv
->
bv
->
bv
.
Axiom
Nth_bw_xor
:
forall
(
v1
:
bv
)
(
v2
:
bv
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
->
((
nth
(
bw_xor
v1
v2
)
n
)
=
(
xorb
(
nth
v1
n
)
(
nth
v2
n
))).
(
n
<
32
%
Z
)
%
Z
)
->
((
nth
(
bw_xor
v1
v2
)
n
)
=
(
Init
.
Datatypes
.
xorb
(
nth
v1
n
)
(
nth
v2
n
))).
Axiom
Nth_bw_xor_v1true
:
forall
(
v1
:
bv
)
(
v2
:
bv
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
/
\
((
nth
v1
n
)
=
true
))
->
((
nth
(
bw_xor
v1
v2
)
n
)
=
(
negb
(
nth
v2
n
))).
n
)
=
(
Init
.
Datatypes
.
negb
(
nth
v2
n
))).
Axiom
Nth_bw_xor_v1false
:
forall
(
v1
:
bv
)
(
v2
:
bv
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
/
\
((
nth
v1
n
)
=
false
))
->
((
nth
(
bw_xor
v1
v2
)
n
)
=
(
nth
v2
...
...
@@ -261,7 +268,7 @@ Axiom Nth_bw_xor_v1false : forall (v1:bv) (v2:bv) (n:Z), (((0%Z <= n)%Z /\
Axiom
Nth_bw_xor_v2true
:
forall
(
v1
:
bv
)
(
v2
:
bv
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
/
\
((
nth
v2
n
)
=
true
))
->
((
nth
(
bw_xor
v1
v2
)
n
)
=
(
negb
(
nth
v1
n
))).
n
)
=
(
Init
.
Datatypes
.
negb
(
nth
v1
n
))).
Axiom
Nth_bw_xor_v2false
:
forall
(
v1
:
bv
)
(
v2
:
bv
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
/
\
((
nth
v2
n
)
=
false
))
->
((
nth
(
bw_xor
v1
v2
)
n
)
=
(
nth
v1
...
...
@@ -270,7 +277,7 @@ Axiom Nth_bw_xor_v2false : forall (v1:bv) (v2:bv) (n:Z), (((0%Z <= n)%Z /\
Parameter
bw_not
:
bv
->
bv
.
Axiom
Nth_bw_not
:
forall
(
v
:
bv
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
32
%
Z
)
%
Z
)
->
((
nth
(
bw_not
v
)
n
)
=
(
negb
(
nth
v
n
))).
((
nth
(
bw_not
v
)
n
)
=
(
Init
.
Datatypes
.
negb
(
nth
v
n
))).
Parameter
lsr
:
bv
->
Z
->
bv
.
...
...
@@ -304,19 +311,19 @@ Axiom lsl_nth_low : forall (b:bv) (n:Z) (s:Z), ((0%Z <= n)%Z /\
Parameter
to_nat_sub
:
bv
->
Z
->
Z
->
Z
.
Axiom
to_nat_sub_zero
:
forall
(
b
:
bv
)
(
j
:
Z
)
(
i
:
Z
),
((
(
0
%
Z
<=
i
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
j
<
32
%
Z
)
%
Z
)
->
(((
nth
b
j
)
=
false
)
->
((
to_nat_sub
b
j
Axiom
to_nat_sub_zero
:
forall
(
b
:
bv
)
(
j
:
Z
)
(
i
:
Z
),
((
0
%
Z
<=
i
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
j
<
32
%
Z
)
%
Z
)
)
->
(((
nth
b
j
)
=
false
)
->
((
to_nat_sub
b
j
i
)
=
(
to_nat_sub
b
(
j
-
1
%
Z
)
%
Z
i
))).
Axiom
to_nat_sub_one
:
forall
(
b
:
bv
)
(
j
:
Z
)
(
i
:
Z
),
((
(
0
%
Z
<=
i
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
j
<
32
%
Z
)
%
Z
)
->
(((
nth
b
j
)
=
true
)
->
((
to_nat_sub
b
j
Axiom
to_nat_sub_one
:
forall
(
b
:
bv
)
(
j
:
Z
)
(
i
:
Z
),
((
0
%
Z
<=
i
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
j
<
32
%
Z
)
%
Z
)
)
->
(((
nth
b
j
)
=
true
)
->
((
to_nat_sub
b
j
i
)
=
((
pow2
(
j
-
i
)
%
Z
)
+
(
to_nat_sub
b
(
j
-
1
%
Z
)
%
Z
i
))
%
Z
)).
Axiom
to_nat_sub_high
:
forall
(
b
:
bv
)
(
j
:
Z
)
(
i
:
Z
),
(
j
<
i
)
%
Z
->
((
to_nat_sub
b
j
i
)
=
0
%
Z
).
Axiom
to_nat_of_zero2
:
forall
(
b
:
bv
)
(
i
:
Z
)
(
j
:
Z
),
((
(
j
<
32
%
Z
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
0
%
Z
<=
i
)
%
Z
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
Axiom
to_nat_of_zero2
:
forall
(
b
:
bv
)
(
i
:
Z
)
(
j
:
Z
),
((
j
<
32
%
Z
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
0
%
Z
<=
i
)
%
Z
)
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
(
i
<
k
)
%
Z
)
->
((
nth
b
k
)
=
false
))
->
((
to_nat_sub
b
j
0
%
Z
)
=
(
to_nat_sub
b
i
0
%
Z
))).
...
...
@@ -324,8 +331,8 @@ Axiom to_nat_of_zero : forall (b:bv) (i:Z) (j:Z), ((j < 32%Z)%Z /\
(
0
%
Z
<=
i
)
%
Z
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
(
i
<=
k
)
%
Z
)
->
((
nth
b
k
)
=
false
))
->
((
to_nat_sub
b
j
i
)
=
0
%
Z
)).
Axiom
to_nat_of_one
:
forall
(
b
:
bv
)
(
i
:
Z
)
(
j
:
Z
),
((
(
j
<
32
%
Z
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
0
%
Z
<=
i
)
%
Z
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
Axiom
to_nat_of_one
:
forall
(
b
:
bv
)
(
i
:
Z
)
(
j
:
Z
),
((
j
<
32
%
Z
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
0
%
Z
<=
i
)
%
Z
)
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
(
i
<=
k
)
%
Z
)
->
((
nth
b
k
)
=
true
))
->
((
to_nat_sub
b
j
i
)
=
((
pow2
((
j
-
i
)
%
Z
+
1
%
Z
)
%
Z
)
-
1
%
Z
)
%
Z
)).
...
...
@@ -413,23 +420,24 @@ Axiom extensionality1 : forall (v1:bv1) (v2:bv1), (eq1 v1 v2) -> (v1 = v2).
Parameter
bw_and1
:
bv1
->
bv1
->
bv1
.
Axiom
Nth_bw_and1
:
forall
(
v1
:
bv1
)
(
v2
:
bv1
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
->
((
nth1
(
bw_and1
v1
v2
)
n
)
=
(
andb
(
nth1
v1
n
)
(
nth1
v2
n
))).
(
n
<
64
%
Z
)
%
Z
)
->
((
nth1
(
bw_and1
v1
v2
)
n
)
=
(
Init
.
Datatypes
.
andb
(
nth1
v1
n
)
(
nth1
v2
n
)
)).
Parameter
bw_or1
:
bv1
->
bv1
->
bv1
.
Axiom
Nth_bw_or1
:
forall
(
v1
:
bv1
)
(
v2
:
bv1
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
->
((
nth1
(
bw_or1
v1
v2
)
n
)
=
(
orb
(
nth1
v1
n
)
(
nth1
v2
n
))).
(
n
<
64
%
Z
)
%
Z
)
->
((
nth1
(
bw_or1
v1
v2
)
n
)
=
(
Init
.
Datatypes
.
orb
(
nth1
v1
n
)
(
nth1
v2
n
))).
Parameter
bw_xor1
:
bv1
->
bv1
->
bv1
.
Axiom
Nth_bw_xor1
:
forall
(
v1
:
bv1
)
(
v2
:
bv1
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
->
((
nth1
(
bw_xor1
v1
v2
)
n
)
=
(
xorb
(
nth1
v1
n
)
(
nth1
v2
n
))).
(
n
<
64
%
Z
)
%
Z
)
->
((
nth1
(
bw_xor1
v1
v2
)
n
)
=
(
Init
.
Datatypes
.
xorb
(
nth1
v1
n
)
(
nth1
v2
n
)
)).
Axiom
Nth_bw_xor_v1true1
:
forall
(
v1
:
bv1
)
(
v2
:
bv1
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
/
\
((
nth1
v1
n
)
=
true
))
->
((
nth1
(
bw_xor1
v1
v2
)
n
)
=
(
negb
(
nth1
v2
n
))).
n
)
=
(
Init
.
Datatypes
.
negb
(
nth1
v2
n
))).
Axiom
Nth_bw_xor_v1false1
:
forall
(
v1
:
bv1
)
(
v2
:
bv1
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
/
\
((
nth1
v1
n
)
=
false
))
->
((
nth1
(
bw_xor1
v1
v2
)
...
...
@@ -437,7 +445,7 @@ Axiom Nth_bw_xor_v1false1 : forall (v1:bv1) (v2:bv1) (n:Z), (((0%Z <= n)%Z /\
Axiom
Nth_bw_xor_v2true1
:
forall
(
v1
:
bv1
)
(
v2
:
bv1
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
/
\
((
nth1
v2
n
)
=
true
))
->
((
nth1
(
bw_xor1
v1
v2
)
n
)
=
(
negb
(
nth1
v1
n
))).
n
)
=
(
Init
.
Datatypes
.
negb
(
nth1
v1
n
))).
Axiom
Nth_bw_xor_v2false1
:
forall
(
v1
:
bv1
)
(
v2
:
bv1
)
(
n
:
Z
),
(((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
/
\
((
nth1
v2
n
)
=
false
))
->
((
nth1
(
bw_xor1
v1
v2
)
...
...
@@ -446,7 +454,7 @@ Axiom Nth_bw_xor_v2false1 : forall (v1:bv1) (v2:bv1) (n:Z), (((0%Z <= n)%Z /\
Parameter
bw_not1
:
bv1
->
bv1
.
Axiom
Nth_bw_not1
:
forall
(
v
:
bv1
)
(
n
:
Z
),
((
0
%
Z
<=
n
)
%
Z
/
\
(
n
<
64
%
Z
)
%
Z
)
->
((
nth1
(
bw_not1
v
)
n
)
=
(
negb
(
nth1
v
n
))).
((
nth1
(
bw_not1
v
)
n
)
=
(
Init
.
Datatypes
.
negb
(
nth1
v
n
))).
Parameter
lsr1
:
bv1
->
Z
->
bv1
.
...
...
@@ -480,19 +488,19 @@ Axiom lsl_nth_low1 : forall (b:bv1) (n:Z) (s:Z), ((0%Z <= n)%Z /\
Parameter
to_nat_sub1
:
bv1
->
Z
->
Z
->
Z
.
Axiom
to_nat_sub_zero1
:
forall
(
b
:
bv1
)
(
j
:
Z
)
(
i
:
Z
),
((
(
0
%
Z
<=
i
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
j
<
64
%
Z
)
%
Z
)
->
(((
nth1
b
j
)
=
false
)
->
((
to_nat_sub1
b
j
Axiom
to_nat_sub_zero1
:
forall
(
b
:
bv1
)
(
j
:
Z
)
(
i
:
Z
),
((
0
%
Z
<=
i
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
j
<
64
%
Z
)
%
Z
)
)
->
(((
nth1
b
j
)
=
false
)
->
((
to_nat_sub1
b
j
i
)
=
(
to_nat_sub1
b
(
j
-
1
%
Z
)
%
Z
i
))).
Axiom
to_nat_sub_one1
:
forall
(
b
:
bv1
)
(
j
:
Z
)
(
i
:
Z
),
((
(
0
%
Z
<=
i
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
j
<
64
%
Z
)
%
Z
)
->
(((
nth1
b
j
)
=
true
)
->
((
to_nat_sub1
b
j
Axiom
to_nat_sub_one1
:
forall
(
b
:
bv1
)
(
j
:
Z
)
(
i
:
Z
),
((
0
%
Z
<=
i
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
j
<
64
%
Z
)
%
Z
)
)
->
(((
nth1
b
j
)
=
true
)
->
((
to_nat_sub1
b
j
i
)
=
((
pow2
(
j
-
i
)
%
Z
)
+
(
to_nat_sub1
b
(
j
-
1
%
Z
)
%
Z
i
))
%
Z
)).
Axiom
to_nat_sub_high1
:
forall
(
b
:
bv1
)
(
j
:
Z
)
(
i
:
Z
),
(
j
<
i
)
%
Z
->
((
to_nat_sub1
b
j
i
)
=
0
%
Z
).
Axiom
to_nat_of_zero21
:
forall
(
b
:
bv1
)
(
i
:
Z
)
(
j
:
Z
),
((
(
j
<
64
%
Z
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
0
%
Z
<=
i
)
%
Z
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
Axiom
to_nat_of_zero21
:
forall
(
b
:
bv1
)
(
i
:
Z
)
(
j
:
Z
),
((
j
<
64
%
Z
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
0
%
Z
<=
i
)
%
Z
)
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
(
i
<
k
)
%
Z
)
->
((
nth1
b
k
)
=
false
))
->
((
to_nat_sub1
b
j
0
%
Z
)
=
(
to_nat_sub1
b
i
0
%
Z
))).
...
...
@@ -500,8 +508,8 @@ Axiom to_nat_of_zero1 : forall (b:bv1) (i:Z) (j:Z), ((j < 64%Z)%Z /\
(
0
%
Z
<=
i
)
%
Z
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
(
i
<=
k
)
%
Z
)
->
((
nth1
b
k
)
=
false
))
->
((
to_nat_sub1
b
j
i
)
=
0
%
Z
)).
Axiom
to_nat_of_one1
:
forall
(
b
:
bv1
)
(
i
:
Z
)
(
j
:
Z
),
((
(
j
<
64
%
Z
)
%
Z
/
\
(
i
<=
j
)
%
Z
)
/
\
(
0
%
Z
<=
i
)
%
Z
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
Axiom
to_nat_of_one1
:
forall
(
b
:
bv1
)
(
i
:
Z
)
(
j
:
Z
),
((
j
<
64
%
Z
)
%
Z
/
\
(
(
i
<=
j
)
%
Z
/
\
(
0
%
Z
<=
i
)
%
Z
)
)
->
((
forall
(
k
:
Z
),
((
k
<=
j
)
%
Z
/
\
(
i
<=
k
)
%
Z
)
->
((
nth1
b
k
)
=
true
))
->
((
to_nat_sub1
b
j
i
)
=
((
pow2
((
j
-
i
)
%
Z
+
1
%
Z
)
%
Z
)
-
1
%
Z
)
%
Z
)).
...
...
@@ -590,7 +598,7 @@ Axiom sign_of_double_negative : forall (b:bv1), ((nth1 b 63%Z) = true) ->
Axiom
double_of_bv64_value
:
forall
(
b
:
bv1
),
((
0
%
Z
<
(
to_nat_sub1
b
62
%
Z
52
%
Z
))
%
Z
/
\
((
to_nat_sub1
b
62
%
Z
52
%
Z
)
<
2047
%
Z
)
%
Z
)
->
((
double_of_bv64
b
)
=
(((
sign_value
(
nth1
b
63
%
Z
))
*
(
pow21
((
to_nat_sub1
b
62
%
Z
52
%
Z
)
-
1023
%
Z
)
%
Z
))
%
R
*
(
1
%
R
+
((
IZR
(
to_nat_sub1
b
51
%
Z
62
%
Z
52
%
Z
)
-
1023
%
Z
)
%
Z
))
%
R
*
(
1
%
R
+
((
Reals
.
Raxioms
.
IZR
(
to_nat_sub1
b
51
%
Z
0
%
Z
))
*
(
pow21
(
-
52
%
Z
)
%
Z
))
%
R
)
%
R
)
%
R
).
Axiom
nth_j1
:
forall
(
i
:
Z
),
((
0
%
Z
<=
i
)
%
Z
/
\
(
i
<=
19
%
Z
)
%
Z
)
->
...
...
@@ -667,7 +675,7 @@ Axiom mantissa_const_to_nat51 : ((to_nat_sub1 (concat (from_int 1127219200%Z)
Axiom
mantissa_const
:
((
to_nat_sub1
(
concat
(
from_int
1127219200
%
Z
)
(
from_int
2147483648
%
Z
))
51
%
Z
0
%
Z
)
=
(
pow2
31
%
Z
)).
Axiom
real1075m1023
:
((
IZR
(
1075
%
Z
-
1023
%
Z
)
%
Z
)
=
52
%
R
).
Axiom
real1075m1023
:
((
Reals
.
Raxioms
.
IZR
(
1075
%
Z
-
1023
%
Z
)
%
Z
)
=
52
%
R
).
Axiom
real1075m1023_2
:
((
1075
%
R
-
1023
%
R
)
%
R
=
52
%
R
).
...
...
@@ -702,7 +710,7 @@ Axiom nth_jpxor_0_30 : forall (x:Z), forall (i:Z), ((is_int32 x) /\
i
)
=
(
nth
(
from_int2c
x
)
i
)).
Axiom
nth_var31
:
forall
(
x
:
Z
),
((
nth
(
jpxor
x
)
31
%
Z
)
=
(
negb
(
nth
(
from_int2c
x
)
31
%
Z
))).
31
%
Z
)
=
(
Init
.
Datatypes
.
negb
(
nth
(
from_int2c
x
)
31
%
Z
))).
Axiom
to_nat_sub_0_30
:
forall
(
x
:
Z
),
(
is_int32
x
)
->
((
to_nat_sub
(
bw_xor
(
from_int
2147483648
%
Z
)
(
from_int2c
x
))
30
%
Z
...
...
@@ -752,7 +760,7 @@ Axiom nth_var3 : forall (x:Z) (i:Z), ((is_int32 x) /\ ((32%Z <= i)%Z /\
Open
Scope
Z_scope
.
Require
Import
Why3
.
Ltac
ae
:=
why3
"
alt-ergo
"
timelimit
30.
Ltac
ae
:=
why3
"
Alt-Ergo,0.95.2,
"
timelimit
30.
(
*
Why3
goal
*
)
Theorem
lemma2
:
forall
(
x
:
Z
),
(
is_int32
x
)
->
((
to_nat_sub1
(
var
x
)
51
%
Z
...
...
@@ -764,4 +772,3 @@ ae.
ae
.
Qed
.
examples/bitvectors/double_of_int/why3session.xml
View file @
9ddbd8d7
...
...
@@ -11,66 +11,66 @@
<prover
id=
"6"
name=
"Gappa"
version=
"1.1.1"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"7"
name=
"Alt-Ergo"
version=
"0.95.2"
timelimit=
"3"
memlimit=
"1000"
/>
<file
name=
"../double_of_int.why"
expanded=
"true"
>
<theory
name=
"DoubleOfInt"
sum=
"51a02b8d5eabcefc93d0fa4ead59f4f6"
expanded=
"true"
>
<goal
name=
"nth_j1"
expanded=
"true"
>
<theory
name=
"DoubleOfInt"
sum=
"51a02b8d5eabcefc93d0fa4ead59f4f6"
>
<goal
name=
"nth_j1"
>
<proof
prover=
"7"
timelimit=
"5"
><result
status=
"valid"
time=
"0.41"
steps=
"115"
/></proof>
</goal>
<goal
name=
"nth_j2"
expanded=
"true"
>
<goal
name=
"nth_j2"
>
<proof
prover=
"7"
timelimit=
"5"
><result
status=
"valid"
time=
"0.24"
steps=
"113"
/></proof>
</goal>
<goal
name=
"nth_j3"
expanded=
"true"
>
<goal
name=
"nth_j3"
>
<proof
prover=
"7"
timelimit=
"5"
><result
status=
"valid"
time=
"0.40"
steps=
"116"
/></proof>
</goal>
<goal
name=
"nth_j4"
expanded=
"true"
>
<goal
name=
"nth_j4"
>
<proof
prover=
"7"
timelimit=
"5"
><result
status=
"valid"
time=
"0.24"
steps=
"113"
/></proof>
</goal>
<goal
name=
"nth_j5"
expanded=
"true"
>
<goal
name=
"nth_j5"
>
<proof
prover=
"7"
timelimit=
"5"
><result
status=
"valid"
time=
"0.40"
steps=
"116"
/></proof>
</goal>
<goal
name=
"nth_j6"
expanded=
"true"
>
<goal
name=
"nth_j6"
>
<proof
prover=
"7"
timelimit=
"5"
><result
status=
"valid"
time=
"0.11"
steps=
"102"
/></proof>
</goal>
<goal
name=
"nth_j7"
expanded=
"true"
>
<goal
name=
"nth_j7"
>
<proof
prover=
"7"
timelimit=
"5"
><result
status=
"valid"
time=
"0.25"
steps=
"112"
/></proof>
</goal>
<goal
name=
"jp0_30"
expanded=
"true"
>
<goal
name=
"jp0_30"
>
<proof
prover=
"7"
><result
status=
"valid"
time=
"0.53"
steps=
"124"
/></proof>
</goal>
<goal
name=
"nth_const1"
expanded=
"true"
>
<goal
name=
"nth_const1"
>
<proof
prover=
"7"
timelimit=
"60"
><result
status=
"valid"
time=
"3.25"
steps=
"258"
/></proof>
</goal>
<goal
name=
"nth_const2"
expanded=
"true"
>
<goal
name=
"nth_const2"
>
<proof
prover=
"7"
timelimit=
"60"
><result
status=
"valid"
time=
"1.49"
steps=
"254"
/></proof>
</goal>
<goal
name=
"nth_const3"
expanded=
"true"
>
<goal
name=
"nth_const3"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.06"
/></proof>
<proof
prover=
"7"
timelimit=
"60"
><result
status=
"valid"
time=
"0.08"
steps=
"98"
/></proof>
</goal>
<goal
name=
"nth_const4"
expanded=
"true"
>
<goal
name=
"nth_const4"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.06"
/></proof>
<proof
prover=
"7"
timelimit=
"60"
><result
status=
"valid"
time=
"0.07"
steps=
"99"
/></proof>
</goal>
<goal
name=
"nth_const5"
expanded=
"true"
>
<goal
name=
"nth_const5"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.06"
/></proof>
<proof
prover=
"7"
timelimit=
"60"
><result
status=
"valid"
time=
"0.07"
steps=
"99"
/></proof>
</goal>
<goal
name=
"nth_const6"
expanded=
"true"
>
<goal
name=
"nth_const6"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.06"
/></proof>
<proof
prover=
"7"
timelimit=
"60"
><result
status=
"valid"
time=
"0.10"
steps=
"99"
/></proof>
</goal>
<goal
name=
"nth_const7"
expanded=
"true"
>
<goal
name=
"nth_const7"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.06"
/></proof>