Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
David Swasey
coq-stdpp
Commits
c82f6e43
Commit
c82f6e43
authored
Jan 31, 2017
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add README.
parent
1ef65e1b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
0 deletions
+39
-0
README.md
README.md
+39
-0
No files found.
README.md
0 → 100644
View file @
c82f6e43
# Coq-std++
This project contains an extended "Standard Library" for Coq called coq-std++.
The key features of this library are as follows:
-
It provides a great number of definitions and lemmas for common data
structures such as lists, finite maps, finite sets, and finite multisets.
-
It uses type classes for common notations (like
`∅`
,
`∪`
, and Haskell-style
monad notations) so that these can be overloaded for different data structures.
-
It uses type classes to keep track of common properties of types, like it
having decidable equality or being countable or finite.
-
Most data structures are represented in canonical ways so that Leibniz
equality can be used as much as possible (for example, for maps we have
`m1 = m2`
iff
`∀ i, m1 !! i = m2 !! i`
). On top of that, the library provides
setoid instances for most types and operations.
-
It provides various tactics for common tasks, like an ssreflect inspired
`done`
tactic for finishing trivial goals, a simply breadth-first solver
`naive_solver`
, an equality simplifier
`simplify_eq`
, a solver
`solve_proper`
for proving compatibility of functions with respect to relations, and a solver
`set_solver`
for goals involving set operations.
-
It is entirely axiom free.
# History
Coq-std++ has originally been developed by Robbert Krebbers as part of his
formalization of the C programming language in his PhD thesis, called
[
CH2O
](
http://robbertkrebbers.nl/thesis.html
)
. After that, Coq-std++ has been
part of the
[
Iris project
](
http://iris-project.org
)
, and has continued to be
developed by Robbert Krebbers, Ralf Jung, and Jacques Henri-Jourdan.
## Prerequisites
This version is known to compile with:
-
Coq 8.6
## Building Instructions
Run
`make`
to build the full development.
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