RedPRL

受 Nuprl 启发而开发的基于策略的计算笛卡尔立方类型理论证明助手。RedPRL 实现了两级立方类型理论,其中包括单等式宇宙、一些高级归纳类型和带有等式反射的严格等式类型。「A tactic-based proof assistant for computational Cartesian cubical type theory inspired by Nuprl. RedPRL implements a two-level cubical type theory which includes univalent universes, some higher inductive types, and strict equality types with equality reflection.」

Github stars Tracking Chart

PRL: We Can Prove It

(image courtesy of @tranngocma)

What is RedPRL?

RedPRL is the People's Refinement Logic, a next-generation homage
to Nuprl; RedPRL was preceeded by
JonPRL, written by Jon Sterling,
Daniel Gratzer and Vincent Rahli.

The purpose of RedPRL is to provide a practical implementation of Computational
Cubical Type Theory in the Nuprl style, integrating modern advances in proof
refinement.

Literature and background on RedPRL

RedPRL is (becoming) a proof assistant for Computational Cubical Type Theory, as
described by Angiuli, Favonia, and Harper in Computational Higher Type Theory
III: Univalent Universes and Exact Equality
.
The syntactic framework is inspired by second-order abstract syntax (relevant
names include Aczel, Martin-Löf, Fiore, Plotkin, Turi, Harper, and many others).

What is this repository?

This is the repository for the nascent development of RedPRL. RedPRL is an
experiment which is constantly changing; we do not yet have strong
documentation, but we have an IRC channel on Freenode (#redprl) where we
encourage anyone to ask any question, no matter how silly it may seem.

How do I build it?

First, fetch all submodules. If you are cloning for the first time, use

git clone --recursive git@github.com:RedPRL/sml-redprl.git

If you have already cloned, then be sure to make sure all submodules are up to date,
as follows:

git submodule update --init --recursive

Next, make sure that you have the MLton compiler for Standard
ML installed. Then, simply run

./script/mlton.sh

Then, a binary will be placed in ./bin/redprl, which you may run as
follows

./bin/redprl example/README.prl

Editor Support: Vim

Our best-supported editor is currently Vim.
See the RedPRL plugin under vim/.

Contributing

If you'd like to help, the best place to start are issues with the following labels:

We follow the issue labels used by Rust which are described in detail
here.

If you find something you want to work on, please leave a comment so that others
can coordinate their efforts with you. Also, please don't hesitate to open a new
issue if you have feedback of any kind.

The above text is stolen from Yggdrasil.

Please see CONTRIBUTING.md for copyright assignment.

Acknowledgments

This research was sponsored by the Air Force Office of Scientific Research under
grant number FA9550-15-1-0053 and the National Science Foundation under grant
number DMS-1638352. We also thank the Isaac Newton Institute for Mathematical
Sciences for its support and hospitality during the program "Big Proof" when
part of this work was undertaken; the program was supported by the Engineering
and Physical Sciences Research Council under grant number EP/K032208/1. The
views and conclusions contained here are those of the authors and should not be
interpreted as representing the official policies, either expressed or implied,
of any sponsoring institution, government or any other entity.

Main metrics

Overview
Name With OwnerRedPRL/sml-redprl
Primary LanguageStandard ML
Program languageStandard ML (Language Count: 5)
Platform
License:MIT License
所有者活动
Created At2016-01-05 05:08:26
Pushed At2023-01-01 19:34:01
Last Commit At2019-11-04 16:09:24
Release Count2
Last Release Namearxiv2017 (Posted on )
First Release Namev0.1.0 (Posted on )
用户参与
Stargazers Count228
Watchers Count30
Fork Count18
Commits Count1k
Has Issues Enabled
Issues Count309
Issue Open Count7
Pull Requests Count369
Pull Requests Open Count0
Pull Requests Close Count21
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private