| Metamath
Proof Explorer Theorem List (p. 38 of 498) | < 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-30880) |
(30881-32403) |
(32404-49778) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | rmoan 3701 | Restricted "at most one" still holds when a conjunct is added. (Contributed by NM, 16-Jun-2017.) |
| ⊢ (∃*𝑥 ∈ 𝐴 𝜑 → ∃*𝑥 ∈ 𝐴 (𝜓 ∧ 𝜑)) | ||
| Theorem | rmoim 3702 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) → (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | rmoimia 3703 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (𝑥 ∈ 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | rmoimi 3704 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (𝜑 → 𝜓) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | rmoimi2 3705 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ ∀𝑥((𝑥 ∈ 𝐴 ∧ 𝜑) → (𝑥 ∈ 𝐵 ∧ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐵 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | 2reu5a 3706 | Double restricted existential uniqueness in terms of restricted existence and restricted "at most one". (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∃!𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑 ↔ (∃𝑥 ∈ 𝐴 (∃𝑦 ∈ 𝐵 𝜑 ∧ ∃*𝑦 ∈ 𝐵 𝜑) ∧ ∃*𝑥 ∈ 𝐴 (∃𝑦 ∈ 𝐵 𝜑 ∧ ∃*𝑦 ∈ 𝐵 𝜑))) | ||
| Theorem | reuimrmo 3707 | Restricted uniqueness implies restricted "at most one" through implication, analogous to euimmo 2609. (Contributed by Alexander van der Vekens, 25-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) → (∃!𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | 2reuswap 3708* | A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) (Revised by NM, 16-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 → (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃!𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | 2reuswap2 3709* | A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 ∃*𝑦(𝑦 ∈ 𝐵 ∧ 𝜑) → (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃!𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | reuxfrd 3710* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by NM, 16-Jan-2012.) Separate variables 𝐵 and 𝐶. (Revised by Thierry Arnoux, 8-Oct-2017.) |
| ⊢ ((𝜑 ∧ 𝑦 ∈ 𝐶) → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃*𝑦 ∈ 𝐶 𝑥 = 𝐴) ⇒ ⊢ (𝜑 → (∃!𝑥 ∈ 𝐵 ∃𝑦 ∈ 𝐶 (𝑥 = 𝐴 ∧ 𝜓) ↔ ∃!𝑦 ∈ 𝐶 𝜓)) | ||
| Theorem | reuxfr 3711* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by NM, 14-Nov-2004.) (Revised by NM, 16-Jun-2017.) |
| ⊢ (𝑦 ∈ 𝐶 → 𝐴 ∈ 𝐵) & ⊢ (𝑥 ∈ 𝐵 → ∃*𝑦 ∈ 𝐶 𝑥 = 𝐴) ⇒ ⊢ (∃!𝑥 ∈ 𝐵 ∃𝑦 ∈ 𝐶 (𝑥 = 𝐴 ∧ 𝜑) ↔ ∃!𝑦 ∈ 𝐶 𝜑) | ||
| Theorem | reuxfr1d 3712* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. Cf. reuxfr1ds 3713. (Contributed by Thierry Arnoux, 7-Apr-2017.) |
| ⊢ ((𝜑 ∧ 𝑦 ∈ 𝐶) → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃!𝑦 ∈ 𝐶 𝑥 = 𝐴) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (∃!𝑥 ∈ 𝐵 𝜓 ↔ ∃!𝑦 ∈ 𝐶 𝜒)) | ||
| Theorem | reuxfr1ds 3713* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. Use reuhypd 5361 to eliminate the second hypothesis. (Contributed by NM, 16-Jan-2012.) |
| ⊢ ((𝜑 ∧ 𝑦 ∈ 𝐶) → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃!𝑦 ∈ 𝐶 𝑥 = 𝐴) & ⊢ (𝑥 = 𝐴 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (∃!𝑥 ∈ 𝐵 𝜓 ↔ ∃!𝑦 ∈ 𝐶 𝜒)) | ||
| Theorem | reuxfr1 3714* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. Use reuhyp 5362 to eliminate the second hypothesis. (Contributed by NM, 14-Nov-2004.) |
| ⊢ (𝑦 ∈ 𝐶 → 𝐴 ∈ 𝐵) & ⊢ (𝑥 ∈ 𝐵 → ∃!𝑦 ∈ 𝐶 𝑥 = 𝐴) & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐵 𝜑 ↔ ∃!𝑦 ∈ 𝐶 𝜓) | ||
| Theorem | reuind 3715* | Existential uniqueness via an indirect equality. (Contributed by NM, 16-Oct-2010.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ ((∀𝑥∀𝑦(((𝐴 ∈ 𝐶 ∧ 𝜑) ∧ (𝐵 ∈ 𝐶 ∧ 𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴 ∈ 𝐶 ∧ 𝜑)) → ∃!𝑧 ∈ 𝐶 ∀𝑥((𝐴 ∈ 𝐶 ∧ 𝜑) → 𝑧 = 𝐴)) | ||
| Theorem | 2rmorex 3716* | Double restricted quantification with "at most one", analogous to 2moex 2633. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∃*𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | 2reu5lem1 3717* | Lemma for 2reu5 3720. Note that ∃!𝑥 ∈ 𝐴∃!𝑦 ∈ 𝐵𝜑 does not mean "there is exactly one 𝑥 in 𝐴 and exactly one 𝑦 in 𝐵 such that 𝜑 holds"; see comment for 2eu5 2649. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∃!𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑 ↔ ∃!𝑥∃!𝑦(𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ∧ 𝜑)) | ||
| Theorem | 2reu5lem2 3718* | Lemma for 2reu5 3720. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 ↔ ∀𝑥∃*𝑦(𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ∧ 𝜑)) | ||
| Theorem | 2reu5lem3 3719* | Lemma for 2reu5 3720. This lemma is interesting in its own right, showing that existential restriction in the last conjunct (the "at most one" part) is optional; compare rmo2 3841. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ ((∃!𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑) ↔ (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 ∧ ∃𝑧∃𝑤∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 (𝜑 → (𝑥 = 𝑧 ∧ 𝑦 = 𝑤)))) | ||
| Theorem | 2reu5 3720* | Double restricted existential uniqueness in terms of restricted existential quantification and restricted universal quantification, analogous to 2eu5 2649 and reu3 3689. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ ((∃!𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑) ↔ (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 ∧ ∃𝑧 ∈ 𝐴 ∃𝑤 ∈ 𝐵 ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 (𝜑 → (𝑥 = 𝑧 ∧ 𝑦 = 𝑤)))) | ||
| Theorem | 2reurmo 3721 | Double restricted quantification with restricted existential uniqueness and restricted "at most one", analogous to 2eumo 2635. (Contributed by Alexander van der Vekens, 24-Jun-2017.) |
| ⊢ (∃!𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 → ∃*𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑) | ||
| Theorem | 2reurex 3722* | Double restricted quantification with existential uniqueness, analogous to 2euex 2634. (Contributed by Alexander van der Vekens, 24-Jun-2017.) |
| ⊢ (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃𝑦 ∈ 𝐵 ∃!𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | 2rmoswap 3723* | A condition allowing to swap restricted "at most one" and restricted existential quantifiers, analogous to 2moswap 2637. (Contributed by Alexander van der Vekens, 25-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 → (∃*𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃*𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | 2rexreu 3724* | Double restricted existential uniqueness implies double restricted unique existential quantification, analogous to 2exeu 2639. (Contributed by Alexander van der Vekens, 25-Jun-2017.) |
| ⊢ ((∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 ∧ ∃!𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑) → ∃!𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑) | ||
This is a very useless definition, which "abbreviates" (𝑥 = 𝑦 → 𝜑) as CondEq(𝑥 = 𝑦 → 𝜑). What this display hides, though, is that the first expression, even though it has a shorter constant string, is actually much more complicated in its parse tree: it is parsed as (wi (wceq (cv vx) (cv vy)) wph), while the CondEq version is parsed as (wcdeq vx vy wph). It also allows to give a name to the specific ternary operation (𝑥 = 𝑦 → 𝜑). This is all used as part of a metatheorem: we want to say that ⊢ (𝑥 = 𝑦 → (𝜑(𝑥) ↔ 𝜑(𝑦))) and ⊢ (𝑥 = 𝑦 → 𝐴(𝑥) = 𝐴(𝑦)) are provable, for any expressions 𝜑(𝑥) or 𝐴(𝑥) in the language. The proof is by induction, so the base case is each of the primitives, which is why you will see a theorem for each of the set.mm primitive operations. The metatheorem comes with a disjoint variables assumption: every variable in 𝜑(𝑥) is assumed disjoint from 𝑥 except 𝑥 itself. For such a proof by induction, we must consider each of the possible forms of 𝜑(𝑥). If it is a variable other than 𝑥, then we have CondEq(𝑥 = 𝑦 → 𝐴 = 𝐴) or CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜑)), which is provable by cdeqth 3729 and reflexivity. Since we are only working with class and wff expressions, it can't be 𝑥 itself in set.mm, but if it was we'd have to also prove CondEq(𝑥 = 𝑦 → 𝑥 = 𝑦) (where set equality is being used on the right). Otherwise, it is a primitive operation applied to smaller expressions. In these cases, for each setvar variable parameter to the operation, we must consider if it is equal to 𝑥 or not, which yields 2^n proof obligations. Luckily, all primitive operations in set.mm have either zero or one setvar variable, so we only need to prove one statement for the non-set constructors (like implication) and two for the constructors taking a set (the universal quantifier and the class builder). In each of the primitive proofs, we are allowed to assume that 𝑦 is disjoint from 𝜑(𝑥) and vice versa, because this is maintained through the induction. This is how we satisfy the disjoint variable conditions of cdeqab1 3734 and cdeqab 3732. | ||
| Syntax | wcdeq 3725 | Extend wff notation to include conditional equality. This is a technical device used in the proof that Ⅎ is the not-free predicate, and that definitions are conservative as a result. |
| wff CondEq(𝑥 = 𝑦 → 𝜑) | ||
| Definition | df-cdeq 3726 | Define conditional equality. All the notation to the left of the ↔ is fake; the parentheses and arrows are all part of the notation, which could equally well be written CondEq𝑥𝑦𝜑. On the right side is the actual implication arrow. The reason for this definition is to "flatten" the structure on the right side (whose tree structure is something like (wi (wceq (cv vx) (cv vy)) wph) ) into just (wcdeq vx vy wph). (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ (CondEq(𝑥 = 𝑦 → 𝜑) ↔ (𝑥 = 𝑦 → 𝜑)) | ||
| Theorem | cdeqi 3727 | Deduce conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ (𝑥 = 𝑦 → 𝜑) ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqri 3728 | Property of conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝜑) ⇒ ⊢ (𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqth 3729 | Deduce conditional equality from a theorem. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ 𝜑 ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqnot 3730 | Distribute conditional equality over negation. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (¬ 𝜑 ↔ ¬ 𝜓)) | ||
| Theorem | cdeqal 3731* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (∀𝑧𝜑 ↔ ∀𝑧𝜓)) | ||
| Theorem | cdeqab 3732* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → {𝑧 ∣ 𝜑} = {𝑧 ∣ 𝜓}) | ||
| Theorem | cdeqal1 3733* | Distribute conditional equality over quantification. Usage of this theorem is discouraged because it depends on ax-13 2370. (Contributed by Mario Carneiro, 11-Aug-2016.) (New usage is discouraged.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (∀𝑥𝜑 ↔ ∀𝑦𝜓)) | ||
| Theorem | cdeqab1 3734* | Distribute conditional equality over abstraction. Usage of this theorem is discouraged because it depends on ax-13 2370. (Contributed by Mario Carneiro, 11-Aug-2016.) (New usage is discouraged.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → {𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓}) | ||
| Theorem | cdeqim 3735 | Distribute conditional equality over implication. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ CondEq(𝑥 = 𝑦 → (𝜒 ↔ 𝜃)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → ((𝜑 → 𝜒) ↔ (𝜓 → 𝜃))) | ||
| Theorem | cdeqcv 3736 | Conditional equality for set-to-class promotion. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝑥 = 𝑦) | ||
| Theorem | cdeqeq 3737 | Distribute conditional equality over equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
| Theorem | cdeqel 3738 | Distribute conditional equality over elementhood. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 ∈ 𝐶 ↔ 𝐵 ∈ 𝐷)) | ||
| Theorem | nfcdeq 3739* | If we have a conditional equality proof, where 𝜑 is 𝜑(𝑥) and 𝜓 is 𝜑(𝑦), and 𝜑(𝑥) in fact does not have 𝑥 free in it according to Ⅎ, then 𝜑(𝑥) ↔ 𝜑(𝑦) unconditionally. This proves that Ⅎ𝑥𝜑 is actually a not-free predicate. Usage of this theorem is discouraged because it depends on ax-13 2370. (Contributed by Mario Carneiro, 11-Aug-2016.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝜑 ↔ 𝜓) | ||
| Theorem | nfccdeq 3740* | Variation of nfcdeq 3739 for classes. Usage of this theorem is discouraged because it depends on ax-13 2370. (Contributed by Mario Carneiro, 11-Aug-2016.) Avoid ax-11 2158. (Revised by GG, 19-May-2023.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ 𝐴 = 𝐵 | ||
| Theorem | rru 3741* |
Relative version of Russell's paradox ru 3742 (which corresponds to the
case 𝐴 = V).
Originally a subproof in pwnss 5294. (Contributed by Stefan O'Rear, 22-Feb-2015.) Avoid df-nel 3030. (Revised by Steven Nguyen, 23-Nov-2022.) Reduce axiom usage. (Revised by GG, 30-Aug-2024.) |
| ⊢ ¬ {𝑥 ∈ 𝐴 ∣ ¬ 𝑥 ∈ 𝑥} ∈ 𝐴 | ||
| Theorem | ru 3742 |
Russell's Paradox. Proposition 4.14 of [TakeutiZaring] p. 14.
In the late 1800s, Frege's Axiom of (unrestricted) Comprehension, expressed in our notation as 𝐴 ∈ V, asserted that any collection of sets 𝐴 is a set i.e. belongs to the universe V of all sets. In particular, by substituting {𝑥 ∣ 𝑥 ∉ 𝑥} (the "Russell class") for 𝐴, it asserted {𝑥 ∣ 𝑥 ∉ 𝑥} ∈ V, meaning that the "collection of all sets which are not members of themselves" is a set. However, here we prove {𝑥 ∣ 𝑥 ∉ 𝑥} ∉ V. This contradiction was discovered by Russell in 1901 (published in 1903), invalidating the Comprehension Axiom and leading to the collapse of Frege's system, which Frege acknowledged in the second edition of his Grundgesetze der Arithmetik. In 1908, Zermelo rectified this fatal flaw by replacing Comprehension with a weaker Subset (or Separation) Axiom ssex 5263 asserting that 𝐴 is a set only when it is smaller than some other set 𝐵. However, Zermelo was then faced with a "chicken and egg" problem of how to show 𝐵 is a set, leading him to introduce the set-building axioms of Null Set 0ex 5249, Pairing prex 5379, Union uniex 7681, Power Set pwex 5322, and Infinity omex 9558 to give him some starting sets to work with (all of which, before Russell's Paradox, were immediate consequences of Frege's Comprehension). In 1922 Fraenkel strengthened the Subset Axiom with our present Replacement Axiom funimaex 6574 (whose modern formalization is due to Skolem, also in 1922). Thus, in a very real sense Russell's Paradox spawned the invention of ZF set theory and completely revised the foundations of mathematics! Another mainstream formalization of set theory, devised by von Neumann, Bernays, and Goedel, uses class variables rather than setvar variables as its primitives. The axiom system NBG in [Mendelson] p. 225 is suitable for a Metamath encoding. NBG is a conservative extension of ZF in that it proves exactly the same theorems as ZF that are expressible in the language of ZF. An advantage of NBG is that it is finitely axiomatizable - the Axiom of Replacement can be broken down into a finite set of formulas that eliminate its wff metavariable. Finite axiomatizability is required by some proof languages (although not by Metamath). There is a stronger version of NBG called Morse-Kelley (axiom system MK in [Mendelson] p. 287). Russell himself continued in a different direction, avoiding the paradox with his "theory of types". Quine extended Russell's ideas to formulate his New Foundations set theory (axiom system NF of [Quine] p. 331). In NF, the collection of all sets is a set, contrarily to ZF and NBG set theories. Russell's paradox has other consequences: when classes are too large (beyond the size of those used in standard mathematics), the axiom of choice ac4 10388 and Cantor's theorem canth 7307 are provably false. (See ncanth 7308 for some intuition behind the latter.) Recent results (as of 2014) seem to show that NF is equiconsistent to Z (ZF in which ax-sep 5238 replaces ax-rep 5221) with ax-sep 5238 restricted to only bounded quantifiers. NF is finitely axiomatizable and can be encoded in Metamath using the axioms from T. Hailperin, "A set of axioms for logic", J. Symb. Logic 9:1-19 (1944). Under our ZF set theory, every set is a member of the Russell class by elirrv 9508 (derived from the Axiom of Regularity), so for us the Russell class equals the universe V (Theorem ruv 9516). See ruALT 9517 for an alternate proof of ru 3742 derived from that fact. (Contributed by NM, 7-Aug-1994.) Remove use of ax-13 2370. (Revised by BJ, 12-Oct-2019.) Remove use of ax-10 2142, ax-11 2158, and ax-12 2178. (Revised by BTernaryTau, 20-Jun-2025.) (Proof modification is discouraged.) |
| ⊢ {𝑥 ∣ 𝑥 ∉ 𝑥} ∉ V | ||
| Theorem | ruOLD 3743 | Obsolete version of ru 3742 as of 20-Jun-2025. (Contributed by NM, 7-Aug-1994.) Remove use of ax-13 2370. (Revised by BJ, 12-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ {𝑥 ∣ 𝑥 ∉ 𝑥} ∉ V | ||
| Syntax | wsbc 3744 | Extend wff notation to include the proper substitution of a class for a set. Read this notation as "the proper substitution of class 𝐴 for setvar variable 𝑥 in wff 𝜑". |
| wff [𝐴 / 𝑥]𝜑 | ||
| Definition | df-sbc 3745 |
Define the proper substitution of a class for a set.
When 𝐴 is a proper class, our definition evaluates to false (see sbcex 3754). This is somewhat arbitrary: we could have, instead, chosen the conclusion of sbc6 3775 for our definition, whose right-hand side always evaluates to true for proper classes. Our definition also does not produce the same results as discussed in the proof of Theorem 6.6 of [Quine] p. 42 (although Theorem 6.6 itself does hold, as shown by dfsbcq 3746 below). For example, if 𝐴 is a proper class, Quine's substitution of 𝐴 for 𝑦 in 0 ∈ 𝑦 evaluates to 0 ∈ 𝐴 rather than our falsehood. (This can be seen by substituting 𝐴, 𝑦, and 0 for alpha, beta, and gamma in Subcase 1 of Quine's discussion on p. 42.) Unfortunately, Quine's definition requires a recursive syntactic breakdown of 𝜑, and it does not seem possible to express it with a single closed formula. If we did not want to commit to any specific proper class behavior, we could use this definition only to prove Theorem dfsbcq 3746, which holds for both our definition and Quine's, and from which we can derive a weaker version of df-sbc 3745 in the form of sbc8g 3752. However, the behavior of Quine's definition at proper classes is similarly arbitrary, and for practical reasons (to avoid having to prove sethood of 𝐴 in every use of this definition) we allow direct reference to df-sbc 3745 and assert that [𝐴 / 𝑥]𝜑 is always false when 𝐴 is a proper class. Theorem sbc2or 3753 shows the apparently "strongest" statement we can make regarding behavior at proper classes if we start from dfsbcq 3746. The related definition df-csb 3854 defines proper substitution into a class variable (as opposed to a wff variable). (Contributed by NM, 14-Apr-1995.) (Revised by NM, 25-Dec-2016.) |
| ⊢ ([𝐴 / 𝑥]𝜑 ↔ 𝐴 ∈ {𝑥 ∣ 𝜑}) | ||
| Theorem | dfsbcq 3746 |
Proper substitution of a class for a set in a wff given equal classes.
This is the essence of the sixth axiom of Frege, specifically Proposition
52 of [Frege1879] p. 50.
This theorem, which is similar to Theorem 6.7 of [Quine] p. 42 and holds under both our definition and Quine's, provides us with a weak definition of the proper substitution of a class for a set. Since our df-sbc 3745 does not result in the same behavior as Quine's for proper classes, if we wished to avoid conflict with Quine's definition we could start with this theorem and dfsbcq2 3747 instead of df-sbc 3745. (dfsbcq2 3747 is needed because unlike Quine we do not overload the df-sb 2066 syntax.) As a consequence of these theorems, we can derive sbc8g 3752, which is a weaker version of df-sbc 3745 that leaves substitution undefined when 𝐴 is a proper class. However, it is often a nuisance to have to prove the sethood hypothesis of sbc8g 3752, so we will allow direct use of df-sbc 3745 after Theorem sbc2or 3753 below. Proper substitution with a proper class is rarely needed, and when it is, we can simply use the expansion of Quine's definition. (Contributed by NM, 14-Apr-1995.) |
| ⊢ (𝐴 = 𝐵 → ([𝐴 / 𝑥]𝜑 ↔ [𝐵 / 𝑥]𝜑)) | ||
| Theorem | dfsbcq2 3747 | This theorem, which is similar to Theorem 6.7 of [Quine] p. 42 and holds under both our definition and Quine's, relates logic substitution df-sb 2066 and substitution for class variables df-sbc 3745. Unlike Quine, we use a different syntax for each in order to avoid overloading it. See remarks in dfsbcq 3746. (Contributed by NM, 31-Dec-2016.) |
| ⊢ (𝑦 = 𝐴 → ([𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbsbc 3748 | Show that df-sb 2066 and df-sbc 3745 are equivalent when the class term 𝐴 in df-sbc 3745 is a setvar variable. This theorem lets us reuse theorems based on df-sb 2066 for proofs involving df-sbc 3745. (Contributed by NM, 31-Dec-2016.) (Proof modification is discouraged.) |
| ⊢ ([𝑦 / 𝑥]𝜑 ↔ [𝑦 / 𝑥]𝜑) | ||
| Theorem | sbceq1d 3749 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐵 / 𝑥]𝜓)) | ||
| Theorem | sbceq1dd 3750 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) ⇒ ⊢ (𝜑 → [𝐵 / 𝑥]𝜓) | ||
| Theorem | sbceqbid 3751* | Equality theorem for class substitution. (Contributed by Thierry Arnoux, 4-Sep-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐵 / 𝑥]𝜒)) | ||
| Theorem | sbc8g 3752 | This is the closest we can get to df-sbc 3745 if we start from dfsbcq 3746 (see its comments) and dfsbcq2 3747. (Contributed by NM, 18-Nov-2008.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝐴 ∈ {𝑥 ∣ 𝜑})) | ||
| Theorem | sbc2or 3753* | The disjunction of two equivalences for class substitution does not require a class existence hypothesis. This theorem tells us that there are only 2 possibilities for [𝐴 / 𝑥]𝜑 behavior at proper classes, matching the sbc5 3772 (false) and sbc6 3775 (true) conclusions. This is interesting since dfsbcq 3746 and dfsbcq2 3747 (from which it is derived) do not appear to say anything obvious about proper class behavior. Note that this theorem does not tell us that it is always one or the other at proper classes; it could "flip" between false (the first disjunct) and true (the second disjunct) as a function of some other variable 𝑦 that 𝜑 or 𝐴 may contain. (Contributed by NM, 11-Oct-2004.) (Proof modification is discouraged.) |
| ⊢ (([𝐴 / 𝑥]𝜑 ↔ ∃𝑥(𝑥 = 𝐴 ∧ 𝜑)) ∨ ([𝐴 / 𝑥]𝜑 ↔ ∀𝑥(𝑥 = 𝐴 → 𝜑))) | ||
| Theorem | sbcex 3754 | By our definition of proper substitution, it can only be true if the substituted expression is a set. (Contributed by Mario Carneiro, 13-Oct-2016.) |
| ⊢ ([𝐴 / 𝑥]𝜑 → 𝐴 ∈ V) | ||
| Theorem | sbceq1a 3755 | Equality theorem for class substitution. Class version of sbequ12 2252. (Contributed by NM, 26-Sep-2003.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbceq2a 3756 | Equality theorem for class substitution. Class version of sbequ12r 2253. (Contributed by NM, 4-Jan-2017.) |
| ⊢ (𝐴 = 𝑥 → ([𝐴 / 𝑥]𝜑 ↔ 𝜑)) | ||
| Theorem | spsbc 3757 | Specialization: if a formula is true for all sets, it is true for any class which is a set. Similar to Theorem 6.11 of [Quine] p. 44. This is Frege's ninth axiom per Proposition 58 of [Frege1879] p. 51. See also stdpc4 2069 and rspsbc 3833. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → (∀𝑥𝜑 → [𝐴 / 𝑥]𝜑)) | ||
| Theorem | spsbcd 3758 | Specialization: if a formula is true for all sets, it is true for any class which is a set. Similar to Theorem 6.11 of [Quine] p. 44. See also stdpc4 2069 and rspsbc 3833. (Contributed by Mario Carneiro, 9-Feb-2017.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → ∀𝑥𝜓) ⇒ ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) | ||
| Theorem | sbcth 3759 | A substitution into a theorem remains true (when 𝐴 is a set). (Contributed by NM, 5-Nov-2005.) |
| ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcthdv 3760* | Deduction version of sbcth 3759. (Contributed by NM, 30-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |
| ⊢ (𝜑 → 𝜓) ⇒ ⊢ ((𝜑 ∧ 𝐴 ∈ 𝑉) → [𝐴 / 𝑥]𝜓) | ||
| Theorem | sbcid 3761 | An identity theorem for substitution. See sbid 2256. (Contributed by Mario Carneiro, 18-Feb-2017.) |
| ⊢ ([𝑥 / 𝑥]𝜑 ↔ 𝜑) | ||
| Theorem | nfsbc1d 3762 | Deduction version of nfsbc1 3763. (Contributed by NM, 23-May-2006.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ (𝜑 → Ⅎ𝑥𝐴) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑥]𝜓) | ||
| Theorem | nfsbc1 3763 | Bound-variable hypothesis builder for class substitution. (Contributed by NM, 5-Aug-1993.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑥𝐴 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
| Theorem | nfsbc1v 3764* | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
| Theorem | nfsbcdw 3765* | Deduction version of nfsbcw 3766. Version of nfsbcd 3768 with a disjoint variable condition, which does not require ax-13 2370. (Contributed by NM, 23-Nov-2005.) Avoid ax-13 2370. (Revised by GG, 10-Jan-2024.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → Ⅎ𝑥𝜓) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑦]𝜓) | ||
| Theorem | nfsbcw 3766* | Bound-variable hypothesis builder for class substitution. Version of nfsbc 3769 with a disjoint variable condition, which does not require ax-13 2370. (Contributed by NM, 7-Sep-2014.) Avoid ax-13 2370. (Revised by GG, 10-Jan-2024.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑦]𝜑 | ||
| Theorem | sbccow 3767* | A composition law for class substitution. Version of sbcco 3770 with a disjoint variable condition, which requires fewer axioms. (Contributed by NM, 26-Sep-2003.) Avoid ax-13 2370. (Revised by GG, 10-Jan-2024.) |
| ⊢ ([𝐴 / 𝑦][𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑) | ||
| Theorem | nfsbcd 3768 | Deduction version of nfsbc 3769. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker nfsbcdw 3765 when possible. (Contributed by NM, 23-Nov-2005.) (Revised by Mario Carneiro, 12-Oct-2016.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → Ⅎ𝑥𝜓) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑦]𝜓) | ||
| Theorem | nfsbc 3769 | Bound-variable hypothesis builder for class substitution. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker nfsbcw 3766 when possible. (Contributed by NM, 7-Sep-2014.) (Revised by Mario Carneiro, 12-Oct-2016.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑦]𝜑 | ||
| Theorem | sbcco 3770* | A composition law for class substitution. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker sbccow 3767 when possible. (Contributed by NM, 26-Sep-2003.) (Revised by Mario Carneiro, 13-Oct-2016.) (New usage is discouraged.) |
| ⊢ ([𝐴 / 𝑦][𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcco2 3771* | A composition law for class substitution. Importantly, 𝑥 may occur free in the class expression substituted for 𝐴. (Contributed by NM, 5-Sep-2004.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |
| ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ ([𝑥 / 𝑦][𝐵 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbc5 3772* | An equivalence for class substitution. (Contributed by NM, 23-Aug-1993.) (Revised by Mario Carneiro, 12-Oct-2016.) (Proof shortened by SN, 2-Sep-2024.) |
| ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∃𝑥(𝑥 = 𝐴 ∧ 𝜑)) | ||
| Theorem | sbc5ALT 3773* | Alternate proof of sbc5 3772. This proof helps show how clelab 2873 works, since it is equivalent but shorter thanks to now-available library theorems like vtoclbg 3514 and isset 3452. (Contributed by NM, 23-Aug-1993.) (Revised by Mario Carneiro, 12-Oct-2016.) (New usage is discouraged.) (Proof modification is discouraged.) |
| ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∃𝑥(𝑥 = 𝐴 ∧ 𝜑)) | ||
| Theorem | sbc6g 3774* | An equivalence for class substitution. (Contributed by NM, 11-Oct-2004.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) (Proof shortened by SN, 5-Oct-2024.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ ∀𝑥(𝑥 = 𝐴 → 𝜑))) | ||
| Theorem | sbc6 3775* | An equivalence for class substitution. (Contributed by NM, 23-Aug-1993.) (Proof shortened by Eric Schmidt, 17-Jan-2007.) |
| ⊢ 𝐴 ∈ V ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∀𝑥(𝑥 = 𝐴 → 𝜑)) | ||
| Theorem | sbc7 3776* | An equivalence for class substitution in the spirit of df-clab 2708. Note that 𝑥 and 𝐴 don't have to be distinct. (Contributed by NM, 18-Nov-2008.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∃𝑦(𝑦 = 𝐴 ∧ [𝑦 / 𝑥]𝜑)) | ||
| Theorem | cbvsbcw 3777* | Change bound variables in a wff substitution. Version of cbvsbc 3779 with a disjoint variable condition, which does not require ax-13 2370. (Contributed by Jeff Hankins, 19-Sep-2009.) Avoid ax-13 2370. (Revised by GG, 10-Jan-2024.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | cbvsbcvw 3778* | Change the bound variable of a class substitution using implicit substitution. Version of cbvsbcv 3780 with a disjoint variable condition, which does not require ax-13 2370. (Contributed by NM, 30-Sep-2008.) Avoid ax-13 2370. (Revised by GG, 10-Jan-2024.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | cbvsbc 3779 | Change bound variables in a wff substitution. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker cbvsbcw 3777 when possible. (Contributed by Jeff Hankins, 19-Sep-2009.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | cbvsbcv 3780* | Change the bound variable of a class substitution using implicit substitution. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker cbvsbcvw 3778 when possible. (Contributed by NM, 30-Sep-2008.) (Revised by Mario Carneiro, 13-Oct-2016.) (New usage is discouraged.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | sbciegft 3781* | Conversion of implicit substitution to explicit class substitution, using a bound-variable hypothesis instead of distinct variables. (Closed theorem version of sbciegf 3783.) (Contributed by NM, 10-Nov-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) (Proof shortened by SN, 14-May-2025.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓))) → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbciegftOLD 3782* | Obsolete version of sbciegft 3781 as of 14-May-2025. (Contributed by NM, 10-Nov-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓))) → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbciegf 3783* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 14-Dec-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbcieg 3784* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 10-Nov-2005.) Avoid ax-10 2142, ax-12 2178. (Revised by GG, 12-Oct-2024.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbcie2g 3785* | Conversion of implicit substitution to explicit class substitution. This version of sbcie 3786 avoids a disjointness condition on 𝑥, 𝐴 by substituting twice. (Contributed by Mario Carneiro, 15-Oct-2016.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑦 = 𝐴 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜒)) | ||
| Theorem | sbcie 3786* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 4-Sep-2004.) |
| ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ 𝜓) | ||
| Theorem | sbciedf 3787* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 29-Dec-2014.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) & ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝜒) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | sbcied 3788* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 13-Dec-2014.) Avoid ax-10 2142, ax-12 2178. (Revised by GG, 12-Oct-2024.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | sbcied2 3789* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 13-Dec-2014.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐵) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | elrabsf 3790 | Membership in a restricted class abstraction, expressed with explicit class substitution. (The variation elrabf 3646 has implicit substitution). The hypothesis specifies that 𝑥 must not be a free variable in 𝐵. (Contributed by NM, 30-Sep-2003.) (Proof shortened by Mario Carneiro, 13-Oct-2016.) |
| ⊢ Ⅎ𝑥𝐵 ⇒ ⊢ (𝐴 ∈ {𝑥 ∈ 𝐵 ∣ 𝜑} ↔ (𝐴 ∈ 𝐵 ∧ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | eqsbc1 3791* | Substitution for the left-hand side in an equality. Class version of eqsb1 2854. (Contributed by Andrew Salmon, 29-Jun-2011.) Avoid ax-13 2370. (Revised by Wolf Lammen, 29-Apr-2023.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝑥 = 𝐵 ↔ 𝐴 = 𝐵)) | ||
| Theorem | sbcng 3792 | Move negation in and out of class substitution. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥] ¬ 𝜑 ↔ ¬ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbcimg 3793 | Distribution of class substitution over implication. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥](𝜑 → 𝜓) ↔ ([𝐴 / 𝑥]𝜑 → [𝐴 / 𝑥]𝜓))) | ||
| Theorem | sbcan 3794 | Distribution of class substitution over conjunction. (Contributed by NM, 31-Dec-2016.) (Revised by NM, 17-Aug-2018.) |
| ⊢ ([𝐴 / 𝑥](𝜑 ∧ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ∧ [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcor 3795 | Distribution of class substitution over disjunction. (Contributed by NM, 31-Dec-2016.) (Revised by NM, 17-Aug-2018.) |
| ⊢ ([𝐴 / 𝑥](𝜑 ∨ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ∨ [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcbig 3796 | Distribution of class substitution over biconditional. (Contributed by Raph Levien, 10-Apr-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥](𝜑 ↔ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜓))) | ||
| Theorem | sbcn1 3797 | Move negation in and out of class substitution. One direction of sbcng 3792 that holds for proper classes. (Contributed by NM, 17-Aug-2018.) |
| ⊢ ([𝐴 / 𝑥] ¬ 𝜑 → ¬ [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcim1 3798 | Distribution of class substitution over implication. One direction of sbcimg 3793 that holds for proper classes. (Contributed by NM, 17-Aug-2018.) Avoid ax-10 2142, ax-12 2178. (Revised by SN, 26-Oct-2024.) |
| ⊢ ([𝐴 / 𝑥](𝜑 → 𝜓) → ([𝐴 / 𝑥]𝜑 → [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcbid 3799 | Formula-building deduction for class substitution. (Contributed by NM, 29-Dec-2014.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐴 / 𝑥]𝜒)) | ||
| Theorem | sbcbidv 3800* | Formula-building deduction for class substitution. (Contributed by NM, 29-Dec-2014.) Drop ax-12 2178. (Revised by GG, 1-Dec-2023.) |
| ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐴 / 𝑥]𝜒)) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |