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
Branches containing commit
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