HomeHome Metamath Proof Explorer
Theorem List (p. 376 of 494)
< Previous  Next >
Bad symbols? Try the
GIF version.

Mirrors  >  Metamath Home Page  >  MPE Home Page  >  Theorem List Contents  >  Recent Proofs       This page: Page List

Color key:    Metamath Proof Explorer  Metamath Proof Explorer
(1-30937)
  Hilbert Space Explorer  Hilbert Space Explorer
(30938-32460)
  Users' Mathboxes  Users' Mathboxes
(32461-49324)
 

Theorem List for Metamath Proof Explorer - 37501-37600   *Has distinct variable group(s)
TypeLabelDescription
Statement
 
Theoremwl-cleq-5 37501*
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Semantics of Equality

There is a broadly shared understanding of what equality between objects expresses, extending beyond mathematics or set theory. Equality constitutes an equivalence relation among objects 𝑥, 𝑦, and 𝑧 within the universe under consideration:

1. Reflexivity 𝑥 = 𝑥

2. Symmetry (𝑥 = 𝑦𝑦 = 𝑥)

3. Transitivity ((𝑥 = 𝑦𝑥 = 𝑧) → 𝑦 = 𝑧)

4. Identity of Indiscernables (Leibniz's Law): distinct (i.e., unequal), objects cannot share all the same properties (or attributes).

In formal theories using variables, the attributes of a variable are assumed to mirror those of the instance it denotes. For both variables and objects, items (1) - (4) must either be derived or postulated as axioms.

If the theory allows substituting instances for variables, then the equality rules for objects follow directly from those governing variables. However, if variables and instances are formally distinguished, this distinction introduces an additional metatheoretical attribute, relevant for (4).

A similar issue arises when equality is considered between different types of variables sharing properties. Such mixed-type equalities are subject to restrictions: reflexivity does not apply, since the two sides represent different kinds of entities. Nevertheless, symmetry and various forms of transitivity typically remain valid, and must be proven or established within the theory.

In set.mm formulas express attributes. Therefore, equal instances must behave identically, yielding the same results when substituted into any formula. To verify equality, it suffices to consider only primitive operations involving free variables, since all formulas - once definitions are eliminated - reduce to these. Equality itself introduces no new attribute (an object is always different from all others), and can thus be excluded from this examination.

Equality in First Order Logic (FOL)

In the FOL component of set.mm, the notion of an "object" is absent. Only set variables are used to formulate theorems, and their attributes - expressed through an unspecified membership operator - are addressed at a later stage.

Instead, several axioms address equality directly: ax-6 1967, ax-7 2007, ax-8 2110, ax-9 2118 and ax-12 2177, and ax-13 2377. In practice, restricted versions with distinct variable conditions are used (ax6v 1968, ax12v 2178). The unrestricted forms together with axiom ax-13 2377, allow for the elimination of distinct variable conditions, this benefit is considered too minor for routine use.

Equality in FOL is formalized as follows:

2a. Equivalence Relation. Essentially covered by ax-7 2007, with some support of ax-6 1967.

2b. Leibniz's Law for the primitive operator. Captured by ax-8 2110 and ax-9 2118.

2c. General formulation. Given in sbequ12 2251.

2d. Implicit substitution. Assuming Leibniz's Law holds for a particular expression, various theorems extend its validity to other, derived expressions, often introducing quantification (see for example cbvalvw 2035).

The auxiliary axioms ax-10 2141, ax-11 2157, ax-12 are provable (see ax10w 2129, for example) if you can substitute 𝑦 for 𝑥 in a formula 𝜑 that contains no occurrence of 𝑦 and leaves no remaining trace of 𝑥 after substitution. An implicit substitution is then established by setting the resulting formula equivalent to 𝜑 under the assumption 𝑥 = 𝑦. Ordinary FOL substitution [𝑦 / 𝑥]𝜑 is insufficient in this context, since 𝑥 still occurs in the substituted formula. A simple textual replacement of the token 𝑥 by 𝑦 in 𝜑 might seem an intuitive solution, but such operations are out of the formal scope of Metamath.

2e. Axiom of Extensionality. In its elaborated form (axextb 2711), it states that the determining attributes of a set 𝑥 are the elements 𝑧 it contains, as expressed by 𝑧𝑥. This is the only primitive operation relevant for equality between set variables.

Equality between classes

In set.mm class variables of type "class" are introduced analoguously to set variables. Besides the primitive operations equality and membership, class builders allow other syntactical constructs to substitute for class variables, enabling them to represent class instances.

One such builder (cv 1539) allows set variables to replace class variables. Another (df-clab 2715) introduces a class instance, known as class abstraction. Since a class abstraction can freely substitute for a class variable, formulas hold for both alike. Hence, there is no need to distinguish between class variables and abstractions; the term class will denote "class variable or class abstraction".

Set variables, however, are treated separately, as they are not of type "class".

3a. Equivalence Relation. Axiom df-cleq 2729, from which class versions of (1a) - (1c) can be derived, guarantees that equality between class variables form an equivalence relation. Since both class abstractions and set variables can substitute for class variables, this equivalence extends to all mixed equalities, including those with set variables, since they automatically convert to classes upon substitution.

3b. Attributes. The primitive operation of membership constitutes the fundamental attributes of a class. Axiom df-clel 2816 reduces possible membership relations between class variables to those between a set variable and a class variable. Axiom df-cleq 2729 extends axextb 2711 to classes, stating that classes are fully determined by their set members.

A class builder may introduce a new attribute for classes. An equation involving such a class instance may express this attribute. In the case of the class builder cv 1539, an attribute called sethood is in fact introduced: A class is a set if it can be equated with some set variable.

Class abstractions supported by class builder df-clab 2715 also formally introduce attributes. Whether a class can be expressed as an abstraction with a specific predicate may be relevant in analysis. However, since theorem df-clab 2715 is a definition (and hence eliminable), these attributes can also be expressed in other ways.

3c. Conservativity. Because set variables can substitute for class variables, all axioms and definitions must be consistent with theorems in FOL. To ensure this, hypotheses are added to axioms and definitions that mirror the structure of their statement, but with class variables replaced by set variables. Since theorems cannot be applied without first proving their hypotheses, conservativity thus is enforced.

3d. Leibniz's Law. Besides equality membership is (and remains) the only primitive operator between classes. Axioms df-cleq 2729 and df-clel 2816 provide class versions of ax-8 2110 and ax-9 2118, ensuring that membership is consistent with Leibniz's Law.

Sethood, being based on mixed-type equality, preserves its value among equal classes.

As long as additional class builders beyond those mentioned are only defined, the reasoning given for class abstraction above applies generally, and Leibniz's Law continues to hold.

3e. Backward Compatability. A class 𝐴 equal to a set should be substitutable for a free set variable 𝑥 in any theorem, yielding a valid result, provided 𝑥 and 𝐴 are distinct. Sethood is conveniently expressed by 𝑧𝑧 = 𝐴; this assumption is added as an antecedent to the corresponding FOL theorem.

However, since direct substitution is disallowed, a deduction version of an FOL theorem cannot be simply converted. Instead, the proof must be replayed, consistently replacing 𝑥 with 𝐴. Ultimately, this process reduces to the FOL axioms, or their deduction form.

If these axioms hold when 𝐴 replaces 𝑥- under the above assumptions - then the replacement can be considered generally valid. The affected FOL axioms are ax-6 1967 (in the form ax6ev 1969), ax-7 2007, ax-8 2110, ax-9 2118, ax-12 2177 (ax12v2 2179), and to some extent ax-13 2377 (ax13v 2378). Since ZF (Zermelo-Fraenkel) set theory does not allow quantifification over class variables, no similar class-based versions of the quantified FOL axioms exist.

(Contributed by Wolf Lammen, 18-Sep-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
Theoremwl-cleq-6 37502*
Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong. This text should be read as an exploration rather than as definite statements, open to doubt, alternatives, and reinterpretation.

Eliminability of Classes

One requirement of Zermelo-Fraenkel set theory (ZF) is that it can be formulated entirely without referring to classes. Since set.mm implements ZF, it must therefore be possible to eliminate all classes from its formalization.

Eliminating Variables of Propositional Logic

Classical propositional logic concerns statements that are either true or false. For example, "A minute has 60 seconds" is such a statement, as is "English is not a language". Our development of propositional logic applies to all such statements, regardless of their subject matter. Any particular topic, or universe of discourse is encompassed by the general theorems of propositional logic.

In ZF, however, the objects of study are sets - mathematical entities. The flexibility of propsitional variables is not required here. Instead, ZF introduces two primitive connectives between sets: 𝑥 = 𝑦 and 𝑥𝑦. ZF is concerned only with logical schemata constructed solely from these primitives. Thus, before we can eliminate classes, we must first eliminate propositional variables like 𝜑 and 𝜓. We will describe this process constructively.

We begin by restricting ourselves to propositional schemata that consist only of the primitives of ZF, without any propositional variables. Extending this step to first-order Logic (FOL) - by introducing quantifiers - yields the fundamental predicates of ZF, that is, the basic formulas expressible within it.

For convenience, we may again allow propositional variables, but under the strict assumption that they always represent fundamental predicates of ZF.

Predicates of level 0 are exactly of this kind: no classes occurs in them, and they can be reduced directly to fundamental predicates in ZF.

Introducing eliminable classes

The following construction is inspired by a paragraph in Azriel Levy's "Basic set theory" concerning eliminable classes.

A class can only occur in combination with one of the operators = or . This applies in particular to class abstractions, which are the only kind of classes permtted in this step of extending level-0 predicates in ZF. The definitions df-cleq 2729 and df-clel 2816 show that equality and membership ultimately reduce to expressions of the form 𝑥𝐴. For a class abstraction {𝑦𝜑}, the resulting term amounts to [𝑥 / 𝑦]𝜑. If 𝜑 is a level-0 predicate, then this too is a level-0 expression - fully compatible with ZF.

A level-1 class abstraction is a class {𝑦𝜑} where 𝜑 is a level-0 predicate. A level-1 class abstraction can occur in an equality or membership relation with another level-1 class abstractions or a set variable, and such terms reduce to fundamental predicates. Predicates of either level-0, or containing level-1 class abstractions are called level-1 predicates. After eliminating all level-1 abstractions from such a predicate a level-0 expression is the result.

Analoguously, we can define level-2 class abstractions, where the predicate 𝜑 in {𝑦𝜑} is a level-1 predicate. Again, 𝑥 ∈ {𝑦𝜑} reduces to a level-1 expression, which in turn can be reduced to a level-0 one. By similar reasoning, equality and membership between at most level-2 class abstractions also reduce to level-0 expressions. A predicate containing at most level-2 class abstractions is called a level-2 predicate.

This iterative construction process can be continued to define a predicate of any level. They can be reduced to fundamental predicates in ZF.

Introducing eliminable class variables

We have seen that propositional variables must be restricted to representing only primitive connectives to maintain compatibility with ZF. Similarly, class variables can be restricted to representing class abstractions of finite level. Such class variables are eliminable, and even definitions like df-un 3956 (𝐴𝐵) introduce no difficulty, since the resulting union remains of finite level.

Limitations of eliminable class variables

Where does this construction reach its limits?

1. Infinite constructions. Suppose we wish to add up an infinite series of real numbers, where each term defines its successor using a class abstraction one level higher than that of the previous term. Such a summation introduces terms of arbitrary high level. While each individual term remains reducable in ZF, the infinite sum expression may not be reducable without special care.

2. Class builders. Every class builder other than cv 1539 must be a definition, making its elimination straightforward. The class abstraction df-clab 2715 described above is a special case.

Since set variables themselves can be expressed as class abstractions - namely 𝑥 = {𝑦𝑦𝑥} (see cvjust 2731) - this formulation does not conflict with the use of class builder cv 1539.

The above conditions apply only to substitution. The expression 𝐴 = {𝑥𝑥𝐴} (abid1 2878) is a valid and provable equation, and it should not be interpreted as an assignment that binds a particular instance to 𝐴.

(Contributed by Wolf Lammen, 13-Oct-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
Axiomax-wl-cleq 37503* Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong.

This text should be read as an exploration rather than as a definite statement, open to doubt, alternatives, and reinterpretation.

At the point where df-cleq 2729 is introduced, the foundations of set theory are being established through the notion of a class. A central property of classes is what elements, expressed by the membership operator , belong to them . Quantification (𝑥) applies only to objects that a variable of kind setvar can represent. These objects will henceforth be called sets. Some classes may not be sets; these are called proper classes. It remains open at this stage whether membership can involve them.

The formula given in df-cleq 2729 (restated below) asserts that two classes are equal if and only if they have exactly the same sets as elements. If proper classes are also admitted as elements, then two equal classes could still differ by such elements, potentially violating Leibniz's Law. A future axiom df-clel 2816 addresses this issue; df-cleq 2729 alone does not.

**Primitive connectives and class builders**

Specially crafted primitive operators on classes or class builders could introduce properties of classes beyond membership, not reflected in the formula here. This again risks violating Leibniz's Law. Therefore, the introduction of any future primitive operator or class builder must include a conservativity check to ensure consistency with Leibniz's Law.

**This axiom covers only some principles of equality**

The notion of equality expressed in this axiom does not automatically coincide with the general notion of equality. Some principles are, however, already captured: Equality is shown to be an equivalence relation, covering transivity (eqtr 2760), reflexivity (eqid 2737) and symmetry (eqcom 2744). It also yields the class-level version of ax-ext 2708 (the backward direction of df-cleq 2729) holds.

If we assume 𝑥 = 𝐴 holds, then substituting the free set variable 𝑦 with 𝐴 in ax6ev 1969 and ax12v2 2179 yields provable theorems (see wl-isseteq 37506, and wl-ax12v2cl 37507). However, a bound variable cannot be replaced with a class variable, since quantification over classes is not permitted. Taken together with the results from the previous paragraph, this shows that a class variable equal to a set behaves the same as a set variable, provided it is not quantified.

**Conservativity**

Moreover, this axiom is already partly derivable if all class variables are replaced by variables of type "setvar". In that case, the statement reduces to an instance of axextb 2711. This shows that the class builder cv 1539 is consistent with this axiom.

**Eliminable operator**

Finally, this axiom supports the idea that proper classes, and operators between them, should be eliminable, as required by ZF: It reduces equality to their membership properties. However, since the term 𝑥𝐴 is still undefined, elimination reduces equality to just something not yet clarified.

**Axiom vs Definition**

Up to this point, the only content involving class variables comes from the syntax definitions wceq 1540 and wcel 2108. Axioms are therefore required to progressively refine the semantics of classes until provable results coincide with our intended conception of set theory. This refinement process is explained in Step 4 of wl-cleq-2 37498.

From this perspective, df-cleq 2729 is in fact an axiom in disguise and would more appropriately be named ax-cleq.

At first glance, one might think that 𝐴 = 𝐵 is defined by the right-hand side of the biconditional. This would make 𝑥𝐴, i.e. membership of a set in a class, the more primitive concept, from which equality of classes could be derived. Such a viewpoint would be coherent if the properties of membership could be fully determined by other axioms. In my (WL's') opinion, however, the more direct and fruitful approach is not to construct class equality from membership, but to treat equality itself as axiomatic.

(Contributed by Wolf Lammen, 25-Aug-2025.)

(𝐴 = 𝐵 ↔ ∀𝑥(𝑥𝐴𝑥𝐵))
 
Axiomax-wl-clel 37504* Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong.

This text should be read as an exploration rather than as a definite statement, open to doubt, alternatives, and reinterpretation.

The formula in df-clel 2816 (restated below) states that only those classes for which 𝑥𝑥 = 𝐴 holds can be members of classes. Thus, a member of a class is always equal to a set, which excludes proper classes from class membership.

As explained in wl-cleq-4 37500, item 3, 𝑥𝑥 = 𝐴 is a sufficient criterion for a class to be a set, provided that Leibniz's Law holds for equality. Therefore this axiom is often rephrased as: classes contain only sets as members.

**Principles of equality**

Using this axiom we can derive the class-level counterparts of ax-8 2110 (see eleq2 2830) and ax-9 2118 (see eleq1 2829). Since ax-wl-cleq 37503 already asserts that equality between classes is an equivalence relation, the operators = and alone cannot distinguish equal classes. Hence, if membership is the only property that matters for classes, Leibniz's Law will hold. Later, however, additional class builders may introduce further properties of classes. A conservativity check for such builders can ensure this does not occur.

**Eliminability**

If we replace the class variable 𝐴 with a set variable 𝑧 in this axiom, the auxiliary variable 𝑥 can be eliminated, leaving only the trivial result (𝑧𝐵𝑧𝐵). Thus, df-clel 2816 by itself does not determine when a set is a member of a class. From this perspective, df-clel 2816 is in fact an axiom in disguise and would more appropriately be called ax-clel.

Overall, our axiomization leaves the meaning of fundamental expressions 𝑥𝐴 or 𝑥𝐵 open. All other fundamental formulas of set theory (𝐴 not a set variable, 𝐴𝐵, 𝑥 = 𝐵 𝐴 = 𝐵) can be reduced solely to the basic formulas 𝑥𝐴 or 𝑥𝐵.

If an axiomatization leaves a fundamental formula like 𝑥𝐴 unspecified, we could in principle define it bi-conditionally by any formula whatsoever - for example, the trivial . This, however, is not the approach we take. Instead, an appropriate class builder such as df-clab 2715 fills this gap.

(Contributed by Wolf Lammen, 26-Aug-2025.)

(𝐴𝐵 ↔ ∃𝑥(𝑥 = 𝐴𝑥𝐵))
 
Theoremwl-df-clab 37505 Disclaimer: The material presented here is just my (WL's) personal perception. I am not an expert in this field, so some or all of the text here can be misleading, or outright wrong.

This text should be seen as an exploration, rather than viewing it as set in stone, no doubt or alternatives possible.

We now introduce the notion of class abstraction, which allows us to describe a specific class, in contrast to class variables that can stand for any class indiscriminately.

A new syntactic form is introduced for class abstractions, {𝑦𝜑}, read as "the class of sets 𝑦 such that 𝜑(𝑦)". This form is assigned the type "class" in cab 2714, so it can consistently substitute for a class variable during the syntactic construction process.

**Eliminability**

The axioms ax-wl-cleq 37503 and ax-wl-clel 37504 leave only 𝑥𝐴 unspecified. The definition of this class builder directly corresponds to that expression. When a class abstraction replaces the variable 𝐴 and 𝐵, then 𝐴 = 𝐵 and 𝐴𝐵 can be expressed in terms of these abstractions.

For general eliminability two conditions are needed:

1. Any class builder must replace 𝑥𝐴 with an expression containing no class variables. If necessary, class variables must be eliminated via a finite recursive process.

2. There must only be finitely many class builders. If a class variable could range over infinitely many builders, eliminability would fail, since unknown future builders would always need to be considered.

Condition (2) is met in set.mm by defining no class builder beyond cv 1539 and df-clab 2715. Thus we may assume that a class variable represents either a set variable, or a class abstraction:

a. If it represents a set variable, substitution eliminates it immediately.

b. If it equals a set variable 𝑥, then by cvjust 2731 it can be replaced with {𝑦𝑦𝑥}.

c. If it represents a proper class, then it equals some abstraction {𝑥𝜑}. If 𝜑 contains no class variables, elimination using 𝜑 is possible. The same holds if finite sequence of elimination steps renders 𝜑 free of class variables.

d. It represents a proper class, but 𝜑 in {𝑥𝜑} still contains non-eliminable class variables, then eliminability fails. A simple example is {𝑥𝑥𝐴}. Class variables can only appear in fundamental expressions 𝐴 = 𝐵 or 𝐴𝐵, Both can be reduced to forms involving 𝑧𝐴. Thus, in the expression 𝑧 ∈ {𝑥𝑥𝐴}, we still must eliminate 𝐴. Applying df-clab 2715 reduces it back to 𝑧𝐴, returning us to the starting point.

Case (d) shows that in full generality, a class variable cannot always be eliminated, something Zermelo-Fraenkel set theory (ZF) requires. If the universe contained only finitely many sets, a free class variable 𝐴 could be expressed as a finite disjunction of possiblities, hence eliminable. But in ZF's richer universe, in a definition of an unrestricted class variable 𝐴 = {𝑥𝜑} the variable 𝜑 will contain 𝐴 in some way, violating condition (1) above. Thus constraints are needed. In ZF, any formula containing class variables assumes that non-set class variables can be be replaced by {𝑥𝜑} where 𝜑 itself contains no class variables. There is, however, no way to state this condition in a formal way in set.mm.

Class abstractions themselves, however, can be eliminated, so df-clab is a definition.

**Definition checker**

How can case (d) be avoided? A solution is to restrict generality: require that in the definition of any concrete class abstraction {𝑥𝜑}, the formula 𝜑 is either free of class variables or built only from previously defined constructions. Such a restriction could be part of the definition checker.

In practice, the Metamath definition checker requires definitions to follow the specific pattern "{𝑥𝜑} = ...". Although df-clab 2715 does not conform to this pattern, it nevertheless permits elimination of class abstractions. Eliminability is the essential property of a valid definition, so df-clab 2715 can legitimately be regarded as one.

For further material on the elimination of class abstractions, see BJ's work beginning with eliminable1 36860 and one comment in https://github.com/metamath/set.mm/pull/4971.

(Contributed by Wolf Lammen, 28-Aug-2025.)

(𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)
 
Theoremwl-isseteq 37506* A class equal to a set variable implies it is a set. Note that 𝐴 may be dependent on 𝑥. The consequent, resembling ax6ev 1969, is the accepted expression for the idea of a class being a set. Sometimes a simpler expression like the antecedent here, or in elisset 2823, is already sufficient to mark a class variable as a set. (Contributed by Wolf Lammen, 7-Sep-2025.)
(𝑥 = 𝐴 → ∃𝑦 𝑦 = 𝐴)
 
Theoremwl-ax12v2cl 37507* The class version of ax12v2 2179, where the set variable 𝑦 is replaced with the class variable 𝐴. This is possible if 𝐴 is known to be a set, expressed by the antecedent.

Theorem ax12v 2178 is a specialization of ax12v2 2179. So any proof using ax12v 2178 will still hold if ax12v2 2179 is used instead.

Theorem ax12v2 2179 expresses that two equal set variables cannot be distinguished by whatever complicated formula 𝜑 if one is replaced with the other in it. This theorem states a similar result for a class variable known to be a set: All sets equal to the class variable behave the same if they replace the class variable in 𝜑.

Most axioms in FOL containing an equation correspond to a theorem where a class variable known to be a set replaces a set variable in the formula. Some exceptions cannot be avoided: The set variable must nowhere be bound. And it is not possible to state a distinct variable condition where a class 𝐴 is different from another, or distinct from a variable with type wff. So ax-12 2177 proper is out of reach: you cannot replace 𝑦 in 𝑦𝜑 with a class variable.

But where such limitations are not violated, the proof of the FOL theorem should carry over to a version where a class variable, known to be set, appears instead of a set variable. (Contributed by Wolf Lammen, 8-Aug-2020.)

(∃𝑦 𝑦 = 𝐴 → (𝑥 = 𝐴 → (𝜑 → ∀𝑥(𝑥 = 𝐴𝜑))))
 
21.22.7  Other stuff
 
Theoremwl-mps 37508 Replacing a nested consequent. A sort of modus ponens in antecedent position. (Contributed by Wolf Lammen, 20-Sep-2013.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑 → (𝜓𝜒))    &   ((𝜑𝜒) → 𝜃)       ((𝜑𝜓) → 𝜃)
 
Theoremwl-syls1 37509 Replacing a nested consequent. A sort of syllogism in antecedent position. (Contributed by Wolf Lammen, 20-Sep-2013.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜓𝜒)    &   ((𝜑𝜒) → 𝜃)       ((𝜑𝜓) → 𝜃)
 
Theoremwl-syls2 37510 Replacing a nested antecedent. A sort of syllogism in antecedent position. (Contributed by Wolf Lammen, 20-Sep-2013.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑𝜓)    &   ((𝜑𝜒) → 𝜃)       ((𝜓𝜒) → 𝜃)
 
Theoremwl-embant 37511 A true wff can always be added as a nested antecedent to an antecedent. Note: this theorem is intuitionistically valid. (Contributed by Wolf Lammen, 4-Oct-2013.) (Proof modification is discouraged.) (New usage is discouraged.)
𝜑    &   (𝜓𝜒)       ((𝜑𝜓) → 𝜒)
 
Theoremwl-orel12 37512 In a conjunctive normal form a pair of nodes like (𝜑𝜓) ∧ (¬ 𝜑𝜒) eliminates the need of a node (𝜓𝜒). This theorem allows simplifications in that respect. (Contributed by Wolf Lammen, 20-Jun-2020.)
(((𝜑𝜓) ∧ (¬ 𝜑𝜒)) → (𝜓𝜒))
 
Theoremwl-cases2-dnf 37513 A particular instance of orddi 1012 and anddi 1013 converting between disjunctive and conjunctive normal forms, when both 𝜑 and ¬ 𝜑 appear. This theorem in fact rephrases cases2 1048, and is related to consensus 1053. I restate it here in DNF and CNF. The proof deliberately does not use df-ifp 1064 and dfifp4 1067, by which it can be shortened. (Contributed by Wolf Lammen, 21-Jun-2020.) (Proof modification is discouraged.)
(((𝜑𝜓) ∨ (¬ 𝜑𝜒)) ↔ ((¬ 𝜑𝜓) ∧ (𝜑𝜒)))
 
Theoremwl-cbvmotv 37514* Change bound variable. Uses only Tarski's FOL axiom schemes. Part of Lemma 7 of [KalishMontague] p. 86. (Contributed by Wolf Lammen, 5-Mar-2023.)
(∃*𝑥⊤ → ∃*𝑦⊤)
 
Theoremwl-moteq 37515 Change bound variable. Uses only Tarski's FOL axiom schemes. Part of Lemma 7 of [KalishMontague] p. 86. (Contributed by Wolf Lammen, 5-Mar-2023.)
(∃*𝑥⊤ → 𝑦 = 𝑧)
 
Theoremwl-motae 37516 Change bound variable. Uses only Tarski's FOL axiom schemes. Part of Lemma 7 of [KalishMontague] p. 86. (Contributed by Wolf Lammen, 5-Mar-2023.)
(∃*𝑢⊤ → ∀𝑥 𝑦 = 𝑧)
 
Theoremwl-moae 37517* Two ways to express "at most one thing exists" or, in this context equivalently, "exactly one thing exists" . The equivalence results from the presence of ax-6 1967 in the proof, that ensures "at least one thing exists". For other equivalences see wl-euae 37518 and exists1 2661. Gerard Lang pointed out, that 𝑦𝑥𝑥 = 𝑦 with disjoint 𝑥 and 𝑦 (df-mo 2540, trut 1546) also means "exactly one thing exists" . (Contributed by NM, 5-Apr-2004.) State the theorem using truth constant . (Revised by BJ, 7-Oct-2022.) Reduce axiom dependencies, and use ∃*. (Revised by Wolf Lammen, 7-Mar-2023.)
(∃*𝑥⊤ ↔ ∀𝑥 𝑥 = 𝑦)
 
Theoremwl-euae 37518* Two ways to express "exactly one thing exists" . (Contributed by Wolf Lammen, 5-Mar-2023.)
(∃!𝑥⊤ ↔ ∀𝑥 𝑥 = 𝑦)
 
Theoremwl-nax6im 37519* The following series of theorems are centered around the empty domain, where no set exists. As a consequence, a set variable like 𝑥 has no instance to assign to. An expression like 𝑥 = 𝑦 is not really meaningful then. What does it evaluate to, true or false? In fact, the grammar extension weq 1962 requires us to formally assign a boolean value to an equation, say always false, unless you want to give up on exmid 895, for example. Whatever it is, we start out with the contraposition of ax-6 1967, that guarantees the existence of at least one set. Our hypothesis here expresses tentatively it might not hold. We can simplify the antecedent then, to the point where we do not need equation any more. This suggests what a decent characterization of the empty domain of discourse could be. (Contributed by Wolf Lammen, 12-Mar-2023.)
(¬ ∃𝑥 𝑥 = 𝑦𝜑)       (¬ ∃𝑥⊤ → 𝜑)
 
Theoremwl-hbae1 37520 This specialization of hbae 2436 does not depend on ax-11 2157. (Contributed by Wolf Lammen, 8-Aug-2021.)
(∀𝑥 𝑥 = 𝑦 → ∀𝑦𝑥 𝑥 = 𝑦)
 
Theoremwl-naevhba1v 37521* An instance of hbn1w 2046 applied to equality. (Contributed by Wolf Lammen, 7-Apr-2021.)
(¬ ∀𝑥 𝑥 = 𝑦 → ∀𝑥 ¬ ∀𝑥 𝑥 = 𝑦)
 
Theoremwl-spae 37522 Prove an instance of sp 2183 from ax-13 2377 and Tarski's FOL only, without distinct variable conditions. The antecedent 𝑥𝑥 = 𝑦 holds in a multi-object universe only if 𝑦 is substituted for 𝑥, or vice versa, i.e. both variables are effectively the same. The converse ¬ ∀𝑥𝑥 = 𝑦 indicates that both variables are distinct, and it so provides a simple translation of a distinct variable condition to a logical term. In case studies 𝑥𝑥 = 𝑦 and ¬ ∀𝑥𝑥 = 𝑦 can help eliminating distinct variable conditions.

The antecedent 𝑥𝑥 = 𝑦 is expressed in the theorem's name by the abbreviation ae standing for 'all equal'.

Note that we cannot provide a logical predicate telling us directly whether a logical expression contains a particular variable, as such a construct would usually contradict ax-12 2177.

Note that this theorem is also provable from ax-12 2177 alone, so you can pick the axiom it is based on.

Compare this result to 19.3v 1981 and spaev 2052 having distinct variable conditions, but a smaller footprint on axiom usage. (Contributed by Wolf Lammen, 5-Apr-2021.)

(∀𝑥 𝑥 = 𝑦𝑥 = 𝑦)
 
Theoremwl-speqv 37523* Under the assumption ¬ 𝑥 = 𝑦 a specialized version of sp 2183 is provable from Tarski's FOL and ax13v 2378 only. Note that this reverts the implication in ax13lem1 2379, so in fact 𝑥 = 𝑦 → (∀𝑥𝑧 = 𝑦𝑧 = 𝑦)) holds. (Contributed by Wolf Lammen, 17-Apr-2021.)
𝑥 = 𝑦 → (∀𝑥 𝑧 = 𝑦𝑧 = 𝑦))
 
Theoremwl-19.8eqv 37524* Under the assumption ¬ 𝑥 = 𝑦 a specialized version of 19.8a 2181 is provable from Tarski's FOL and ax13v 2378 only. Note that this reverts the implication in ax13lem2 2381, so in fact 𝑥 = 𝑦 → (∃𝑥𝑧 = 𝑦𝑧 = 𝑦)) holds. (Contributed by Wolf Lammen, 17-Apr-2021.)
𝑥 = 𝑦 → (𝑧 = 𝑦 → ∃𝑥 𝑧 = 𝑦))
 
Theoremwl-19.2reqv 37525* Under the assumption ¬ 𝑥 = 𝑦 the reverse direction of 19.2 1976 is provable from Tarski's FOL and ax13v 2378 only. Note that in conjunction with 19.2 1976 in fact 𝑥 = 𝑦 → (∀𝑥𝑧 = 𝑦 ↔ ∃𝑥𝑧 = 𝑦)) holds. (Contributed by Wolf Lammen, 17-Apr-2021.)
𝑥 = 𝑦 → (∃𝑥 𝑧 = 𝑦 → ∀𝑥 𝑧 = 𝑦))
 
Theoremwl-nfalv 37526* If 𝑥 is not present in 𝜑, it is not free in 𝑦𝜑. (Contributed by Wolf Lammen, 11-Jan-2020.)
𝑥𝑦𝜑
 
Theoremwl-nfimf1 37527 An antecedent is irrelevant to a not-free property, if it always holds. I used this variant of nfim 1896 in dvelimdf 2454 to simplify the proof. (Contributed by Wolf Lammen, 14-Oct-2018.)
(∀𝑥𝜑 → (Ⅎ𝑥(𝜑𝜓) ↔ Ⅎ𝑥𝜓))
 
Theoremwl-nfae1 37528 Unlike nfae 2438, this specialized theorem avoids ax-11 2157. (Contributed by Wolf Lammen, 26-Jun-2019.)
𝑥𝑦 𝑦 = 𝑥
 
Theoremwl-nfnae1 37529 Unlike nfnae 2439, this specialized theorem avoids ax-11 2157. (Contributed by Wolf Lammen, 27-Jun-2019.)
𝑥 ¬ ∀𝑦 𝑦 = 𝑥
 
Theoremwl-aetr 37530 A transitive law for variable identifying expressions. (Contributed by Wolf Lammen, 30-Jun-2019.)
(∀𝑥 𝑥 = 𝑦 → (∀𝑥 𝑥 = 𝑧 → ∀𝑦 𝑦 = 𝑧))
 
Theoremwl-axc11r 37531 Same as axc11r 2371, but using ax12 2428 instead of ax-12 2177 directly. This better reflects axiom usage in theorems dependent on it. (Contributed by NM, 25-Jul-2015.) Avoid direct use of ax-12 2177. (Revised by Wolf Lammen, 30-Mar-2024.)
(∀𝑦 𝑦 = 𝑥 → (∀𝑥𝜑 → ∀𝑦𝜑))
 
Theoremwl-dral1d 37532 A version of dral1 2444 with a context. Note: At first glance one might be tempted to generalize this (or a similar) theorem by weakening the first two hypotheses adding a 𝑥 = 𝑦, 𝑥𝑥 = 𝑦 or 𝜑 antecedent. wl-equsal1i 37545 and nf5di 2285 show that this is in fact pointless. (Contributed by Wolf Lammen, 28-Jul-2019.)
𝑥𝜑    &   𝑦𝜑    &   (𝜑 → (𝑥 = 𝑦 → (𝜓𝜒)))       (𝜑 → (∀𝑥 𝑥 = 𝑦 → (∀𝑥𝜓 ↔ ∀𝑦𝜒)))
 
Theoremwl-cbvalnaed 37533 wl-cbvalnae 37534 with a context. (Contributed by Wolf Lammen, 28-Jul-2019.)
𝑥𝜑    &   𝑦𝜑    &   (𝜑 → (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦𝜓))    &   (𝜑 → (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜒))    &   (𝜑 → (𝑥 = 𝑦 → (𝜓𝜒)))       (𝜑 → (∀𝑥𝜓 ↔ ∀𝑦𝜒))
 
Theoremwl-cbvalnae 37534 A more general version of cbval 2403 when nonfree properties depend on a distinctor. Such expressions arise in proofs aiming at the elimination of distinct variable constraints, specifically in application of dvelimf 2453, nfsb2 2488 or dveeq1 2385. (Contributed by Wolf Lammen, 4-Jun-2019.)
(¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦𝜑)    &   (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜓)    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥𝜑 ↔ ∀𝑦𝜓)
 
