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
e01f349d
Commit
e01f349d
authored
4 years ago
by
Xavier Urbain
Browse files
Options
Downloads
Patches
Plain Diff
Add README.md
parent
9a682a9a
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
README.md
+59
-0
59 additions, 0 deletions
README.md
with
59 additions
and
0 deletions
README.md
0 → 100644
+
59
−
0
View file @
e01f349d
This repository stores the Coq code of the Pactole project,
dedicated to formal verification of mobile robotic swarm protocols.
# Overall Structure
-
*Setting.v*
: All you need to setup a working framework. A good starting point.
-
*Util/*
: Extension the to the Coq standard library that are not specific to Pactole
-
*Core/*
: The core the the Pactole framework, implementing the Look/Compute/Move cycle
-
*Spaces/*
: Spaces in which robots evolve
-
*Observations/*
: Types of robot views of the configuration
-
*Models/*
: Additional properties of some models
-
*CasesStudies/*
-
*Convergence/*
: Convergence of robots in the 2D Euclidean plane
-
*Gathering/*
: Gathering in R or R² for various models
-
*Exploration/*
: Exploration of a ring with stop
# Fast Compiling when developing
During development you can benefit from coq's "vos/vok" generation to
speed up compilation. The only specificity of Pactole concerns
compilation of the files named xxx_Assumptions.v. This files print the
sets of assumptions used in the proofs of final lemmas in Case
studies. Compiling these files for vos/vok target would raise errors.
We provide adapted targets:
## Very fast but unsafe
make [-j] vos-nocheck
Replaces "make vos". Prefer this when developing.
### proofgeneral
For easy use of this feature you can use the auto compilation feature
of proofgeneral. menu:
menu: Coq / Auto Compilation / Compile Before Require
and then: Coq / Auto Compilation / vos compilation
Now you can transparently script in any buffer, all needed file will
be compiled quickly. Don't forget to make a big fat "make" from time
to time.
## slow, almost safe, very parallelisable
make [-j] vok-nocheck
replaces "make vok". Prefer this once a day.
## Completely safe
make [-j]
This is the only way to make a really safe compilation including all
xxx_Assumption.v. You should always do this once in a while to make
sure some universe constraints aren't failing and to check if you did
not miss an remaining axiom.
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