Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Why3
why3
Commits
1b81b0ad
Commit
1b81b0ad
authored
Feb 11, 2014
by
Martin Clochard
Browse files
euler290 example: shorten a very long proof.
parent
26d05648
Changes
2
Hide whitespace changes
Inline
Side-by-side
examples/euler290.mlw
View file @
1b81b0ad
...
...
@@ -18,7 +18,7 @@ module Euler290
use import int.Int
use import ref.Ref
use import int.EuclideanDivision
use import int.EuclideanDivision
as E
use import int.Power
function sum_digits int : int
...
...
@@ -51,13 +51,12 @@ module Euler290
lemma Empty:
forall a b x y: int. P.num_of (a,b,0) x y = 0
lemma Induc:
forall a b c: int. 0 <= a -> 0 <= c < 10 ->
forall a b c:
int,m:
int. 0 <= a -> 0 <= c < 10 ->
m > 0 ->
let x = 137 * c + a in
let a' = div x 10 in
let b' = mod x 10 + b - c in
forall m: int. m > 0 ->
solution a' b' (m-1) = num_of_modc (a,b,c) 0 (power 10 m)
(* code *)
...
...
@@ -81,12 +80,17 @@ module Euler290
if sd a + b = 0 then 1 else 0
end else begin
let sum = ref 0 in
let ghost p = power 10 m in
for c = 0 to 9 do (* count the n st n mod 10 = c *)
invariant { !sum = P.num_of (a,b,c) 0 (power 10 m) }
invariant { !sum = P.num_of (a,b,c) 0 p }
'L:
let x = 137 * c + a in
let q = div x 10 in
let r = mod x 10 in
sum := !sum + f (m-1) q (r + b - c)
let b' = (r+b-c) in
sum := !sum + f (m-1) q b';
assert { q = E.div x 10 && r = E.mod x 10 &&
!sum - !(at sum 'L) = num_of_modc (a,b,c) 0 p }
done;
!sum
end
...
...
examples/euler290/why3session.xml
View file @
1b81b0ad
...
...
@@ -9,6 +9,14 @@
id=
"1"
name=
"CVC3"
version=
"2.4.1"
/>
<prover
id=
"2"
name=
"CVC4"
version=
"1.2"
/>
<prover
id=
"3"
name=
"CVC4"
version=
"1.3"
/>
<file
name=
"../euler290.mlw"
verified=
"false"
...
...
@@ -57,17 +65,17 @@
name=
"Induc"
locfile=
"../euler290.mlw"
loclnum=
"55"
loccnumb=
"8"
loccnume=
"13"
sum=
"c
f43691d3fcaec2492b10c5ac20df569
"
sum=
"c
a95c539ce1f450727b457f26db7653c
"
proved=
"false"
expanded=
"true"
shape=
"ainfix =asolutionV
4V5
ainfix -V
6
c1anum_of_modcaTuple3V0V1V2c0apowerc10V
6Iainfix >V6c0F
Lainfix -ainfix +amodV
3
c10V1V2LadivV
3
c10Lainfix +ainfix *c137V2V0Iainfix <V2c10Aainfix <=c0V2Iainfix <=c0V0F"
>
shape=
"ainfix =asolutionV
5V6
ainfix -V
3
c1anum_of_modcaTuple3V0V1V2c0apowerc10V
3
Lainfix -ainfix +amodV
4
c10V1V2LadivV
4
c10Lainfix +ainfix *c137V2V0Iainfix
>V3c0Iainfix
<V2c10Aainfix <=c0V2Iainfix <=c0V0F"
>
</goal>
<goal
name=
"WP_parameter sd"
locfile=
"../euler290.mlw"
loclnum=
"6
7
"
loccnumb=
"10"
loccnume=
"12"
loclnum=
"6
6
"
loccnumb=
"10"
loccnume=
"12"
expl=
"VC for sd"
sum=
"
2d339bcd0e2d3a0a64e418be1b8470c6
"
sum=
"
8342411a644201fb547526bb6874ee10
"
proved=
"true"
expanded=
"false"
shape=
"iainfix =ainfix +asum_digitsV1amodV0c10asum_digitsV0Aainfix >=V1c0Aainfix <V1V0Aainfix <=c0V0LadivV0c10ainfix =c0asum_digitsV0ainfix =V0c0Iainfix >=V0c0F"
>
...
...
@@ -85,24 +93,24 @@
<goal
name=
"WP_parameter f"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"VC for f"
sum=
"
747029b96bc67621d69f2403c2b42456
"
sum=
"
b23418f37a0e558c5966caa99f592e5a
"
proved=
"true"
expanded=
"
fals
e"
shape=
"iainfix =V
3
asolutionV1V2V0Iainfix =V
3
anum_ofaTuple3V1V2ainfix +c9c1c0
apower
c10V
0
Aainfix =
V8
anum_ofaTuple3V1V2
ainfix +V4c1c0apowerc10V
0Iainfix =V
8
ainfix +V
3
asolutionV
6
ainfix -ainfix +
amodV5c10V2V4V7
FAainfix <=c0V
6
Aainfix <=c0V
7
Aainfix <V
7
V0Aainfix <=c0V0Lainfix -V0c1LadivV
5
c10Lainfix +ainfix *c137V
4
V1Iainfix =V
3
anum_ofaTuple3V1V2V
4c0apowerc1
0V
0
Iainfix <=V
4
c9Aainfix <=c0V
4
FFAainfix =c0anum_ofaTuple3V1V2c0c0
apowerc10V0
Iainfix <=c0c9Aainfix =c0asolutionV1V2V0Iainfix >c0c9ainfix =ic0c1ainfix =ainfix +asum_digitsV1V2c0asolutionV1V2V0Aainfix >=V1c0ainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
expanded=
"
tru
e"
shape=
"iainfix =V
4
asolutionV1V2V0Iainfix =V
4
anum_ofaTuple3V1V2ainfix +c9c1c0
V3Aainfix =V10anum_ofaTuple3V1V2ainfix +V5
c1
c
0V
3
Aainfix =
ainfix -V10V4
anum_of
_modc
aTuple3V1V2
V5c0V3Aainfix =V8amodV6c10Aainfix =V7adivV6c1
0Iainfix =V
10
ainfix +V
4
asolutionV
7
ainfix -ainfix +
V8V2V5V9
FAainfix <=c0V
7
Aainfix <=c0V
9
Aainfix <V
9
V0Aainfix <=c0V0Lainfix -V0c1La
modV6c10La
divV
6
c10Lainfix +ainfix *c137V
5
V1Iainfix =V
4
anum_ofaTuple3V1V2V
5c
0V
3
Iainfix <=V
5
c9Aainfix <=c0V
5
FFAainfix =c0anum_ofaTuple3V1V2c0c0
V3
Iainfix <=c0c9Aainfix =c0asolutionV1V2V0Iainfix >c0c9
Lapowerc10V0
ainfix =ic0c1ainfix =ainfix +asum_digitsV1V2c0asolutionV1V2V0Aainfix >=V1c0ainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<transf
name=
"split_goal_wp"
proved=
"true"
expanded=
"
fals
e"
>
expanded=
"
tru
e"
>
<goal
name=
"WP_parameter f.1"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"1. precondition"
sum=
"
33549ab3d57be34931226ccd0b65225e
"
sum=
"
df686f449aa663b84288cabd21ec8bfd
"
proved=
"true"
expanded=
"false"
shape=
"preconditionainfix >=V1c0Iainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
...
...
@@ -110,7 +118,7 @@
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"
10
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
...
...
@@ -120,9 +128,9 @@
<goal
name=
"WP_parameter f.2"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"2. postcondition"
sum=
"
7755175ab539038173c1ea75868f2bd8
"
sum=
"
11b1ec0d33a50b32990fa47977f57ba3
"
proved=
"true"
expanded=
"false"
shape=
"postconditionainfix =ic0c1ainfix =ainfix +asum_digitsV1V2c0asolutionV1V2V0Iainfix >=V1c0Iainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
...
...
@@ -130,27 +138,27 @@
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"
10
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"
1.70
"
/>
<result
status=
"valid"
time=
"
0.08
"
/>
</proof>
</goal>
<goal
name=
"WP_parameter f.3"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"3. postcondition"
sum=
"
0e636ef68fb8ecb78a3fc9776fed83e4
"
sum=
"
3ac52b10a35bb138c192ad80f6690447
"
proved=
"true"
expanded=
"false"
shape=
"postconditionainfix =c0asolutionV1V2V0Iainfix >c0c9INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
shape=
"postconditionainfix =c0asolutionV1V2V0Iainfix >c0c9
Lapowerc10V0
INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"
10
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
...
...
@@ -160,17 +168,17 @@
<goal
name=
"WP_parameter f.4"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"4. loop invariant init"
sum=
"
d6b312ab912bcac4e24806c370c84aa3
"
sum=
"
b33e0bfa983d9f60d77faf7c42ee7f9c
"
proved=
"true"
expanded=
"false"
shape=
"loop invariant initainfix =c0anum_ofaTuple3V1V2c0c0
apowerc10V0
Iainfix <=c0c9INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
shape=
"loop invariant initainfix =c0anum_ofaTuple3V1V2c0c0
V3
Iainfix <=c0c9
Lapowerc10V0
INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"
10
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
...
...
@@ -180,17 +188,17 @@
<goal
name=
"WP_parameter f.5"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"5. variant decrease"
sum=
"
03bcd47b917f7102016280a9d25451f3
"
sum=
"
e82236042dfa76f945e256f165a6d76a
"
proved=
"true"
expanded=
"false"
shape=
"variant decreaseainfix <V
7
V0Aainfix <=c0V0Lainfix -V0c1LadivV
5
c10Lainfix +ainfix *c137V
4
V1Iainfix =V
3
anum_ofaTuple3V1V2V
4
c0
apowerc10V0
Iainfix <=V
4
c9Aainfix <=c0V
4
FFIainfix <=c0c9INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
shape=
"variant decreaseainfix <V
9
V0Aainfix <=c0V0Lainfix -V0c1La
modV6c10La
divV
6
c10Lainfix +ainfix *c137V
5
V1Iainfix =V
4
anum_ofaTuple3V1V2V
5
c0
V3
Iainfix <=V
5
c9Aainfix <=c0V
5
FFIainfix <=c0c9
Lapowerc10V0
INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"
10
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
...
...
@@ -200,17 +208,17 @@
<goal
name=
"WP_parameter f.6"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"6. precondition"
sum=
"
8c4279522a5afd47f25feddb2bf6da50
"
sum=
"
46fdaf3fc65dfa87f42bd3bf923abbf2
"
proved=
"true"
expanded=
"false"
shape=
"preconditionainfix <=c0V
6
Aainfix <=c0V
7
Lainfix -V0c1LadivV
5
c10Lainfix +ainfix *c137V
4
V1Iainfix =V
3
anum_ofaTuple3V1V2V
4
c0
apowerc10V0
Iainfix <=V
4
c9Aainfix <=c0V
4
FFIainfix <=c0c9INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
shape=
"preconditionainfix <=c0V
7
Aainfix <=c0V
9
Lainfix -V0c1La
modV6c10La
divV
6
c10Lainfix +ainfix *c137V
5
V1Iainfix =V
4
anum_ofaTuple3V1V2V
5
c0
V3
Iainfix <=V
5
c9Aainfix <=c0V
5
FFIainfix <=c0c9
Lapowerc10V0
INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"
10
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
...
...
@@ -220,36 +228,76 @@
<goal
name=
"WP_parameter f.7"
locfile=
"../euler290.mlw"
loclnum=
"7
5
"
loccnumb=
"10"
loccnume=
"11"
expl=
"7.
loop invariant pre
ser
va
tion"
sum=
"
bfa28bd4703499893c6377c9d72f5924
"
loclnum=
"7
4
"
loccnumb=
"10"
loccnume=
"11"
expl=
"7.
as
sertion"
sum=
"
9d1074bedd3d5967f8e3721034d6c2ba
"
proved=
"true"
expanded=
"false"
shape=
"
loop invariant pre
ser
va
tionainfix =
V8
anum_ofaTuple3V1V2
ainfix +V4c1c0apowerc10V
0Iainfix =V
8
ainfix +V
3
asolutionV
6
ainfix -ainfix +
amodV5c10V2V4V7
FIainfix <=c0V
6
Aainfix <=c0V
7
Lainfix -V0c1LadivV
5
c10Lainfix +ainfix *c137V
4
V1Iainfix =V
3
anum_ofaTuple3V1V2V
4c0apowerc1
0V
0
Iainfix <=V
4
c9Aainfix <=c0V
4
FFIainfix <=c0c9INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
shape=
"
as
sertionainfix =
ainfix -V10V4
anum_of
_modc
aTuple3V1V2
V5c0V3Aainfix =V8amodV6c10Aainfix =V7adivV6c1
0Iainfix =V
10
ainfix +V
4
asolutionV
7
ainfix -ainfix +
V8V2V5V9
FIainfix <=c0V
7
Aainfix <=c0V
9
Lainfix -V0c1La
modV6c10La
divV
6
c10Lainfix +ainfix *c137V
5
V1Iainfix =V
4
anum_ofaTuple3V1V2V
5c
0V
3
Iainfix <=V
5
c9Aainfix <=c0V
5
FFIainfix <=c0c9
Lapowerc10V0
INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<transf
name=
"
inline
_goal"
name=
"
split
_goal
_wp
"
proved=
"true"
expanded=
"false"
>
<goal
name=
"WP_parameter f.7.1"
locfile=
"../euler290.mlw"
loclnum=
"75"
loccnumb=
"10"
loccnume=
"11"
expl=
"1. loop invariant preservation"
sum=
"140d7d31a2c129f7f00367a760487594"
loclnum=
"74"
loccnumb=
"10"
loccnume=
"11"
expl=
"1."
sum=
"c741fcd5dffae3dfa67eb1ee25d02f09"
proved=
"true"
expanded=
"false"
shape=
"ainfix =V7adivV6c10Iainfix =V10ainfix +V4asolutionV7ainfix -ainfix +V8V2V5V9FIainfix <=c0V7Aainfix <=c0V9Lainfix -V0c1LamodV6c10LadivV6c10Lainfix +ainfix *c137V5V1Iainfix =V4anum_ofaTuple3V1V2V5c0V3Iainfix <=V5c9Aainfix <=c0V5FFIainfix <=c0c9Lapowerc10V0INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"5"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"0.30"
/>
</proof>
</goal>
<goal
name=
"WP_parameter f.7.2"
locfile=
"../euler290.mlw"
loclnum=
"74"
loccnumb=
"10"
loccnume=
"11"
expl=
"2."
sum=
"4a9bd4a92b6ccd11cd3686bc7550c62e"
proved=
"true"
expanded=
"false"
shape=
"
loop invariant preservationainfix =V8anum_ofaTuple3V1V2ainfix +V4c1c0apowerc10V
0Iainfix =V
8
ainfix +V
3
asolutionV
6
ainfix -ainfix +
amodV5c10V2V4V7FIainfix =c0V6Oainfix <c0V6Aainfix
=c0V7
O
ainfix <c0V
7
Lainfix -V0c1LadivV
5
c10Lainfix +ainfix *c137V
4
V1Iainfix =V
3
anum_ofaTuple3V1V2V
4
c0
apowerc10V0Iainfix =V4c9Oainfix <V4c9Aainfix =c0V4O
ainfix <c0V
4
FFIainfix =c0c9
Oainfix <c0c9
INainfix =V0c0Iainfix
=c0V1Oainfix
<c0V1Aainfix
=c0V0Oainfix
<c0V0F"
>
shape=
"
ainfix =V8amodV6c10Iainfix =V7adivV6c1
0Iainfix =V
10
ainfix +V
4
asolutionV
7
ainfix -ainfix +
V8V2V5V9FIainfix <
=c0V7
A
ainfix <
=
c0V
9
Lainfix -V0c1La
modV6c10La
divV
6
c10Lainfix +ainfix *c137V
5
V1Iainfix =V
4
anum_ofaTuple3V1V2V
5
c0
V3Iainfix <=V5c9A
ainfix <
=
c0V
5
FFIainfix
<
=c0c9
Lapowerc10V0
INainfix =V0c0Iainfix <
=
c0V1Aainfix <
=
c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"
1
"
timelimit=
"
60
"
prover=
"
0
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"47.04"
/>
<result
status=
"valid"
time=
"0.07"
/>
</proof>
</goal>
<goal
name=
"WP_parameter f.7.3"
locfile=
"../euler290.mlw"
loclnum=
"74"
loccnumb=
"10"
loccnume=
"11"
expl=
"3."
sum=
"fa1f48fc01ddf17792a7399273cb6644"
proved=
"true"
expanded=
"false"
shape=
"ainfix =ainfix -V10V4anum_of_modcaTuple3V1V2V5c0V3Iainfix =V8amodV6c10Iainfix =V7adivV6c10Iainfix =V10ainfix +V4asolutionV7ainfix -ainfix +V8V2V5V9FIainfix <=c0V7Aainfix <=c0V9Lainfix -V0c1LamodV6c10LadivV6c10Lainfix +ainfix *c137V5V1Iainfix =V4anum_ofaTuple3V1V2V5c0V3Iainfix <=V5c9Aainfix <=c0V5FFIainfix <=c0c9Lapowerc10V0INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"5"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"0.01"
/>
</proof>
</goal>
</transf>
...
...
@@ -257,17 +305,61 @@
<goal
name=
"WP_parameter f.8"
locfile=
"../euler290.mlw"
loclnum=
"75"
loccnumb=
"10"
loccnume=
"11"
expl=
"8. postcondition"
sum=
"ca337390e8505769e64d34de5d331c65"
loclnum=
"74"
loccnumb=
"10"
loccnume=
"11"
expl=
"8. loop invariant preservation"
sum=
"b4967c65aa346cec7fa0e03362930b2d"
proved=
"true"
expanded=
"false"
shape=
"loop invariant preservationainfix =V10anum_ofaTuple3V1V2ainfix +V5c1c0V3Iainfix =ainfix -V10V4anum_of_modcaTuple3V1V2V5c0V3Aainfix =V8amodV6c10Aainfix =V7adivV6c10Iainfix =V10ainfix +V4asolutionV7ainfix -ainfix +V8V2V5V9FIainfix <=c0V7Aainfix <=c0V9Lainfix -V0c1LamodV6c10LadivV6c10Lainfix +ainfix *c137V5V1Iainfix =V4anum_ofaTuple3V1V2V5c0V3Iainfix <=V5c9Aainfix <=c0V5FFIainfix <=c0c9Lapowerc10V0INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"5"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"0.86"
/>
</proof>
<proof
prover=
"1"
timelimit=
"5"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"0.02"
/>
</proof>
<proof
prover=
"2"
timelimit=
"5"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"0.02"
/>
</proof>
<proof
prover=
"3"
timelimit=
"5"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
<result
status=
"valid"
time=
"0.03"
/>
</proof>
</goal>
<goal
name=
"WP_parameter f.9"
locfile=
"../euler290.mlw"
loclnum=
"74"
loccnumb=
"10"
loccnume=
"11"
expl=
"9. postcondition"
sum=
"a99c47b1acc72b443c11156626b0a8c7"
proved=
"true"
expanded=
"false"
shape=
"postconditionainfix =V
3
asolutionV1V2V0Iainfix =V
3
anum_ofaTuple3V1V2ainfix +c9c1c0
apowerc10V0
FIainfix <=c0c9INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
shape=
"postconditionainfix =V
4
asolutionV1V2V0Iainfix =V
4
anum_ofaTuple3V1V2ainfix +c9c1c0
V3
FIainfix <=c0c9
Lapowerc10V0
INainfix =V0c0Iainfix <=c0V1Aainfix <=c0V0F"
>
<label
name=
"expl:VC for f"
/>
<proof
prover=
"0"
timelimit=
"
10
"
timelimit=
"
5
"
memlimit=
"1000"
obsolete=
"false"
archived=
"false"
>
...
...
Write
Preview
Markdown
is supported
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