Theoremwl-exeq 37535 The semantics of 𝑥𝑦 = 𝑧. (Contributed by Wolf Lammen, 27-Apr-2018.)
(∃𝑥 𝑦 = 𝑧 ↔ (𝑦 = 𝑧 ∨ ∀𝑥 𝑥 = 𝑦 ∨ ∀𝑥 𝑥 = 𝑧))
 
Theoremwl-aleq 37536 The semantics of 𝑥𝑦 = 𝑧. (Contributed by Wolf Lammen, 27-Apr-2018.)
(∀𝑥 𝑦 = 𝑧 ↔ (𝑦 = 𝑧 ∧ (∀𝑥 𝑥 = 𝑦 ↔ ∀𝑥 𝑥 = 𝑧)))
 
Theoremwl-nfeqfb 37537 Extend nfeqf 2386 to an equivalence. (Contributed by Wolf Lammen, 31-Jul-2019.)
(Ⅎ𝑥 𝑦 = 𝑧 ↔ (∀𝑥 𝑥 = 𝑦 ↔ ∀𝑥 𝑥 = 𝑧))
 
Theoremwl-nfs1t 37538 If 𝑦 is not free in 𝜑, 𝑥 is not free in [𝑦 / 𝑥]𝜑. Closed form of nfs1 2493. (Contributed by Wolf Lammen, 27-Jul-2019.)
(Ⅎ𝑦𝜑 → Ⅎ𝑥[𝑦 / 𝑥]𝜑)
 
Theoremwl-equsalvw 37539* Version of equsalv 2267 with a disjoint variable condition, and of equsal 2422 with two disjoint variable conditions, which requires fewer axioms. See also the dual form equsexvw 2004.

This theorem lays the foundation to a transformation of expressions called substitution of set variables in a wff. Only in this particular context we additionally assume 𝜑 and 𝑦 disjoint, stated here as 𝜑(𝑥). Similarly the disjointness of 𝜓 and 𝑥 is expressed by 𝜓(𝑦). Both 𝜑 and 𝜓 may still depend on other set variables, but that is irrelevant here.

We want to transform 𝜑(𝑥) into 𝜓(𝑦) such that 𝜓 depends on 𝑦 the same way as 𝜑 depends on 𝑥. This dependency is expressed in our hypothesis (called implicit substitution): (𝑥 = 𝑦 → (𝜑𝜓)). For primitive enough 𝜑 a sort of textual substitution of 𝑥 by 𝑦 is sufficient for such transformation. But note: 𝜑 must not contain wff variables, and the substitution is no proper textual substitution either. We still need grammar information to not accidently replace the x in a token 'x.' denoting multiplication, but only catch set variables 𝑥. Our current stage of development allows only equations and quantifiers make up such primitives. Thanks to equequ1 2024 and cbvalvw 2035 we can then prove in a mechanical way that in fact the implicit substitution holds for each instance.

If 𝜑 contains wff variables we cannot use textual transformation any longer, since we don't know how to replace 𝑦 for 𝑥 in placeholders of unknown structure. Our theorem now states, that the generic expression 𝑥(𝑥 = 𝑦𝜑) formally behaves as if such a substitution was possible and made.

(Contributed by BJ, 31-May-2019.)

(𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥(𝑥 = 𝑦𝜑) ↔ 𝜓)
 
Theoremwl-equsald 37540 Deduction version of equsal 2422. (Contributed by Wolf Lammen, 27-Jul-2019.)
𝑥𝜑    &   (𝜑 → Ⅎ𝑥𝜒)    &   (𝜑 → (𝑥 = 𝑦 → (𝜓𝜒)))       (𝜑 → (∀𝑥(𝑥 = 𝑦𝜓) ↔ 𝜒))
 
Theoremwl-equsaldv 37541* Deduction version of equsal 2422. (Contributed by Wolf Lammen, 27-Jul-2019.)
𝑥𝜑    &   (𝜑 → Ⅎ𝑥𝜒)    &   (𝜑 → (𝑥 = 𝑦 → (𝜓𝜒)))       (𝜑 → (∀𝑥(𝑥 = 𝑦𝜓) ↔ 𝜒))
 
Theoremwl-equsal 37542 A useful equivalence related to substitution. (Contributed by NM, 2-Jun-1993.) (Proof shortened by Andrew Salmon, 12-Aug-2011.) (Revised by Mario Carneiro, 3-Oct-2016.) It seems proving wl-equsald 37540 first, and then deriving more specialized versions wl-equsal 37542 and wl-equsal1t 37543 then is more efficient than the other way round, which is possible, too. See also equsal 2422. (Revised by Wolf Lammen, 27-Jul-2019.) (Proof modification is discouraged.)
𝑥𝜓    &   (𝑥 = 𝑦 → (𝜑𝜓))       (∀𝑥(𝑥 = 𝑦𝜑) ↔ 𝜓)
 
