Skip to content

Instantly share code, notes, and snippets.

@bukzor
Created August 9, 2020 22:18
Show Gist options
  • Save bukzor/de7205f73fa8a58d4c62ef823d395962 to your computer and use it in GitHub Desktop.
Save bukzor/de7205f73fa8a58d4c62ef823d395962 to your computer and use it in GitHub Desktop.
The simple Formality proofs. https://github.com/moonad/Formality/
T False
T True
| true;
Not(A: Type): Type
A -> False
T Equal<A: Type> ~ (a: A, b: A)
| same<a: A> ~ (a, a);
// "Given a proof of something False, I have a proof of something that's
// False."
trivial(x: False): False
x
// "Given a proof of something false, I can prove anything."
absurd<A: Type>(false: False): A
case false:
not_false: Not(False)
trivial
not_false2: Not(False)
absurd<False>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment