https://github.com/uwplse/coq-plugin-lib
Library of useful utility functions for Coq plugins
https://github.com/uwplse/coq-plugin-lib
coq coq-library coq-plugin library pumpkin-patch
Last synced: 3 months ago
JSON representation
Library of useful utility functions for Coq plugins
- Host: GitHub
- URL: https://github.com/uwplse/coq-plugin-lib
- Owner: uwplse
- License: mit
- Created: 2019-07-23T17:25:29.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-17T09:28:43.000Z (12 months ago)
- Last Synced: 2025-04-12T04:55:12.501Z (3 months ago)
- Topics: coq, coq-library, coq-plugin, library, pumpkin-patch
- Language: OCaml
- Size: 606 KB
- Stars: 13
- Watchers: 6
- Forks: 5
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This is a library of useful utility functions for Coq plugins. These functions originally come from [PUMPKIN PATCH](https://github.com/uwplse/PUMPKIN-PATCH) and [DEVOID](https://github.com/uwplse/ornamental-search), but may be useful for plugin development more broadly.
To build this library with a test plugin, run:
```
./build.sh
```See [PUMPKIN PATCH](https://github.com/uwplse/PUMPKIN-PATCH) and [DEVOID](https://github.com/uwplse/ornamental-search) for examples of loading it as a submodule.
## Guide
* [LICENSE](/LICENSE): License
* [README.md](/README.md): You are here!
* [build.sh](/build.sh): Build script for example plugin
* [theories](/theories): Example plugin that loads the library
* [src](/src): Main source directory
- [plib.mlpack](/src/plib.mlpack)
- [plibrary.ml4](/src/plibrary.ml4): Top-level file
- [utilities](/src/utilities): General OCaml utilities
- [coq](/src/coq): Coq utilities
- [constants](/src/coq/constants): Useful Coq constants, like sigma types and equality
- [devutils](/src/coq/devutils): Utilities for development, like printing terms with deBruijn indices
- [logicutils](/src/coq/logicutils): Utilities for the core logic of Coq
- [contexts](/src/coq/logicutils/contexts): Contexts, environments, and state for unification
- [hofs](/src/coq/logicutils/hofs): Useful higher-order functions, like flexible reduction and substistution functions
- [inductive](/src/coq/logicutils/inductive): Inductive types
- [transformation](/src/coq/logicutils/transformation): Transforming types and terms
- [typesandequality](/src/coq/logicutils/typesandequality): Type checking & inference, unification, convertibility, and so on
- [representationutils](/src/coq/representationutils): Definitions, names, and dealing with different representations of terms
- [termutils](/src/coq/termutils): Utilities for constructing and reasoning about certain kinds of terms, like constants and functions
## ContributorsThis library was developed by Talia Ringer, Nate Yazdani, and RanDair Porter.
## Licensing
We use the MIT license because we think Coq plugins have a right not to use GPL.
If this is wrong, please let us know kindly so we can fix this.