Skip to content
GitLab
Menu
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
51d21a9e
Commit
51d21a9e
authored
Apr 17, 2015
by
Jean-Christophe Filliâtre
Browse files
verifythis 2015, challenge 1: simplification
parent
eab93a08
Changes
3
Hide whitespace changes
Inline
Side-by-side
examples/verifythis_2015_relaxed_prefix.mlw
View file @
51d21a9e
...
...
@@ -126,7 +126,6 @@ module RelaxedPrefix
let ghost ignored = ref 0 in
for i = 0 to n - 1 do
invariant { 0 <= !shift <= 1 }
invariant { i = 0 -> !shift = 0 }
invariant { !shift = 1 -> 0 <= !ignored < i }
invariant { m + !shift >= i }
invariant {
...
...
examples/verifythis_2015_relaxed_prefix/why3session.xml
View file @
51d21a9e
...
...
@@ -4,107 +4,98 @@
<why3session
shape_version=
"4"
>
<prover
id=
"0"
name=
"Alt-Ergo"
version=
"0.95.2"
timelimit=
"6"
memlimit=
"1000"
/>
<prover
id=
"2"
name=
"Z3"
version=
"4.3.1"
timelimit=
"6"
memlimit=
"1000"
/>
<file
name=
"../verifythis_2015_relaxed_prefix.mlw"
>
<theory
name=
"RelaxedPrefix"
sum=
"
1aec45f1cb638f259a0aa093f19178a1
"
>
<goal
name=
"WP_parameter is_relaxed_prefix"
expl=
"VC for is_relaxed_prefix"
>
<transf
name=
"split_goal_wp"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1"
expl=
"1. postcondition"
>
<file
name=
"../verifythis_2015_relaxed_prefix.mlw"
expanded=
"true"
>
<theory
name=
"RelaxedPrefix"
sum=
"
64ae97234d56ce75d88590b835d579a3"
expanded=
"true
"
>
<goal
name=
"WP_parameter is_relaxed_prefix"
expl=
"VC for is_relaxed_prefix"
expanded=
"true"
>
<transf
name=
"split_goal_wp"
expanded=
"true"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1"
expl=
"1. postcondition"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"6"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.2"
expl=
"2. loop invariant init"
>
<goal
name=
"WP_parameter is_relaxed_prefix.2"
expl=
"2. loop invariant init"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"3"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.3"
expl=
"3. loop invariant init"
>
<goal
name=
"WP_parameter is_relaxed_prefix.3"
expl=
"3. loop invariant init"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"3"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.4"
expl=
"4. loop invariant init"
>
<goal
name=
"WP_parameter is_relaxed_prefix.4"
expl=
"4. loop invariant init"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"3"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.5"
expl=
"5. loop invariant init"
>
<goal
name=
"WP_parameter is_relaxed_prefix.5"
expl=
"5. loop invariant init"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"5"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.6"
expl=
"6. postcondition"
>
<transf
name=
"inline_goal"
>
<goal
name=
"WP_parameter is_relaxed_prefix.6.1"
expl=
"1. postcondition"
>
<transf
name=
"split_goal_wp"
>
<goal
name=
"WP_parameter is_relaxed_prefix.6.1.1"
expl=
"1. postcondition"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.02"
steps=
"
11
"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.6"
expl=
"6. postcondition"
expanded=
"true"
>
<transf
name=
"inline_goal"
expanded=
"true"
>
<goal
name=
"WP_parameter is_relaxed_prefix.6.1"
expl=
"1. postcondition"
expanded=
"true"
>
<transf
name=
"split_goal_wp"
expanded=
"true"
>
<goal
name=
"WP_parameter is_relaxed_prefix.6.1.1"
expl=
"1. postcondition"
expanded=
"true"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.02"
steps=
"
9
"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.6.1.2"
expl=
"2. postcondition"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.03"
steps=
"1
4
"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.6.1.2"
expl=
"2. postcondition"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.03"
steps=
"1
2
"
/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.7"
expl=
"7. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.7"
expl=
"7. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"12"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.8"
expl=
"8. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.8"
expl=
"8. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"12"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.9"
expl=
"9. loop invariant preservation"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"12"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.10"
expl=
"10. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.9"
expl=
"9. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"12"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
1
"
expl=
"1
1
. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
0
"
expl=
"1
0
. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.15"
steps=
"43"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
2
"
expl=
"1
2
. index in array bounds"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"1
0
"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.1
1
"
expl=
"1
1
. index in array bounds"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"1
1
"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
3
"
expl=
"1
3
. index in array bounds"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
2
"
expl=
"1
2
. index in array bounds"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"11"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
4
"
expl=
"1
4
. postcondition"
>
<transf
name=
"inline_goal"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
4
.1"
expl=
"1. postcondition"
>
<transf
name=
"split_goal_wp"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
4
.1.1"
expl=
"1. postcondition"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.03"
steps=
"
34
"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.1
3
"
expl=
"1
3
. postcondition"
expanded=
"true"
>
<transf
name=
"inline_goal"
expanded=
"true"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
3
.1"
expl=
"1. postcondition"
expanded=
"true"
>
<transf
name=
"split_goal_wp"
expanded=
"true"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
3
.1.1"
expl=
"1. postcondition"
expanded=
"true"
>
<proof
prover=
"0"
timelimit=
"30"
><result
status=
"valid"
time=
"0.03"
steps=
"
90
"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
4
.1.2"
expl=
"2. postcondition"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.31"
steps=
"35
3
"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.1
3
.1.2"
expl=
"2. postcondition"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.31"
steps=
"35
1
"
/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
5
"
expl=
"1
5
. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
4
"
expl=
"1
4
. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"15"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.16"
expl=
"16. loop invariant preservation"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"15"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.17"
expl=
"17. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.15"
expl=
"15. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"15"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
8
"
expl=
"1
8
. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
6
"
expl=
"1
6
. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"15"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.1
9
"
expl=
"1
9
. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.1
7
"
expl=
"1
7
. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.10"
steps=
"77"
/></proof>
<proof
prover=
"2"
><result
status=
"valid"
time=
"0.01"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.
20
"
expl=
"
20
. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.
18
"
expl=
"
18
. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"12"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.21"
expl=
"21. loop invariant preservation"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.02"
steps=
"12"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.22"
expl=
"22. loop invariant preservation"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"16"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.19"
expl=
"19. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"15"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.2
3
"
expl=
"2
3
. loop invariant preservation"
>
<goal
name=
"WP_parameter is_relaxed_prefix.2
0
"
expl=
"2
0
. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.01"
steps=
"12"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.2
4
"
expl=
"2
4
. loop invariant preservation"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.08"
steps=
"15
7
"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.2
1
"
expl=
"2
1
. loop invariant preservation"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.08"
steps=
"15
3
"
/></proof>
</goal>
<goal
name=
"WP_parameter is_relaxed_prefix.2
5
"
expl=
"2
5
. postcondition"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.00"
steps=
"3
8
"
/></proof>
<goal
name=
"WP_parameter is_relaxed_prefix.2
2
"
expl=
"2
2
. postcondition"
expanded=
"true"
>
<proof
prover=
"0"
><result
status=
"valid"
time=
"0.00"
steps=
"3
6
"
/></proof>
</goal>
</transf>
</goal>
...
...
examples/verifythis_2015_relaxed_prefix/why3shapes.gz
View file @
51d21a9e
No preview for this file type
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment