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
487246ff
Commit
487246ff
authored
Sep 13, 2011
by
Jean-Christophe Filliâtre
Browse files
flag: updated proof (one more time)
parent
f6b70129
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
examples/programs/flag/flag_WP_Flag_WP_parameter_dutch_flag_
4
.v
→
examples/programs/flag/flag_WP_Flag_WP_parameter_dutch_flag_
1
.v
View file @
487246ff
...
...
@@ -176,26 +176,27 @@ Theorem WP_parameter_dutch_flag : forall (a:Z), forall (n:Z), forall (a1:(map
|
Blue
=>
(((
0
%
Z
<=
b
)
%
Z
/
\
(
b
<
a
)
%
Z
)
/
\
((
0
%
Z
<=
i
)
%
Z
/
\
(
i
<
a
)
%
Z
))
->
forall
(
a4
:
(
map
Z
color
)),
(
exchange
a2
a4
b
i
)
->
forall
(
b1
:
Z
),
(
b1
=
(
b
+
1
%
Z
)
%
Z
)
->
forall
(
i1
:
Z
),
(
i1
=
(
i
+
1
%
Z
)
%
Z
)
->
(
monochrome
(
mk_array
a
a4
)
b1
i1
Whit
e
)
(
i1
=
(
i
+
1
%
Z
)
%
Z
)
->
(
monochrome
(
mk_array
a
a4
)
0
%
Z
b1
Blu
e
)
|
White
=>
True
|
Red
=>
True
end
))).
(
*
YOU
MAY
EDIT
THE
PROOF
BELOW
*
)
intuition
.
intuition
.
destruct
(
get
a2
i
);
intuition
.
generalize
(
refl_equal
(
get
a2
i
)).
pattern
(
get
a2
i
)
at
1.
destruct
(
get
a2
i
);
intro
hc
;
rewrite
<-
hc
;
simpl
;
intuition
.
red
;
intros
.
subst
b1
i1
.
unfold
get1
;
simpl
.
assert
(
case
:
(
k
<
i
\
/
k
=
i
)
%
Z
)
by
omega
.
destruct
case
.
assert
(
case
:
(
k
<
b
\
/
k
=
b
)
%
Z
)
by
omega
.
destruct
case
.
replace
(
get
a4
k
)
with
(
get
a2
k
).
apply
H
3
;
omega
.
apply
H
4
;
omega
.
destruct
H15
as
(
_
,
h
).
destruct
h
as
(
_
,
h
).
apply
h
;
omega
.
subst
k
.
destruct
H15
as
(
h
,
_
).
rewrite
<-
h
.
apply
H3
.
omega
.
destruct
H15
as
(
_
,(
h
,
_
)).
rewrite
h
.
auto
.
Qed
.
(
*
DO
NOT
EDIT
BELOW
*
)
...
...
examples/programs/flag/why3session.xml
View file @
487246ff
This diff is collapsed.
Click to expand it.
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