| Intuitionistic Logic Explorer Theorem List (p. 31 of 170) | < 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 | mob 3001* | Equality implied by "at most one". (Contributed by NM, 18-Feb-2006.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜒)) ⇒ ⊢ (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐷) ∧ ∃*𝑥𝜑 ∧ 𝜓) → (𝐴 = 𝐵 ↔ 𝜒)) | ||
| Theorem | moi 3002* | Equality implied by "at most one". (Contributed by NM, 18-Feb-2006.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜒)) ⇒ ⊢ (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐷) ∧ ∃*𝑥𝜑 ∧ (𝜓 ∧ 𝜒)) → 𝐴 = 𝐵) | ||
| Theorem | morex 3003* | Derive membership from uniqueness. (Contributed by Jeff Madsen, 2-Sep-2009.) |
| ⊢ 𝐵 ∈ V & ⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((∃𝑥 ∈ 𝐴 𝜑 ∧ ∃*𝑥𝜑) → (𝜓 → 𝐵 ∈ 𝐴)) | ||
| Theorem | euxfr2dc 3004* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by NM, 14-Nov-2004.) |
| ⊢ 𝐴 ∈ V & ⊢ ∃*𝑦 𝑥 = 𝐴 ⇒ ⊢ (DECID ∃𝑦∃𝑥(𝑥 = 𝐴 ∧ 𝜑) → (∃!𝑥∃𝑦(𝑥 = 𝐴 ∧ 𝜑) ↔ ∃!𝑦𝜑)) | ||
| Theorem | euxfrdc 3005* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by NM, 14-Nov-2004.) |
| ⊢ 𝐴 ∈ V & ⊢ ∃!𝑦 𝑥 = 𝐴 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (DECID ∃𝑦∃𝑥(𝑥 = 𝐴 ∧ 𝜓) → (∃!𝑥𝜑 ↔ ∃!𝑦𝜓)) | ||
| Theorem | euind 3006* | Existential uniqueness via an indirect equality. (Contributed by NM, 11-Oct-2010.) |
| ⊢ 𝐵 ∈ V & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ ((∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝐴 = 𝐵) ∧ ∃𝑥𝜑) → ∃!𝑧∀𝑥(𝜑 → 𝑧 = 𝐴)) | ||
| Theorem | reu2 3007* | A way to express restricted uniqueness. (Contributed by NM, 22-Nov-1994.) |
| ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))) | ||
| Theorem | reu6 3008* | A way to express restricted uniqueness. (Contributed by NM, 20-Oct-2006.) |
| ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ ∃𝑦 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (𝜑 ↔ 𝑥 = 𝑦)) | ||
| Theorem | reu3 3009* | A way to express restricted uniqueness. (Contributed by NM, 24-Oct-2006.) |
| ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∃𝑦 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (𝜑 → 𝑥 = 𝑦))) | ||
| Theorem | reu6i 3010* | A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.) |
| ⊢ ((𝐵 ∈ 𝐴 ∧ ∀𝑥 ∈ 𝐴 (𝜑 ↔ 𝑥 = 𝐵)) → ∃!𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | eqreu 3011* | A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.) |
| ⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((𝐵 ∈ 𝐴 ∧ 𝜓 ∧ ∀𝑥 ∈ 𝐴 (𝜑 → 𝑥 = 𝐵)) → ∃!𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | rmo4 3012* | Restricted "at most one" using implicit substitution. (Contributed by NM, 24-Oct-2006.) (Revised by NM, 16-Jun-2017.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) | ||
| Theorem | reu4 3013* | Restricted uniqueness using implicit substitution. (Contributed by NM, 23-Nov-1994.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))) | ||
| Theorem | reu7 3014* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∃𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝜓 → 𝑥 = 𝑦))) | ||
| Theorem | reu8 3015* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ ∃𝑥 ∈ 𝐴 (𝜑 ∧ ∀𝑦 ∈ 𝐴 (𝜓 → 𝑥 = 𝑦))) | ||
| Theorem | rmo3f 3016* | 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 3017* | 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 | reueq 3018* | Equality has existential uniqueness. (Contributed by Mario Carneiro, 1-Sep-2015.) |
| ⊢ (𝐵 ∈ 𝐴 ↔ ∃!𝑥 ∈ 𝐴 𝑥 = 𝐵) | ||
| Theorem | rmoan 3019 | Restricted "at most one" still holds when a conjunct is added. (Contributed by NM, 16-Jun-2017.) |
| ⊢ (∃*𝑥 ∈ 𝐴 𝜑 → ∃*𝑥 ∈ 𝐴 (𝜓 ∧ 𝜑)) | ||
| Theorem | rmoim 3020 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) → (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑)) | ||
| Theorem | rmoimia 3021 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (𝑥 ∈ 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | rmoimi2 3022 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ ∀𝑥((𝑥 ∈ 𝐴 ∧ 𝜑) → (𝑥 ∈ 𝐵 ∧ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐵 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | 2reuswapdc 3023* | A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) (Revised by NM, 16-Jun-2017.) |
| ⊢ (DECID ∃𝑥∃𝑦(𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝜑)) → (∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 → (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃!𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑))) | ||
| Theorem | reuind 3024* | Existential uniqueness via an indirect equality. (Contributed by NM, 16-Oct-2010.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ ((∀𝑥∀𝑦(((𝐴 ∈ 𝐶 ∧ 𝜑) ∧ (𝐵 ∈ 𝐶 ∧ 𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴 ∈ 𝐶 ∧ 𝜑)) → ∃!𝑧 ∈ 𝐶 ∀𝑥((𝐴 ∈ 𝐶 ∧ 𝜑) → 𝑧 = 𝐴)) | ||
| Theorem | 2rmorex 3025* | Double restricted quantification with "at most one," analogous to 2moex 2169. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
| ⊢ (∃*𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝜑) | ||
| Theorem | nelrdva 3026* | Deduce negative membership from an implication. (Contributed by Thierry Arnoux, 27-Nov-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 us 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 condition: 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 3031 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 set 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 forall 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 3036 and cdeqab 3034. | ||
| Syntax | wcdeq 3027 | 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 3028 | 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 3029 | Deduce conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ (𝑥 = 𝑦 → 𝜑) ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqri 3030 | Property of conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝜑) ⇒ ⊢ (𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqth 3031 | Deduce conditional equality from a theorem. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ 𝜑 ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
| Theorem | cdeqnot 3032 | Distribute conditional equality over negation. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (¬ 𝜑 ↔ ¬ 𝜓)) | ||
| Theorem | cdeqal 3033* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (∀𝑧𝜑 ↔ ∀𝑧𝜓)) | ||
| Theorem | cdeqab 3034* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → {𝑧 ∣ 𝜑} = {𝑧 ∣ 𝜓}) | ||
| Theorem | cdeqal1 3035* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (∀𝑥𝜑 ↔ ∀𝑦𝜓)) | ||
| Theorem | cdeqab1 3036* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → {𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓}) | ||
| Theorem | cdeqim 3037 | Distribute conditional equality over implication. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ CondEq(𝑥 = 𝑦 → (𝜒 ↔ 𝜃)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → ((𝜑 → 𝜒) ↔ (𝜓 → 𝜃))) | ||
| Theorem | cdeqcv 3038 | Conditional equality for set-to-class promotion. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝑥 = 𝑦) | ||
| Theorem | cdeqeq 3039 | Distribute conditional equality over equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
| Theorem | cdeqel 3040 | Distribute conditional equality over elementhood. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 ∈ 𝐶 ↔ 𝐵 ∈ 𝐷)) | ||
| Theorem | nfcdeq 3041* | 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. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝜑 ↔ 𝜓) | ||
| Theorem | nfccdeq 3042* | Variation of nfcdeq 3041 for classes. (Contributed by Mario Carneiro, 11-Aug-2016.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ 𝐴 = 𝐵 | ||
| Theorem | ru 3043 |
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. In 1908, Zermelo rectified this fatal flaw by replacing Comprehension with a weaker Subset (or Separation) Axiom asserting that 𝐴 is a set only when it is smaller than some other set 𝐵. The intuitionistic set theory IZF includes such a separation axiom, Axiom 6 of [Crosilla] p. "Axioms of CZF and IZF", which we include as ax-sep 4230. (Contributed by NM, 7-Aug-1994.) |
| ⊢ {𝑥 ∣ 𝑥 ∉ 𝑥} ∉ V | ||
| Syntax | wsbc 3044 | 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 3045 |
Define the proper substitution of a class for a set.
When 𝐴 is a proper class, our definition evaluates to false. This is somewhat arbitrary: we could have, instead, chosen the conclusion of sbc6 3070 for our definition, which 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 3046 below). Unfortunately, Quine's definition requires a recursive syntactical 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 3046, which holds for both our definition and Quine's, and from which we can derive a weaker version of df-sbc 3045 in the form of sbc8g 3052. 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 3045 and assert that [𝐴 / 𝑥]𝜑 is always false when 𝐴 is a proper class. The related definition df-csb 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 3046 |
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 3045 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 3047 instead of df-sbc 3045. (dfsbcq2 3047 is needed because
unlike Quine we do not overload the df-sb 1812 syntax.) As a consequence of
these theorems, we can derive sbc8g 3052, which is a weaker version of
df-sbc 3045 that leaves substitution undefined when 𝐴 is a
proper class.
However, it is often a nuisance to have to prove the sethood hypothesis of sbc8g 3052, so we will allow direct use of df-sbc 3045. Proper substiution 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 3047 | 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 1812 and substitution for class variables df-sbc 3045. Unlike Quine, we use a different syntax for each in order to avoid overloading it. See remarks in dfsbcq 3046. (Contributed by NM, 31-Dec-2016.) |
| ⊢ (𝑦 = 𝐴 → ([𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbsbc 3048 | Show that df-sb 1812 and df-sbc 3045 are equivalent when the class term 𝐴 in df-sbc 3045 is a setvar variable. This theorem lets us reuse theorems based on df-sb 1812 for proofs involving df-sbc 3045. (Contributed by NM, 31-Dec-2016.) (Proof modification is discouraged.) |
| ⊢ ([𝑦 / 𝑥]𝜑 ↔ [𝑦 / 𝑥]𝜑) | ||
| Theorem | sbceq1d 3049 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐵 / 𝑥]𝜓)) | ||
| Theorem | sbceq1dd 3050 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) ⇒ ⊢ (𝜑 → [𝐵 / 𝑥]𝜓) | ||
| Theorem | sbceqbid 3051* | Equality theorem for class substitution. (Contributed by Thierry Arnoux, 4-Sep-2018.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐵 / 𝑥]𝜒)) | ||
| Theorem | sbc8g 3052 | This is the closest we can get to df-sbc 3045 if we start from dfsbcq 3046 (see its comments) and dfsbcq2 3047. (Contributed by NM, 18-Nov-2008.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝐴 ∈ {𝑥 ∣ 𝜑})) | ||
| Theorem | sbcex 3053 | 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 3054 | Equality theorem for class substitution. Class version of sbequ12 1820. (Contributed by NM, 26-Sep-2003.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbceq2a 3055 | Equality theorem for class substitution. Class version of sbequ12r 1821. (Contributed by NM, 4-Jan-2017.) |
| ⊢ (𝐴 = 𝑥 → ([𝐴 / 𝑥]𝜑 ↔ 𝜑)) | ||
| Theorem | spsbc 3056 | 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 1824 and rspsbc 3128. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → (∀𝑥𝜑 → [𝐴 / 𝑥]𝜑)) | ||
| Theorem | spsbcd 3057 | 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 1824 and rspsbc 3128. (Contributed by Mario Carneiro, 9-Feb-2017.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → ∀𝑥𝜓) ⇒ ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) | ||
| Theorem | sbcth 3058 | A substitution into a theorem remains true (when 𝐴 is a set). (Contributed by NM, 5-Nov-2005.) |
| ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcthdv 3059* | Deduction version of sbcth 3058. (Contributed by NM, 30-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |
| ⊢ (𝜑 → 𝜓) ⇒ ⊢ ((𝜑 ∧ 𝐴 ∈ 𝑉) → [𝐴 / 𝑥]𝜓) | ||
| Theorem | sbcid 3060 | An identity theorem for substitution. See sbid 1823. (Contributed by Mario Carneiro, 18-Feb-2017.) |
| ⊢ ([𝑥 / 𝑥]𝜑 ↔ 𝜑) | ||
| Theorem | nfsbc1d 3061 | Deduction version of nfsbc1 3062. (Contributed by NM, 23-May-2006.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ (𝜑 → Ⅎ𝑥𝐴) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑥]𝜓) | ||
| Theorem | nfsbc1 3062 | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑥𝐴 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
| Theorem | nfsbc1v 3063* | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
| Theorem | nfsbcd 3064 | Deduction version of nfsbc 3065. (Contributed by NM, 23-Nov-2005.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → Ⅎ𝑥𝜓) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑦]𝜓) | ||
| Theorem | nfsbc 3065 | Bound-variable hypothesis builder for class substitution. (Contributed by NM, 7-Sep-2014.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑦]𝜑 | ||
| Theorem | sbcco 3066* | A composition law for class substitution. (Contributed by NM, 26-Sep-2003.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ ([𝐴 / 𝑦][𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcco2 3067* | 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 3068* | An equivalence for class substitution. (Contributed by NM, 23-Aug-1993.) (Revised by Mario Carneiro, 12-Oct-2016.) |
| ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∃𝑥(𝑥 = 𝐴 ∧ 𝜑)) | ||
| Theorem | sbc6g 3069* | An equivalence for class substitution. (Contributed by NM, 11-Oct-2004.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ ∀𝑥(𝑥 = 𝐴 → 𝜑))) | ||
| Theorem | sbc6 3070* | An equivalence for class substitution. (Contributed by NM, 23-Aug-1993.) (Proof shortened by Eric Schmidt, 17-Jan-2007.) |
| ⊢ 𝐴 ∈ V ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∀𝑥(𝑥 = 𝐴 → 𝜑)) | ||
| Theorem | sbc7 3071* | An equivalence for class substitution in the spirit of df-clab 2221. Note that 𝑥 and 𝐴 don't have to be distinct. (Contributed by NM, 18-Nov-2008.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ ([𝐴 / 𝑥]𝜑 ↔ ∃𝑦(𝑦 = 𝐴 ∧ [𝑦 / 𝑥]𝜑)) | ||
| Theorem | cbvsbcw 3072* | Version of cbvsbc 3073 with a disjoint variable condition. (Contributed by GG, 10-Jan-2024.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | cbvsbc 3073 | Change bound variables in a wff substitution. (Contributed by Jeff Hankins, 19-Sep-2009.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | cbvsbcv 3074* | Change the bound variable of a class substitution using implicit substitution. (Contributed by NM, 30-Sep-2008.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑦]𝜓) | ||
| Theorem | sbciegft 3075* | Conversion of implicit substitution to explicit class substitution, using a bound-variable hypothesis instead of distinct variables. (Closed theorem version of sbciegf 3076.) (Contributed by NM, 10-Nov-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓))) → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbciegf 3076* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 14-Dec-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbcieg 3077* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 10-Nov-2005.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | sbcie2g 3078* | Conversion of implicit substitution to explicit class substitution. This version of sbcie 3079 avoids a disjointness condition on 𝑥 and 𝐴 by substituting twice. (Contributed by Mario Carneiro, 15-Oct-2016.) |
| ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑦 = 𝐴 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝜒)) | ||
| Theorem | sbcie 3079* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 4-Sep-2004.) |
| ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝐴 / 𝑥]𝜑 ↔ 𝜓) | ||
| Theorem | sbciedf 3080* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 29-Dec-2014.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) & ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝜒) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | sbcied 3081* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 13-Dec-2014.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | sbcied2 3082* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 13-Dec-2014.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐵) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ 𝜒)) | ||
| Theorem | elrabsf 3083 | Membership in a restricted class abstraction, expressed with explicit class substitution. (The variation elrabf 2973 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 3084* | Substitution for the left-hand side in an equality. Class version of eqsb1 2338. (Contributed by Andrew Salmon, 29-Jun-2011.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝑥 = 𝐵 ↔ 𝐴 = 𝐵)) | ||
| Theorem | sbcng 3085 | Move negation in and out of class substitution. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥] ¬ 𝜑 ↔ ¬ [𝐴 / 𝑥]𝜑)) | ||
| Theorem | sbcimg 3086 | Distribution of class substitution over implication. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥](𝜑 → 𝜓) ↔ ([𝐴 / 𝑥]𝜑 → [𝐴 / 𝑥]𝜓))) | ||
| Theorem | sbcan 3087 | Distribution of class substitution over conjunction. (Contributed by NM, 31-Dec-2016.) |
| ⊢ ([𝐴 / 𝑥](𝜑 ∧ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ∧ [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcang 3088 | Distribution of class substitution over conjunction. (Contributed by NM, 21-May-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥](𝜑 ∧ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ∧ [𝐴 / 𝑥]𝜓))) | ||
| Theorem | sbcor 3089 | Distribution of class substitution over disjunction. (Contributed by NM, 31-Dec-2016.) |
| ⊢ ([𝐴 / 𝑥](𝜑 ∨ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ∨ [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcorg 3090 | Distribution of class substitution over disjunction. (Contributed by NM, 21-May-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥](𝜑 ∨ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ∨ [𝐴 / 𝑥]𝜓))) | ||
| Theorem | sbcbig 3091 | Distribution of class substitution over biconditional. (Contributed by Raph Levien, 10-Apr-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥](𝜑 ↔ 𝜓) ↔ ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜓))) | ||
| Theorem | sbcn1 3092 | Move negation in and out of class substitution. One direction of sbcng 3085 that holds for proper classes. (Contributed by NM, 17-Aug-2018.) |
| ⊢ ([𝐴 / 𝑥] ¬ 𝜑 → ¬ [𝐴 / 𝑥]𝜑) | ||
| Theorem | sbcim1 3093 | Distribution of class substitution over implication. One direction of sbcimg 3086 that holds for proper classes. (Contributed by NM, 17-Aug-2018.) |
| ⊢ ([𝐴 / 𝑥](𝜑 → 𝜓) → ([𝐴 / 𝑥]𝜑 → [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcbi1 3094 | Distribution of class substitution over biconditional. One direction of sbcbig 3091 that holds for proper classes. (Contributed by NM, 17-Aug-2018.) |
| ⊢ ([𝐴 / 𝑥](𝜑 ↔ 𝜓) → ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcbi2 3095 | Substituting into equivalent wff's gives equivalent results. (Contributed by Giovanni Mascellani, 9-Apr-2018.) |
| ⊢ (∀𝑥(𝜑 ↔ 𝜓) → ([𝐴 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜓)) | ||
| Theorem | sbcal 3096* | Move universal quantifier in and out of class substitution. (Contributed by NM, 31-Dec-2016.) |
| ⊢ ([𝐴 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝐴 / 𝑦]𝜑) | ||
| Theorem | sbcalg 3097* | Move universal quantifier in and out of class substitution. (Contributed by NM, 16-Jan-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝐴 / 𝑦]𝜑)) | ||
| Theorem | sbcex2 3098* | Move existential quantifier in and out of class substitution. (Contributed by NM, 21-May-2004.) |
| ⊢ ([𝐴 / 𝑦]∃𝑥𝜑 ↔ ∃𝑥[𝐴 / 𝑦]𝜑) | ||
| Theorem | sbcexg 3099* | Move existential quantifier in and out of class substitution. (Contributed by NM, 21-May-2004.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑦]∃𝑥𝜑 ↔ ∃𝑥[𝐴 / 𝑦]𝜑)) | ||
| Theorem | sbceqal 3100* | A variation of extensionality for classes. (Contributed by Andrew Salmon, 28-Jun-2011.) |
| ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝑥 = 𝐵) → 𝐴 = 𝐵)) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |