Home Metamath Proof ExplorerTheorem List (p. 208 of 323) < Previous  Next > Browser slow? Try the Unicode version.

 Color key: Metamath Proof Explorer (1-21500) Hilbert Space Explorer (21501-23023) Users' Mathboxes (23024-32227)

Theorem List for Metamath Proof Explorer - 20701-20800   *Has distinct variable group(s)
TypeLabelDescription
Statement

Theoremselberg2lem 20701* Lemma for selberg2 20702. Equation 10.4.12 of [Shapiro], p. 420. (Contributed by Mario Carneiro, 23-May-2016.)
Λ ψ

Theoremselberg2 20702* Selberg's symmetry formula, using the second Chebyshev function. Equation 10.4.14 of [Shapiro], p. 420. (Contributed by Mario Carneiro, 23-May-2016.)
ψ Λ ψ

Theoremselberg2b 20703* Convert eventual boundedness in selberg2 20702 to boundedness on any interval . (We have to bound away from zero because the log terms diverge at zero.) (Contributed by Mario Carneiro, 25-May-2016.)
ψ Λ ψ

Theoremchpdifbndlem1 20704* Lemma for chpdifbnd 20706. (Contributed by Mario Carneiro, 25-May-2016.)
ψ Λ ψ                             ψ ψ

Theoremchpdifbndlem2 20705* Lemma for chpdifbnd 20706. (Contributed by Mario Carneiro, 25-May-2016.)
ψ Λ ψ               ψ ψ

Theoremchpdifbnd 20706* A bound on the difference of nearby ψ values. Theorem 10.5.2 of [Shapiro], p. 427. (Contributed by Mario Carneiro, 25-May-2016.)
ψ ψ

Theoremlogdivbnd 20707* A bound on a sum of logs, used in pntlemk 20757. This is not as precise as logdivsum 20684 in its asymptotic behavior, but it is valid for all and does not require a limit value. (Contributed by Mario Carneiro, 13-Apr-2016.)

Theoremselberg3lem1 20708* Introduce a log weighting on the summands of ΛΛ, the core of selberg2 20702 (written here as Λψ ). Equation 10.4.21 of [Shapiro], p. 422. (Contributed by Mario Carneiro, 30-May-2016.)
Λ ψ        Λ ψ Λ ψ

Theoremselberg3lem2 20709* Lemma for selberg3 20710. Equation 10.4.21 of [Shapiro], p. 422. (Contributed by Mario Carneiro, 30-May-2016.)
Λ ψ Λ ψ

Theoremselberg3 20710* Introduce a log weighting on the summands of ΛΛ, the core of selberg2 20702 (written here as Λψ ). Equation 10.6.7 of [Shapiro], p. 422. (Contributed by Mario Carneiro, 30-May-2016.)
ψ Λ ψ

Theoremselberg4lem1 20711* Lemma for selberg4 20712. Equation 10.4.20 of [Shapiro], p. 422. (Contributed by Mario Carneiro, 30-May-2016.)
Λ ψ        Λ Λ ψ

Theoremselberg4 20712* The Selberg symmetry formula for products of three primes, instead of two. The sum here can also be written in the symmetric form ΛΛΛ; we eliminate one of the nested sums by using the definition of ψ Λ. This statement can thus equivalently be written ψ ΛΛΛ . Equation 10.4.23 of [Shapiro], p. 422. (Contributed by Mario Carneiro, 30-May-2016.)
ψ Λ Λ ψ

Theorempntrval 20713* Define the residual of the second Chebyshev function. The goal is to have , or . (Contributed by Mario Carneiro, 8-Apr-2016.)
ψ        ψ

Theorempntrf 20714 Functionality of the residual. Lemma for pnt 20765. (Contributed by Mario Carneiro, 8-Apr-2016.)
ψ

Theorempntrmax 20715* There is a bound on the residual valid for all . (Contributed by Mario Carneiro, 9-Apr-2016.)
ψ

Theorempntrsumo1 20716* A bound on a sum over . Equation 10.1.16 of [Shapiro], p. 403. (Contributed by Mario Carneiro, 25-May-2016.)
ψ

Theorempntrsumbnd 20717* A bound on a sum over . Equation 10.1.16 of [Shapiro], p. 403. (Contributed by Mario Carneiro, 25-May-2016.)
ψ

Theorempntrsumbnd2 20718* A bound on a sum over . Equation 10.1.16 of [Shapiro], p. 403. (Contributed by Mario Carneiro, 14-Apr-2016.)
ψ

Theoremselbergr 20719* Selberg's symmetry formula, using the residual of the second Chebyshev function. Equation 10.6.2 of [Shapiro], p. 428. (Contributed by Mario Carneiro, 16-Apr-2016.)
ψ        Λ

Theoremselberg3r 20720* Selberg's symmetry formula, using the residual of the second Chebyshev function. Equation 10.6.8 of [Shapiro], p. 429. (Contributed by Mario Carneiro, 30-May-2016.)
ψ        Λ

Theoremselberg4r 20721* Selberg's symmetry formula, using the residual of the second Chebyshev function. Equation 10.6.11 of [Shapiro], p. 430. (Contributed by Mario Carneiro, 30-May-2016.)
ψ        Λ Λ

Theoremselberg34r 20722* The sum of selberg3r 20720 and selberg4r 20721. (Contributed by Mario Carneiro, 31-May-2016.)
ψ        Λ Λ Λ

Theorempntsval 20723* Define the "Selberg function", whose asymptotic behavior is the content of selberg 20699. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        Λ ψ

Theorempntsf 20724* Functionality of the Selberg function. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ

Theoremselbergs 20725* Selberg's symmetry formula, using the definition of the Selberg function. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ

Theoremselbergsb 20726* Selberg's symmetry formula, using the definition of the Selberg function. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ

Theorempntsval2 20727* The Selberg function can be expressed using the convolution product of the von Mangoldt function with itself. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        Λ Λ Λ

Theorempntrlog2bndlem1 20728* The sum of selberg3r 20720 and selberg4r 20721. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        ψ

Theorempntrlog2bndlem2 20729* Lemma for pntrlog2bnd 20735. Bound on the difference between the Selberg function and its approximation, inside a sum. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        ψ               ψ

Theorempntrlog2bndlem3 20730* Lemma for pntrlog2bnd 20735. Bound on the difference between the Selberg function and its approximation, inside a sum. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        ψ

Theorempntrlog2bndlem4 20731* Lemma for pntrlog2bnd 20735. Bound on the difference between the Selberg function and its approximation, inside a sum. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        ψ

Theorempntrlog2bndlem5 20732* Lemma for pntrlog2bnd 20735. Bound on the difference between the Selberg function and its approximation, inside a sum. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        ψ

Theorempntrlog2bndlem6a 20733* Lemma for pntrlog2bndlem6 20734. (Contributed by Mario Carneiro, 7-Jun-2016.)
Λ ψ        ψ

Theorempntrlog2bndlem6 20734* Lemma for pntrlog2bnd 20735. Bound on the difference between the Selberg function and its approximation, inside a sum. (Contributed by Mario Carneiro, 31-May-2016.)
Λ ψ        ψ

Theorempntrlog2bnd 20735* A bound on . Equation 10.6.15 of [Shapiro], p. 431. (Contributed by Mario Carneiro, 1-Jun-2016.)
ψ

Theorempntpbnd1a 20736* Lemma for pntpbnd 20739. (Contributed by Mario Carneiro, 11-Apr-2016.)
ψ

Theorempntpbnd1 20737* Lemma for pntpbnd 20739. (Contributed by Mario Carneiro, 11-Apr-2016.)
ψ

Theorempntpbnd2 20738* Lemma for pntpbnd 20739. (Contributed by Mario Carneiro, 11-Apr-2016.)
ψ

Theorempntpbnd 20739* Lemma for pnt 20765. Establish smallness of at a point. Lemma 10.6.1 in [Shapiro], p. 436. (Contributed by Mario Carneiro, 10-Apr-2016.)
ψ

Theorempntibndlem1 20740 Lemma for pntibnd 20744. (Contributed by Mario Carneiro, 10-Apr-2016.)
ψ

Theorempntibndlem2a 20741* Lemma for pntibndlem2 20742. (Contributed by Mario Carneiro, 7-Jun-2016.)
ψ

Theorempntibndlem2 20742* Lemma for pntibnd 20744. The main work, after eliminating all the quantifiers. (Contributed by Mario Carneiro, 10-Apr-2016.)
ψ                                                                              ψ ψ

Theorempntibndlem3 20743* Lemma for pntibnd 20744. Package up pntibndlem2 20742 in quantifiers. (Contributed by Mario Carneiro, 10-Apr-2016.)
ψ

Theorempntibnd 20744* Lemma for pnt 20765. Establish smallness of on an interval. Lemma 10.6.2 in [Shapiro], p. 436. (Contributed by Mario Carneiro, 10-Apr-2016.)
ψ

Theorempntlemd 20745 Lemma for pnt 20765. Closure for the constants used in the proof. For comparison with Equation 10.6.27 of [Shapiro], p. 434, is C^*, is c1, is λ, is c2, and is c3. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;

Theorempntlemc 20746* Lemma for pnt 20765. Closure for the constants used in the proof. For comparison with Equation 10.6.27 of [Shapiro], p. 434, is α, is ε, and is K. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;

