metamath(1)
๐ธ NAME ๐ธ
metamath โ formal proof verifier and proof assistant ๐ซถ
โจ SYNOPSIS โจ
metamath [ commands | file ]
๐ DESCRIPTION ๐
okay so metamath is a formal proof verifier and a proof assistant for the Metamath language. it's giving math girlboss, no cap ๐งฎโจ
you can boot it up two ways: feed it a series of commands, or hand it a data base file โ and once it's up, you can explore that thing interactively. literally so fun.
for the deets on the Metamath language and the command-line interface, just type help right into the command prompt ๐
or read the Metamath book [1], which should have been installed along with the package โ so check ur local filesystem bestie, it's probably right there.
๐ฆ LANGUAGE ๐ฆ
a Metamath database is literally just a sequence of three kinds of tokens, separated by white space (and "white space" here means any sequence of one or more white space characters, periodt).
the token categories:
- keyword tokens โ the set is exactly:
${,$},$c,$v,$f,$e,$d,$a,$p,$.,$=,$(,$),$[, and$] - label tokens โ any combination of letters, digits, and the characters hyphen, underscore, and period. the label of an assertion is what you use to refer to it in a proof ๐
- math symbol tokens โ any combination of the 93 printable
ascii(7)characters other than$
โ ๏ธ the latter four keywords โ$(,$),$[, and$]โ are called auxiliary or preprocessing keywords. iykyk.
๐ all tokens are case-sensitive. do not play with that.
๐ the statements, one by one ๐
$( comment $)โ comments. they get ignored, they're just there for the aesthetic ๐$[ file $]โ include the contents of a file. like a lil import, slay.${ statements $}โ a scoped block of statements. a math symbol becomes active when it's declared and stays active until the end of the block it was declared in. main character energy: it's only on stage for its own scene โจ$v symbols $.โ declare symbols as variables. a variable may not be declared a second time while it's active, but it may be declared again (as a variable, but not as a constant) after it becomes inactive.$c symbols $.โ declare symbols as constants. a constant must be declared in the outermost block and may not be declared a second time. no reruns, babe ๐label $f constant variable $.โ a variable-type hypothesis, aka specifying the nature or type of a variable (likelet x be an integer.). a variable must have its type specified in a$fstatement before it may be used in a$e,$a, or$pstatement. and there may not be two active$fstatements containing the same variable. sorry, no duplicates ๐ซlabel $e constant symbols $.โ a logical hypothesis, expressing a logical truth (likeassume x is prime) that must be established in order for an assertion requiring it to also be true. it's giving conditional ๐$d variables $.โ disjoint variable restriction. for distinct active variables, it forbids the substitution of one variable with another. keep them separated bestie โ๏ธlabel $a constant symbols $.โ axiomatic assertion. the OGs, the unproven foundations ๐label $p constant symbols $= proof $.โ provable assertion. theproofis a sequence of statement labels. this label sequence serves as a set of instructions that the Metamath program uses to construct a series of math symbol sequences. the construction must ultimately result in the math symbol sequence contained between the$pand$=keywords of the$pstatement. for details, see section 4.3 in [1] ๐
๐ก proofs are most easily written using the interactive prompt in metamath. do it that way, fr fr.
๐ FILES ๐
/usr/share/metamathโ data base files for several formal theories. ur starter pack ๐
๐ซ SEE ALSO ๐ซ
- [1] Norman Megill: Metamath, A Computer Language for Pure Mathematics.
and that's the whole page bestie!! brought to you by Metamath, dated 2018-02-04, living in the User Manuals section as page metamath(1) โ obsessed with her honestly ๐โจ bye!!
๐ฆ where this page comes from
- debian bookworm: metamath 0.195-1 ยท GPL-2.0-or-later
- debian trixie: metamath 0.195-1 ยท GPL-2.0-or-later
- fedora 43: metamath 0.198-10.fc43 ยท GPL-2.0-or-later
- fedora 44: metamath 0.198-11.fc44 ยท GPL-2.0-or-later
- nixos 26.05: metamath 0.198
- nixpkgs unstable: metamath 0.198
- opensuse-leap 16.0: metamath 0.198-bp160.1.12 ยท GPL-2.0-or-later
- opensuse-leap 16.0: metamath 0.198-bp160.1.12 ยท GPL-2.0-or-later
- opensuse-leap 16.0: metamath 0.198-bp160.1.12 ยท GPL-2.0-or-later
- opensuse-leap 16.0: metamath 0.198-bp160.1.12 ยท GPL-2.0-or-later
- ubuntu jammy: metamath 0.195-1 ยท GPL-2.0-or-later
- ubuntu noble: metamath 0.195-1 ยท GPL-2.0-or-later
- ubuntu resolute: metamath 0.198-2 ยท GPL-2.0-or-later
- ubuntu stonking: metamath 0.198-2 ยท GPL-2.0-or-later
- Copyright (C) 2018 Aaron Puchert
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms