package coq-stdpp
std++ is an extended "Standard Library" for Coq
Install
Dune Dependency
Authors
Maintainers
Sources
coq-stdpp-1.5.0.tar.gz
sha512=393ae68782370e4206e452d46c44300d5e6e27be15d9aa1dfd33ef0ccef1640f83e741f0a799c106453f305c59c5af1698ef276b47522daaefc86ece0b40f530
Description
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 simple breadth-first solvernaive_solver
, an equality simplifiersimplify_eq
, a solversolve_proper
for proving compatibility of functions with respect to relations, and a solverset_solver
for goals involving set operations. - It is entirely dependency- and axiom-free.
Dependencies
None
Dev Dependencies (1)
-
coq
(>= "8.10.2" & < "8.14~") | (= "dev")
Used by (3)
-
coq-iris
= "3.4.0"
-
coq-katamaran
< "0.2.0"
-
coq-vlsm
< "1.1"
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page