Theorempntlema 20747* Lemma for pnt 20765. Closure for the constants used in the proof. The mammoth expression is a number large enough to satisfy all the lower bounds needed for . For comparison with Equation 10.6.27 of [Shapiro], p. 434, is x2, is x1, is the big-O constant in Equation 10.6.29 of [Shapiro], p. 435, and is the unnamed lower bound of "for sufficiently large x" in Equation 10.6.34 of [Shapiro], p. 436. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;

Theorempntlemb 20748* Lemma for pnt 20765. Unpack all the lower bounds contained in , in the form they will be used. For comparison with Equation 10.6.27 of [Shapiro], p. 434, is x. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;               ;

Theorempntlemg 20749* Lemma for pnt 20765. Closure for the constants used in the proof. For comparison with Equation 10.6.27 of [Shapiro], p. 434, is j^* and is ĵ. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;

Theorempntlemh 20750* Lemma for pnt 20765. Bounds on the subintervals in the induction. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;

Theorempntlemn 20751* Lemma for pnt 20765. The "naive" base bound, which we will slightly improve. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;

Theorempntlemq 20752* Lemma for pntlemj 20754. (Contributed by Mario Carneiro, 7-Jun-2016.)
ψ                                    ;                                                         ;                                                                ..^

Theorempntlemr 20753* Lemma for pntlemj 20754. (Contributed by Mario Carneiro, 7-Jun-2016.)
ψ                                    ;                                                         ;                                                                ..^

