Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Why3
why3
Commits
fb9ff35a
Commit
fb9ff35a
authored
Sep 04, 2014
by
MARCHE Claude
Browse files
fix #17181
parent
e26922de
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
examples/avl/priority_queue/why3session.xml
View file @
fb9ff35a
This diff is collapsed.
Click to expand it.
examples/avl/priority_queue/why3shapes.gz
View file @
fb9ff35a
No preview for this file type
examples/avl/ral/why3session.xml
View file @
fb9ff35a
...
...
@@ -4,28 +4,28 @@
<why3session
shape_version=
"4"
>
<prover
id=
"0"
name=
"CVC3"
version=
"2.4.1"
timelimit=
"5"
memlimit=
"1000"
/>
<prover
id=
"1"
name=
"Alt-Ergo"
version=
"0.95.2"
timelimit=
"5"
memlimit=
"1000"
/>
<file
name=
"../ral.mlw"
>
<theory
name=
"RAL"
sum=
"b85ea65c6b3b2e84fb0a259ea33ee2c5"
>
<goal
name=
"assoc"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<file
name=
"../ral.mlw"
expanded=
"true"
>
<theory
name=
"RAL"
sum=
"b85ea65c6b3b2e84fb0a259ea33ee2c5"
expanded=
"true"
>
<goal
name=
"
M.
assoc"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"neutral"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
M.
neutral"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"assoc"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
M.M.
assoc"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"neutral"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
M.M.
neutral"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"WP_parameter zero"
expl=
"VC for zero"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
M.
WP_parameter zero"
expl=
"VC for zero"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"WP_parameter op"
expl=
"VC for op"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
M.
WP_parameter op"
expl=
"VC for op"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"WP_parameter measure"
expl=
"VC for measure"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
D.
WP_parameter measure"
expl=
"VC for measure"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"WP_parameter sum_measure_is_length"
expl=
"VC for sum_measure_is_length"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
...
...
@@ -33,35 +33,35 @@
<goal
name=
"WP_parameter selected_part"
expl=
"VC for selected_part"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.04"
/></proof>
</goal>
<goal
name=
"assoc"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
Sel.M.
assoc"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"neutral"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
Sel.M.
neutral"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"sum_def_nil"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
Sel.M.
sum_def_nil"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"sum_def_cons"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
Sel.M.
sum_def_cons"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"balancing_positive"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
Sel.
balancing_positive"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"selection_empty"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
Sel.
selection_empty"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL M zero"
expl=
"VC for avl AVL M zero"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL M zero"
expl=
"VC for avl AVL M zero"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL M op"
expl=
"VC for avl AVL M op"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL M op"
expl=
"VC for avl AVL M op"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL D measure"
expl=
"VC for avl AVL D measure"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL D measure"
expl=
"VC for avl AVL D measure"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL selected_part"
expl=
"VC for avl AVL selected_part"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.
30
"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL selected_part"
expl=
"VC for avl AVL selected_part"
>
<proof
prover=
"1"
timelimit=
"3"
><result
status=
"valid"
time=
"0.
57
"
/></proof>
</goal>
<goal
name=
"WP_parameter empty"
expl=
"VC for empty"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.02"
/></proof>
...
...
examples/avl/tables/why3session.xml
View file @
fb9ff35a
...
...
@@ -5,43 +5,43 @@
<prover
id=
"0"
name=
"CVC3"
version=
"2.4.1"
timelimit=
"1"
memlimit=
"1000"
/>
<prover
id=
"1"
name=
"CVC4"
version=
"1.4"
timelimit=
"1"
memlimit=
"1000"
/>
<prover
id=
"2"
name=
"Alt-Ergo"
version=
"0.95.2"
timelimit=
"1"
memlimit=
"1000"
/>
<file
name=
"../tables.mlw"
>
<file
name=
"../tables.mlw"
expanded=
"true"
>
<theory
name=
"MapBase"
sum=
"7cd93351ec4f61724437c746a929f65e"
>
<goal
name=
"WP_parameter measure"
expl=
"VC for measure"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
<goal
name=
"
D.
WP_parameter measure"
expl=
"VC for measure"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
</goal>
<goal
name=
"Refl"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
A.O.
Refl"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"Trans"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
A.O.
Trans"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"eq_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
A.O.
eq_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"lt_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.03"
/></proof>
<goal
name=
"
A.O.
lt_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.03"
/></proof>
</goal>
<goal
name=
"WP_parameter neutral_"
expl=
"VC for neutral_"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.03"
/></proof>
<goal
name=
"
M.
WP_parameter neutral_"
expl=
"VC for neutral_"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.03"
/></proof>
</goal>
<goal
name=
"assoc"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
<goal
name=
"
M.
assoc"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"neutral"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
M.
neutral"
>
<proof
prover=
"0"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"assoc"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
<goal
name=
"
M.M.
assoc"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"neutral"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
M.M.
neutral"
>
<proof
prover=
"0"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"WP_parameter zero"
expl=
"VC for zero"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
M.
WP_parameter zero"
expl=
"VC for zero"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"WP_parameter op"
expl=
"VC for op"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
M.
WP_parameter op"
expl=
"VC for op"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
</goal>
<goal
name=
"WP_parameter selected_sem"
expl=
"VC for selected_sem"
>
<transf
name=
"split_goal_wp"
>
...
...
@@ -189,35 +189,35 @@
</goal>
</transf>
</goal>
<goal
name=
"assoc"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
<goal
name=
"
Sel.M.
assoc"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"neutral"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
Sel.M.
neutral"
>
<proof
prover=
"0"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"sum_def_nil"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
<goal
name=
"
Sel.M.
sum_def_nil"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"sum_def_cons"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
<goal
name=
"
Sel.M.
sum_def_cons"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
</goal>
<goal
name=
"balancing_positive"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
<goal
name=
"
Sel.
balancing_positive"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"selection_empty"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.06"
/></proof>
<goal
name=
"
Sel.
selection_empty"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.06"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL M zero"
expl=
"VC for avl AVL M zero"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.04"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL M zero"
expl=
"VC for avl AVL M zero"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.04"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL M op"
expl=
"VC for avl AVL M op"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL M op"
expl=
"VC for avl AVL M op"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL D measure"
expl=
"VC for avl AVL D measure"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL D measure"
expl=
"VC for avl AVL D measure"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
</goal>
<goal
name=
"WP_parameter avl AVL selected_part"
expl=
"VC for avl AVL selected_part"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.
1
2"
/></proof>
<goal
name=
"
Sel.
WP_parameter avl AVL selected_part"
expl=
"VC for avl AVL selected_part"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.
2
2"
/></proof>
</goal>
<goal
name=
"WP_parameter m"
expl=
"VC for m"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.04"
/></proof>
...
...
@@ -1744,32 +1744,32 @@
</goal>
</theory>
<theory
name=
"Map"
sum=
"be1f82088b4c4c13fe4f9701c07b9815"
>
<goal
name=
"WP_parameter get_key"
expl=
"VC for get_key"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.01"
/></proof>
<goal
name=
"
D.
WP_parameter get_key"
expl=
"VC for get_key"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.01"
/></proof>
</goal>
<goal
name=
"balancing_positive"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
MB.
balancing_positive"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"Refl"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
MB.CO.
Refl"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"Trans"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
MB.CO.
Trans"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"eq_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
MB.CO.
eq_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"lt_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
MB.CO.
lt_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"Total"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
MB.CO.
Total"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"WP_parameter MapBase get_key"
expl=
"VC for MapBase get_key"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
MB.
WP_parameter MapBase get_key"
expl=
"VC for MapBase get_key"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
</goal>
<goal
name=
"WP_parameter MapBase CO compare"
expl=
"VC for MapBase CO compare"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
<goal
name=
"
MB.
WP_parameter MapBase CO compare"
expl=
"VC for MapBase CO compare"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
</goal>
<goal
name=
"WP_parameter m_def"
expl=
"VC for m_def"
>
<transf
name=
"split_goal_wp"
>
...
...
@@ -1996,32 +1996,32 @@
</goal>
</theory>
<theory
name=
"Set"
sum=
"40c14ea8fa947b8e406f0b659d679ba2"
>
<goal
name=
"WP_parameter get_key"
expl=
"VC for get_key"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.01"
/></proof>
<goal
name=
"
D.
WP_parameter get_key"
expl=
"VC for get_key"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.01"
/></proof>
</goal>
<goal
name=
"balancing_positive"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
MB.
balancing_positive"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"Refl"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
<goal
name=
"
MB.CO.
Refl"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
</goal>
<goal
name=
"Trans"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
<goal
name=
"
MB.CO.
Trans"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
</goal>
<goal
name=
"eq_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.03"
/></proof>
<goal
name=
"
MB.CO.
eq_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.03"
/></proof>
</goal>
<goal
name=
"lt_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
2
"
/></proof>
<goal
name=
"
MB.CO.
lt_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
</goal>
<goal
name=
"Total"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.02"
/></proof>
<goal
name=
"
MB.CO.
Total"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.02"
/></proof>
</goal>
<goal
name=
"WP_parameter MapBase get_key"
expl=
"VC for MapBase get_key"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
MB.
WP_parameter MapBase get_key"
expl=
"VC for MapBase get_key"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
</goal>
<goal
name=
"WP_parameter MapBase CO compare"
expl=
"VC for MapBase CO compare"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
MB.
WP_parameter MapBase CO compare"
expl=
"VC for MapBase CO compare"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
4
"
/></proof>
</goal>
<goal
name=
"WP_parameter m_def"
expl=
"VC for m_def"
>
<transf
name=
"split_goal_wp"
>
...
...
@@ -2168,47 +2168,47 @@
<goal
name=
"WP_parameter compare"
expl=
"VC for compare"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.01"
/></proof>
</goal>
<goal
name=
"balancing_positive"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
M.
balancing_positive"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
</goal>
<goal
name=
"Refl"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
M.CO.
Refl"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
</goal>
<goal
name=
"Trans"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
M.CO.
Trans"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
</goal>
<goal
name=
"eq_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
M.CO.
eq_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
</goal>
<goal
name=
"lt_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
M.CO.
lt_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
</goal>
<goal
name=
"Total"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
M.CO.
Total"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
1
"
/></proof>
</goal>
<goal
name=
"WP_parameter Map CO compare"
expl=
"VC for Map CO compare"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
M.
WP_parameter Map CO compare"
expl=
"VC for Map CO compare"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
6
"
/></proof>
</goal>
<goal
name=
"balancing_positive"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
S.
balancing_positive"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
6
"
/></proof>
</goal>
<goal
name=
"Refl"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
S.CO.
Refl"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
</goal>
<goal
name=
"Trans"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
S.CO.
Trans"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
</goal>
<goal
name=
"eq_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
S.CO.
eq_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
</goal>
<goal
name=
"lt_def"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
S.CO.
lt_def"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
</goal>
<goal
name=
"Total"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
3
"
/></proof>
<goal
name=
"
S.CO.
Total"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
</goal>
<goal
name=
"WP_parameter Set CO compare"
expl=
"VC for Set CO compare"
>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.0
5
"
/></proof>
<goal
name=
"
S.
WP_parameter Set CO compare"
expl=
"VC for Set CO compare"
>
<proof
prover=
"2"
timelimit=
"3"
><result
status=
"valid"
time=
"0.0
8
"
/></proof>
</goal>
</theory>
</file>
...
...
examples/bts/17181.mlw
0 → 100644
View file @
fb9ff35a
theory T
namespace A
goal g:true
end
namespace B
goal g:false
end
end
module A
predicate p
predicate q
namespace B
let f () : unit ensures { p } = ()
end
namespace C
let f () : unit ensures { q <-> p } = ()
end
end
examples/bts/17181/why3session.xml
0 → 100644
View file @
fb9ff35a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session
shape_version=
"4"
>
<prover
id=
"0"
name=
"CVC4"
version=
"1.4"
timelimit=
"3"
memlimit=
"1000"
/>
<prover
id=
"1"
name=
"Alt-Ergo"
version=
"0.95.2"
timelimit=
"3"
memlimit=
"1000"
/>
<file
name=
"../17181.mlw"
expanded=
"true"
>
<theory
name=
"T"
sum=
"bf985426bbce7996e2481c8e25f14156"
expanded=
"true"
>
<goal
name=
"A.g"
expanded=
"true"
>
<proof
prover=
"1"
><result
status=
"valid"
time=
"0.01"
/></proof>
</goal>
<goal
name=
"B.g"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"unknown"
time=
"0.00"
/></proof>
</goal>
</theory>
<theory
name=
"A"
sum=
"2bae57918a7b687b2d8d2a31ec13cb69"
expanded=
"true"
>
<goal
name=
"B.WP_parameter f"
expl=
"VC for f"
expanded=
"true"
>
<proof
prover=
"1"
><result
status=
"unknown"
time=
"0.00"
/></proof>
</goal>
<goal
name=
"C.WP_parameter f"
expl=
"VC for f"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"unknown"
time=
"0.00"
/></proof>
</goal>
</theory>
</file>
</why3session>
examples/bts/17181/why3shapes.gz
0 → 100644
View file @
fb9ff35a
File added
src/session/session.ml
View file @
fb9ff35a
...
...
@@ -491,7 +491,13 @@ exception NoTask
let
goal_task
g
=
Opt
.
get_exn
NoTask
g
.
goal_task
let
goal_task_option
g
=
g
.
goal_task
let
goal_expl
g
=
Opt
.
get_def
g
.
goal_name
.
Ident
.
id_string
g
.
goal_expl
let
goal_expl
g
=
match
g
.
goal_expl
with
|
Some
s
->
s
|
None
->
try
let
_
,_,
l
=
restore_path
g
.
goal_name
in
String
.
concat
"."
l
with
Not_found
->
g
.
goal_name
.
Ident
.
id_string
(************************)
(* saving state on disk *)
...
...
@@ -564,25 +570,14 @@ let save_proof_attempt fmt ((id,tl,ml),a) =
fprintf
fmt
"</proof>@]"
let
save_ident
fmt
id
=
fprintf
fmt
"name=
\"
%a
\"
"
save_string
id
.
Ident
.
id_string
;
(* location info is useless, and takes a lot of place *)
(*
match id.Ident.id_loc with
| None -> ()
| Some loc ->
let file,lnum,cnumb,cnume = Loc.get loc in
let file = Sysutil.relativize_filename !session_dir_for_save file in
fprintf fmt
"@ locfile=\"%a\"@ loclnum=\"%i\" loccnumb=\"%i\" loccnume=\"%i\""
save_string file lnum cnumb cnume
*)
()
(*
let save_label fmt s =
fprintf fmt "@\n@[<hov 1><label@ name=\"%a\"/>@]" save_string s.Ident.lab_string
*)
let
n
=
try
let
(
_
,_,
l
)
=
Theory
.
restore_path
id
in
String
.
concat
"."
l
with
Not_found
->
id
.
Ident
.
id_string
in
fprintf
fmt
"name=
\"
%a
\"
"
save_string
n
module
Compr
=
Compress
.
Compress_z
type
save_ctxt
=
{
...
...
@@ -2364,8 +2359,13 @@ let merge_theory ~ctxt ~theories env from_th to_th =
List
.
iter
(
fun
to_goal
->
try
let
from_goal
=
Mstr
.
find
to_goal
.
goal_name
.
Ident
.
id_string
from_goals
in
let
to_goal_name
=
try
let
(
_
,_,
l
)
=
restore_path
to_goal
.
goal_name
in
String
.
concat
"."
l
with
Not_found
->
to_goal
.
goal_name
.
Ident
.
id_string
in
let
from_goal
=
Mstr
.
find
to_goal_name
from_goals
in
Debug
.
dprintf
debug
"[Goal checksum] goal %s: old sum = %a, new sum = %a@."
to_goal
.
goal_name
.
Ident
.
id_string
...
...
src/whyml/mlw_wp.ml
View file @
fb9ff35a
...
...
@@ -946,7 +946,13 @@ let rec unabsurd f = match f.t_node with
let
add_wp_decl
km
name
f
uc
=
(* prepare a proposition symbol *)
let
s
=
"WP_parameter "
^
name
.
id_string
in
let
lab
=
Ident
.
create_label
(
"expl:VC for "
^
name
.
id_string
)
in
(* set a proper explanation *)
let
n
=
try
let
_
,_,
l
=
restore_path
name
in
String
.
concat
"."
l
with
Not_found
->
name
.
id_string
in
let
lab
=
Ident
.
create_label
(
"expl:VC for "
^
n
)
in
let
label
=
Slab
.
add
lab
name
.
id_label
in
let
id
=
id_fresh
~
label
?
loc
:
name
.
id_loc
s
in
let
pr
=
create_prsymbol
id
in
...
...
tests/test_compute.why
View file @
fb9ff35a
theory A
predicate p
predicate q
goal G1 : p /\ q
goal G2 : p -> q
goal G3 : p && q
end
theory Test
goal g1: true
...
...
tests/test_compute/why3session.xml
View file @
fb9ff35a
...
...
@@ -3,274 +3,294 @@
"http://why3.lri.fr/why3session.dtd">
<why3session
shape_version=
"4"
>
<file
name=
"../test_compute.why"
expanded=
"true"
>
<theory
name=
"Test"
expanded=
"true"
>
<goal
name=
"g1"
sum=
"1ad4ea691c2d3b0a420f5b0819ebc531"
>
<theory
name=
"A"
sum=
"914ec6900afb352337828782c59db261"
expanded=
"true"
>
<goal
name=
"G1"
expanded=
"true"
>
<transf
name=
"compute_in_goal"
expanded=
"true"
>
<goal
name=
"G1.1"
expl=
"1."
>
</goal>
</transf>
</goal>
<goal
name=
"G2"
expanded=
"true"
>
<transf
name=
"compute_in_goal"
expanded=
"true"
>
<goal
name=
"G2.1"
expl=
"1."
>
</goal>
</transf>
</goal>
<goal
name=
"G3"
expanded=
"true"
>
<transf
name=
"compute_in_goal"
expanded=
"true"
>
<goal
name=
"G3.1"
expl=
"1."
>
</goal>
</transf>
</goal>
</theory>