![]() |
Metamath
Proof Explorer Theorem List (p. 28 of 485) | < 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: | ![]() (1-30800) |
![]() (30801-32323) |
![]() (32324-48421) |
Type | Label | Description |
---|---|---|
Statement | ||
Theorem | nulmo 2701* | There exists at most one empty set. With either axnul 5306 or axnulALT 5305 or ax-nul 5307, this proves that there exists a unique empty set. In practice, once the language of classes is available, we use the stronger characterization among classes eq0 4343. (Contributed by NM, 22-Dec-2007.) Use the at-most-one quantifier. (Revised by BJ, 17-Sep-2022.) (Proof shortened by Wolf Lammen, 26-Apr-2023.) |
⊢ ∃*𝑥∀𝑦 ¬ 𝑦 ∈ 𝑥 | ||
Syntax | cab 2702 | Introduce the class abstraction (or class builder) notation: {𝑥 ∣ 𝜑} is the class of sets 𝑥 such that 𝜑(𝑥) is true. A setvar variable can be expressed as a class abstraction per Theorem cvjust 2719, justifying the substitution of class variables for setvar variables via the use of cv 1532. |
class {𝑥 ∣ 𝜑} | ||
Definition | df-clab 2703 |
Define class abstractions, that is, classes of the form {𝑦 ∣ 𝜑},
which is read "the class of sets 𝑦 such that 𝜑(𝑦)".
A few remarks are in order: 1. The axiomatic statement df-clab 2703 does not define the class abstraction {𝑦 ∣ 𝜑} itself, that is, it does not have the form ⊢ {𝑦 ∣ 𝜑} = ... that a standard definition should have (for a good reason: equality itself has not yet been defined or axiomatized for class abstractions; it is defined later in df-cleq 2717). Instead, df-clab 2703 has the form ⊢ (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ ...), meaning that it only defines what it means for a setvar to be a member of a class abstraction. As a consequence, one can say that df-clab 2703 defines class abstractions if and only if a class abstraction is completely determined by which elements belong to it, which is the content of the axiom of extensionality ax-ext 2696. Therefore, df-clab 2703 can be considered a definition only in systems that can prove ax-ext 2696 (and the necessary first-order logic). 2. As in all definitions, the definiendum (the left-hand side of the biconditional) has no disjoint variable conditions. In particular, the setvar variables 𝑥 and 𝑦 need not be distinct, and the formula 𝜑 may depend on both 𝑥 and 𝑦. This is necessary, as with all definitions, since if there was for instance a disjoint variable condition on 𝑥, 𝑦, then one could not do anything with expressions like 𝑥 ∈ {𝑥 ∣ 𝜑} which are sometimes useful to shorten proofs (because of abid 2706). Most often, however, 𝑥 does not occur in {𝑦 ∣ 𝜑} and 𝑦 is free in 𝜑. 3. Remark 1 stresses that df-clab 2703 does not have the standard form of a definition for a class, but one could be led to think it has the standard form of a definition for a formula. However, it also fails that test since the membership predicate ∈ has already appeared earlier (outside of syntax e.g. in ax-8 2100). Indeed, the definiendum extends, or "overloads", the membership predicate ∈ from formulas of the form "setvar ∈ setvar" to formulas of the form "setvar ∈ class abstraction". This is possible because of wcel 2098 and cab 2702, and it can be called an "extension" of the membership predicate because of wel 2099, whose proof uses cv 1532. An a posteriori justification for cv 1532 is given by cvjust 2719, stating that every setvar can be written as a class abstraction (though conversely not every class abstraction is a set, as illustrated by Russell's paradox ru 3772). 4. Proof techniques. Because class variables can be substituted with compound expressions and setvar variables cannot, it is often useful to convert a theorem containing a free setvar variable to a more general version with a class variable. This is done with theorems such as vtoclg 3532 which is used, for example, to convert elirrv 9621 to elirr 9622. 5. Definition or axiom? The question arises with the three axiomatic statements introducing classes, df-clab 2703, df-cleq 2717, and df-clel 2802, to decide if they qualify as definitions or if they should be called axioms. Under the strict definition of "definition" (see conventions 30282), they are not definitions (see Remarks 1 and 3 above, and similarly for df-cleq 2717 and df-clel 2802). One could be less strict and decide to call "definition" every axiomatic statement which provides an eliminable and conservative extension of the considered axiom system. But the notion of conservativity may be given two different meanings in set.mm, due to the difference between the "scheme level" of set.mm and the "object level" of classical treatments. For a proof that these three axiomatic statements yield an eliminable and weakly (that is, object-level) conservative extension of FOL= plus ax-ext 2696, see Appendix of [Levy] p. 357. 6. References and history. The concept of class abstraction dates back to at least Frege, and is used by Whitehead and Russell. This definition is Definition 2.1 of [Quine] p. 16 and Axiom 4.3.1 of [Levy] p. 12. It is called the "axiom of class comprehension" by [Levy] p. 358, who treats the theory of classes as an extralogical extension to predicate logic and set theory axioms. He calls the construction {𝑦 ∣ 𝜑} a "class term". For a full description of how classes are introduced and how to recover the primitive language, see the books of Quine and Levy (and the comment of eqabb 2865 for a quick overview). For a general discussion of the theory of classes, see mmset.html#class 2865. (Contributed by NM, 26-May-1993.) (Revised by BJ, 19-Aug-2023.) |
⊢ (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ [𝑥 / 𝑦]𝜑) | ||
Theorem | eleq1ab 2704 |
Extension (in the sense of Remark 3 of the comment of df-clab 2703) of
elequ1 2105 from formulas of the form "setvar ∈ setvar" to formulas of
the form "setvar ∈ class
abstraction". This extension does not
require ax-8 2100 contrary to elequ1 2105, but recall from Remark 3 of the
comment of df-clab 2703 that it can be considered an extension only
because
of cvjust 2719, which does require ax-8 2100.
This is an instance of eleq1w 2808 where the containing class is a class abstraction, and contrary to it, it can be proved without df-clel 2802. See also eleq1 2813 for general classes. The straightforward yet important fact that this statement can be proved from FOL= plus df-clab 2703 (hence without ax-ext 2696, df-cleq 2717 or df-clel 2802) was stressed by Mario Carneiro. (Contributed by BJ, 17-Aug-2023.) |
⊢ (𝑥 = 𝑦 → (𝑥 ∈ {𝑧 ∣ 𝜑} ↔ 𝑦 ∈ {𝑧 ∣ 𝜑})) | ||
Theorem | cleljustab 2705* | Extension of cleljust 2107 from formulas of the form "setvar ∈ setvar" to formulas of the form "setvar ∈ class abstraction". This is an instance of dfclel 2803 where the containing class is a class abstraction. The same remarks as for eleq1ab 2704 apply. (Contributed by BJ, 8-Nov-2021.) (Proof shortened by Steven Nguyen, 19-May-2023.) |
⊢ (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ ∃𝑧(𝑧 = 𝑥 ∧ 𝑧 ∈ {𝑦 ∣ 𝜑})) | ||
Theorem | abid 2706 | Simplification of class abstraction notation when the free and bound variables are identical. (Contributed by NM, 26-May-1993.) |
⊢ (𝑥 ∈ {𝑥 ∣ 𝜑} ↔ 𝜑) | ||
Theorem | vexwt 2707 | A standard theorem of predicate calculus (stdpc4 2063) expressed using class abstractions. Closed form of vexw 2708. (Contributed by BJ, 14-Jun-2019.) |
⊢ (∀𝑥𝜑 → 𝑦 ∈ {𝑥 ∣ 𝜑}) | ||
Theorem | vexw 2708 |
If 𝜑
is a theorem, then any set belongs to the class
{𝑥
∣ 𝜑}.
Therefore, {𝑥 ∣ 𝜑} is "a" universal class.
This is the closest one can get to defining a universal class, or proving vex 3465, without using ax-ext 2696. Note that this theorem has no disjoint variable condition and does not use df-clel 2802 nor df-cleq 2717 either: only propositional logic and ax-gen 1789 and df-clab 2703. This is sbt 2061 expressed using class abstractions. Without ax-ext 2696, one cannot define "the" universal class, since one could not prove for instance the justification theorem {𝑥 ∣ ⊤} = {𝑦 ∣ ⊤} (see vjust 3462). Indeed, in order to prove any equality of classes, one needs df-cleq 2717, which has ax-ext 2696 as a hypothesis. Therefore, the classes {𝑥 ∣ ⊤}, {𝑦 ∣ (𝜑 → 𝜑)}, {𝑧 ∣ (∀𝑡𝑡 = 𝑡 → ∀𝑡𝑡 = 𝑡)} and countless others are all universal classes whose equality cannot be proved without ax-ext 2696. Once dfcleq 2718 is available, we will define "the" universal class in df-v 3463. Its degenerate instance is also a simple consequence of abid 2706 (using mpbir 230). (Contributed by BJ, 13-Jun-2019.) Reduce axiom dependencies. (Revised by Steven Nguyen, 25-Apr-2023.) |
⊢ 𝜑 ⇒ ⊢ 𝑦 ∈ {𝑥 ∣ 𝜑} | ||
Theorem | vextru 2709 | Every setvar is a member of {𝑥 ∣ ⊤}, which is therefore "a" universal class. Once class extensionality dfcleq 2718 is available, we can say "the" universal class (see df-v 3463). This is sbtru 2062 expressed using class abstractions. (Contributed by BJ, 2-Sep-2023.) |
⊢ 𝑦 ∈ {𝑥 ∣ ⊤} | ||
Theorem | nfsab1 2710* | Bound-variable hypothesis builder for a class abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) Remove use of ax-12 2166. (Revised by SN, 20-Sep-2023.) |
⊢ Ⅎ𝑥 𝑦 ∈ {𝑥 ∣ 𝜑} | ||
Theorem | hbab1 2711* | Bound-variable hypothesis builder for a class abstraction. (Contributed by NM, 26-May-1993.) (Proof shortened by Wolf Lammen, 25-Oct-2024.) |
⊢ (𝑦 ∈ {𝑥 ∣ 𝜑} → ∀𝑥 𝑦 ∈ {𝑥 ∣ 𝜑}) | ||
Theorem | hbab1OLD 2712* | Obsolete version of hbab1 2711 as of 25-Oct-2024. (Contributed by NM, 26-May-1993.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝑦 ∈ {𝑥 ∣ 𝜑} → ∀𝑥 𝑦 ∈ {𝑥 ∣ 𝜑}) | ||
Theorem | hbab 2713* | Bound-variable hypothesis builder for a class abstraction. (Contributed by NM, 1-Mar-1995.) Add disjoint variable condition to avoid ax-13 2365. See hbabg 2714 for a less restrictive version requiring more axioms. (Revised by GG, 20-Jan-2024.) |
⊢ (𝜑 → ∀𝑥𝜑) ⇒ ⊢ (𝑧 ∈ {𝑦 ∣ 𝜑} → ∀𝑥 𝑧 ∈ {𝑦 ∣ 𝜑}) | ||
Theorem | hbabg 2714* | Bound-variable hypothesis builder for a class abstraction. Usage of this theorem is discouraged because it depends on ax-13 2365. See hbab 2713 for a version with more disjoint variable conditions, but not requiring ax-13 2365. (Contributed by NM, 1-Mar-1995.) (New usage is discouraged.) |
⊢ (𝜑 → ∀𝑥𝜑) ⇒ ⊢ (𝑧 ∈ {𝑦 ∣ 𝜑} → ∀𝑥 𝑧 ∈ {𝑦 ∣ 𝜑}) | ||
Theorem | nfsab 2715* | Bound-variable hypothesis builder for a class abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) Add disjoint variable condition to avoid ax-13 2365. See nfsabg 2716 for a less restrictive version requiring more axioms. (Revised by GG, 20-Jan-2024.) |
⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥 𝑧 ∈ {𝑦 ∣ 𝜑} | ||
Theorem | nfsabg 2716* | Bound-variable hypothesis builder for a class abstraction. Usage of this theorem is discouraged because it depends on ax-13 2365. See nfsab 2715 for a version with more disjoint variable conditions, but not requiring ax-13 2365. (Contributed by Mario Carneiro, 11-Aug-2016.) (New usage is discouraged.) |
⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥 𝑧 ∈ {𝑦 ∣ 𝜑} | ||
This section introduces class equality in df-cleq 2717. Note that apart from the local introduction of class variables to state the syntax axioms wceq 1533 and wcel 2098, this section is the first to use class variables. Therefore, the file set.mm contains declarations of class variables at the beginning of this section (not visible on the webpages). | ||
Definition | df-cleq 2717* |
Define the equality connective between classes. Definition 2.7 of
[Quine] p. 18. Also Definition 4.5 of
[TakeutiZaring] p. 13; Chapter 4
provides its justification and methods for eliminating it. Note that
its elimination will not necessarily result in a single wff in the
original language but possibly a "scheme" of wffs.
The hypotheses express that all instances of the conclusion where class variables are replaced with setvar variables hold. Therefore, this definition merely extends to class variables something that is true for setvar variables, hence is conservative. This is only a proof sketch of conservativity; for details see Appendix of [Levy] p. 357. This is the reason why we call this axiomatic statement a "definition", even though it does not have the usual form of a definition. If we required a definition to have the usual form, we would call df-cleq 2717 an axiom. See also comments under df-clab 2703, df-clel 2802, and eqabb 2865. In the form of dfcleq 2718, this is called the "axiom of extensionality" by [Levy] p. 338, who treats the theory of classes as an extralogical extension to our logic and set theory axioms. While the three class definitions df-clab 2703, df-cleq 2717, and df-clel 2802 are eliminable and conservative and thus meet the requirements for sound definitions, they are technically axioms in that they do not satisfy the requirements for the current definition checker. The proofs of conservativity require external justification that is beyond the scope of the definition checker. For a general discussion of the theory of classes, see mmset.html#class 2802. (Contributed by NM, 15-Sep-1993.) (Revised by BJ, 24-Jun-2019.) |
⊢ (𝑦 = 𝑧 ↔ ∀𝑢(𝑢 ∈ 𝑦 ↔ 𝑢 ∈ 𝑧)) & ⊢ (𝑡 = 𝑡 ↔ ∀𝑣(𝑣 ∈ 𝑡 ↔ 𝑣 ∈ 𝑡)) ⇒ ⊢ (𝐴 = 𝐵 ↔ ∀𝑥(𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) | ||
Theorem | dfcleq 2718* | The defining characterization of class equality. It is proved, over Tarski's FOL, from the axiom of (set) extensionality (ax-ext 2696) and the definition of class equality (df-cleq 2717). Its forward implication is called "class extensionality". Remark: the proof uses axextb 2699 to prove also the hypothesis of df-cleq 2717 that is a degenerate instance, but it could be proved also from minimal propositional calculus and { ax-gen 1789, equid 2007 }. (Contributed by NM, 15-Sep-1993.) (Revised by BJ, 24-Jun-2019.) |
⊢ (𝐴 = 𝐵 ↔ ∀𝑥(𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) | ||
Theorem | cvjust 2719* | Every set is a class. Proposition 4.9 of [TakeutiZaring] p. 13. This theorem shows that a setvar variable can be expressed as a class abstraction. This provides a motivation for the class syntax construction cv 1532, which allows to substitute a setvar variable for a class variable. See also cab 2702 and df-clab 2703. Note that this is not a rigorous justification, because cv 1532 is used as part of the proof of this theorem, but a careful argument can be made outside of the formalism of Metamath, for example as is done in Chapter 4 of Takeuti and Zaring. See also the discussion under the definition of class in [Jech] p. 4 showing that "Every set can be considered to be a class." See abid1 2862 for the version of cvjust 2719 extended to classes. (Contributed by NM, 7-Nov-2006.) Avoid ax-13 2365. (Revised by Wolf Lammen, 4-May-2023.) |
⊢ 𝑥 = {𝑦 ∣ 𝑦 ∈ 𝑥} | ||
Theorem | ax9ALT 2720 | Proof of ax-9 2108 from Tarski's FOL and dfcleq 2718. For a version not using ax-8 2100 either, see eleq2w2 2721. This shows that dfcleq 2718 is too powerful to be used as a definition instead of df-cleq 2717. Note that ax-ext 2696 is also a direct consequence of dfcleq 2718 (as an instance of its forward implication). (Contributed by BJ, 24-Jun-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝑥 = 𝑦 → (𝑧 ∈ 𝑥 → 𝑧 ∈ 𝑦)) | ||
Theorem | eleq2w2 2721* | A weaker version of eleq2 2814 (but stronger than ax-9 2108 and elequ2 2113) that uses ax-12 2166 to avoid ax-8 2100 and df-clel 2802. Compare eleq2w 2809, whose setvars appear where the class variables are in this theorem, and vice versa. (Contributed by BJ, 24-Jun-2019.) Strengthen from setvar variables to class variables. (Revised by WL and SN, 23-Aug-2024.) |
⊢ (𝐴 = 𝐵 → (𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) | ||
Theorem | eqriv 2722* | Infer equality of classes from equivalence of membership. (Contributed by NM, 21-Jun-1993.) |
⊢ (𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵) ⇒ ⊢ 𝐴 = 𝐵 | ||
Theorem | eqrdv 2723* | Deduce equality of classes from equivalence of membership. (Contributed by NM, 17-Mar-1996.) |
⊢ (𝜑 → (𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) ⇒ ⊢ (𝜑 → 𝐴 = 𝐵) | ||
Theorem | eqrdav 2724* | Deduce equality of classes from an equivalence of membership that depends on the membership variable. (Contributed by NM, 7-Nov-2008.) (Proof shortened by Wolf Lammen, 19-Nov-2019.) |
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝑥 ∈ 𝐶) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → 𝑥 ∈ 𝐶) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐶) → (𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) ⇒ ⊢ (𝜑 → 𝐴 = 𝐵) | ||
Theorem | eqid 2725 |
Law of identity (reflexivity of class equality). Theorem 6.4 of [Quine]
p. 41.
This is part of Frege's eighth axiom per Proposition 54 of [Frege1879] p. 50; see also biid 260. An early mention of this law can be found in Aristotle, Metaphysics, Z.17, 1041a10-20. (Thanks to Stefan Allan and BJ for this information.) (Contributed by NM, 21-Jun-1993.) (Revised by BJ, 14-Oct-2017.) |
⊢ 𝐴 = 𝐴 | ||
Theorem | eqidd 2726 | Class identity law with antecedent. (Contributed by NM, 21-Aug-2008.) |
⊢ (𝜑 → 𝐴 = 𝐴) | ||
Theorem | eqeq1d 2727 | Deduction from equality to equivalence of equalities. (Contributed by NM, 27-Dec-1993.) Reduce dependencies on axioms. (Revised by Wolf Lammen, 5-Dec-2019.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐶)) | ||
Theorem | eqeq1dALT 2728 | Alternate proof of eqeq1d 2727, shorter but requiring ax-12 2166. (Contributed by NM, 27-Dec-1993.) (Revised by Wolf Lammen, 19-Nov-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐶)) | ||
Theorem | eqeq1 2729 | Equality implies equivalence of equalities. (Contributed by NM, 26-May-1993.) (Proof shortened by Wolf Lammen, 19-Nov-2019.) |
⊢ (𝐴 = 𝐵 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐶)) | ||
Theorem | eqeq1i 2730 | Inference from equality to equivalence of equalities. (Contributed by NM, 15-Jul-1993.) |
⊢ 𝐴 = 𝐵 ⇒ ⊢ (𝐴 = 𝐶 ↔ 𝐵 = 𝐶) | ||
Theorem | eqcomd 2731 | Deduction from commutative law for class equality. (Contributed by NM, 15-Aug-1994.) Allow shortening of eqcom 2732. (Revised by Wolf Lammen, 19-Nov-2019.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → 𝐵 = 𝐴) | ||
Theorem | eqcom 2732 | Commutative law for class equality. Theorem 6.5 of [Quine] p. 41. (Contributed by NM, 26-May-1993.) (Proof shortened by Wolf Lammen, 19-Nov-2019.) |
⊢ (𝐴 = 𝐵 ↔ 𝐵 = 𝐴) | ||
Theorem | eqcoms 2733 | Inference applying commutative law for class equality to an antecedent. (Contributed by NM, 24-Jun-1993.) |
⊢ (𝐴 = 𝐵 → 𝜑) ⇒ ⊢ (𝐵 = 𝐴 → 𝜑) | ||
Theorem | eqcomi 2734 | Inference from commutative law for class equality. (Contributed by NM, 26-May-1993.) |
⊢ 𝐴 = 𝐵 ⇒ ⊢ 𝐵 = 𝐴 | ||
Theorem | neqcomd 2735 | Commute an inequality. (Contributed by Rohan Ridenour, 3-Aug-2023.) |
⊢ (𝜑 → ¬ 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ¬ 𝐵 = 𝐴) | ||
Theorem | eqeq2d 2736 | Deduction from equality to equivalence of equalities. (Contributed by NM, 27-Dec-1993.) Allow shortening of eqeq2 2737. (Revised by Wolf Lammen, 19-Nov-2019.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → (𝐶 = 𝐴 ↔ 𝐶 = 𝐵)) | ||
Theorem | eqeq2 2737 | Equality implies equivalence of equalities. (Contributed by NM, 26-May-1993.) (Proof shortened by Wolf Lammen, 19-Nov-2019.) |
⊢ (𝐴 = 𝐵 → (𝐶 = 𝐴 ↔ 𝐶 = 𝐵)) | ||
Theorem | eqeq2i 2738 | Inference from equality to equivalence of equalities. (Contributed by NM, 26-May-1993.) |
⊢ 𝐴 = 𝐵 ⇒ ⊢ (𝐶 = 𝐴 ↔ 𝐶 = 𝐵) | ||
Theorem | eqeqan12d 2739 | A useful inference for substituting definitions into an equality. See also eqeqan12dALT 2747. (Contributed by NM, 9-Aug-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) Shorten other proofs. (Revised by Wolf Lammen, 23-Oct-2024.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐶 = 𝐷) ⇒ ⊢ ((𝜑 ∧ 𝜓) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqeqan12rd 2740 | A useful inference for substituting definitions into an equality. (Contributed by NM, 9-Aug-1994.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐶 = 𝐷) ⇒ ⊢ ((𝜓 ∧ 𝜑) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqeq12d 2741 | A useful inference for substituting definitions into an equality. (Contributed by NM, 5-Aug-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.) (Proof shortened by Wolf Lammen, 23-Oct-2024.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqeq12 2742 | Equality relationship among four classes. (Contributed by NM, 3-Aug-1994.) (Proof shortened by Wolf Lammen, 23-Oct-2024.) |
⊢ ((𝐴 = 𝐵 ∧ 𝐶 = 𝐷) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqeq12i 2743 | A useful inference for substituting definitions into an equality. (Contributed by NM, 15-Jul-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.) (Proof shortened by Wolf Lammen, 20-Nov-2019.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ (𝐴 = 𝐶 ↔ 𝐵 = 𝐷) | ||
Theorem | eqeq12OLD 2744 | Obsolete version of eqeq12 2742 as of 23-Oct-2024. (Contributed by NM, 3-Aug-1994.) (New usage is discouraged.) (Proof modification is discouraged.) |
⊢ ((𝐴 = 𝐵 ∧ 𝐶 = 𝐷) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqeq12dOLD 2745 | Obsolete version of eqeq12d 2741 as of 23-Oct-2024. (Contributed by NM, 5-Aug-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.) (New usage is discouraged.) (Proof modification is discouraged.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqeqan12dOLD 2746 | Obsolete version of eqeqan12d 2739 as of 23-Oct-2024. (Contributed by NM, 9-Aug-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) (Proof shortened by Wolf Lammen, 20-Nov-2019.) (New usage is discouraged.) (Proof modification is discouraged.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐶 = 𝐷) ⇒ ⊢ ((𝜑 ∧ 𝜓) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqeqan12dALT 2747 | Alternate proof of eqeqan12d 2739. This proof has one more step but one fewer essential step. (Contributed by NM, 9-Aug-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐶 = 𝐷) ⇒ ⊢ ((𝜑 ∧ 𝜓) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | eqtr 2748 | Transitive law for class equality. Proposition 4.7(3) of [TakeutiZaring] p. 13. (Contributed by NM, 25-Jan-2004.) |
⊢ ((𝐴 = 𝐵 ∧ 𝐵 = 𝐶) → 𝐴 = 𝐶) | ||
Theorem | eqtr2 2749 | A transitive law for class equality. (Contributed by NM, 20-May-2005.) (Proof shortened by Andrew Salmon, 25-May-2011.) (Proof shortened by Wolf Lammen, 24-Oct-2024.) |
⊢ ((𝐴 = 𝐵 ∧ 𝐴 = 𝐶) → 𝐵 = 𝐶) | ||
Theorem | eqtr2OLD 2750 | Obsolete version of eqtr2 as of 24-Oct-2024. (Contributed by NM, 20-May-2005.) (Proof shortened by Andrew Salmon, 25-May-2011.) (New usage is discouraged.) (Proof modification is discouraged.) |
⊢ ((𝐴 = 𝐵 ∧ 𝐴 = 𝐶) → 𝐵 = 𝐶) | ||
Theorem | eqtr3 2751 | A transitive law for class equality. (Contributed by NM, 20-May-2005.) (Proof shortened by Wolf Lammen, 24-Oct-2024.) |
⊢ ((𝐴 = 𝐶 ∧ 𝐵 = 𝐶) → 𝐴 = 𝐵) | ||
Theorem | eqtr3OLD 2752 | Obsolete version of eqtr3 2751 as of 24-Oct-2024. (Contributed by NM, 20-May-2005.) (New usage is discouraged.) (Proof modification is discouraged.) |
⊢ ((𝐴 = 𝐶 ∧ 𝐵 = 𝐶) → 𝐴 = 𝐵) | ||
Theorem | eqtri 2753 | An equality transitivity inference. (Contributed by NM, 26-May-1993.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 ⇒ ⊢ 𝐴 = 𝐶 | ||
Theorem | eqtr2i 2754 | An equality transitivity inference. (Contributed by NM, 21-Feb-1995.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 ⇒ ⊢ 𝐶 = 𝐴 | ||
Theorem | eqtr3i 2755 | An equality transitivity inference. (Contributed by NM, 6-May-1994.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐴 = 𝐶 ⇒ ⊢ 𝐵 = 𝐶 | ||
Theorem | eqtr4i 2756 | An equality transitivity inference. (Contributed by NM, 26-May-1993.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐵 ⇒ ⊢ 𝐴 = 𝐶 | ||
Theorem | 3eqtri 2757 | An inference from three chained equalities. (Contributed by NM, 29-Aug-1993.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐴 = 𝐷 | ||
Theorem | 3eqtrri 2758 | An inference from three chained equalities. (Contributed by NM, 3-Aug-2006.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐷 = 𝐴 | ||
Theorem | 3eqtr2i 2759 | An inference from three chained equalities. (Contributed by NM, 3-Aug-2006.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐴 = 𝐷 | ||
Theorem | 3eqtr2ri 2760 | An inference from three chained equalities. (Contributed by NM, 3-Aug-2006.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐷 = 𝐴 | ||
Theorem | 3eqtr3i 2761 | An inference from three chained equalities. (Contributed by NM, 6-May-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐴 = 𝐶 & ⊢ 𝐵 = 𝐷 ⇒ ⊢ 𝐶 = 𝐷 | ||
Theorem | 3eqtr3ri 2762 | An inference from three chained equalities. (Contributed by NM, 15-Aug-2004.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐴 = 𝐶 & ⊢ 𝐵 = 𝐷 ⇒ ⊢ 𝐷 = 𝐶 | ||
Theorem | 3eqtr4i 2763 | An inference from three chained equalities. (Contributed by NM, 26-May-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐴 & ⊢ 𝐷 = 𝐵 ⇒ ⊢ 𝐶 = 𝐷 | ||
Theorem | 3eqtr4ri 2764 | An inference from three chained equalities. (Contributed by NM, 2-Sep-1995.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐴 & ⊢ 𝐷 = 𝐵 ⇒ ⊢ 𝐷 = 𝐶 | ||
Theorem | eqtrd 2765 | An equality transitivity deduction. (Contributed by NM, 21-Jun-1993.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | eqtr2d 2766 | An equality transitivity deduction. (Contributed by NM, 18-Oct-1999.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐶 = 𝐴) | ||
Theorem | eqtr3d 2767 | An equality transitivity equality deduction. (Contributed by NM, 18-Jul-1995.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐴 = 𝐶) ⇒ ⊢ (𝜑 → 𝐵 = 𝐶) | ||
Theorem | eqtr4d 2768 | An equality transitivity equality deduction. (Contributed by NM, 18-Jul-1995.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐵) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | 3eqtrd 2769 | A deduction from three chained equalities. (Contributed by NM, 29-Oct-1995.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐴 = 𝐷) | ||
Theorem | 3eqtrrd 2770 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-2006.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐷 = 𝐴) | ||
Theorem | 3eqtr2d 2771 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-2006.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐴 = 𝐷) | ||
Theorem | 3eqtr2rd 2772 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-2006.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐷 = 𝐴) | ||
Theorem | 3eqtr3d 2773 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-1995.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐴 = 𝐶) & ⊢ (𝜑 → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
Theorem | 3eqtr3rd 2774 | A deduction from three chained equalities. (Contributed by NM, 14-Jan-2006.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐴 = 𝐶) & ⊢ (𝜑 → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → 𝐷 = 𝐶) | ||
Theorem | 3eqtr4d 2775 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-1995.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐴) & ⊢ (𝜑 → 𝐷 = 𝐵) ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
Theorem | 3eqtr4rd 2776 | A deduction from three chained equalities. (Contributed by NM, 21-Sep-1995.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐴) & ⊢ (𝜑 → 𝐷 = 𝐵) ⇒ ⊢ (𝜑 → 𝐷 = 𝐶) | ||
Theorem | eqtrid 2777 | An equality transitivity deduction. (Contributed by NM, 21-Jun-1993.) |
⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | eqtr2id 2778 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐶 = 𝐴) | ||
Theorem | eqtr3id 2779 | An equality transitivity deduction. (Contributed by NM, 5-Aug-1993.) |
⊢ 𝐵 = 𝐴 & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | eqtr3di 2780 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐴 = 𝐶 ⇒ ⊢ (𝜑 → 𝐵 = 𝐶) | ||
Theorem | eqtrdi 2781 | An equality transitivity deduction. (Contributed by NM, 21-Jun-1993.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐵 = 𝐶 ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | eqtr2di 2782 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐵 = 𝐶 ⇒ ⊢ (𝜑 → 𝐶 = 𝐴) | ||
Theorem | eqtr4di 2783 | An equality transitivity deduction. (Contributed by NM, 21-Jun-1993.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐶 = 𝐵 ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | eqtr4id 2784 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐶 = 𝐵) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | sylan9eq 2785 | An equality transitivity deduction. (Contributed by NM, 8-May-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐵 = 𝐶) ⇒ ⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐶) | ||
Theorem | sylan9req 2786 | An equality transitivity deduction. (Contributed by NM, 23-Jun-2007.) |
⊢ (𝜑 → 𝐵 = 𝐴) & ⊢ (𝜓 → 𝐵 = 𝐶) ⇒ ⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐶) | ||
Theorem | sylan9eqr 2787 | An equality transitivity deduction. (Contributed by NM, 8-May-1994.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐵 = 𝐶) ⇒ ⊢ ((𝜓 ∧ 𝜑) → 𝐴 = 𝐶) | ||
Theorem | 3eqtr3g 2788 | A chained equality inference, useful for converting from definitions. (Contributed by NM, 15-Nov-1994.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐴 = 𝐶 & ⊢ 𝐵 = 𝐷 ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
Theorem | 3eqtr3a 2789 | A chained equality inference, useful for converting from definitions. (Contributed by Mario Carneiro, 6-Nov-2015.) |
⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐴 = 𝐶) & ⊢ (𝜑 → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
Theorem | 3eqtr4g 2790 | A chained equality inference, useful for converting to definitions. (Contributed by NM, 21-Jun-1993.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐶 = 𝐴 & ⊢ 𝐷 = 𝐵 ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
Theorem | 3eqtr4a 2791 | A chained equality inference, useful for converting to definitions. (Contributed by NM, 2-Feb-2007.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐶 = 𝐴) & ⊢ (𝜑 → 𝐷 = 𝐵) ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
Theorem | eq2tri 2792 | A compound transitive inference for class equality. (Contributed by NM, 22-Jan-2004.) |
⊢ (𝐴 = 𝐶 → 𝐷 = 𝐹) & ⊢ (𝐵 = 𝐷 → 𝐶 = 𝐺) ⇒ ⊢ ((𝐴 = 𝐶 ∧ 𝐵 = 𝐹) ↔ (𝐵 = 𝐷 ∧ 𝐴 = 𝐺)) | ||
Theorem | abbi 2793 | Equivalent formulas yield equal class abstractions (closed form). This is the backward implication of abbib 2797, proved from fewer axioms, and hence is independently named. (Contributed by BJ and WL and SN, 20-Aug-2023.) |
⊢ (∀𝑥(𝜑 ↔ 𝜓) → {𝑥 ∣ 𝜑} = {𝑥 ∣ 𝜓}) | ||
Theorem | abbidv 2794* | Equivalent wff's yield equal class abstractions (deduction form). (Contributed by NM, 10-Aug-1993.) Avoid ax-12 2166, based on an idea of Steven Nguyen. (Revised by Wolf Lammen, 6-May-2023.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝑥 ∣ 𝜓} = {𝑥 ∣ 𝜒}) | ||
Theorem | abbii 2795 | Equivalent wff's yield equal class abstractions (inference form). (Contributed by NM, 26-May-1993.) Remove dependency on ax-10 2129, ax-11 2146, and ax-12 2166. (Revised by Steven Nguyen, 3-May-2023.) |
⊢ (𝜑 ↔ 𝜓) ⇒ ⊢ {𝑥 ∣ 𝜑} = {𝑥 ∣ 𝜓} | ||
Theorem | abbid 2796 | Equivalent wff's yield equal class abstractions (deduction form, with nonfreeness hypothesis). (Contributed by NM, 21-Jun-1993.) (Revised by Mario Carneiro, 7-Oct-2016.) Avoid ax-10 2129 and ax-11 2146. (Revised by Wolf Lammen, 6-May-2023.) |
⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝑥 ∣ 𝜓} = {𝑥 ∣ 𝜒}) | ||
Theorem | abbib 2797 | Equal class abstractions require equivalent formulas, and conversely. (Contributed by NM, 25-Nov-2013.) (Revised by Mario Carneiro, 11-Aug-2016.) Remove dependency on ax-8 2100 and df-clel 2802 (by avoiding use of cleqh 2855). (Revised by BJ, 23-Jun-2019.) Definitial form. (Revised by Wolf Lammen, 23-Feb-2025.) |
⊢ ({𝑥 ∣ 𝜑} = {𝑥 ∣ 𝜓} ↔ ∀𝑥(𝜑 ↔ 𝜓)) | ||
Theorem | cbvabv 2798* | Rule used to change bound variables, using implicit substitution. Version of cbvab 2800 with disjoint variable conditions requiring fewer axioms. (Contributed by NM, 26-May-1999.) Require 𝑥, 𝑦 be disjoint to avoid ax-11 2146 and ax-13 2365. (Revised by Steven Nguyen, 4-Dec-2022.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ {𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓} | ||
Theorem | cbvabw 2799* | Rule used to change bound variables, using implicit substitution. Version of cbvab 2800 with a disjoint variable condition, which does not require ax-10 2129, ax-13 2365. (Contributed by Andrew Salmon, 11-Jul-2011.) (Revised by GG, 23-May-2024.) |
⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ {𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓} | ||
Theorem | cbvab 2800 | Rule used to change bound variables, using implicit substitution. Usage of this theorem is discouraged because it depends on ax-13 2365. Usage of the weaker cbvabw 2799 and cbvabv 2798 are preferred. (Contributed by Andrew Salmon, 11-Jul-2011.) (Proof shortened by Wolf Lammen, 16-Nov-2019.) (New usage is discouraged.) |
⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ {𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓} |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |