https://github.com/redprl/sml-dependent-lcf
A library for the next generation of LCF refiners, with support for dependent refinement—Long Live the Anti-Realist Struggle!
https://github.com/redprl/sml-dependent-lcf
lcf proof-refinement refiner tactics
Last synced: 4 months ago
JSON representation
A library for the next generation of LCF refiners, with support for dependent refinement—Long Live the Anti-Realist Struggle!
- Host: GitHub
- URL: https://github.com/redprl/sml-dependent-lcf
- Owner: RedPRL
- Created: 2015-10-16T05:11:46.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-02-13T22:40:48.000Z (over 7 years ago)
- Last Synced: 2025-01-08T08:40:04.716Z (5 months ago)
- Topics: lcf, proof-refinement, refiner, tactics
- Language: Standard ML
- Homepage:
- Size: 1.4 MB
- Stars: 16
- Watchers: 14
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This repository contains a library for building tactic-based refiners in the LCF and Nuprl tradition.
### Dependent LCF: modernized refinement proof
Dependent LCF is a modernization of the old LCF tactic system, to deal with
dependent refinement properly. A proof state is a telescope of judgments, where
each judgment binds a metavariable in the rest of the telescope, together with
a term that takes its free metavariables from the telescope.The telescope corresponds to the list of subgoals in LCF, and the open term
corresponds to the "validation" in LCF. Whereas in Classic LCF, the validation
was a computational function from evidence to evidence, here it is a piece of
evidence with free variables; this design choice is forced by the categorical
semantics for Dependent LCF, and suggests that the computational character of
validations in Classic LCF is a design which does not generalize cleanly.### Instructions
```
git submodule update --init --recursive
rlwrap sml
> CM.make "development.cm";
```