Theorempntlemj 20754* Lemma for pnt 20765. The induction step. Using pntibnd 20744, we find an interval in which is sufficiently large and has a much smaller value, (instead of our original bound ). (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;                                                                ..^

Theorempntlemi 20755* Lemma for pnt 20765. Eliminate some assumptions from pntlemj 20754. (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;                                                  ..^

Theorempntlemf 20756* Lemma for pnt 20765. Add up the pieces in pntlemi 20755 to get an estimate slightly better than the naive lower bound . (Contributed by Mario Carneiro, 13-Apr-2016.)
ψ                                    ;                                                         ;                                           ;

Theorempntlemk 20757* Lemma for pnt 20765. Evaluate the naive part of the estimate. (Contributed by Mario Carneiro, 14-Apr-2016.)
ψ                                    ;                                                         ;

Theorempntlemo 20758* Lemma for pnt 20765. Combine all the estimates to establish a smaller eventual bound on . (Contributed by Mario Carneiro, 14-Apr-2016.)
ψ                                    ;                                                         ;

Theorempntleme 20759* Lemma for pnt 20765. Package up pntlemo 20758 in quantifiers. (Contributed by Mario Carneiro, 14-Apr-2016.)
ψ                                    ;                                                         ;

Theorempntlem3 20760* Lemma for pnt 20765. Equation 10.6.35 in [Shapiro], p. 436. (Contributed by Mario Carneiro, 8-Apr-2016.)
ψ                                           ψ

Theorempntlemp 20761* Lemma for pnt 20765. Wrapping up more quantifiers. (Contributed by Mario Carneiro, 14-Apr-2016.)
ψ                                           ;

Theorempntleml 20762* Lemma for pnt 20765. Equation 10.6.35 in [Shapiro], p. 436. (Contributed by Mario Carneiro, 14-Apr-2016.)
ψ                                           ;               ψ

Theorempnt3 20763 The Prime Number Theorem, version 3: the second Chebyshev function tends asymptotically to . (Contributed by Mario Carneiro, 1-Jun-2016.)
ψ

Theorempnt2 20764 The Prime Number Theorem, version 2: the first Chebyshev function tends asymptotically to . (Contributed by Mario Carneiro, 1-Jun-2016.)

Theorempnt 20765 The Prime Number Theorem: the number of prime numbers less than tends asymptotically to as goes to infinity. (Contributed by Mario Carneiro, 1-Jun-2016.)
π

13.4.13  Ostrowski's theorem

Theoremabvcxp 20766* Raising an absolute value to a power less than one yields another absolute value. (Contributed by Mario Carneiro, 8-Sep-2014.)
AbsVal

Theorempadicfval 20767* Value of the p-adic absolute value. (Contributed by Mario Carneiro, 8-Sep-2014.)

Theorempadicval 20768* Value of the p-adic absolute value. (Contributed by Mario Carneiro, 8-Sep-2014.)

Theoremostth2lem1 20769* Lemma for ostth2 20788, although it is just a simple statement about exponentials which does not involve any specifics of ostth2 20788. If a power is upper bounded by a linear term, the exponent must be less than one. Or in big-O notation, for any . (Contributed by Mario Carneiro, 10-Sep-2014.)

Theoremqrngbas 20770 The base set of the field of rationals. (Contributed by Mario Carneiro, 8-Sep-2014.)
flds

Theoremqdrng 20771 The rationals form a division ring. (Contributed by Mario Carneiro, 8-Sep-2014.)
flds

Theoremqrng0 20772 The zero element of the field of rationals. (Contributed by Mario Carneiro, 8-Sep-2014.)
flds

Theoremqrng1 20773 The unit element of the field of rationals. (Contributed by Mario Carneiro, 8-Sep-2014.)
flds

Theoremqrngneg 20774 The additive inverse in the field of rationals. (Contributed by Mario Carneiro, 8-Sep-2014.)
flds

Theoremqrngdiv 20775 The division operation in the field of rationals. (Contributed by Mario Carneiro, 8-Sep-2014.)
flds        /r

Theoremqabvle 20776 By using induction on , we show a long-range inequality coming from the triangle inequality. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremqabvexp 20777 Induct the product rule abvmul 15596 to find the absolute value of a power. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremostthlem1 20778* Lemma for ostth 20790. If two absolute values agree on the positive integers greater than one, then they agree for all rational numbers and thus are equal as functions. (Contributed by Mario Carneiro, 9-Sep-2014.)
flds        AbsVal

Theoremostthlem2 20779* Lemma for ostth 20790. Refine ostthlem1 20778 so that it is sufficient to only show equality on the primes. (Contributed by Mario Carneiro, 9-Sep-2014.) (Revised by Mario Carneiro, 20-Jun-2015.)
flds        AbsVal

Theoremqabsabv 20780 The regular absolute value function on the rationals is in fact an absolute value under our definition. (Contributed by Mario Carneiro, 9-Sep-2014.)
flds        AbsVal

Theorempadicabv 20781* The p-adic absolute value (with arbitrary base) is an absolute value. (Contributed by Mario Carneiro, 9-Sep-2014.)
flds        AbsVal

Theorempadicabvf 20782* The p-adic absolute value is an absolute value. (Contributed by Mario Carneiro, 9-Sep-2014.)
flds        AbsVal

Theorempadicabvcxp 20783* All positive powers of the p-adic absolute value are absolute values. (Contributed by Mario Carneiro, 9-Sep-2014.)
flds        AbsVal

Theoremostth1 20784* - Lemma for ostth 20790: trivial case. (Not that the proof is trivial, but that we are proving that the function is trivial.) If is equal to on the primes, then by complete induction and the multiplicative property abvmul 15596 of the absolute value, is equal to on all the integers, and ostthlem1 20778 extends this to the other rational numbers. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremostth2lem2 20785* Lemma for ostth2 20788. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremostth2lem3 20786* Lemma for ostth2 20788. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremostth2lem4 20787* Lemma for ostth2 20788. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremostth2 20788* - Lemma for ostth 20790: regular case. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremostth3 20789* - Lemma for ostth 20790: p-adic case. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

Theoremostth 20790* Ostrowski's theorem, which classifies all absolute values on . Any such absolute value must either be the trivial absolute value , a constant exponent times the regular absolute value, or a positive exponent times the p-adic absolute value. (Contributed by Mario Carneiro, 10-Sep-2014.)
flds        AbsVal

PART 14  GUIDES AND MISCELLANEA

14.1  Guides (conventions, explanations, and examples)

14.1.1  Conventions

This section describes the conventions we use. However, these conventions often refer to existing mathematical practices, which are discussed in more detail in other references. Logic and set theory provide a foundation for all of mathematics. To learn about them, you should study one or more of the references listed below. We indicate references using square brackets. The textbooks provide a motivation for what we are doing, whereas Metamath lets you see in detail all hidden and implicit steps. Most standard theorems are accompanied by citations. Some closely followed texts include the following:

• Axioms of propositional calculus - [Margaris].
• Axioms of predicate calculus - [Megill] (System S3' in the article referenced).
• Theorems of propositional calculus - [WhiteheadRussell].
• Theorems of pure predicate calculus - [Margaris].
• Theorems of equality and substitution - [Monk2], [Tarski], [Megill].
• Axioms of set theory - [BellMachover].
• Development of set theory - [TakeutiZaring]. (The first part of [Quine] has a good explanation of the powerful device of "virtual" or class abstractions, which is essential to our development.)
• Construction of real and complex numbers - [Gleason]
• Theorems about real numbers - [Apostol]

Theoremconventions 20791 Here are some of the conventions we use in the Metamath Proof Explorer (aka "set.mm"), and how they correspond to typical textbook language (skipping the many cases where they're identical):

• Notation. Where possible, the notation attempts to conform to modern conventions, with variations due to our choice of the axiom system or to make proofs shorter. However, our notation is strictly sequential (left-to-right). For example, summation is written in the form (df-sum 12161) which denotes that index variable ranges over when evaluating . Thus, means 1/2 + 1/4 + 1/8 + ... = 1 (geoihalfsum 12340). Also, the method of definition, the axioms for predicate calculus, and the development of substitution are somewhat different from those found in standard texts. For example, the expressions for the axioms were designed for direct derivation of standard results without excessive use of metatheorems. (See Theorem 9.7 of [Megill] p. 448 for a rigorous justification.) The notation is usually explained in more detail when first introduced.
• Axiomatic assertions (\$a). All axiomatic assertions (\$a statements) starting with " " have labels starting with "ax-" (axioms) or "df-" (definitions). A statement with a label starting with "ax-" corresponds to what is traditionally called an axiom. A statement with a label starting with "df-" introduces new symbols or a new relationship among symbols that can be eliminated; they always extend the definition of a wff or class. Metamath blindly treats \$a statements as new given facts but does not try to justify them. The mmj2 program will justify the definitions as sound, except for 4 (df-bi, df-cleq, df-clel, df-clab) that require a more complex metalogical justification by hand.
• Proven axioms. In some cases we wish to treat an expression as an axiom in later theorems, even though it can be proved. For example, we derive the postulates or axioms of complex arithmetic as theorems of ZFC set theory. For convenience, after deriving the postulates we re-introduce them as new axioms on top of set theory. This lets us easily identify which axioms are needed for a particular complex number proof, without the obfuscation of the set theory used to derive them. For more, see http://us.metamath.org/mpeuni/mmcomplex.html. When we wish to use a previously-proven assertion as an axiom, our convention is that we use the regular "ax-NAME" label naming convention to define the axiom, but we precede it with a proof of the same statement with the label "axNAME" . An example is complex arithmetic axiom ax-1cn 8797, proven by the preceding theorem ax1cn 8773. The metamath.exe program will warn if an axiom does not match the preceding theorem that justifies it if the names match in this way.
• Definitions (df-...). We encourage definitions to include hypertext links to proven examples.
• Statements with hypotheses. Many theorems and some axioms, such as ax-mp 8, have hypotheses that must be satisfied in order for the conclusion to hold, in this case min and maj. When presented in summarized form such as in the Theorem List (click on "Nearby theorems" on the ax-mp 8 page), the hypotheses are connected with an ampersand and separated from the conclusion with a big arrow, such as in " & => ". These symbols are not part of the Metamath language but are just informal notation meaning "and" and "implies".
• Discouraged use and modification. If something should only be used in limited ways, it is marked with "(New usage is discouraged.)". This is used, for example, when something can be constructed in more than one way, and we do not want later theorems to depend on that specific construction. This marking is also used if we want later proofs to use proven axioms. For example, we want later proofs to use ax-1cn 8797 (not ax1cn 8773) and ax-1ne0 8808 (not ax1ne0 8784), as these are proven axioms for complex arithmetic. Thus, both ax1cn 8773 and ax1ne0 8784 are marked as "(New usage is discouraged.)". In some cases a proof should not normally be changed, e.g., when it demonstrates some specific technique. These are marked with "(Proof modification is discouraged.)".
• New definitions infrequent. Typically, we are minimalist when introducing new definitions; they are introduced only when a clear advantage becomes apparent for reducing the number of symbols, shortening proofs, etc. We generally avoid the introduction of gratuitous definitions because each one requires associated theorems and additional elimination steps in proofs. For example, we use and for inequality expressions, and use instead of sinh for the hyperbolic sine.
• Axiom of choice. The axiom of choice (df-ac 7745) is widely accepted, and ZFC is the most commonly-accepted fundamental set of axioms for mathematics. However, there have been and still are some lingering controversies about the Axiom of Choice. Therefore, where a proof does not require the axiom of choice, we prefer that proof instead. E.g., our proof of the Schroeder-Bernstein Theorem (sbth 6983) does not use the axiom of choice. In some cases, the weaker axiom of countable choice (ax-cc 8063) or axiom of dependent choice (ax-dc 8074) can be used instead.
• Variables. Typically, Greek letters ( = phi, = psi, = chi, etc.),... are used for propositional (wff) variables; , , ,... for individual (set) variables; and , , ,... for class variables.
• Turnstile. "", meaning "It is provable that," is the first token of all assertions and hypotheses that aren't syntax constructions. This is a standard convention in logic. For us, it also prevents any ambiguity with statements that are syntax constructions, such as "wff ".
• Biconditional (). There are basically two ways to maximize the effectiveness of biconditionals (): you can either have one-directional simplifications of all theorems that produce biconditionals, or you can have one-directional simplifications of theorems that consume biconditionals. Some tools (like Lean) follow the first approach, but set.mm follows the second approach. Practically, this means that in set.mm, for every theorem that uses an implication in the hypothesis, like ax-mp 8, there is a corresponding version with a biconditional or a reversed biconditional, like mpbi 199 or mpbir 200. We prefer this second approach because the number of duplications in the second approach is bounded by the size of the propositional calculus section, which is much smaller than the number of possible theorems in all later sections that produce biconditionals. So although theorems like biimpi 186 are available, in most cases there is already a theorem that combines it with your theorem of choice, like mpbir2an 886, sylbir 204, or 3imtr4i 257.
• Substitution. " " should be read "the wff that results from the proper substitution of for in wff ." See df-sb 1632 and the related df-sbc 2994 and df-csb 3084.
• Is-a set. " " should be read "Class is a set (i.e. exists)." This is a convenient convention based on Definition 2.9 of [Quine] p. 19. See df-v 2792 and isset 2794.
• Converse. "" should be read "converse of (relation) " and is the same as the more standard notation R^{-1} (the standard notation is ambiguous). See df-cnv 4699. This can be used to define a subset, e.g., df-tan 12355 notates "the set of values whose cosine is a nonzero complex number" as .
• Function application. "()" should be read "the value of function at " and has the same meaning as the more familiar but ambiguous notation F(x). For example, (see cos0 12432). The left apostrophe notation originated with Peano and was adopted in Definition *30.01 of [WhiteheadRussell] p. 235, Definition 10.11 of [Quine] p. 68, and Definition 6.11 of [TakeutiZaring] p. 26. See df-fv 5265. In the ASCII (input) representation there are spaces around the grave accent; there is a single accent when it is used directly, and it is doubled within comments.
• Infix and parentheses. When a function that takes two classes and produces a class is applied as part of an infix expression, the expression is always surrounded by parentheses (see df-ov 5863). For example, the in ; see 2p2e4 9844. Function application is itself an example of this. Similarly, predicate expressions in infix form that take two or three wffs and produce a wff are also always surrounded by parentheses, such as , , , and (see wi 4, df-or 359, df-an 360, and df-bi 177 respectively). In contrast, a binary relation (which compares two classes and produces a wff) applied in an infix expression is not surrounded by parentheses. This includes set membership (see wel 1687), equality (see df-cleq 2278), subset (see df-ss 3168), and less-than (see df-lt 8752). For the general definition of a binary relation in the form , see df-br 4026. For example, ( see 0lt1 9298) does not use parentheses.
• Unary minus. The symbol is used to indicate a unary minus, e.g., . It is specially defined because it is so commonly used. See cneg 9040.
• Function definition. Functions are typically defined by first defining the constant symbol (using \$c) and declaring that its symbol is a class with the label cNAME (e.g., ccos 12348). The function is then defined labelled df-NAME; definitions are typically given using the maps-to notation (e.g., df-cos 12354). Typically, there are other proofs such as its closure labelled NAMEcl (e.g., coscl 12409), its function application form labelled NAMEval (e.g., cosval 12405), and at least one simple value (e.g., cos0 12432).
• Factorial. The factorial function is traditionally a postfix operation, but we treat it as a normal function applied in prefix form, e.g., ; (df-fac 11291 and fac4 11298).
• Unambiguous symbols. A given symbol has a single unambiguous meaning in general. Thus, where the literature might use the same symbol with different meanings, here we use different (variant) symbols for different meanings. These variant symbols often have suffixes, subscripts, or underlines to distinguish them. For example, here "" always means the value zero (df-0 8746), while "" is the group identity element (df-0g 13406), "" is the poset zero (df-p0 14147), "" is the zero polynomial (df-0p 19027), "" is the zero vector in a normed complex vector space (df-0v 21156), and "" is a class variable for use as a connective symbol (this is used, for example, in p0val 14149). There are other class variables used as connective symbols where traditional notation would use ambiguous symbols, including "", "", "", and "". These symbols are very similar to traditional notation, but because they are different symbols they eliminate ambiguity.
• Natural numbers. There are different definitions of "natural" numbers in the literature. We use (df-nn 9749) for the integer numbers starting from 1, and (df-n0 9968) for the set of nonnegative integers starting at zero.
• Decimal numbers. Numbers larger than ten are often expressed in base 10 using the decimal constructor df-dec 10127, e.g., ;;; (see 4001prm 13145 for a proof that 4001 is prime).
• Theorem forms. We often call a theorem a "deduction" whenever the conclusion and all hypotheses are each prefixed with the same antecedent . Deductions are often the preferred form for theorems because they allow us to easily use the theorem in places where (in traditional textbook formalizations) the standard Deduction Theorem would be used. See, for example, a1d 22. A deduction hypothesis can have an indirect antecedent via definitions, e.g., see lhop 19365. Deductions have a label suffix of "d" if there are other forms of the same theorem. By contrast, we tend to call the simpler version with no common antecedent an "inference" and suffix its label with "i"; compare theorem a1i 10. Finally, a "tautology" would be the form with no hypotheses, and its label would have no suffix. For example, see pm2.43 47, pm2.43i 43, and pm2.43d 44.
• Deduction theorem. The Deduction Theorem is a metalogical theorem that provides an algorithm for constructing a proof of a theorem from the proof of its corresponding deduction. In ordinary mathematics, no one actually carries out the algorithm, because (in its most basic form) it involves an exponential explosion of the number of proof steps as more hypotheses are eliminated. Instead, in ordinary mathematics the Deduction Theorem is invoked simply to claim that something can be done in principle, without actually doing it. For more details, see http://us.metamath.org/mpeuni/mmdeduction.html. The Deduction Theorem is a metalogical theorem that cannot be applied directly in metamath, and the explosion of steps would be a problem anyway, so alternatives are used. One alternative we use sometimes is the "weak deduction theorem" dedth 3608, which works in certain cases in set theory. We also sometimes use dedhb 2937. However, the primary mechanism we use today for emulating the deduction theorem is to write proofs in the deduction theorem form (aka "deduction style") described earlier; the prefixed mimics the context in a deduction proof system. In practice this mechanism works very well. This approach is described in the deduction form and natural deduction page; a list of translations for common natural deduction rules is given in natded 20792.
• Recursion. We define recursive functions using various "recursion constructors". These allow us to define, with compact direct definitions, functions that are usually defined in textbooks with indirect self-referencing recursive definitions. This produces compact definition and much simpler proofs, and greatly reduces the risk of creating unsound definitions. Examples of recursion constructors include recs in df-recs 6390, in df-rdg 6425, seq𝜔 in df-seqom 6462, and in df-seq 11049. These have characteristic function and initial value . (g in df-gsum 13407 isn't really designed for arbitrary recursion, but you could do it with the right magma.) The logically primary one is df-recs 6390, but for the "average user" the most useful one is probably df-seq 11049- provided that a countable sequence is sufficient for the recursion.
• Extensible structures. Mathematics includes many structures such as ring, group, poset, etc. We define an "extensible structure" which is then used to define group, ring, poset, etc. This allows theorems from more general structures (groups) to be reused for more specialized structures (rings) without having to reprove them. See df-struct 13152.
• Organizing proofs. Humans have trouble understanding long proofs. It is often preferable to break longer proofs into smaller parts (just as with traditional proofs). In Metamath this is done by creating separate proofs of the separate parts. A proof with the sole purpose of supporting a final proof is a lemma; the naming convention for a lemma is the final proof's name followed by "lem", and a number if there is more than one. E.g., sbthlem1 6973 is the first lemma for sbth 6983. Also, consider proving reusable results separately, so that others will be able to easily reuse that part of your work.
• Hypertext links. We strongly encourage comments to have many links to related material, with accompanying text that explains the relationship. These can help readers understand the context. Links to other statements, or to HTTP/HTTPS URLs, can be inserted in ASCII source text by prepending a space-separated tilde. When metamath.exe is used to generate HTML it automatically inserts hypertext links for syntax used (e.g., every symbol used), every axiom and definition depended on, the justification for each step in a proof, and to both the next and previous assertion.
• Bibliography references. Please include a bibliographic reference to any external material used. A name in square brackets in a comment indicates a bibliographic reference. The full reference must be of the form KEYWORD IDENTIFIER? NOISEWORD(S)* [AUTHOR(S)] p. NUMBER - note that this is a very specific form that requires a page number. There should be no comma between the author reference and the "p." (a constant indicator). Whitespace, comma, period, or semicolon should follow NUMBER. An example is Theorem 3.1 of [Monk1] p. 22, The KEYWORD, which is not case-sensitive, must be one of the following: Axiom, Chapter, Compare, Condition, Corollary, Definition, Equation, Example, Exercise, Figure, Item, Lemma, Lemmas, Line, Lines, Notation, Part, Postulate, Problem, Property, Proposition, Remark, Rule, Scheme, Section, or Theorem. The IDENTIFIER is optional, as in for example "Remark in [Monk1] p. 22". The NOISEWORDS(S) are zero or more from the list: from, in, of, on. The AUTHOR(S) must be present in the file identified with the htmlbibliography assignment (e.g. mmset.html) as a named anchor (NAME=). If there is more than one document by the same author(s), add a numeric suffix (as shown here). The NUMBER is a page number, and may be any alphanumeric string such as an integer or Roman numeral. Note that we require page numbers in comments for individual \$a or \$p statements. We allow names in square brackets without page numbers (a reference to an entire document) in heading comments. If this is a new reference, please also add it to the "Bibliography" section of mmset.html. (The file mmbiblio.html is automatically rebuilt, e.g., using the metamath.exe "write bibliography" command.)
• Input format. The input is in ASCII with two-space indents. Tab characters are not allowed. Use embedded math comments or HTML entities for non-ASCII characters (e.g., "&eacute;" for "é").
• Information on syntax, axioms, and definitions. For a hyperlinked list of syntax, axioms, and definitions, see http://us.metamath.org/mpeuni/mmdefinitions.html. If you have questions about a specific symbol or axiom, it is best to go directly to its definition to learn more about it. The generated HTML for each theorem and axiom includes hypertext links to each symbol's definition.

Naming conventions

Every statement has a unique identifying label. We use various label naming conventions to provide easy-to-remember hints about their contents. Labels are not a 1-to-1 mapping, because that would create long names that would be difficult to remember and tedious to type. Instead, label names are relatively short while suggesting their purpose. Names are occasionally changed to make them more consistent or as we find better ways to name them. Here are a few of the label naming conventions:

• Axioms, definitions, and wff syntax. As noted earlier, axioms are named "ax-NAME", proofs of proven axioms are named "axNAME", and definitions are named "df-NAME". Wff syntax declarations have labels beginning with "w" followed by short fragment suggesting its purpose.
• Hypotheses. Hypotheses have the name of the final axiom or theorem, followed by ".", followed by a unique id.
• Common names. If a theorem has a well-known name, that name (or a short version of it) is sometimes used directly. Examples include barbara 2242 and stirling 27849.
• Syntax label fragments. Most theorems are named using syntax label fragments. Almost every syntactic construct has a definition labelled "df-NAME", and NAME normally is the syntax label fragment. For example, the difference construct is defined in df-dif 3157, and thus its syntax label fragment is "dif". Similarly, the singleton construct has syntax label fragment "sn" (because it is defined in df-sn 3648), the subclass (subset) relation has "ss" (because it is defined in df-ss 3168), and the pair construct has "pr" (df-pr 3649). Theorem names are often a concatenation of the syntax label fragments (omitting variables). For example, a theorem about involves a difference ("dif") of a subset ("ss"), and thus is named difss 3305. Digits are used to represent themselves. Suffixes (e.g., with numbers) are sometimes used to distinguish multiple theorems that would otherwise produce the same label.
• Phantom definitions. In some cases there are common label fragments for something that could be in a definition, but for technical reasons is not. The is-element-of (is member of) construct does not have a df-NAME definition; in this case its syntax label fragment is "el". Thus, because the theorem beginning with uses is-element-of ("el") of a difference ("dif") of a singleton ("sn"), it is named eldifsn 3751. An "n" is often used for negation (), e.g., nan 563.
• Exceptions. Sometimes there is a definition df-NAME but the label fragment is not the NAME part. The table below attempts to list all such cases and marks them in bold. For example, label fragment "cn" represents complex numbers (even though its definition is in df-c 8745) and "re" represents real numbers . The empty set often uses fragment 0, even though it is defined in df-nul 3458. Syntax construct usually uses the fragment "add" (which is consistent with df-add 8750), but "p" is used as the fragment for constant theorems. Equality often uses "e" as the fragment. As a result, "two plus two equals four" is named 2p2e4 9844.
• Other markings. In labels we sometimes use "com" for "commutative", "ass" for "associative", "rot" for "rotation", and "di" for "distributive".
• Principia Mathematica. Proofs of theorems from Principia Mathematica often use a different naming convention. They are instead often named "pm" followed by its identifier. For example, Theorem *2.27 of [WhiteheadRussell] p. 104 is named pm2.27 35.
• Closures and values. As noted above, if a function df-NAME is defined, there is typically a proof of its value named "NAMEval" and its closure named "NAMEcl". E.g., for cosine (df-cos 12354) we have value cosval 12405 and closure coscl 12409.
• Special cases. Sometimes syntax and related markings are insufficient to distinguish different theorems. For example, there are over 100 different implication-exclusive theorems. These are then grouped in a more ad-hoc way that attempts to make their distinctions clearer. These often use abbreviations such as "mp" for "modus ponens", "syl" for syllogism, and "id" for "identity". It's especially hard to give good names in the propositional calculus section because there are so few primitives. However, in most cases this is not a serious problem. There are a few very common theorems like ax-mp 8 and syl 15 that you will have no trouble remembering, a few theorem series like syl*anc and simp* that you can use parametrically, and a few other useful glue things for destructuring 'and's and 'or's (see natded 20792 for a list), and that's about all you need for most things. As for the rest, you can just assume that if it involves three or less connectives we probably already have a proof, and searching for it will give you the name.
• Suffixes. We sometimes suffix with "v" the label of a theorem eliminating a hypothesis such as in 19.21 1793 via the use of distinct variable conditions combined with nfv 1607. Conversely, we sometimes suffix with "f" the label of a theorem introducing such a hypothesis to eliminate the need for the distinct variable condition; e.g. euf 2151 derived from df-eu 2149. The "f" stands for "not free in" which is less restrictive than "does not occur in." We sometimes suffix with "s" the label of an inference that manipulates an antecedent, leaving the consequent unchanged. The "s" means that the inference eliminates the need for a syllogism (syl 15) -type inference in a pr