Theoremwl-equsal1t 37543 The expression 𝑥 = 𝑦 in antecedent position plays an important role in predicate logic, namely in implicit substitution. However, occasionally it is irrelevant, and can safely be dropped. A sufficient condition for this is when 𝑥 (or 𝑦 or both) is not free in 𝜑.

This theorem is more fundamental than equsal 2422, spimt 2391 or sbft 2270, to which it is related. (Contributed by Wolf Lammen, 19-Aug-2018.)

(Ⅎ𝑥𝜑 → (∀𝑥(𝑥 = 𝑦𝜑) ↔ 𝜑))
 
Theoremwl-equsalcom 37544 This simple equivalence eases substitution of one expression for the other. (Contributed by Wolf Lammen, 1-Sep-2018.)
(∀𝑥(𝑥 = 𝑦𝜑) ↔ ∀𝑥(𝑦 = 𝑥𝜑))
 
Theoremwl-equsal1i 37545 The antecedent 𝑥 = 𝑦 is irrelevant, if one or both setvar variables are not free in 𝜑. (Contributed by Wolf Lammen, 1-Sep-2018.)
(Ⅎ𝑥𝜑 ∨ Ⅎ𝑦𝜑)    &   (𝑥 = 𝑦𝜑)       𝜑
 
Theoremwl-sbid2ft 37546* A more general version of sbid2vw 2259. (Contributed by Wolf Lammen, 14-May-2019.)
(Ⅎ𝑥𝜑 → ([𝑦 / 𝑥][𝑥 / 𝑦]𝜑𝜑))
 
Theoremwl-cbvalsbi 37547* Change bounded variables in a special case. The reverse direction seems to involve ax-11 2157. My hope is that I will in some future be able to prove mo3 2564 with reversed quantifiers not using ax-11 2157. See also the remark in mo4 2566, which lead me to this effort. (Contributed by Wolf Lammen, 5-Mar-2024.)
(∀𝑥𝜑 → ∀𝑦[𝑦 / 𝑥]𝜑)
 
Theoremwl-sbrimt 37548 Substitution with a variable not free in antecedent affects only the consequent. Closed form of sbrim 2304. (Contributed by Wolf Lammen, 26-Jul-2019.)
(Ⅎ𝑥𝜑 → ([𝑦 / 𝑥](𝜑𝜓) ↔ (𝜑 → [𝑦 / 𝑥]𝜓)))
 
Theoremwl-sblimt 37549 Substitution with a variable not free in antecedent affects only the consequent. Closed form of sbrim 2304. (Contributed by Wolf Lammen, 26-Jul-2019.)
(Ⅎ𝑥𝜓 → ([𝑦 / 𝑥](𝜑𝜓) ↔ ([𝑦 / 𝑥]𝜑𝜓)))
 
Theoremwl-sb9v 37550* Commutation of quantification and substitution variables based on fewer axioms than sb9 2524. (Contributed by Wolf Lammen, 27-Apr-2025.)
(∀𝑥[𝑥 / 𝑦]𝜑 ↔ ∀𝑦[𝑦 / 𝑥]𝜑)
 
