• This repository has been archived on 02/Apr/2023
  • Stars
    star
    226
  • Rank 176,514 (Top 4 %)
  • Language Standard ML
  • License
    MIT License
  • Created almost 9 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The People's Refinement Logic

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 [email protected]: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.

More Repositories

1

cooltt

๐Ÿ˜ŽTT
OCaml
217
star
2

redtt

"Between the darkness and the dawn, a red cube rises!": a proof assistant for cartesian cubical type theory
OCaml
204
star
3

algaeff

๐Ÿฆ  Reusable components based on algebraic effects
OCaml
47
star
4

stagedtt

๐Ÿช† A Staged Type Theory
OCaml
35
star
5

asai

๐Ÿฉบ A library for compiler diagnostics
OCaml
34
star
6

sml-typed-abts

second-order abstract syntax
Standard ML
31
star
7

algaett

๐Ÿฆ  An experimental elaborator for dependent type theory using effects and handlers
OCaml
30
star
8

yuujinchou

๐Ÿ‘น A library for hierarchical names and lexical scoping
OCaml
26
star
9

mugen

โ™พ๏ธ A library for universe levels and universe polymorphism
OCaml
24
star
10

ocaml-bwd

๐Ÿ”™ Backward lists for OCaml
OCaml
19
star
11

kado

๐ŸงŠ kado ใ‚ซใƒ‰: Cofibrations in Cartesian Cubical Type Theory
OCaml
18
star
12

bantorra

๐Ÿ“š A library for managing libraries and resolving unit paths
OCaml
17
star
13

sml-dependent-lcf

A library for the next generation of LCF refiners, with support for dependent refinementโ€”Long Live the Anti-Realist Struggle!
Standard ML
16
star
14

agda-mugen

A formalization of the theory behind the mugen library
Agda
15
star
15

sml-final-pretty-printer

A Standard ML port of Christiansen, Darais and Ma's Final Pretty Printer
Standard ML
10
star
16

sml-cats

Some basic categorical & algebraic structures for Standard ML
Standard ML
9
star
17

sml-lcf

A general purpose library for writing Classic LCF-with-validations-style refiners. Deprecated in favor of https://github.com/RedPRL/sml-dependent-lcf
Standard ML
5
star
18

sml-telescopes

an abstract data type for telescopes
Standard ML
1
star