Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
coq-pactole
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pactole
coq-pactole
Commits
9d7d3d3c
Commit
9d7d3d3c
authored
8 months ago
by
Pierre Courtieu
Browse files
Options
Downloads
Plain Diff
Merge branch 'coq-8.16' of
https://gitlab.liris.cnrs.fr/xurbain/pactole-dev
into coq-8.16
parents
67c4a050
3e88b516
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
.gitlab-ci.yml
+2
-1
2 additions, 1 deletion
.gitlab-ci.yml
Core/Identifiers.v
+42
-0
42 additions, 0 deletions
Core/Identifiers.v
Spaces/Ring.v
+6
-0
6 additions, 0 deletions
Spaces/Ring.v
Util/Fin.v
+6
-0
6 additions, 0 deletions
Util/Fin.v
Util/ListComplements.v
+9
-0
9 additions, 0 deletions
Util/ListComplements.v
with
65 additions
and
1 deletion
.gitlab-ci.yml
+
2
−
1
View file @
9d7d3d3c
...
@@ -5,7 +5,8 @@ stages:
...
@@ -5,7 +5,8 @@ stages:
stage
:
build
stage
:
build
image
:
coqorg/${CI_JOB_NAME}
image
:
coqorg/${CI_JOB_NAME}
before_script
:
before_script
:
-
if [ -n "${COMPILER_EDGE}" ]; then opam switch ${COMPILER_EDGE} && eval $(opam env); fi
-
if [ -n "${COMPILER_EDGE}" ]; then opam switch ${COMPILER_EDGE}; fi
-
eval $(opam env)
-
opam update -y
-
opam update -y
-
opam config list
-
opam config list
-
opam repo list
-
opam repo list
...
...
This diff is collapsed.
Click to expand it.
Core/Identifiers.v
+
42
−
0
View file @
9d7d3d3c
...
@@ -123,6 +123,8 @@ unfold names in Heq. repeat rewrite ?map_app, map_map in Heq. apply eqlistA_app_
...
@@ -123,6 +123,8 @@ unfold names in Heq. repeat rewrite ?map_app, map_map in Heq. apply eqlistA_app_
+
now
do
2
rewrite
map_length
.
+
now
do
2
rewrite
map_length
.
Qed
.
Qed
.
Section
Robots
.
(
**
Given
a
number
of
correct
and
Byzantine
robots
,
we
can
build
canonical
names
.
(
**
Given
a
number
of
correct
and
Byzantine
robots
,
we
can
build
canonical
names
.
It
is
not
declared
as
a
global
instance
to
avoid
creating
spurious
settings
.
*
)
It
is
not
declared
as
a
global
instance
to
avoid
creating
spurious
settings
.
*
)
Definition
Robots
(
n
m
:
nat
)
:
Names
.
Definition
Robots
(
n
m
:
nat
)
:
Names
.
...
@@ -147,3 +149,43 @@ Proof using .
...
@@ -147,3 +149,43 @@ Proof using .
Defined
.
Defined
.
Global
Opaque
G
B
.
Global
Opaque
G
B
.
(
*
TODO
:
discuss
this
Section
NM
.
Variables
n
m
:
nat
.
Notation
GRob
:=
(
@
G
(
Robots
n
m
)).
Notation
BRob
:=
(
@
B
(
Robots
n
m
)).
Lemma
GRob_Robots
:
GRob
=
fin
n
.
Proof
using
.
reflexivity
.
Qed
.
Lemma
BRob_Robots
:
BRob
=
fin
m
.
Proof
using
.
reflexivity
.
Qed
.
Lemma
GRob_Robots_eq_iff
:
forall
g1
g2
:
GRob
,
g1
=
g2
:>
GRob
<->
g1
=
g2
:>
fin
n
.
Proof
using
.
reflexivity
.
Qed
.
Lemma
BRob_Robots_eq_iff
:
forall
b1
b2
:
BRob
,
b1
=
b2
:>
BRob
<->
b1
=
b2
:>
fin
m
.
Proof
using
.
reflexivity
.
Qed
.
Definition
good0
:
GRob
:=
fin0
.
Definition
byz0
:
BRob
:=
fin0
.
Lemma
all_good0
:
forall
g
:
GRob
,
n
=
1
->
g
=
good0
.
Proof
using
.
intros
*
H
.
rewrite
GRob_Robots_eq_iff
.
apply
all_fin0
,
H
.
Qed
.
Lemma
all_good_eq
:
forall
g1
g2
:
GRob
,
n
=
1
->
g1
=
g2
.
Proof
using
ltc_l_n
.
intros
*
H
.
rewrite
GRob_Robots_eq_iff
.
apply
all_eq
,
H
.
Qed
.
Lemma
all_byz0
:
forall
b
:
BRob
,
m
=
1
->
b
=
byz0
.
Proof
using
.
intros
*
H
.
rewrite
BRob_Robots_eq_iff
.
apply
all_fin0
,
H
.
Qed
.
Lemma
all_byz_eq
:
forall
b1
b2
:
BRob
,
m
=
1
->
b1
=
b2
.
Proof
using
ltc_l_m
.
intros
*
H
.
rewrite
BRob_Robots_eq_iff
.
apply
all_eq
,
H
.
Qed
.
End
NM
.
*
)
End
Robots
.
This diff is collapsed.
Click to expand it.
Spaces/Ring.v
+
6
−
0
View file @
9d7d3d3c
...
@@ -538,6 +538,9 @@ Proof using .
...
@@ -538,6 +538,9 @@ Proof using .
specialize
(
H
v2
).
rewrite
(
asbfE
v1
),
(
asbfE
v2
)
in
H
.
apply
H
.
specialize
(
H
v2
).
rewrite
(
asbfE
v1
),
(
asbfE
v2
)
in
H
.
apply
H
.
Qed
.
Qed
.
Lemma
transs
:
∀
v
:
fin
n
,
trans
v
v
=
fin0
.
Proof
using
.
intros
.
rewrite
transvE
.
apply
asbfVf
.
Qed
.
Definition
sym
(
v
:
fin
n
)
:
isomorphism
Ring
.
Definition
sym
(
v
:
fin
n
)
:
isomorphism
Ring
.
Proof
using
.
Proof
using
.
refine
{|
refine
{|
...
@@ -575,4 +578,7 @@ Lemma move_along_sym : ∀ (v1 v2 : fin n) (d : direction),
...
@@ -575,4 +578,7 @@ Lemma move_along_sym : ∀ (v1 v2 : fin n) (d : direction),
move_along
(
sym
v1
v2
)
d
=
sym
v1
(
move_along
v2
(
swap_direction
d
)).
move_along
(
sym
v1
v2
)
d
=
sym
v1
(
move_along
v2
(
swap_direction
d
)).
Proof
using
.
intros
.
rewrite
symvE
,
(
sybfE
v1
).
apply
move_along_symf
.
Qed
.
Proof
using
.
intros
.
rewrite
symvE
,
(
sybfE
v1
).
apply
move_along_symf
.
Qed
.
Lemma
symm
:
∀
v
:
fin
n
,
sym
v
v
=
v
.
Proof
using
.
intros
.
rewrite
symvE
.
apply
sybff
.
Qed
.
End
Ring
.
End
Ring
.
This diff is collapsed.
Click to expand it.
Util/Fin.v
+
6
−
0
View file @
9d7d3d3c
...
@@ -1632,6 +1632,9 @@ Proof using .
...
@@ -1632,6 +1632,9 @@ Proof using .
intros
*
f3
.
rewrite
compE
,
3
asbfVE
,
asbfE
,
addf_subf
.
apply
subf_subf
.
intros
*
f3
.
rewrite
compE
,
3
asbfVE
,
asbfE
,
addf_subf
.
apply
subf_subf
.
Qed
.
Qed
.
Lemma
asbfVf
:
∀
f
:
fin
u
,
(
asbf
f
)
⁻¹
f
=
fin0
.
Proof
using
.
intros
.
rewrite
asbfVE
.
apply
subff
.
Qed
.
(
*
(
*
*
*
*
The
bijection
on
fin
u
whose
section
is
sucf
*
The
bijection
on
fin
u
whose
section
is
sucf
...
@@ -1725,4 +1728,7 @@ Proof using . intros c f. rewrite sybfE, sybfVE. reflexivity. Qed.
...
@@ -1725,4 +1728,7 @@ Proof using . intros c f. rewrite sybfE, sybfVE. reflexivity. Qed.
Lemma
sybfK
:
∀
c
:
fin
u
,
sybf
c
∘
sybf
c
==
id
.
Lemma
sybfK
:
∀
c
:
fin
u
,
sybf
c
∘
sybf
c
==
id
.
Proof
using
.
intros
c
f
.
rewrite
compE
,
sybfE
.
apply
symfK
.
Qed
.
Proof
using
.
intros
c
f
.
rewrite
compE
,
sybfE
.
apply
symfK
.
Qed
.
Lemma
sybff
:
∀
c
:
fin
u
,
sybf
c
c
=
c
.
Proof
using
.
intros
.
rewrite
sybfE
.
apply
symff
.
Qed
.
End
mod2fin
.
End
mod2fin
.
This diff is collapsed.
Click to expand it.
Util/ListComplements.v
+
9
−
0
View file @
9d7d3d3c
...
@@ -54,6 +54,15 @@ intros x l Hin. induction l.
...
@@ -54,6 +54,15 @@ intros x l Hin. induction l.
-
destruct
Hin
.
subst
.
now
left
.
right
.
auto
.
-
destruct
Hin
.
subst
.
now
left
.
right
.
auto
.
Qed
.
*
)
Qed
.
*
)
Lemma
all_eq
:
forall
(
l
:
list
A
)
(
a1
:
A
),
In
a1
l
->
length
l
=
1
->
forall
a2
:
A
,
In
a2
l
->
a2
=
a1
.
Proof
using
.
intros
*
Hi1
H
*
Hi2
.
destruct
l
as
[
|
h
t
].
rewrite
(
proj2
(
length_zero_iff_nil
_
))
in
H
by
reflexivity
.
discriminate
H
.
destruct
t
as
[
|
h1
t
].
cbn
in
Hi1
,
Hi2
.
destruct
Hi1
,
Hi2
.
subst
.
reflexivity
.
1
-
3
:
contradiction
.
exfalso
.
eapply
Nat
.
neq_succ_0
,
eq_add_S
,
H
.
Qed
.
Lemma
InA_Leibniz
:
forall
(
x
:
A
)
l
,
InA
Logic
.
eq
x
l
<->
In
x
l
.
Lemma
InA_Leibniz
:
forall
(
x
:
A
)
l
,
InA
Logic
.
eq
x
l
<->
In
x
l
.
Proof
using
.
Proof
using
.
intros
x
l
.
split
;
intro
Hl
;
induction
l
;
inversion_clear
Hl
;
intros
x
l
.
split
;
intro
Hl
;
induction
l
;
inversion_clear
Hl
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment