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
24626f5d
Commit
24626f5d
authored
Jan 25, 2011
by
Jean-Christophe Filliâtre
Browse files
fixed example program power
parent
30f16670
Changes
2
Hide whitespace changes
Inline
Side-by-side
examples/programs/power.mlw
View file @
24626f5d
...
@@ -23,7 +23,7 @@ module M
...
@@ -23,7 +23,7 @@ module M
let p = ref x in
let p = ref x in
let e = ref n in
let e = ref n in
while !e > 0 do
while !e > 0 do
invariant { r * power
x
e = power x n }
invariant {
0 <= e and
r * power
p
e = power x n }
variant { e }
variant { e }
if mod !e 2 = 1 then r := !r * !p;
if mod !e 2 = 1 then r := !r * !p;
p := !p * !p;
p := !p * !p;
...
...
theories/int.why
View file @
24626f5d
...
@@ -102,12 +102,15 @@ theory Power
...
@@ -102,12 +102,15 @@ theory Power
axiom Power_s : forall x n : int. 0 < n -> power x n = x * power x (n-1)
axiom Power_s : forall x n : int. 0 < n -> power x n = x * power x (n-1)
lemma Power_1 : forall x : int. power x 1 = x
lemma Power_sum : forall x n m : int. 0 <= n -> 0 <= m ->
lemma Power_sum : forall x n m : int. 0 <= n -> 0 <= m ->
power x (n + m) = power x n * power x m
power x (n + m) = power x n * power x m
lemma Power_mult : forall x n m : int. 0 <= n -> 0 <= m ->
lemma Power_mult : forall x n m : int. 0 <= n -> 0 <= m ->
power x (n * m) = power (power x n) m
power x (n * m) = power (power x n) m
end
end
theory NumOfParam
theory NumOfParam
...
...
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