| Intuitionistic Logic Explorer Theorem List (p. 23 of 172) | < Previous Next > | |
| Bad symbols? Try the
GIF version. |
||
|
Mirrors > Metamath Home Page > ILE Home Page > Theorem List Contents > Recent Proofs This page: Page List |
||
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | felapton 2201 | "Felapton", one of the syllogisms of Aristotelian logic. No 𝜑 is 𝜓, all 𝜑 is 𝜒, and some 𝜑 exist, therefore some 𝜒 is not 𝜓. (In Aristotelian notation, EAO-3: MeP and MaS therefore SoP.) For example, "No flowers are animals" and "All flowers are plants", therefore "Some plants are not animals". (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.) |
| ⊢ ∀𝑥(𝜑 → ¬ 𝜓) & ⊢ ∀𝑥(𝜑 → 𝜒) & ⊢ ∃𝑥𝜑 ⇒ ⊢ ∃𝑥(𝜒 ∧ ¬ 𝜓) | ||
| Theorem | darapti 2202 | "Darapti", one of the syllogisms of Aristotelian logic. All 𝜑 is 𝜓, all 𝜑 is 𝜒, and some 𝜑 exist, therefore some 𝜒 is 𝜓. (In Aristotelian notation, AAI-3: MaP and MaS therefore SiP.) For example, "All squares are rectangles" and "All squares are rhombuses", therefore "Some rhombuses are rectangles". (Contributed by David A. Wheeler, 28-Aug-2016.) |
| ⊢ ∀𝑥(𝜑 → 𝜓) & ⊢ ∀𝑥(𝜑 → 𝜒) & ⊢ ∃𝑥𝜑 ⇒ ⊢ ∃𝑥(𝜒 ∧ 𝜓) | ||
| Theorem | calemes 2203 | "Calemes", one of the syllogisms of Aristotelian logic. All 𝜑 is 𝜓, and no 𝜓 is 𝜒, therefore no 𝜒 is 𝜑. In Aristotelian notation, AEE-4: PaM and MeS therefore SeP. (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.) |
| ⊢ ∀𝑥(𝜑 → 𝜓) & ⊢ ∀𝑥(𝜓 → ¬ 𝜒) ⇒ ⊢ ∀𝑥(𝜒 → ¬ 𝜑) | ||
| Theorem | dimatis 2204 | "Dimatis", one of the syllogisms of Aristotelian logic. Some 𝜑 is 𝜓, and all 𝜓 is 𝜒, therefore some 𝜒 is 𝜑. (In Aristotelian notation, IAI-4: PiM and MaS therefore SiP.) For example, "Some pets are rabbits.", "All rabbits have fur", therefore "Some fur bearing animals are pets". Like darii 2187 with positions interchanged. (Contributed by David A. Wheeler, 28-Aug-2016.) |
| ⊢ ∃𝑥(𝜑 ∧ 𝜓) & ⊢ ∀𝑥(𝜓 → 𝜒) ⇒ ⊢ ∃𝑥(𝜒 ∧ 𝜑) | ||
| Theorem | fresison 2205 | "Fresison", one of the syllogisms of Aristotelian logic. No 𝜑 is 𝜓 (PeM), and some 𝜓 is 𝜒 (MiS), therefore some 𝜒 is not 𝜑 (SoP). In Aristotelian notation, EIO-4: PeM and MiS therefore SoP. (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.) |
| ⊢ ∀𝑥(𝜑 → ¬ 𝜓) & ⊢ ∃𝑥(𝜓 ∧ 𝜒) ⇒ ⊢ ∃𝑥(𝜒 ∧ ¬ 𝜑) | ||
| Theorem | calemos 2206 | "Calemos", one of the syllogisms of Aristotelian logic. All 𝜑 is 𝜓 (PaM), no 𝜓 is 𝜒 (MeS), and 𝜒 exist, therefore some 𝜒 is not 𝜑 (SoP). In Aristotelian notation, AEO-4: PaM and MeS therefore SoP. (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.) |
| ⊢ ∀𝑥(𝜑 → 𝜓) & ⊢ ∀𝑥(𝜓 → ¬ 𝜒) & ⊢ ∃𝑥𝜒 ⇒ ⊢ ∃𝑥(𝜒 ∧ ¬ 𝜑) | ||
| Theorem | fesapo 2207 | "Fesapo", one of the syllogisms of Aristotelian logic. No 𝜑 is 𝜓, all 𝜓 is 𝜒, and 𝜓 exist, therefore some 𝜒 is not 𝜑. In Aristotelian notation, EAO-4: PeM and MaS therefore SoP. (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.) |
| ⊢ ∀𝑥(𝜑 → ¬ 𝜓) & ⊢ ∀𝑥(𝜓 → 𝜒) & ⊢ ∃𝑥𝜓 ⇒ ⊢ ∃𝑥(𝜒 ∧ ¬ 𝜑) | ||
| Theorem | bamalip 2208 | "Bamalip", one of the syllogisms of Aristotelian logic. All 𝜑 is 𝜓, all 𝜓 is 𝜒, and 𝜑 exist, therefore some 𝜒 is 𝜑. (In Aristotelian notation, AAI-4: PaM and MaS therefore SiP.) Like barbari 2189. (Contributed by David A. Wheeler, 28-Aug-2016.) |
| ⊢ ∀𝑥(𝜑 → 𝜓) & ⊢ ∀𝑥(𝜓 → 𝜒) & ⊢ ∃𝑥𝜑 ⇒ ⊢ ∃𝑥(𝜒 ∧ 𝜑) | ||
This section adds one non-logical binary predicate to the first-order logic developed until here. We call it "the membership predicate" since it will be used in the next part as the membership predicate of set theory, but in this section, it has no other property than being "a binary predicate". "Non-logical" means that it does not belong to the logic. In our logic (and in most treatments), the only logical predicate is the equality predicate (see weq 1556). | ||
| Syntax | wcel 2209 |
Extend wff definition to include the membership connective between
classes.
For a general discussion of the theory of classes, see mmset.html#class. The purpose of introducing wff 𝐴 ∈ 𝐵 here is to allow us to prove the wel 2210 of predicate calculus in terms of the wceq 1402 of set theory, so that we do not overload the ∈ connective with two syntax definitions. This is done to prevent ambiguity that would complicate some Metamath parsers. The class variables 𝐴 and 𝐵 are introduced temporarily for the purpose of this definition but otherwise not used in predicate calculus. See df-clab 2225 for more information on the set theory usage of wcel 2209. |
| wff 𝐴 ∈ 𝐵 | ||
| Theorem | wel 2210 |
Extend wff definition to include atomic formulas with the membership
predicate. This is read either "𝑥 is an element of 𝑦",
or "𝑥 is a member of 𝑦", or "𝑥 belongs
to 𝑦",
or "𝑦 contains 𝑥". Note: The
phrase "𝑦 includes
𝑥 " means "𝑥 is a
subset of 𝑦"; to use it also for
𝑥
∈ 𝑦, as some
authors occasionally do, is poor form and causes
confusion, according to George Boolos (1992 lecture at MIT).
This syntactical construction introduces a binary non-logical predicate symbol ∈ into our predicate calculus. We will eventually use it for the membership predicate of set theory, but that is irrelevant at this point: the predicate calculus axioms for ∈ apply to any arbitrary binary predicate symbol. "Non-logical" means that the predicate is presumed to have additional properties beyond the realm of predicate calculus, although these additional properties are not specified by predicate calculus itself but rather by the axioms of a theory (in our case set theory) added to predicate calculus. "Binary" means that the predicate has two arguments. Instead of introducing wel 2210 as an axiomatic statement, as was done in an older version of this database, we introduce it by "proving" a special case of set theory's more general wcel 2209. This lets us avoid overloading the ∈ connective, thus preventing ambiguity that would complicate certain Metamath parsers. However, logically wel 2210 is considered to be a primitive syntax, even though here it is artificially "derived" from wcel 2209. Note: To see the proof steps of this syntax proof, type "MM> SHOW PROOF wel / ALL" in the Metamath program. (Contributed by NM, 24-Jan-2006.) |
| wff 𝑥 ∈ 𝑦 | ||
| Axiom | ax-13 2211 | Axiom of left equality for the binary predicate ∈. One of the equality and substitution axioms for a non-logical predicate in our predicate calculus with equality. It substitutes equal variables into the left-hand side of the ∈ binary predicate. Axiom scheme C12' in [Megill] p. 448 (p. 16 of the preprint). It is a special case of Axiom B8 (p. 75) of system S2 of [Tarski] p. 77. "Non-logical" means that the predicate is not a primitive of predicate calculus proper but instead is an extension to it. "Binary" means that the predicate has two arguments. In a system of predicate calculus with equality, like ours, equality is not usually considered to be a non-logical predicate. In systems of predicate calculus without equality, it typically would be. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑥 = 𝑦 → (𝑥 ∈ 𝑧 → 𝑦 ∈ 𝑧)) | ||
| Axiom | ax-14 2212 | Axiom of right equality for the binary predicate ∈. One of the equality and substitution axioms for a non-logical predicate in our predicate calculus with equality. It substitutes equal variables into the right-hand side of the ∈ binary predicate. Axiom scheme C13' in [Megill] p. 448 (p. 16 of the preprint). It is a special case of Axiom B8 (p. 75) of system S2 of [Tarski] p. 77. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑥 = 𝑦 → (𝑧 ∈ 𝑥 → 𝑧 ∈ 𝑦)) | ||
| Theorem | elequ1 2213 | An identity law for the non-logical predicate. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑥 = 𝑦 → (𝑥 ∈ 𝑧 ↔ 𝑦 ∈ 𝑧)) | ||
| Theorem | elequ2 2214 | An identity law for the non-logical predicate. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑥 = 𝑦 → (𝑧 ∈ 𝑥 ↔ 𝑧 ∈ 𝑦)) | ||
| Theorem | cleljust 2215* | When the class variables of set theory are replaced with setvar variables, this theorem of predicate calculus is the result. This theorem provides part of the justification for the consistency of that definition, which "overloads" the setvar variables in wel 2210 with the class variables in wcel 2209. (Contributed by NM, 28-Jan-2004.) |
| ⊢ (𝑥 ∈ 𝑦 ↔ ∃𝑧(𝑧 = 𝑥 ∧ 𝑧 ∈ 𝑦)) | ||
| Theorem | elsb1 2216* | Substitution for the first argument of the non-logical predicate in an atomic formula. See elsb2 2217 for substitution for the second argument. (Contributed by NM, 7-Nov-2006.) (Proof shortened by Andrew Salmon, 14-Jun-2011.) |
| ⊢ ([𝑦 / 𝑥]𝑥 ∈ 𝑧 ↔ 𝑦 ∈ 𝑧) | ||
| Theorem | elsb2 2217* | Substitution for the second argument of the non-logical predicate in an atomic formula. See elsb1 2216 for substitution for the first argument. (Contributed by Rodolfo Medina, 3-Apr-2010.) (Proof shortened by Andrew Salmon, 14-Jun-2011.) |
| ⊢ ([𝑦 / 𝑥]𝑧 ∈ 𝑥 ↔ 𝑧 ∈ 𝑦) | ||
| Theorem | dveel1 2218* | Quantifier introduction when one pair of variables is disjoint. (Contributed by NM, 2-Jan-2002.) |
| ⊢ (¬ ∀𝑥 𝑥 = 𝑦 → (𝑦 ∈ 𝑧 → ∀𝑥 𝑦 ∈ 𝑧)) | ||
| Theorem | dveel2 2219* | Quantifier introduction when one pair of variables is disjoint. (Contributed by NM, 2-Jan-2002.) |
| ⊢ (¬ ∀𝑥 𝑥 = 𝑦 → (𝑧 ∈ 𝑦 → ∀𝑥 𝑧 ∈ 𝑦)) | ||
Set theory uses the formalism of propositional and predicate calculus to assert properties of arbitrary mathematical objects called "sets". A set can be an element of another set, and this relationship is indicated by the ∈ symbol. Starting with the simplest mathematical object, called the empty set, set theory builds up more and more complex structures whose existence follows from the axioms, eventually resulting in extremely complicated sets that we identify with the real numbers and other familiar mathematical objects. Here we develop set theory based on the Intuitionistic Zermelo-Fraenkel (IZF) system, mostly following the IZF axioms as laid out in [Crosilla]. Constructive Zermelo-Fraenkel (CZF), also described in Crosilla, is not as easy to formalize in Metamath because the statement of some of its axioms uses the notion of "bounded formula". Since Metamath has, purposefully, a very weak metalogic, that notion must be developed in the logic itself. This is similar to our treatment of substitution (df-sb 1816) and our definition of the nonfreeness predicate (df-nf 1514), whereas substitution and bound and free variables are ordinarily defined in the metalogic. The development of CZF has begun in BJ's mathbox, see wbd 16821. | ||
| Axiom | ax-ext 2220* |
Axiom of Extensionality. It states that two sets are identical if they
contain the same elements. Axiom 1 of [Crosilla] p. "Axioms of CZF and
IZF" (with unnecessary quantifiers removed).
Set theory can also be formulated with a single primitive predicate ∈ on top of traditional predicate calculus without equality. In that case the Axiom of Extensionality becomes (∀𝑤(𝑤 ∈ 𝑥 ↔ 𝑤 ∈ 𝑦) → (𝑥 ∈ 𝑧 → 𝑦 ∈ 𝑧)), and equality 𝑥 = 𝑦 is defined as ∀𝑤(𝑤 ∈ 𝑥 ↔ 𝑤 ∈ 𝑦). All of the usual axioms of equality then become theorems of set theory. See, for example, Axiom 1 of [TakeutiZaring] p. 8. To use the above "equality-free" version of Extensionality with Metamath's logical axioms, we would rewrite ax-8 1557 through ax-16 1867 with equality expanded according to the above definition. Some of those axioms could be proved from set theory and would be redundant. Not all of them are redundant, since our axioms of predicate calculus make essential use of equality for the proper substitution that is a primitive notion in traditional predicate calculus. A study of such an axiomatization would be an interesting project for someone exploring the foundations of logic. It is important to understand that strictly speaking, all of our set theory axioms are really schemes that represent an infinite number of actual axioms. This is inherent in the design of Metamath ("metavariable math"), which manipulates only metavariables. For example, the metavariable 𝑥 in ax-ext 2220 can represent any actual variable v1, v2, v3,... . Distinct variable restrictions ($d) prevent us from substituting say v1 for both 𝑥 and 𝑧. This is in contrast to typical textbook presentations that present actual axioms (except for axioms which involve wff metavariables). In practice, though, the theorems and proofs are essentially the same. The $d restrictions make each of the infinite axioms generated by the ax-ext 2220 scheme exactly logically equivalent to each other and in particular to the actual axiom of the textbook version. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (∀𝑧(𝑧 ∈ 𝑥 ↔ 𝑧 ∈ 𝑦) → 𝑥 = 𝑦) | ||
| Theorem | axext3 2221* | A generalization of the Axiom of Extensionality in which 𝑥 and 𝑦 need not be distinct. (Contributed by NM, 15-Sep-1993.) (Proof shortened by Andrew Salmon, 12-Aug-2011.) |
| ⊢ (∀𝑧(𝑧 ∈ 𝑥 ↔ 𝑧 ∈ 𝑦) → 𝑥 = 𝑦) | ||
| Theorem | axext4 2222* | A bidirectional version of Extensionality. Although this theorem "looks" like it is just a definition of equality, it requires the Axiom of Extensionality for its proof under our axiomatization. See the comments for ax-ext 2220. (Contributed by NM, 14-Nov-2008.) |
| ⊢ (𝑥 = 𝑦 ↔ ∀𝑧(𝑧 ∈ 𝑥 ↔ 𝑧 ∈ 𝑦)) | ||
| Theorem | bm1.1 2223* | Any set defined by a property is the only set defined by that property. Theorem 1.1 of [BellMachover] p. 462. (Contributed by NM, 30-Jun-1994.) |
| ⊢ Ⅎ𝑥𝜑 ⇒ ⊢ (∃𝑥∀𝑦(𝑦 ∈ 𝑥 ↔ 𝜑) → ∃!𝑥∀𝑦(𝑦 ∈ 𝑥 ↔ 𝜑)) | ||
| Syntax | cab 2224 | Introduce the class builder or class abstraction notation ("the class of sets 𝑥 such that 𝜑 is true"). Our class variables 𝐴, 𝐵, etc. range over class builders (sometimes implicitly). Note that a setvar variable can be expressed as a class builder per Theorem cvjust 2233, justifying the assignment of setvar variables to class variables via the use of cv 1401. |
| class {𝑥 ∣ 𝜑} | ||
| Definition | df-clab 2225 |
Define class abstraction notation (so-called by Quine), also called a
"class builder" in the literature. 𝑥 and 𝑦 need
not be distinct.
Definition 2.1 of [Quine] p. 16. Typically,
𝜑
will have 𝑦 as a
free variable, and "{𝑦 ∣ 𝜑} " is read "the class of
all sets 𝑦
such that 𝜑(𝑦) is true". We do not define
{𝑦 ∣
𝜑} in
isolation but only as part of an expression that extends or
"overloads"
the ∈ relationship.
This is our first use of the ∈ symbol to connect classes instead of sets. The syntax definition wcel 2209, which extends or "overloads" the wel 2210 definition connecting setvar variables, requires that both sides of ∈ be a class. In df-cleq 2231 and df-clel 2234, we introduce a new kind of variable (class variable) that can substituted with expressions such as {𝑦 ∣ 𝜑}. In the present definition, the 𝑥 on the left-hand side is a setvar variable. Syntax definition cv 1401 allows us to substitute a setvar variable 𝑥 for a class variable: all sets are classes by cvjust 2233 (but not necessarily vice-versa). For a full description of how classes are introduced and how to recover the primitive language, see the discussion in Quine (and under abeq2 2347 for a quick overview). 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 called the "axiom of class comprehension" by [Levy] p. 338, who treats the theory of classes as an extralogical extension to our logic and set theory axioms. He calls the construction {𝑦 ∣ 𝜑} a "class term". For a general discussion of the theory of classes, see https://us.metamath.org/mpeuni/mmset.html#class 2347. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ [𝑥 / 𝑦]𝜑) | ||
| Theorem | abid 2226 | Simplification of class abstraction notation when the free and bound variables are identical. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑥 ∈ {𝑥 ∣ 𝜑} ↔ 𝜑) | ||
| Theorem | hbab1 2227* | Bound-variable hypothesis builder for a class abstraction. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑦 ∈ {𝑥 ∣ 𝜑} → ∀𝑥 𝑦 ∈ {𝑥 ∣ 𝜑}) | ||
| Theorem | nfsab1 2228* | Bound-variable hypothesis builder for a class abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ Ⅎ𝑥 𝑦 ∈ {𝑥 ∣ 𝜑} | ||
| Theorem | hbab 2229* | Bound-variable hypothesis builder for a class abstraction. (Contributed by NM, 1-Mar-1995.) |
| ⊢ (𝜑 → ∀𝑥𝜑) ⇒ ⊢ (𝑧 ∈ {𝑦 ∣ 𝜑} → ∀𝑥 𝑧 ∈ {𝑦 ∣ 𝜑}) | ||
| Theorem | nfsab 2230* | Bound-variable hypothesis builder for a class abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥 𝑧 ∈ {𝑦 ∣ 𝜑} | ||
| Definition | df-cleq 2231* |
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.
This is an example of a somewhat "risky" definition, meaning that it has a more complex than usual soundness justification (outside of Metamath), because it "overloads" or reuses the existing equality symbol rather than introducing a new symbol. This allows us to make statements that may not hold for the original symbol. For example, it permits us to deduce 𝑦 = 𝑧 ↔ ∀𝑥(𝑥 ∈ 𝑦 ↔ 𝑥 ∈ 𝑧), which is not a theorem of logic but rather presupposes the Axiom of Extensionality (see Theorem axext4 2222). We therefore include this axiom as a hypothesis, so that the use of Extensionality is properly indicated. We could avoid this complication by introducing a new symbol, say =2, in place of =. This would also have the advantage of making elimination of the definition straightforward, so that we could eliminate Extensionality as a hypothesis. We would then also have the advantage of being able to identify in various proofs exactly where Extensionality truly comes into play rather than just being an artifact of a definition. One of our theorems would then be 𝑥 =2 𝑦 ↔ 𝑥 = 𝑦 by invoking Extensionality. However, to conform to literature usage, we retain this overloaded definition. This also makes some proofs shorter and probably easier to read, without the constant switching between two kinds of equality. See also comments under df-clab 2225, df-clel 2234, and abeq2 2347. In the form of dfcleq 2232, 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. For a general discussion of the theory of classes, see https://us.metamath.org/mpeuni/mmset.html#class 2232. (Contributed by NM, 15-Sep-1993.) |
| ⊢ (∀𝑥(𝑥 ∈ 𝑦 ↔ 𝑥 ∈ 𝑧) → 𝑦 = 𝑧) ⇒ ⊢ (𝐴 = 𝐵 ↔ ∀𝑥(𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) | ||
| Theorem | dfcleq 2232* | The same as df-cleq 2231 with the hypothesis removed using the Axiom of Extensionality ax-ext 2220. (Contributed by NM, 15-Sep-1993.) |
| ⊢ (𝐴 = 𝐵 ↔ ∀𝑥(𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) | ||
| Theorem | cvjust 2233* | 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 1401, which allows us to substitute a setvar variable for a class variable. See also cab 2224 and df-clab 2225. Note that this is not a rigorous justification, because cv 1401 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." (Contributed by NM, 7-Nov-2006.) |
| ⊢ 𝑥 = {𝑦 ∣ 𝑦 ∈ 𝑥} | ||
| Definition | df-clel 2234* |
Define the membership connective between classes. Theorem 6.3 of
[Quine] p. 41, or Proposition 4.6 of [TakeutiZaring] p. 13, which we
adopt as a definition. See these references for its metalogical
justification. Note that like df-cleq 2231 it extends or "overloads" the
use of the existing membership symbol, but unlike df-cleq 2231 it does not
strengthen the set of valid wffs of logic when the class variables are
replaced with setvar variables (see cleljust 2215), so we don't include
any set theory axiom as a hypothesis. See also comments about the
syntax under df-clab 2225.
This is called the "axiom of membership" by [Levy] p. 338, who treats the theory of classes as an extralogical extension to our logic and set theory axioms. For a general discussion of the theory of classes, see https://us.metamath.org/mpeuni/mmset.html#class 2225. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝐴 ∈ 𝐵 ↔ ∃𝑥(𝑥 = 𝐴 ∧ 𝑥 ∈ 𝐵)) | ||
| Theorem | eqriv 2235* | Infer equality of classes from equivalence of membership. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵) ⇒ ⊢ 𝐴 = 𝐵 | ||
| Theorem | eqrdv 2236* | Deduce equality of classes from equivalence of membership. (Contributed by NM, 17-Mar-1996.) |
| ⊢ (𝜑 → (𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) ⇒ ⊢ (𝜑 → 𝐴 = 𝐵) | ||
| Theorem | eqrdav 2237* | Deduce equality of classes from an equivalence of membership that depends on the membership variable. (Contributed by NM, 7-Nov-2008.) |
| ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝑥 ∈ 𝐶) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → 𝑥 ∈ 𝐶) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐶) → (𝑥 ∈ 𝐴 ↔ 𝑥 ∈ 𝐵)) ⇒ ⊢ (𝜑 → 𝐴 = 𝐵) | ||
| Theorem | eqid 2238 |
Law of identity (reflexivity of class equality). Theorem 6.4 of [Quine]
p. 41.
This law is thought to have originated with Aristotle (Metaphysics, Zeta, 17, 1041 a, 10-20). (Thanks to Stefan Allan and BJ for this information.) (Contributed by NM, 5-Aug-1993.) (Revised by BJ, 14-Oct-2017.) |
| ⊢ 𝐴 = 𝐴 | ||
| Theorem | eqidd 2239 | Class identity law with antecedent. (Contributed by NM, 21-Aug-2008.) |
| ⊢ (𝜑 → 𝐴 = 𝐴) | ||
| Theorem | eqcom 2240 | Commutative law for class equality. Theorem 6.5 of [Quine] p. 41. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝐴 = 𝐵 ↔ 𝐵 = 𝐴) | ||
| Theorem | eqcoms 2241 | Inference applying commutative law for class equality to an antecedent. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝐴 = 𝐵 → 𝜑) ⇒ ⊢ (𝐵 = 𝐴 → 𝜑) | ||
| Theorem | eqcomi 2242 | Inference from commutative law for class equality. (Contributed by NM, 5-Aug-1993.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ 𝐵 = 𝐴 | ||
| Theorem | neqcomd 2243 | Commute an inequality. (Contributed by Rohan Ridenour, 3-Aug-2023.) |
| ⊢ (𝜑 → ¬ 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ¬ 𝐵 = 𝐴) | ||
| Theorem | eqcomd 2244 | Deduction from commutative law for class equality. (Contributed by NM, 15-Aug-1994.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → 𝐵 = 𝐴) | ||
| Theorem | eqeq1 2245 | Equality implies equivalence of equalities. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝐴 = 𝐵 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐶)) | ||
| Theorem | eqeq1i 2246 | Inference from equality to equivalence of equalities. (Contributed by NM, 5-Aug-1993.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ (𝐴 = 𝐶 ↔ 𝐵 = 𝐶) | ||
| Theorem | eqeq1d 2247 | Deduction from equality to equivalence of equalities. (Contributed by NM, 27-Dec-1993.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐶)) | ||
| Theorem | eqeq2 2248 | Equality implies equivalence of equalities. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝐴 = 𝐵 → (𝐶 = 𝐴 ↔ 𝐶 = 𝐵)) | ||
| Theorem | eqeq2i 2249 | Inference from equality to equivalence of equalities. (Contributed by NM, 5-Aug-1993.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ (𝐶 = 𝐴 ↔ 𝐶 = 𝐵) | ||
| Theorem | eqeq2d 2250 | Deduction from equality to equivalence of equalities. (Contributed by NM, 27-Dec-1993.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → (𝐶 = 𝐴 ↔ 𝐶 = 𝐵)) | ||
| Theorem | eqeq12 2251 | Equality relationship among 4 classes. (Contributed by NM, 3-Aug-1994.) |
| ⊢ ((𝐴 = 𝐵 ∧ 𝐶 = 𝐷) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
| Theorem | eqeq12i 2252 | A useful inference for substituting definitions into an equality. (Contributed by NM, 5-Aug-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ (𝐴 = 𝐶 ↔ 𝐵 = 𝐷) | ||
| Theorem | eqeq12d 2253 | A useful inference for substituting definitions into an equality. (Contributed by NM, 5-Aug-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
| Theorem | eqeqan12d 2254 | A useful inference for substituting definitions into an equality. (Contributed by NM, 9-Aug-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐶 = 𝐷) ⇒ ⊢ ((𝜑 ∧ 𝜓) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
| Theorem | eqeqan12rd 2255 | A useful inference for substituting definitions into an equality. (Contributed by NM, 9-Aug-1994.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐶 = 𝐷) ⇒ ⊢ ((𝜓 ∧ 𝜑) → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
| Theorem | eqtr 2256 | Transitive law for class equality. Proposition 4.7(3) of [TakeutiZaring] p. 13. (Contributed by NM, 25-Jan-2004.) |
| ⊢ ((𝐴 = 𝐵 ∧ 𝐵 = 𝐶) → 𝐴 = 𝐶) | ||
| Theorem | eqtr2 2257 | A transitive law for class equality. (Contributed by NM, 20-May-2005.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ ((𝐴 = 𝐵 ∧ 𝐴 = 𝐶) → 𝐵 = 𝐶) | ||
| Theorem | eqtr3 2258 | A transitive law for class equality. (Contributed by NM, 20-May-2005.) |
| ⊢ ((𝐴 = 𝐶 ∧ 𝐵 = 𝐶) → 𝐴 = 𝐵) | ||
| Theorem | eqtri 2259 | An equality transitivity inference. (Contributed by NM, 5-Aug-1993.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 ⇒ ⊢ 𝐴 = 𝐶 | ||
| Theorem | eqtr2i 2260 | An equality transitivity inference. (Contributed by NM, 21-Feb-1995.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 ⇒ ⊢ 𝐶 = 𝐴 | ||
| Theorem | eqtr3i 2261 | An equality transitivity inference. (Contributed by NM, 6-May-1994.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐴 = 𝐶 ⇒ ⊢ 𝐵 = 𝐶 | ||
| Theorem | eqtr4i 2262 | An equality transitivity inference. (Contributed by NM, 5-Aug-1993.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐵 ⇒ ⊢ 𝐴 = 𝐶 | ||
| Theorem | 3eqtri 2263 | An inference from three chained equalities. (Contributed by NM, 29-Aug-1993.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐴 = 𝐷 | ||
| Theorem | 3eqtrri 2264 | An inference from three chained equalities. (Contributed by NM, 3-Aug-2006.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐵 = 𝐶 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐷 = 𝐴 | ||
| Theorem | 3eqtr2i 2265 | An inference from three chained equalities. (Contributed by NM, 3-Aug-2006.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐴 = 𝐷 | ||
| Theorem | 3eqtr2ri 2266 | An inference from three chained equalities. (Contributed by NM, 3-Aug-2006.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ 𝐷 = 𝐴 | ||
| Theorem | 3eqtr3i 2267 | An inference from three chained equalities. (Contributed by NM, 6-May-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐴 = 𝐶 & ⊢ 𝐵 = 𝐷 ⇒ ⊢ 𝐶 = 𝐷 | ||
| Theorem | 3eqtr3ri 2268 | An inference from three chained equalities. (Contributed by NM, 15-Aug-2004.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐴 = 𝐶 & ⊢ 𝐵 = 𝐷 ⇒ ⊢ 𝐷 = 𝐶 | ||
| Theorem | 3eqtr4i 2269 | An inference from three chained equalities. (Contributed by NM, 5-Aug-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐴 & ⊢ 𝐷 = 𝐵 ⇒ ⊢ 𝐶 = 𝐷 | ||
| Theorem | 3eqtr4ri 2270 | An inference from three chained equalities. (Contributed by NM, 2-Sep-1995.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐴 & ⊢ 𝐷 = 𝐵 ⇒ ⊢ 𝐷 = 𝐶 | ||
| Theorem | eqtrd 2271 | An equality transitivity deduction. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
| Theorem | eqtr2d 2272 | An equality transitivity deduction. (Contributed by NM, 18-Oct-1999.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐶 = 𝐴) | ||
| Theorem | eqtr3d 2273 | An equality transitivity equality deduction. (Contributed by NM, 18-Jul-1995.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐴 = 𝐶) ⇒ ⊢ (𝜑 → 𝐵 = 𝐶) | ||
| Theorem | eqtr4d 2274 | An equality transitivity equality deduction. (Contributed by NM, 18-Jul-1995.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐵) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
| Theorem | 3eqtrd 2275 | A deduction from three chained equalities. (Contributed by NM, 29-Oct-1995.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐴 = 𝐷) | ||
| Theorem | 3eqtrrd 2276 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-2006.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐵 = 𝐶) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐷 = 𝐴) | ||
| Theorem | 3eqtr2d 2277 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-2006.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐴 = 𝐷) | ||
| Theorem | 3eqtr2rd 2278 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-2006.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → 𝐷 = 𝐴) | ||
| Theorem | 3eqtr3d 2279 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-1995.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐴 = 𝐶) & ⊢ (𝜑 → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
| Theorem | 3eqtr3rd 2280 | A deduction from three chained equalities. (Contributed by NM, 14-Jan-2006.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐴 = 𝐶) & ⊢ (𝜑 → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → 𝐷 = 𝐶) | ||
| Theorem | 3eqtr4d 2281 | A deduction from three chained equalities. (Contributed by NM, 4-Aug-1995.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐴) & ⊢ (𝜑 → 𝐷 = 𝐵) ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
| Theorem | 3eqtr4rd 2282 | A deduction from three chained equalities. (Contributed by NM, 21-Sep-1995.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐴) & ⊢ (𝜑 → 𝐷 = 𝐵) ⇒ ⊢ (𝜑 → 𝐷 = 𝐶) | ||
| Theorem | eqtrid 2283 | An equality transitivity deduction. (Contributed by NM, 21-Jun-1993.) |
| ⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
| Theorem | eqtr2id 2284 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
| ⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐶 = 𝐴) | ||
| Theorem | eqtr3id 2285 | An equality transitivity deduction. (Contributed by NM, 5-Aug-1993.) |
| ⊢ 𝐵 = 𝐴 & ⊢ (𝜑 → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
| Theorem | eqtr3di 2286 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐴 = 𝐶 ⇒ ⊢ (𝜑 → 𝐵 = 𝐶) | ||
| Theorem | eqtrdi 2287 | An equality transitivity deduction. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐵 = 𝐶 ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
| Theorem | eqtr2di 2288 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐵 = 𝐶 ⇒ ⊢ (𝜑 → 𝐶 = 𝐴) | ||
| Theorem | eqtr4di 2289 | An equality transitivity deduction. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐶 = 𝐵 ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
| Theorem | eqtr4id 2290 | An equality transitivity deduction. (Contributed by NM, 29-Mar-1998.) |
| ⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐶 = 𝐵) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
| Theorem | sylan9eq 2291 | An equality transitivity deduction. (Contributed by NM, 8-May-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐵 = 𝐶) ⇒ ⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐶) | ||
| Theorem | sylan9req 2292 | An equality transitivity deduction. (Contributed by NM, 23-Jun-2007.) |
| ⊢ (𝜑 → 𝐵 = 𝐴) & ⊢ (𝜓 → 𝐵 = 𝐶) ⇒ ⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐶) | ||
| Theorem | sylan9eqr 2293 | An equality transitivity deduction. (Contributed by NM, 8-May-1994.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜓 → 𝐵 = 𝐶) ⇒ ⊢ ((𝜓 ∧ 𝜑) → 𝐴 = 𝐶) | ||
| Theorem | 3eqtr3g 2294 | A chained equality inference, useful for converting from definitions. (Contributed by NM, 15-Nov-1994.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐴 = 𝐶 & ⊢ 𝐵 = 𝐷 ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
| Theorem | 3eqtr3a 2295 | A chained equality inference, useful for converting from definitions. (Contributed by Mario Carneiro, 6-Nov-2015.) |
| ⊢ 𝐴 = 𝐵 & ⊢ (𝜑 → 𝐴 = 𝐶) & ⊢ (𝜑 → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
| Theorem | 3eqtr4g 2296 | A chained equality inference, useful for converting to definitions. (Contributed by NM, 5-Aug-1993.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ 𝐶 = 𝐴 & ⊢ 𝐷 = 𝐵 ⇒ ⊢ (𝜑 → 𝐶 = 𝐷) | ||
| Theorem | 3eqtr4a 2297 | 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 2298 | A compound transitive inference for class equality. (Contributed by NM, 22-Jan-2004.) |
| ⊢ (𝐴 = 𝐶 → 𝐷 = 𝐹) & ⊢ (𝐵 = 𝐷 → 𝐶 = 𝐺) ⇒ ⊢ ((𝐴 = 𝐶 ∧ 𝐵 = 𝐹) ↔ (𝐵 = 𝐷 ∧ 𝐴 = 𝐺)) | ||
| Theorem | eleq1w 2299 | Weaker version of eleq1 2301 (but more general than elequ1 2213) not depending on ax-ext 2220 nor df-cleq 2231. (Contributed by BJ, 24-Jun-2019.) |
| ⊢ (𝑥 = 𝑦 → (𝑥 ∈ 𝐴 ↔ 𝑦 ∈ 𝐴)) | ||
| Theorem | eleq2w 2300 | Weaker version of eleq2 2302 (but more general than elequ2 2214) not depending on ax-ext 2220 nor df-cleq 2231. (Contributed by BJ, 29-Sep-2019.) |
| ⊢ (𝑥 = 𝑦 → (𝐴 ∈ 𝑥 ↔ 𝐴 ∈ 𝑦)) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |