-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
27 lines (24 loc) · 1.51 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
The Curry Howard isomorphism says that given a programming language with a expressive type system, a correspondence can be defined between propositions with types on the one hand, and proofs and programs on the other. In other words, we can express any mathematical claim as a type whose truth is proven by its instantiation.
This means that a compiler can be used as a proof-checker. If the proof represented by the instantiation was invalid, then compilation should fail.
Organization
* There is some old experimental stuff I did in Scala a long time ago before I was fully prepared to build this thing for real.
* include/logic/intuitionistic.hpp : intuitionistic logic is a version of logic where propositions are about the existence of a proof rather than about truth.
* include/math/number/natural/peano.hpp : the peano axioms of the natural numbers.
Further plans:
* finiteness
* prime numbers
* algebraic structures such as groups, rings, and fields.
* cyclic, symmetric, and alternating groups
* integers and rationals
* cauchy sequences
* real numbers and calculus.
* linear algebra
* complex numbers
* affine spaces
* exterior algebra
* differentials
* spinors
* combine linear algebra and groups to get representation theory
* combine linear algebra with algebra to get Galois theory
* combine linear algebra with calculus to get differential geometry
* finally can get to real math when comlplex analysis, differential geometry, and number theory all work together.