All Projects โ†’ treeform โ†’ forematics

treeform / forematics

Licence: MIT License
Formatics - Metamath verifier written in Nim.

Programming Languages

nim
578 projects

Forematics is a Metamath verifier written in Nim

Github Actions

Usage

forematics mm/set.mm

Metamath

Metamath is project that attempts to describe mathematics from ground up starting from very simple axioms, following very simple rules, building more and more complex theorems on top. While having everything machine checked using a very simple verifier. It has one of the largest collection of over 30,000 theorems and their proofs. Forematics is a Metamath verifier written in Nim.

Metamath is a pure math language that looks like this:

โŠข ((๐ด โˆˆ โ„ โˆง ๐ด โ‰  0) โ†’ โˆƒ๐‘ฅ โˆˆ โ„ (๐ด ยท ๐‘ฅ) = 1)

Example of an Axiom: Existence of reciprocal of nonzero real number.

Forematics

Forematics is build like any simple interpreter with with a tokenizer, parser and an eval loop. It has ability to define constants, variables, axioms and theorems (kind of like functions). It then uses a simple interpreter to verify that all theorems based on starting axioms are valid.

All "evaluation" is done by the substitution rule. There is no other built in concepts. Using the substitution rule it derives all concepts like what numbers are. Including how parentheses (), if-then, +, -, and all other math operators. It only proves 1 + 1 = 2 after defining 11086 other theorems and it proves Pythagorean theorem zยฒ = xยฒ + yยฒ after defining complex numbers after doing 24464 other theorems.

Forematics can't be used compute, derive or solve equations, its not a Computer algebra system but maybe a small part of one that only deals with proofs... and very simple and constrained proofs at that.

Forematics is fast, because Nim is fast, can verify and prove 30,000 profs in 21 seconds.

mmverify.py

Big thanks to the https://github.com/david-a-wheeler/mmverify.py project which was used a base and insperation.

sets.mm

Download the letest set.mm from https://github.com/metamath/set.mm

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].