Theoremwl-sb8ft 37551* Substitution of variable in universal quantifier. Closed form of sb8f 2356. (Contributed by Wolf Lammen, 27-Apr-2025.)
(∀𝑥𝑦𝜑 → (∀𝑥𝜑 ↔ ∀𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-sb8eft 37552* Substitution of variable in existentialal quantifier. Closed form of sb8ef 2358. (Contributed by Wolf Lammen, 27-Apr-2025.)
(∀𝑥𝑦𝜑 → (∃𝑥𝜑 ↔ ∃𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-sb8t 37553 Substitution of variable in universal quantifier. Closed form of sb8 2522. (Contributed by Wolf Lammen, 27-Jul-2019.)
(∀𝑥𝑦𝜑 → (∀𝑥𝜑 ↔ ∀𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-sb8et 37554 Substitution of variable in universal quantifier. Closed form of sb8e 2523. (Contributed by Wolf Lammen, 27-Jul-2019.)
(∀𝑥𝑦𝜑 → (∃𝑥𝜑 ↔ ∃𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-sbhbt 37555 Closed form of sbhb 2526. Characterizing the expression 𝜑 → ∀𝑥𝜑 using a substitution expression. (Contributed by Wolf Lammen, 28-Jul-2019.)
(∀𝑥𝑦𝜑 → ((𝜑 → ∀𝑥𝜑) ↔ ∀𝑦(𝜑 → [𝑦 / 𝑥]𝜑)))
 
Theoremwl-sbnf1 37556 Two ways expressing that 𝑥 is effectively not free in 𝜑. Simplified version of sbnf2 2361. Note: This theorem shows that sbnf2 2361 has unnecessary distinct variable constraints. (Contributed by Wolf Lammen, 28-Jul-2019.)
(∀𝑥𝑦𝜑 → (Ⅎ𝑥𝜑 ↔ ∀𝑥𝑦(𝜑 → [𝑦 / 𝑥]𝜑)))
 
Theoremwl-equsb3 37557 equsb3 2103 with a distinctor. (Contributed by Wolf Lammen, 27-Jun-2019.)
(¬ ∀𝑦 𝑦 = 𝑧 → ([𝑥 / 𝑦]𝑦 = 𝑧𝑥 = 𝑧))
 
Theoremwl-equsb4 37558 Substitution applied to an atomic wff. The distinctor antecedent is more general than a distinct variable condition. (Contributed by Wolf Lammen, 26-Jun-2019.)
(¬ ∀𝑥 𝑥 = 𝑧 → ([𝑦 / 𝑥]𝑦 = 𝑧𝑦 = 𝑧))
 
Theoremwl-2sb6d 37559 Version of 2sb6 2086 with a context, and distinct variable conditions replaced with distinctors. (Contributed by Wolf Lammen, 4-Aug-2019.)
(𝜑 → ¬ ∀𝑦 𝑦 = 𝑥)    &   (𝜑 → ¬ ∀𝑦 𝑦 = 𝑤)    &   (𝜑 → ¬ ∀𝑦 𝑦 = 𝑧)    &   (𝜑 → ¬ ∀𝑥 𝑥 = 𝑧)       (𝜑 → ([𝑧 / 𝑥][𝑤 / 𝑦]𝜓 ↔ ∀𝑥𝑦((𝑥 = 𝑧𝑦 = 𝑤) → 𝜓)))
 
Theoremwl-sbcom2d-lem1 37560* Lemma used to prove wl-sbcom2d 37562. (Contributed by Wolf Lammen, 10-Aug-2019.) (New usage is discouraged.)
((𝑢 = 𝑦𝑣 = 𝑤) → (¬ ∀𝑥 𝑥 = 𝑤 → ([𝑢 / 𝑥][𝑣 / 𝑧]𝜑 ↔ [𝑦 / 𝑥][𝑤 / 𝑧]𝜑)))
 
Theoremwl-sbcom2d-lem2 37561* Lemma used to prove wl-sbcom2d 37562. (Contributed by Wolf Lammen, 10-Aug-2019.) (New usage is discouraged.)
(¬ ∀𝑦 𝑦 = 𝑥 → ([𝑢 / 𝑥][𝑣 / 𝑦]𝜑 ↔ ∀𝑥𝑦((𝑥 = 𝑢𝑦 = 𝑣) → 𝜑)))
 
Theoremwl-sbcom2d 37562 Version of sbcom2 2173 with a context, and distinct variable conditions replaced with distinctors. (Contributed by Wolf Lammen, 4-Aug-2019.)
(𝜑 → ¬ ∀𝑥 𝑥 = 𝑤)    &   (𝜑 → ¬ ∀𝑥 𝑥 = 𝑧)    &   (𝜑 → ¬ ∀𝑧 𝑧 = 𝑦)       (𝜑 → ([𝑤 / 𝑧][𝑦 / 𝑥]𝜓 ↔ [𝑦 / 𝑥][𝑤 / 𝑧]𝜓))
 
Theoremwl-sbalnae 37563 A theorem used in elimination of disjoint variable restrictions by replacing them with distinctors. (Contributed by Wolf Lammen, 25-Jul-2019.)
((¬ ∀𝑥 𝑥 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑧) → ([𝑧 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝑧 / 𝑦]𝜑))
 
Theoremwl-sbal1 37564* A theorem used in elimination of disjoint variable restriction on 𝑥 and 𝑦 by replacing it with a distinctor ¬ ∀𝑥𝑥 = 𝑧. (Contributed by NM, 15-May-1993.) Proof is based on wl-sbalnae 37563 now. See also sbal1 2533. (Revised by Wolf Lammen, 25-Jul-2019.) (Proof modification is discouraged.) (New usage is discouraged.)
(¬ ∀𝑥 𝑥 = 𝑧 → ([𝑧 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝑧 / 𝑦]𝜑))
 
Theoremwl-sbal2 37565* Move quantifier in and out of substitution. Revised to remove a distinct variable constraint. (Contributed by NM, 2-Jan-2002.) Proof is based on wl-sbalnae 37563 now. See also sbal2 2534. (Revised by Wolf Lammen, 25-Jul-2019.) (Proof modification is discouraged.) (New usage is discouraged.)
(¬ ∀𝑥 𝑥 = 𝑦 → ([𝑧 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝑧 / 𝑦]𝜑))
 
Theoremwl-2spsbbi 37566 spsbbi 2073 applied twice. (Contributed by Wolf Lammen, 5-Aug-2023.)
(∀𝑎𝑏(𝜑𝜓) → ([𝑦 / 𝑏][𝑥 / 𝑎]𝜑 ↔ [𝑦 / 𝑏][𝑥 / 𝑎]𝜓))
 
Theoremwl-lem-exsb 37567* This theorem provides a basic working step in proving theorems about ∃* or ∃!. (Contributed by Wolf Lammen, 3-Oct-2019.)
(𝑥 = 𝑦 → (𝜑 ↔ ∀𝑥(𝑥 = 𝑦𝜑)))
 
Theoremwl-lem-nexmo 37568 This theorem provides a basic working step in proving theorems about ∃* or ∃!. (Contributed by Wolf Lammen, 3-Oct-2019.)
(¬ ∃𝑥𝜑 → ∀𝑥(𝜑𝑥 = 𝑧))
 
Theoremwl-lem-moexsb 37569* The antecedent 𝑥(𝜑𝑥 = 𝑧) relates to ∃*𝑥𝜑, but is better suited for usage in proofs. Note that no distinct variable restriction is placed on 𝜑.

This theorem provides a basic working step in proving theorems about ∃* or ∃!. (Contributed by Wolf Lammen, 3-Oct-2019.)

(∀𝑥(𝜑𝑥 = 𝑧) → (∃𝑥𝜑 ↔ [𝑧 / 𝑥]𝜑))
 
Theoremwl-alanbii 37570 This theorem extends alanimi 1816 to a biconditional. Recurrent usage stacks up more quantifiers. (Contributed by Wolf Lammen, 4-Oct-2019.)
(𝜑 ↔ (𝜓𝜒))       (∀𝑥𝜑 ↔ (∀𝑥𝜓 ∧ ∀𝑥𝜒))
 
Theoremwl-mo2df 37571 Version of mof 2563 with a context and a distinctor replacing a distinct variable condition. This version should be used only to eliminate disjoint variable conditions. (Contributed by Wolf Lammen, 11-Aug-2019.)
𝑥𝜑    &   𝑦𝜑    &   (𝜑 → ¬ ∀𝑥 𝑥 = 𝑦)    &   (𝜑 → Ⅎ𝑦𝜓)       (𝜑 → (∃*𝑥𝜓 ↔ ∃𝑦𝑥(𝜓𝑥 = 𝑦)))
 
Theoremwl-mo2tf 37572 Closed form of mof 2563 with a distinctor avoiding distinct variable conditions. (Contributed by Wolf Lammen, 20-Sep-2020.)
((¬ ∀𝑥 𝑥 = 𝑦 ∧ ∀𝑥𝑦𝜑) → (∃*𝑥𝜑 ↔ ∃𝑦𝑥(𝜑𝑥 = 𝑦)))
 
Theoremwl-eudf 37573 Version of eu6 2574 with a context and a distinctor replacing a distinct variable condition. This version should be used only to eliminate disjoint variable conditions. (Contributed by Wolf Lammen, 23-Sep-2020.)
𝑥𝜑    &   𝑦𝜑    &   (𝜑 → ¬ ∀𝑥 𝑥 = 𝑦)    &   (𝜑 → Ⅎ𝑦𝜓)       (𝜑 → (∃!𝑥𝜓 ↔ ∃𝑦𝑥(𝜓𝑥 = 𝑦)))
 
Theoremwl-eutf 37574 Closed form of eu6 2574 with a distinctor avoiding distinct variable conditions. (Contributed by Wolf Lammen, 23-Sep-2020.)
((¬ ∀𝑥 𝑥 = 𝑦 ∧ ∀𝑥𝑦𝜑) → (∃!𝑥𝜑 ↔ ∃𝑦𝑥(𝜑𝑥 = 𝑦)))
 
Theoremwl-euequf 37575 euequ 2597 proved with a distinctor. (Contributed by Wolf Lammen, 23-Sep-2020.)
(¬ ∀𝑥 𝑥 = 𝑦 → ∃!𝑥 𝑥 = 𝑦)
 
Theoremwl-mo2t 37576* Closed form of mof 2563. (Contributed by Wolf Lammen, 18-Aug-2019.)
(∀𝑥𝑦𝜑 → (∃*𝑥𝜑 ↔ ∃𝑦𝑥(𝜑𝑥 = 𝑦)))
 
Theoremwl-mo3t 37577* Closed form of mo3 2564. (Contributed by Wolf Lammen, 18-Aug-2019.)
(∀𝑥𝑦𝜑 → (∃*𝑥𝜑 ↔ ∀𝑥𝑦((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)))
 
Theoremwl-nfsbtv 37578* Closed form of nfsbv 2330. (Contributed by Wolf Lammen, 2-May-2025.)
(∀𝑥𝑧𝜑 → Ⅎ𝑧[𝑦 / 𝑥]𝜑)
 
Theoremwl-sb8eut 37579 Substitution of variable in universal quantifier. Closed form of sb8eu 2600. (Contributed by Wolf Lammen, 11-Aug-2019.)
(∀𝑥𝑦𝜑 → (∃!𝑥𝜑 ↔ ∃!𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-sb8eutv 37580* Substitution of variable in universal quantifier. Closed form of sb8euv 2599. (Contributed by Wolf Lammen, 3-May-2025.)
(∀𝑥𝑦𝜑 → (∃!𝑥𝜑 ↔ ∃!𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-sb8mot 37581 Substitution of variable in universal quantifier. Closed form of sb8mo 2601. (Contributed by Wolf Lammen, 11-Aug-2019.)
(∀𝑥𝑦𝜑 → (∃*𝑥𝜑 ↔ ∃*𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-sb8motv 37582* Substitution of variable in universal quantifier. Closed form of sb8mo 2601 without ax-13 2377, but requiring 𝑥 and 𝑦 being disjoint.

This theorem relates to wl-mo3t 37577, since replacing 𝜑 with [𝑦 / 𝑥]𝜑 in the latter yields subexpressions like [𝑥 / 𝑦][𝑦 / 𝑥]𝜑, which can be reduced to 𝜑 via sbft 2270 and sbco 2512. So ∃*𝑥𝜑 ↔ ∃*𝑦[𝑦 / 𝑥]𝜑 is provable from wl-mo3t 37577 in a simple fashion. From an educational standpoint, one would assume wl-mo3t 37577 to be more fundamental, as it hints how the "at most one" objects on both sides of the biconditional correlate (they are the same), if they exist at all, and then prove this theorem from it. (Contributed by Wolf Lammen, 3-May-2025.)

(∀𝑥𝑦𝜑 → (∃*𝑥𝜑 ↔ ∃*𝑦[𝑦 / 𝑥]𝜑))
 
Theoremwl-issetft 37583 A closed form of issetf 3497. The proof here is a modification of a subproof in vtoclgft 3552, where it could be used to shorten the proof. (Contributed by Wolf Lammen, 25-Jan-2025.)
(𝑥𝐴 → (𝐴 ∈ V ↔ ∃𝑥 𝑥 = 𝐴))
 
Theoremwl-axc11rc11 37584 Proving axc11r 2371 from axc11 2435. The hypotheses are two instances of axc11 2435 used in the proof here. Some systems introduce axc11 2435 as an axiom, see for example System S2 in https://us.metamath.org/downloads/finiteaxiom.pdf 2435.

By contrast, this database sees the variant axc11r 2371, directly derived from ax-12 2177, as foundational. Later axc11 2435 is proven somewhat trickily, requiring ax-10 2141 and ax-13 2377, see its proof. (Contributed by Wolf Lammen, 18-Jul-2023.)

(∀𝑦 𝑦 = 𝑥 → (∀𝑦 𝑦 = 𝑥 → ∀𝑥 𝑦 = 𝑥))    &   (∀𝑥 𝑥 = 𝑦 → (∀𝑥𝜑 → ∀𝑦𝜑))       (∀𝑦 𝑦 = 𝑥 → (∀𝑥𝜑 → ∀𝑦𝜑))
 
Axiomax-wl-11v 37585* Version of ax-11 2157 with distinct variable conditions. Currently implemented as an axiom to detect unintended references to the foundational axiom ax-11 2157. It will later be converted into a theorem directly based on ax-11 2157. (Contributed by Wolf Lammen, 28-Jun-2019.)
(∀𝑥𝑦𝜑 → ∀𝑦𝑥𝜑)
 
Theoremwl-ax11-lem1 37586 A transitive law for variable identifying expressions. (Contributed by Wolf Lammen, 30-Jun-2019.)
(∀𝑥 𝑥 = 𝑦 → (∀𝑥 𝑥 = 𝑧 ↔ ∀𝑦 𝑦 = 𝑧))
 
Theoremwl-ax11-lem2 37587* Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.)
((∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → ∀𝑥 𝑢 = 𝑦)
 
Theoremwl-ax11-lem3 37588* Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.)
(¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝑢 𝑢 = 𝑦)
 
Theoremwl-ax11-lem4 37589* Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.)
𝑥(∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦)
 
Theoremwl-ax11-lem5 37590 Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.)
(∀𝑢 𝑢 = 𝑦 → (∀𝑢[𝑢 / 𝑦]𝜑 ↔ ∀𝑦𝜑))
 
Theoremwl-ax11-lem6 37591* Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.)
((∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → (∀𝑢𝑥[𝑢 / 𝑦]𝜑 ↔ ∀𝑥𝑦𝜑))
 
Theoremwl-ax11-lem7 37592 Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.)
(∀𝑥(¬ ∀𝑥 𝑥 = 𝑦𝜑) ↔ (¬ ∀𝑥 𝑥 = 𝑦 ∧ ∀𝑥𝜑))
 
Theoremwl-ax11-lem8 37593* Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.)
((∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → (∀𝑢𝑥[𝑢 / 𝑦]𝜑 ↔ ∀𝑦𝑥𝜑))
 
Theoremwl-ax11-lem9 37594 The easy part when 𝑥 coincides with 𝑦. (Contributed by Wolf Lammen, 30-Jun-2019.)
(∀𝑥 𝑥 = 𝑦 → (∀𝑦𝑥𝜑 ↔ ∀𝑥𝑦𝜑))
 
Theoremwl-ax11-lem10 37595* We now have prepared everything. The unwanted variable 𝑢 is just in one place left. pm2.61 192 can be used in conjunction with wl-ax11-lem9 37594 to eliminate the second antecedent. Missing is something along the lines of ax-6 1967, so we could remove the first antecedent. But the Metamath axioms cannot accomplish this. Such a rule must reside one abstraction level higher than all others: It says that a distinctor implies a distinct variable condition on its contained setvar. This is only needed if such conditions are required, as ax-11v does. The result of this study is for me, that you cannot introduce a setvar capturing this condition, and hope to eliminate it later. (Contributed by Wolf Lammen, 30-Jun-2019.)
(∀𝑦 𝑦 = 𝑢 → (¬ ∀𝑥 𝑥 = 𝑦 → (∀𝑦𝑥𝜑 → ∀𝑥𝑦𝜑)))
 
Theoremwl-clabv 37596* Variant of df-clab 2715, where the element 𝑥 is required to be disjoint from the class it is taken from. This restriction meets similar ones found in other definitions and axioms like ax-ext 2708, df-clel 2816 and df-cleq 2729. 𝑥𝐴 with 𝐴 depending on 𝑥 can be the source of side effects, that you rather want to be aware of. So here we eliminate one possible way of letting this slip in instead.

An expression 𝑥𝐴 with 𝑥, 𝐴 not disjoint, is now only introduced either via ax-8 2110, ax-9 2118, or df-clel 2816. Theorem cleljust 2117 shows that a possible choice does not matter.

The original df-clab 2715 can be rederived, see wl-dfclab 37597. In an implementation this theorem is the only user of df-clab. (Contributed by NM, 26-May-1993.) Element and class are disjoint. (Revised by Wolf Lammen, 31-May-2023.)

(𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)
 
Theoremwl-dfclab 37597 Rederive df-clab 2715 from wl-clabv 37596. (Contributed by Wolf Lammen, 31-May-2023.) (Proof modification is discouraged.)
(𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)
 
Theoremwl-clabtv 37598* Using class abstraction in a context, requiring 𝑥 and 𝜑 disjoint, but based on fewer axioms than wl-clabt 37599. (Contributed by Wolf Lammen, 29-May-2023.)
(𝜑 → {𝑥𝜓} = {𝑥 ∣ (𝜑𝜓)})
 
Theoremwl-clabt 37599 Using class abstraction in a context. For a version based on fewer axioms see wl-clabtv 37598. (Contributed by Wolf Lammen, 29-May-2023.)
𝑥𝜑       (𝜑 → {𝑥𝜓} = {𝑥 ∣ (𝜑𝜓)})
 
21.23  Mathbox for Brendan Leahy
 
Theoremrabiun 37600* Abstraction restricted to an indexed union. (Contributed by Brendan Leahy, 26-Oct-2017.)
{𝑥 𝑦𝐴 𝐵𝜑} = 𝑦𝐴 {𝑥𝐵𝜑}
    < Previous  Next >

Page List
Jump to page: Contents  1 1-100 2 101-200 3 201-300 4 301-400 5 401-500 6 501-600 7 601-700 8 701-800 9 801-900 10 901-1000 11 1001-1100 12 1101-1200 13 1201-1300 14 1301-1400 15 1401-1500 16 1501-1600 17 1601-1700 18 1701-1800 19 1801-1900 20 1901-2000 21 2001-2100 22 2101-2200 23 2201-2300 24 2301-2400 25 2401-2500 26 2501-2600 27 2601-2700 28 2701-2800 29 2801-2900 30 2901-3000 31 3001-3100 32 3101-3200 33 3201-3300 34 3301-3400 35 3401-3500 36 3501-3600 37 3601-3700 38 3701-3800 39 3801-3900 40 3901-4000 41 4001-4100 42 4101-4200 43 4201-4300 44 4301-4400 45 4401-4500 46 4501-4600 47 4601-4700 48 4701-4800 49 4801-4900 50 4901-5000 51 5001-5100 52 5101-5200 53 5201-5300 54 5301-5400 55 5401-5500 56 5501-5600 57 5601-5700 58 5701-5800 59 5801-5900 60 5901-6000 61 6001-6100 62 6101-6200 63 6201-6300 64 6301-6400 65 6401-6500 66 6501-6600 67 6601-6700 68 6701-6800 69 6801-6900 70 6901-7000 71 7001-7100 72 7101-7200 73 7201-7300 74 7301-7400 75 7401-7500 76 7501-7600 77 7601-7700 78 7701-7800 79 7801-7900 80 7901-8000 81 8001-8100 82 8101-8200 83 8201-8300 84 8301-8400 85 8401-8500 86 8501-8600 87 8601-8700 88 8701-8800 89 8801-8900 90 8901-9000 91 9001-9100 92 9101-9200 93 9201-9300 94 9301-9400 95 9401-9500 96 9501-9600 97 9601-9700 98 9701-9800 99 9801-9900 100 9901-10000 101 10001-10100 102 10101-10200 103 10201-10300 104 10301-10400 105 10401-10500 106 10501-10600 107 10601-10700 108 10701-10800 109 10801-10900 110 10901-11000 111 11001-11100 112 11101-11200 113 11201-11300 114 11301-11400 115 11401-11500 116 11501-11600 117 11601-11700 118 11701-11800 119 11801-11900 120 11901-12000 121 12001-12100 122 12101-12200 123 12201-12300 124 12301-12400 125 12401-12500 126 12501-12600 127 12601-12700 128 12701-12800 129 12801-12900 130 12901-13000 131 13001-13100 132 13101-13200 133 13201-13300 134 13301-13400 135 13401-13500 136 13501-13600 137 13601-13700 138 13701-13800 139 13801-13900 140 13901-14000 141 14001-14100 142 14101-14200 143 14201-14300 144 14301-14400 145 14401-14500 146 14501-14600 147 14601-14700 148 14701-14800 149 14801-14900 150 14901-15000 151 15001-15100 152 15101-15200 153 15201-15300 154 15301-15400 155 15401-15500 156 15501-15600 157 15601-15700 158 15701-15800 159 15801-15900 160 15901-16000 161 16001-16100 162 16101-16200 163 16201-16300 164 16301-16400 165 16401-16500 166 16501-16600 167 16601-16700 168 16701-16800 169 16801-16900 170 16901-17000 171 17001-17100 172 17101-17200 173 17201-17300 174 17301-17400 175 17401-17500 176 17501-17600 177 17601-17700 178 17701-17800 179 17801-17900 180 17901-18000 181 18001-18100 182 18101-18200 183 18201-18300 184 18301-18400 185 18401-18500 186 18501-18600 187 18601-18700 188 18701-18800 189 18801-18900 190 18901-19000 191 19001-19100 192 19101-19200 193 19201-19300 194 19301-19400 195 19401-19500 196 19501-19600 197 19601-19700 198 19701-19800 199 19801-19900 200 19901-20000 201 20001-20100 202 20101-20200 203 20201-20300 204 20301-20400 205 20401-20500 206 20501-20600 207 20601-20700 208 20701-20800 209 20801-20900 210 20901-21000 211 21001-21100 212 21101-21200 213 21201-21300 214 21301-21400 215 21401-21500 216 21501-21600 217 21601-21700 218 21701-21800 219 21801-21900 220 21901-22000 221 22001-22100 222 22101-22200 223 22201-22300 224 22301-22400 225 22401-22500 226 22501-22600 227 22601-22700 228 22701-22800 229 22801-22900 230 22901-23000 231 23001-23100 232 23101-23200 233 23201-23300 234 23301-23400 235 23401-23500 236 23501-23600 237 23601-23700 238 23701-23800 239 23801-23900 240 23901-24000 241 24001-24100 242 24101-24200 243 24201-24300 244 24301-24400 245 24401-24500 246 24501-24600 247 24601-24700 248 24701-24800 249 24801-24900 250 24901-25000 251 25001-25100 252 25101-25200 253 25201-25300 254 25301-25400 255 25401-25500 256 25501-25600 257 25601-25700 258 25701-25800 259 25801-25900 260 25901-26000 261 26001-26100 262 26101-26200 263 26201-26300 264 26301-26400 265 26401-26500 266 26501-26600 267 26601-26700 268 26701-26800 269 26801-26900 270 26901-27000 271 27001-27100 272 27101-27200 273 27201-27300 274 27301-27400 275 27401-27500 276 27501-27600 277 27601-27700 278 27701-27800 279 27801-27900 280 27901-28000 281 28001-28100 282 28101-28200 283 28201-28300 284 28301-28400 285 28401-28500 286 28501-28600 287 28601-28700 288 28701-28800 289 28801-28900 290 28901-29000 291 29001-29100 292 29101-29200 293 29201-29300 294 29301-29400 295 29401-29500 296 29501-29600 297 29601-29700 298 29701-29800 299 29801-29900 300 29901-30000 301 30001-30100 302 30101-30200 303 30201-30300 304 30301-30400 305 30401-30500 306 30501-30600 307 30601-30700 308 30701-30800 309 30801-30900 310 30901-31000 311 31001-31100 312 31101-31200 313 31201-31300 314 31301-31400 315 31401-31500 316 31501-31600 317 31601-31700 318 31701-31800 319 31801-31900 320 31901-32000 321 32001-32100 322 32101-32200 323 32201-32300 324 32301-32400 325 32401-32500 326 32501-32600 327 32601-32700 328 32701-32800 329 32801-32900 330 32901-33000 331 33001-33100 332 33101-33200 333 33201-33300 334 33301-33400 335 33401-33500 336 33501-33600 337 33601-33700 338 33701-33800 339 33801-33900 340 33901-34000 341 34001-34100 342 34101-34200 343 34201-34300 344 34301-34400 345 34401-34500 346 34501-34600 347 34601-34700 348 34701-34800 349 34801-34900 350 34901-35000 351 35001-35100 352 35101-35200 353 35201-35300 354 35301-35400 355 35401-35500 356 35501-35600 357 35601-35700 358 35701-35800 359 35801-35900 360 35901-36000 361 36001-36100 362 36101-36200 363 36201-36300 364 36301-36400 365 36401-36500 366 36501-36600 367 36601-36700 368 36701-36800 369 36801-36900 370 36901-37000 371 37001-37100 372 37101-37200 373 37201-37300 374 37301-37400 375 37401-37500 376 37501-37600 377 37601-37700 378 37701-37800 379 37801-37900 380 37901-38000 381 38001-38100 382 38101-38200 383 38201-38300 384 38301-38400 385 38401-38500 386 38501-38600 387 38601-38700 388 38701-38800 389 38801-38900 390 38901-39000 391 39001-39100 392 39101-39200 393 39201-39300 394 39301-39400 395 39401-39500 396 39501-39600 397 39601-39700 398 39701-39800 399 39801-39900 400 39901-40000 401 40001-40100 402 40101-40200 403 40201-40300 404 40301-40400 405 40401-40500 406 40501-40600 407 40601-40700 408 40701-40800 409 40801-40900 410 40901-41000 411 41001-41100 412 41101-41200 413 41201-41300 414 41301-41400 415 41401-41500 416 41501-41600 417 41601-41700 418 41701-41800 419 41801-41900 420 41901-42000 421 42001-42100 422 42101-42200 423 42201-42300 424 42301-42400 425 42401-42500 426 42501-42600 427 42601-42700 428 42701-42800 429 42801-42900 430 42901-43000 431 43001-43100 432 43101-43200 433 43201-43300 434 43301-43400 435 43401-43500 436 43501-43600 437 43601-43700 438 43701-43800 439 43801-43900 440 43901-44000 441 44001-44100 442 44101-44200 443 44201-44300 444 44301-44400 445 44401-44500 446 44501-44600 447 44601-44700 448 44701-44800 449 44801-44900 450 44901-45000 451 45001-45100 452 45101-45200 453 45201-45300 454 45301-45400 455 45401-45500 456 45501-45600 457 45601-45700 458 45701-45800 459 45801-45900 460 45901-46000 461 46001-46100 462 46101-46200 463 46201-46300 464 46301-46400 465 46401-46500 466 46501-46600 467 46601-46700 468 46701-46800 469 46801-46900 470 46901-47000 471 47001-47100 472 47101-47200 473 47201-47300 474 47301-47400 475 47401-47500 476 47501-47600 477 47601-47700 478 47701-47800 479 47801-47900 480 47901-48000 481 48001-48100 482 48101-48200 483 48201-48300 484 48301-48400 485 48401-48500 486 48501-48600 487 48601-48700 488 48701-48800 489 48801-48900 490 48901-49000 491 49001-49100 492 49101-49200 493 49201-49300 494 49301-49324
  Copyright terms: Public domain < Previous  Next >