• Stars
    star
    259
  • Rank 157,669 (Top 4 %)
  • Language Coq
  • License
    Other
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

My personal repository of formally verified mathematics.

Proofs

Build status

This is my personal repository of formally verified mathematics, including results from category theory, type theory, domain theory, etc., and some original research. All the proofs are verified using the Coq proof assistant.

If you want to set up your own repository of formally verified mathematics, you can simply fork this repository and replace the contents of the proofs directory with your own proofs. Setting up a Coq project from scratch is not particularly straightforward, so this scaffolding can save you time.

If you are new to Coq, the repository contains a tutorial here. I recommend Software Foundations and Certified Programming with Dependent Types for further learning.

Instructions

Make sure you have the dependencies listed below. Then you can run make in this directory to verify all the proofs. If you change anything, run make again to incrementally verify the affected proofs. The build artifacts can be removed with make clean.

To write proofs, you'll want to use an IDE that supports interactive theorem proving. My general recommendation is VsCoq, which is a plugin for Visual Studio Code. However, you may find the built-in CoqIDE easier if you're new to interactive theorem proving, since it has buttons you can click on to step through your proofs.

Dependencies

You'll need the following:

  • Coq >= 8.15.0
    • Make sure to update your PATH to include the location of the Coq binaries (coqc, coqdep, etc.).
  • GNU Make >= 3.79.1
    • You also need these common Unix tools: cp, find, and rm. If you have make, you probably already have those other programs too.

More Repositories

1

toast

Containerize your development and continuous integration environments. πŸ₯‚
Rust
1,499
star
2

docuum

Docuum performs least recently used (LRU) eviction of Docker images. πŸ—‘οΈ
Rust
489
star
3

theorem-prover

An automated theorem prover for first-order logic.
Python
225
star
4

tagref

Tagref helps you maintain cross-references in your code.
Rust
148
star
5

socket.js

A realtime communication framework for Node.js.
JavaScript
143
star
6

hashpass

A simple password manager with a twist.
TypeScript
113
star
7

effects

A brief exploration of the various approaches to modeling side effects in a purely functional programming language.
Haskell
100
star
8

typical

Data interchange with algebraic data types.
Rust
81
star
9

raytracer

A browser-based real-time raytracer written in CoffeeScript.
CSS
53
star
10

data-structure-explorer

A web-based pedagogical tool for exploring data structures.
JavaScript
48
star
11

cfg-checker

Search for ambiguities in context-free grammars.
C++
38
star
12

unicode

Portable ASCII and Unicode string manipulation functions for C++.
C++
21
star
13

doesgoogleexecutejavascript

Google executes JavaScript, even if the script is fetched from the network. However, Google does not make AJAX requests.
JavaScript
15
star
14

dotfiles

My configuration files.
Shell
13
star
15

paxos

An implementation of single-decree Paxos.
Rust
10
star
16

dubstepn

My personal blog.
Ruby
9
star
17

base16-circus-scheme

A theme for the Base16 color system.
6
star
18

gigamesh

A home for all your notes.
TypeScript
6
star
19

coq-intro

An introduction to proving theorems and certifying programs with Coq.
Coq
5
star
20

gigamesh-schema

The Typical schema for the Gigamesh data model.
Perl
3
star
21

stem-cell

A simple project to demonstrate the cross-platform release management process I use for my open source work.
Shell
3
star
22

subjunct

A website for sharing secrets.
Ruby
3
star
23

garnet

A fast and minimalist template engine for Node.
JavaScript
2
star
24

webpack-scaffolding

Scaffolding for building web applications.
JavaScript
2
star
25

gists

Small projects that don't deserve their own repository.
Python
1
star