| 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-30847) |
(30848-32370) |
(32371-49794) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | rmo4 3701* | Restricted "at most one" using implicit substitution. (Contributed by NM, 24-Oct-2006.) (Revised by NM, 16-Jun-2017.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) | ||
| Theorem | reu4 3702* | Restricted uniqueness using implicit substitution. (Contributed by NM, 23-Nov-1994.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))) | ||
| Theorem | reu7 3703* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∃𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝜓 → 𝑥 = 𝑦))) | ||
| Theorem | reu8 3704* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ ∃𝑥 ∈ 𝐴 (𝜑 ∧ ∀𝑦 ∈ 𝐴 (𝜓 → 𝑥 = 𝑦))) | ||
| Theorem | rmo3f 3705* | Restricted "at most one" using explicit substitution. (Contributed by NM, 4-Nov-2012.) (Revised by NM, 16-Jun-2017.) (Revised by Thierry Arnoux, 8-Oct-2017.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑦𝐴 & ⊢ Ⅎ𝑦𝜑 ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) | ||
| Theorem | rmo4f 3706* | Restricted "at most one" using implicit substitution. (Contributed by NM, 24-Oct-2006.) (Revised by Thierry Arnoux, 11-Oct-2016.) (Revised by Thierry Arnoux, 8-Mar-2017.) (Revised by Thierry Arnoux, 8-Oct-2017.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑦𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) | ||
| Theorem | reu2eqd 3707* | Deduce equality from restricted uniqueness, deduction version. (Contributed by Thierry Arnoux, 27-Nov-2019.) |
| ⊢ (𝑥 = 𝐵 → (𝜓 ↔ 𝜒)) & ⊢ (𝑥 = 𝐶 → (𝜓 ↔ 𝜃)) & ⊢ (𝜑 → ∃!𝑥 ∈ 𝐴 𝜓) & ⊢ (𝜑 → 𝐵 ∈ 𝐴) & ⊢ (𝜑 → 𝐶 ∈ 𝐴) & ⊢ (𝜑 → 𝜒) & ⊢ (𝜑 → 𝜃) ⇒ ⊢ (𝜑 → 𝐵 = 𝐶) | ||
| Theorem | reueq 3708* | Equality has existential uniqueness. (Contributed by Mario Carneiro, 1-Sep-2015.) |
| ⊢ (𝐵 ∈ 𝐴 ↔ ∃!𝑥 ∈ 𝐴 𝑥 = 𝐵) | ||
| Theorem | rmoeq 3709* | Equality's restricted existential "at most one" property. (Contributed by Thierry Arnoux, 30-Mar-2018.) (Revised by AV, 27-Oct-2020.) (Proof shortened by NM, 29-Oct-2020.) |
| ⊢ ∃*𝑥 ∈ 𝐵 𝑥 = 𝐴 | ||
| Theorem | rmoan 3710 | Restricted "at most one" still holds when a conjunct is added. (Contributed by NM, 16-Jun-2017.) |
| ⊢ (∃*𝑥 ∈ 𝐴 𝜑 → ∃*𝑥 ∈ 𝐴 (𝜓 ∧ 𝜑)) | ||
| Theorem | rmoim 3711 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) → (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | rmoimia 3712 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (𝑥 ∈ 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | rmoimi 3713 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (𝜑 → 𝜓) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | rmoimi2 3714 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ ∀𝑥((𝑥 ∈ 𝐴 ∧ 𝜑) → (𝑥 ∈ 𝐵 ∧ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐵 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | 2reu5a 3715 | 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 3716 | Restricted uniqueness implies restricted "at most one" through implication, analogous to euimmo 2609. (Contributed by Alexander van der Vekens, 25-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) → (∃!𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | 2reuswap 3717* | A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) (Revised by NM, 16-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 → (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃!𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | 2reuswap2 3718* | A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 ∃*𝑦(𝑦 ∈ 𝐵 ∧ 𝜑) → (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃!𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | reuxfrd 3719* | 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 3720* | 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 3721* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. Cf. reuxfr1ds 3722. (Contributed by Thierry Arnoux, 7-Apr-2017.) |
| ⊢ ((𝜑 ∧ 𝑦 ∈ 𝐶) → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃!𝑦 ∈ 𝐶 𝑥 = 𝐴) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (∃!𝑥 ∈ 𝐵 𝜓 ↔ ∃!𝑦 ∈ 𝐶 𝜒)) | ||
| Theorem | reuxfr1ds 3722* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. Use reuhypd 5374 to eliminate the second hypothesis. (Contributed by NM, 16-Jan-2012.) |
| ⊢ ((𝜑 ∧ 𝑦 ∈ 𝐶) → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐵) → ∃!𝑦 ∈ 𝐶 𝑥 = 𝐴) & ⊢ (𝑥 = 𝐴 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (∃!𝑥 ∈ 𝐵 𝜓 ↔ ∃!𝑦 ∈ 𝐶 𝜒)) | ||
| Theorem | reuxfr1 3723* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. Use reuhyp 5375 to eliminate the second hypothesis. (Contributed by NM, 14-Nov-2004.) |
| ⊢ (𝑦 ∈ 𝐶 → 𝐴 ∈ 𝐵) & ⊢ (𝑥 ∈ 𝐵 → ∃!𝑦 ∈ 𝐶 𝑥 = 𝐴) & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐵 𝜑 ↔ ∃!𝑦 ∈ 𝐶 𝜓) | ||
| Theorem | reuind 3724* | Existential uniqueness via an indirect equality. (Contributed by NM, 16-Oct-2010.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ ((∀𝑥∀𝑦(((𝐴 ∈ 𝐶 ∧ 𝜑) ∧ (𝐵 ∈ 𝐶 ∧ 𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴 ∈ 𝐶 ∧ 𝜑)) → ∃!𝑧 ∈ 𝐶 ∀𝑥((𝐴 ∈ 𝐶 ∧ 𝜑) → 𝑧 = 𝐴)) | ||
| Theorem | 2rmorex 3725* | Double restricted quantification with "at most one", analogous to 2moex 2633. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∃*𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | 2reu5lem1 3726* | Lemma for 2reu5 3729. 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 3727* | Lemma for 2reu5 3729. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 ↔ ∀𝑥∃*𝑦(𝑥 ∈ 𝐴 ∧ 𝑦 ∈ 𝐵 ∧ 𝜑)) | ||
| Theorem | 2reu5lem3 3728* | Lemma for 2reu5 3729. 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 3850. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ ((∃!𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑) ↔ (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 ∧ ∃𝑧∃𝑤∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 (𝜑 → (𝑥 = 𝑧 ∧ 𝑦 = 𝑤)))) | ||
| Theorem | 2reu5 3729* | Double restricted existential uniqueness in terms of restricted existential quantification and restricted universal quantification, analogous to 2eu5 2649 and reu3 3698. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ ((∃!𝑥 ∈ 𝐴 ∃!𝑦 ∈ 𝐵 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑) ↔ (∃𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 ∧ ∃𝑧 ∈ 𝐴 ∃𝑤 ∈ 𝐵 ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐵 (𝜑 → (𝑥 = 𝑧 ∧ 𝑦 = 𝑤)))) | ||
| Theorem | 2reurmo 3730 | 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 3731* | Double restricted quantification with existential uniqueness, analogous to 2euex 2634. (Contributed by Alexander van der Vekens, 24-Jun-2017.) |
| ⊢ (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃𝑦 ∈ 𝐵 ∃!𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | 2rmoswap 3732* | 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 3733* | 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 3738 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 3743 and cdeqab 3741. | ||
| Syntax | wcdeq 3734 | 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 3735 | 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 3736 | Deduce conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ (𝑥 = 𝑦 → 𝜑) ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqri 3737 | Property of conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝜑) ⇒ ⊢ (𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqth 3738 | Deduce conditional equality from a theorem. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ 𝜑 ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqnot 3739 | Distribute conditional equality over negation. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (¬ 𝜑 ↔ ¬ 𝜓)) | ||
| Theorem | cdeqal 3740* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (∀𝑧𝜑 ↔ ∀𝑧𝜓)) | ||
| Theorem | cdeqab 3741* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → {𝑧 ∣ 𝜑} = {𝑧 ∣ 𝜓}) | ||
| Theorem | cdeqal1 3742* | 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 3743* | 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 3744 | Distribute conditional equality over implication. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ CondEq(𝑥 = 𝑦 → (𝜒 ↔ 𝜃)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → ((𝜑 → 𝜒) ↔ (𝜓 → 𝜃))) | ||
| Theorem | cdeqcv 3745 | Conditional equality for set-to-class promotion. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝑥 = 𝑦) | ||
| Theorem | cdeqeq 3746 | Distribute conditional equality over equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
| Theorem | cdeqel 3747 | Distribute conditional equality over elementhood. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 ∈ 𝐶 ↔ 𝐵 ∈ 𝐷)) | ||
| Theorem | nfcdeq 3748* | 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 3749* | Variation of nfcdeq 3748 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 3750* |
Relative version of Russell's paradox ru 3751 (which corresponds to the
case 𝐴 = V).
Originally a subproof in pwnss 5307. (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 3751 |
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 5276 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 5262, Pairing prex 5392, Union uniex 7717, Power Set pwex 5335, and Infinity omex 9596 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 6605 (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 10428 and Cantor's theorem canth 7341 are provably false. (See ncanth 7342 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 5251 replaces ax-rep 5234) with ax-sep 5251 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 9549 (derived from the Axiom of Regularity), so for us the Russell class equals the universe V (Theorem ruv 9555). See ruALT 9556 for an alternate proof of ru 3751 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 3752 | Obsolete version of ru 3751 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 3753 | 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 3754 |
Define the proper substitution of a class for a set.
When 𝐴 is a proper class, our definition evaluates to false (see sbcex 3763). This is somewhat arbitrary: we could have, instead, chosen the conclusion of sbc6 3784 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 3755 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 3755, which holds for both our definition and Quine's, and from which we can derive a weaker version of df-sbc 3754 in the form of sbc8g 3761. 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 3754 and assert that [𝐴 / 𝑥]𝜑 is always false when 𝐴 is a proper class. Theorem sbc2or 3762 shows the apparently "strongest" statement we can make regarding behavior at proper classes if we start from dfsbcq 3755. The related definition df-csb 3863 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 3755 |
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 3754 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 3756 instead of df-sbc 3754. (dfsbcq2 3756 is needed because unlike Quine we do not overload the df-sb 2066 syntax.) As a consequence of these theorems, we can derive sbc8g 3761, which is a weaker version of df-sbc 3754 that leaves substitution undefined when 𝐴 is a proper class. However, it is often a nuisance to have to prove the sethood hypothesis of sbc8g 3761, so we will allow direct use of df-sbc 3754 after Theorem sbc2or 3762 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 3756 | 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 3754. Unlike Quine, we use a different syntax for each in order to avoid overloading it. See remarks in dfsbcq 3755. (Contributed by NM, 31-Dec-2016.) |
| ⊢ (𝑦 = 𝐴 → ([𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbsbc 3757 | Show that df-sb 2066 and df-sbc 3754 are equivalent when the class term 𝐴 in df-sbc 3754 is a setvar variable. This theorem lets us reuse theorems based on df-sb 2066 for proofs involving df-sbc 3754. (Contributed by NM, 31-Dec-2016.) (Proof modification is discouraged.) |
| ⊢ ([𝑦 / 𝑥]𝜑 ↔ [𝑦 / 𝑥]𝜑) | ||
| Theorem | sbceq1d 3758 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐵 / 𝑥]𝜓)) | ||
| Theorem | sbceq1dd 3759 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) ⇒ ⊢ (𝜑 → [𝐵 / 𝑥]𝜓) | ||
| Theorem | sbceqbid 3760* | Equality theorem for class substitution. (Contributed by Thierry Arnoux, 4-Sep-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐵 / 𝑥]𝜒)) | ||
| Theorem | sbc8g 3761 | This is the closest we can get to df-sbc 3754 if we start from dfsbcq 3755 (see its comments) and dfsbcq2 3756. (Contributed by NM, 18-Nov-2008.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝐴 ∈ {𝑥 ∣ 𝜑})) | ||
| Theorem | sbc2or 3762* | 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 3781 (false) and sbc6 3784 (true) conclusions. This is interesting since dfsbcq 3755 and dfsbcq2 3756 (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 3763 | 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 3764 | Equality theorem for class substitution. Class version of sbequ12 2252. (Contributed by NM, 26-Sep-2003.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbceq2a 3765 | Equality theorem for class substitution. Class version of sbequ12r 2253. (Contributed by NM, 4-Jan-2017.) |
| ⊢ (𝐴 = 𝑥 → ([𝐴 / 𝑥]𝜑 ↔ 𝜑)) | ||
| Theorem | spsbc 3766 | 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 3842. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → (∀𝑥𝜑 → [𝐴 / 𝑥]𝜑)) | ||
| Theorem | spsbcd 3767 | 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 3842. (Contributed by Mario Carneiro, 9-Feb-2017.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → ∀𝑥𝜓) ⇒ ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) | ||
| Theorem | sbcth 3768 | A substitution into a theorem remains true (when 𝐴 is a set). (Contributed by NM, 5-Nov-2005.) |
| ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcthdv 3769* | Deduction version of sbcth 3768. (Contributed by NM, 30-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |
| ⊢ (𝜑 → 𝜓) ⇒ ⊢ ((𝜑 ∧ 𝐴 ∈ 𝑉) → [𝐴 / 𝑥]𝜓) | ||
| Theorem | sbcid 3770 | An identity theorem for substitution. See sbid 2256. (Contributed by Mario Carneiro, 18-Feb-2017.) |
| ⊢ ([𝑥 / 𝑥]𝜑 ↔ 𝜑) | ||
| Theorem | nfsbc1d 3771 | Deduction version of nfsbc1 3772. (Contributed by NM, 23-May-2006.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ (𝜑 → Ⅎ𝑥𝐴) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑥]𝜓) | ||
| Theorem | nfsbc1 3772 | Bound-variable hypothesis builder for class substitution. (Contributed by NM, 5-Aug-1993.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑥𝐴 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
| Theorem | nfsbc1v 3773* | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
| Theorem | nfsbcdw 3774* | Deduction version of nfsbcw 3775. Version of nfsbcd 3777 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 3775* | Bound-variable hypothesis builder for class substitution. Version of nfsbc 3778 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 3776* | A composition law for class substitution. Version of sbcco 3779 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 3777 | Deduction version of nfsbc 3778. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker nfsbcdw 3774 when possible. (Contributed by NM, 23-Nov-2005.) (Revised by Mario Carneiro, 12-Oct-2016.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → Ⅎ𝑥𝜓) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑦]𝜓) | ||
| Theorem | nfsbc 3778 | Bound-variable hypothesis builder for class substitution. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker nfsbcw 3775 when possible. (Contributed by NM, 7-Sep-2014.) (Revised by Mario Carneiro, 12-Oct-2016.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑦]𝜑 | ||
| Theorem | sbcco 3779* | A composition law for class substitution. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker sbccow 3776 when possible. (Contributed by NM, 26-Sep-2003.) (Revised by Mario Carneiro, 13-Oct-2016.) (New usage is discouraged.) |
| ⊢ ([𝐴 / 𝑦][𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcco2 3780* | 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 3781* | 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 3782* | Alternate proof of sbc5 3781. This proof helps show how clelab 2873 works, since it is equivalent but shorter thanks to now-available library theorems like vtoclbg 3523 and isset 3461. (Contributed by NM, 23-Aug-1993.) (Revised by Mario Carneiro, 12-Oct-2016.) (New usage is discouraged.) (Proof modification is discouraged.) |
| ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∃𝑥(𝑥 = 𝐴 ∧ 𝜑)) | ||
| Theorem | sbc6g 3783* | 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 3784* | An equivalence for class substitution. (Contributed by NM, 23-Aug-1993.) (Proof shortened by Eric Schmidt, 17-Jan-2007.) |
| ⊢ 𝐴 ∈ V ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∀𝑥(𝑥 = 𝐴 → 𝜑)) | ||
| Theorem | sbc7 3785* | 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 3786* | Change bound variables in a wff substitution. Version of cbvsbc 3788 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 3787* | Change the bound variable of a class substitution using implicit substitution. Version of cbvsbcv 3789 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 3788 | Change bound variables in a wff substitution. Usage of this theorem is discouraged because it depends on ax-13 2370. Use the weaker cbvsbcw 3786 when possible. (Contributed by Jeff Hankins, 19-Sep-2009.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | cbvsbcv 3789* | 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 3787 when possible. (Contributed by NM, 30-Sep-2008.) (Revised by Mario Carneiro, 13-Oct-2016.) (New usage is discouraged.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | sbciegft 3790* | Conversion of implicit substitution to explicit class substitution, using a bound-variable hypothesis instead of distinct variables. (Closed theorem version of sbciegf 3792.) (Contributed by NM, 10-Nov-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) (Proof shortened by SN, 14-May-2025.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓))) → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbciegftOLD 3791* | Obsolete version of sbciegft 3790 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 3792* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 14-Dec-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbcieg 3793* | 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 3794* | Conversion of implicit substitution to explicit class substitution. This version of sbcie 3795 avoids a disjointness condition on 𝑥, 𝐴 by substituting twice. (Contributed by Mario Carneiro, 15-Oct-2016.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑦 = 𝐴 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜒)) | ||
| Theorem | sbcie 3795* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 4-Sep-2004.) |
| ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ 𝜓) | ||
| Theorem | sbciedf 3796* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 29-Dec-2014.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) & ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝜒) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | sbcied 3797* | 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 3798* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 13-Dec-2014.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐵) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | elrabsf 3799 | Membership in a restricted class abstraction, expressed with explicit class substitution. (The variation elrabf 3655 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 3800* | 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.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝑥 = 𝐵 ↔ 𝐴 = 𝐵)) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |