https://github.com/l-tchen/mtacar
Mtac in Agda
https://github.com/l-tchen/mtacar
agda coq metaprogramming monad reflection tactics
Last synced: about 1 year ago
JSON representation
Mtac in Agda
- Host: GitHub
- URL: https://github.com/l-tchen/mtacar
- Owner: L-TChen
- Created: 2019-05-12T09:30:12.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-05-04T04:03:32.000Z (about 5 years ago)
- Last Synced: 2025-03-22T05:51:08.745Z (about 1 year ago)
- Topics: agda, coq, metaprogramming, monad, reflection, tactics
- Language: Agda
- Homepage:
- Size: 98.6 KB
- Stars: 28
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MtacAR: Monadic typed tactic programming in Agda by Reflection
Introduction
------------
Screenshots
-----------
![A simple tautolgogy solver from [2]](https://user-images.githubusercontent.com/4060046/59199092-07432000-8b8d-11e9-8c4a-6cb6eaad8644.png)
Note that the above is a simple tautolgogy solver from [2], not `tauto` in Coq.
Requirements
------------
- [Agda 2.6.1](https://github.com/agda/agda)
- [Agda Standard Library](https://github.com/agda/agda-stdlib) v1.0 or above
- [My Prelude](https://github.com/L-TChen/agda-lightweight-prelude)
Usage
-----
Reference
---------
Ordered by relevance
1. D. Christiansen and E. Brady, “Elaborator reflection: extending Idris in Idris,” ACM SIGPLAN Not., vol. 51, no. 9, pp. 284–297, Sep. 2016. https://doi.org/10.1145/3022670.2951932
2. B. Ziliani, D. Dreyer, N. R. Krishnaswami, A. Nanevski, and V. Vafeiadis, “Mtac: A monad for typed tactic programming in Coq,” J. Funct. Program., vol. 25, p. e12, 2015. https://doi.org/10.1017/S0956796815000118
3. J.-O. Kaiser, B. Ziliani, R. Krebbers, Y. Régis-Gianas, and D. Dreyer, “Mtac2: typed tactics for backward reasoning in Coq,” Proc. ACM Program. Lang., vol. 2, no. ICFP, pp. 1–31, 2018. https://doi.org/10.1145/3236773
TO-DO
-----
- [ ] Support backward reasoning
- [ ] Improve performance
- [ ] Add more examples
- [ ] Write a paper