| Metamath
Proof Explorer Theorem List (p. 372 of 502) | < 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-31005) |
(31006-32528) |
(32529-50158) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
In this section, we give a sketch of the proof of the Eliminability Theorem for class terms in an extensional set theory where quantification occurs only over set variables. Eliminability of class variables using the $a-statements ax-ext 2709, df-clab 2716, df-cleq 2729, df-clel 2812 is an easy result, proved for instance in Appendix X of Azriel Levy, Basic Set Theory, Dover Publications, 2002. Note that viewed from the set.mm axiomatization, it is a metatheorem not formalizable in set.mm. It states: every formula in the language of FOL + ∈ + class terms, but without class variables, is provably equivalent (over {FOL, ax-ext 2709, df-clab 2716, df-cleq 2729, df-clel 2812 }) to a formula in the language of FOL + ∈ (that is, without class terms). The proof goes by induction on the complexity of the formula (see op. cit. for details). The base case is that of atomic formulas. The atomic formulas containing class terms are of one of the six following forms: for equality, 𝑥 = {𝑦 ∣ 𝜑}, {𝑥 ∣ 𝜑} = 𝑦, {𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓}, and for membership, 𝑦 ∈ {𝑥 ∣ 𝜑}, {𝑥 ∣ 𝜑} ∈ 𝑦, {𝑥 ∣ 𝜑} ∈ {𝑦 ∣ 𝜓}. These cases are dealt with by eliminable-veqab 37108, eliminable-abeqv 37109, eliminable-abeqab 37110, eliminable-velab 37107, eliminable-abelv 37111, eliminable-abelab 37112 respectively, which are all proved from {FOL, ax-ext 2709, df-clab 2716, df-cleq 2729, df-clel 2812 }. (Details on the proof of the above six theorems. To understand how they were systematically proved, look at the theorems "eliminablei" below, which are special instances of df-clab 2716, dfcleq 2730 (proved from {FOL, ax-ext 2709, df-cleq 2729 }), and dfclel 2813 (proved from {FOL, df-clel 2812 }). Indeed, denote by (i) the formula proved by "eliminablei". One sees that the RHS of (1) has no class terms, the RHS's of (2x) have only class terms of the form dealt with by (1), and the RHS's of (3x) have only class terms of the forms dealt with by (1) and (2a). Note that in order to prove eliminable2a 37102, eliminable2b 37103 and eliminable3a 37105, we need to substitute a class variable for a setvar variable. This is possible because setvars are class terms: this is the content of the syntactic theorem cv 1541, which is used in these proofs (this does not appear in the html pages but it is in the set.mm file and you can check it using the Metamath program).) The induction step relies on the fact that any formula is a FOL-combination of atomic formulas, so if one found equivalents for all atomic formulas constituting the formula, then the same FOL-combination of these equivalents will be equivalent to the original formula. Note that one has a slightly more precise result: if the original formula has only class terms appearing in atomic formulas of the form 𝑦 ∈ {𝑥 ∣ 𝜑}, then df-clab 2716 is sufficient (over FOL) to eliminate class terms, and if the original formula has only class terms appearing in atomic formulas of the form 𝑦 ∈ {𝑥 ∣ 𝜑} and equalities, then df-clab 2716, ax-ext 2709 and df-cleq 2729 are sufficient (over FOL) to eliminate class terms. To prove that { df-clab 2716, df-cleq 2729, df-clel 2812 } provides a definitional extension of {FOL, ax-ext 2709 }, one needs to prove both the above Eliminability Theorem, which compares the expressive powers of the languages with and without class terms, and the Conservativity Theorem, which compares the deductive powers when one adds { df-clab 2716, df-cleq 2729, df-clel 2812 }. It states that a formula without class terms is provable in one axiom system if and only if it is provable in the other, and that this remains true when one adds further definitions to {FOL, ax-ext 2709 }. It is also proved in op. cit. The proof is more difficult, since one has to construct for each proof of a statement without class terms, an associated proof not using { df-clab 2716, df-cleq 2729, df-clel 2812 }. It involves a careful case study on the structure of the proof tree. | ||
| Theorem | eliminable1 37101 | A theorem used to prove the base case of the Eliminability Theorem (see section comment). (Contributed by BJ, 19-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝑦 ∈ {𝑥 ∣ 𝜑} ↔ [𝑦 / 𝑥]𝜑) | ||
| Theorem | eliminable2a 37102* | A theorem used to prove the base case of the Eliminability Theorem (see section comment). (Contributed by BJ, 19-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝑥 = {𝑦 ∣ 𝜑} ↔ ∀𝑧(𝑧 ∈ 𝑥 ↔ 𝑧 ∈ {𝑦 ∣ 𝜑})) | ||
| Theorem | eliminable2b 37103* | A theorem used to prove the base case of the Eliminability Theorem (see section comment). (Contributed by BJ, 19-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} = 𝑦 ↔ ∀𝑧(𝑧 ∈ {𝑥 ∣ 𝜑} ↔ 𝑧 ∈ 𝑦)) | ||
| Theorem | eliminable2c 37104* | A theorem used to prove the base case of the Eliminability Theorem (see section comment). (Contributed by BJ, 19-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓} ↔ ∀𝑧(𝑧 ∈ {𝑥 ∣ 𝜑} ↔ 𝑧 ∈ {𝑦 ∣ 𝜓})) | ||
| Theorem | eliminable3a 37105* | A theorem used to prove the base case of the Eliminability Theorem (see section comment). (Contributed by BJ, 19-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} ∈ 𝑦 ↔ ∃𝑧(𝑧 = {𝑥 ∣ 𝜑} ∧ 𝑧 ∈ 𝑦)) | ||
| Theorem | eliminable3b 37106* | A theorem used to prove the base case of the Eliminability Theorem (see section comment). (Contributed by BJ, 19-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} ∈ {𝑦 ∣ 𝜓} ↔ ∃𝑧(𝑧 = {𝑥 ∣ 𝜑} ∧ 𝑧 ∈ {𝑦 ∣ 𝜓})) | ||
| Theorem | eliminable-velab 37107 | A theorem used to prove the base case of the Eliminability Theorem (see section comment): variable belongs to abstraction. (Contributed by BJ, 30-Apr-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝑦 ∈ {𝑥 ∣ 𝜑} ↔ [𝑦 / 𝑥]𝜑) | ||
| Theorem | eliminable-veqab 37108* | A theorem used to prove the base case of the Eliminability Theorem (see section comment): variable equals abstraction. (Contributed by BJ, 30-Apr-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝑥 = {𝑦 ∣ 𝜑} ↔ ∀𝑧(𝑧 ∈ 𝑥 ↔ [𝑧 / 𝑦]𝜑)) | ||
| Theorem | eliminable-abeqv 37109* | A theorem used to prove the base case of the Eliminability Theorem (see section comment): abstraction equals variable. (Contributed by BJ, 30-Apr-2024.) Beware not to use symmetry of class equality. (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} = 𝑦 ↔ ∀𝑧([𝑧 / 𝑥]𝜑 ↔ 𝑧 ∈ 𝑦)) | ||
| Theorem | eliminable-abeqab 37110* | A theorem used to prove the base case of the Eliminability Theorem (see section comment): abstraction equals abstraction. (Contributed by BJ, 30-Apr-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓} ↔ ∀𝑧([𝑧 / 𝑥]𝜑 ↔ [𝑧 / 𝑦]𝜓)) | ||
| Theorem | eliminable-abelv 37111* | A theorem used to prove the base case of the Eliminability Theorem (see section comment): abstraction belongs to variable. (Contributed by BJ, 30-Apr-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} ∈ 𝑦 ↔ ∃𝑧(∀𝑡(𝑡 ∈ 𝑧 ↔ [𝑡 / 𝑥]𝜑) ∧ 𝑧 ∈ 𝑦)) | ||
| Theorem | eliminable-abelab 37112* | A theorem used to prove the base case of the Eliminability Theorem (see section comment): abstraction belongs to abstraction. (Contributed by BJ, 30-Apr-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜑} ∈ {𝑦 ∣ 𝜓} ↔ ∃𝑧(∀𝑡(𝑡 ∈ 𝑧 ↔ [𝑡 / 𝑥]𝜑) ∧ [𝑧 / 𝑦]𝜓)) | ||
A few results about classes can be proved without using ax-ext 2709. One could move all theorems from cab 2715 to df-clel 2812 (except for dfcleq 2730 and cvjust 2731) in a subsection "Classes" before the subsection on the axiom of extensionality, together with the theorems below. In that subsection, the last statement should be df-cleq 2729. Note that without ax-ext 2709, the $a-statements df-clab 2716, df-cleq 2729, and df-clel 2812 are no longer eliminable (see previous section) (but PROBABLY df-clab 2716 is still conservative , while df-cleq 2729 and df-clel 2812 are not). This is not a reason not to study what is provable with them but without ax-ext 2709, in order to gauge their strengths more precisely. Before that subsection, a subsection "The membership predicate" could group the statements with ∈ that are currently in the FOL part (including wcel 2114, wel 2115, ax-8 2116, ax-9 2124). Remark: the weakening of eleq1 2825 / eleq2 2826 to eleq1w 2820 / eleq2w 2821 can also be done with eleq1i 2828, eqeltri 2833, eqeltrri 2834, eleq1a 2832, eleq1d 2822, eqeltrd 2837, eqeltrrd 2838, eqneltrd 2857, eqneltrrd 2858, nelneq 2861. Remark: possibility to remove dependency on ax-10 2147, ax-11 2163, ax-13 2377 from nfcri 2891 and theorems using it if one adds a disjoint variable condition (that theorem is typically used with dummy variables, so the disjoint variable condition addition is not very restrictive), and then shorten nfnfc 2912. | ||
| Theorem | bj-denoteslem 37113* |
Duplicate of issettru 2815 and bj-issettruALTV 37115.
Lemma for bj-denotesALTV 37114. (Contributed by BJ, 24-Apr-2024.) (Proof modification is discouraged.) |
| ⊢ (∃𝑥 𝑥 = 𝐴 ↔ 𝐴 ∈ {𝑦 ∣ ⊤}) | ||
| Theorem | bj-denotesALTV 37114* |
Moved to main as iseqsetv-clel 2816 and kept for the comments.
This would be the justification theorem for the definition of the unary predicate "E!" by ⊢ ( E! 𝐴 ↔ ∃𝑥𝑥 = 𝐴) which could be interpreted as "𝐴 exists" (as a set) or "𝐴 denotes" (in the sense of free logic). A shorter proof using bitri 275 (to add an intermediate proposition ∃𝑧𝑧 = 𝐴 with a fresh 𝑧), cbvexvw 2039, and eqeq1 2741, requires the core axioms and { ax-9 2124, ax-ext 2709, df-cleq 2729 } whereas this proof requires the core axioms and { ax-8 2116, df-clab 2716, df-clel 2812 }. Theorem bj-issetwt 37117 proves that "existing" is equivalent to being a member of a class abstraction. It also requires, with the present proof, { ax-8 2116, df-clab 2716, df-clel 2812 } (whereas with the shorter proof from cbvexvw 2039 and eqeq1 2741 it would require { ax-8 2116, ax-9 2124, ax-ext 2709, df-clab 2716, df-cleq 2729, df-clel 2812 }). That every class is equal to a class abstraction is proved by abid1 2873, which requires { ax-8 2116, ax-9 2124, ax-ext 2709, df-clab 2716, df-cleq 2729, df-clel 2812 }. Note that there is no disjoint variable condition on 𝑥, 𝑦 but the theorem does not depend on ax-13 2377. Actually, the proof depends only on the logical axioms ax-1 6 through ax-7 2010 and sp 2191. The symbol "E!" was chosen to be reminiscent of the analogous predicate in (inclusive or non-inclusive) free logic, which deals with the possibility of nonexistent objects. This analogy should not be taken too far, since here there are no equality axioms for classes: these are derived from ax-ext 2709 and df-cleq 2729 (e.g., eqid 2737 and eqeq1 2741). In particular, one cannot even prove ⊢ ∃𝑥𝑥 = 𝐴 ⇒ ⊢ 𝐴 = 𝐴 without ax-ext 2709 and df-cleq 2729. (Contributed by BJ, 29-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ (∃𝑥 𝑥 = 𝐴 ↔ ∃𝑦 𝑦 = 𝐴) | ||
| Theorem | bj-issettruALTV 37115* |
Moved to main as issettru 2815 and kept for the comments.
Weak version of isset 3456 without ax-ext 2709. (Contributed by BJ, 24-Apr-2024.) (Proof modification is discouraged.) |
| ⊢ (∃𝑥 𝑥 = 𝐴 ↔ 𝐴 ∈ {𝑦 ∣ ⊤}) | ||
| Theorem | bj-elabtru 37116 | This is as close as we can get to proving extensionality for "the" "universal" class without ax-ext 2709. (Contributed by BJ, 24-Apr-2024.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ {𝑥 ∣ ⊤} ↔ 𝐴 ∈ {𝑦 ∣ ⊤}) | ||
| Theorem | bj-issetwt 37117* | Closed form of bj-issetw 37118. (Contributed by BJ, 29-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ (∀𝑥𝜑 → (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ ∃𝑦 𝑦 = 𝐴)) | ||
| Theorem | bj-issetw 37118* | The closest one can get to isset 3456 without using ax-ext 2709. See also vexw 2721. Note that the only disjoint variable condition is between 𝑦 and 𝐴. From there, one can prove isset 3456 using eleq2i 2829 (which requires ax-ext 2709 and df-cleq 2729). (Contributed by BJ, 29-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ ∃𝑦 𝑦 = 𝐴) | ||
| Theorem | bj-issetiv 37119* | Version of bj-isseti 37120 with a disjoint variable condition on 𝑥, 𝑉. The hypothesis uses 𝑉 instead of V for extra generality. This is indeed more general than isseti 3460 as long as elex 3463 is not available (and the non-dependence of bj-issetiv 37119 on special properties of the universal class V is obvious). Prefer its use over bj-isseti 37120 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ 𝑉 ⇒ ⊢ ∃𝑥 𝑥 = 𝐴 | ||
| Theorem | bj-isseti 37120* | Version of isseti 3460 with a class variable 𝑉 in the hypothesis instead of V for extra generality. This is indeed more general than isseti 3460 as long as elex 3463 is not available (and the non-dependence of bj-isseti 37120 on special properties of the universal class V is obvious). Use bj-issetiv 37119 instead when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 13-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ 𝑉 ⇒ ⊢ ∃𝑥 𝑥 = 𝐴 | ||
| Theorem | bj-ralvw 37121 | A weak version of ralv 3469 not using ax-ext 2709 (nor df-cleq 2729, df-clel 2812, df-v 3444), and only core FOL axioms. See also bj-rexvw 37122. The analogues for reuv 3471 and rmov 3472 are not proved. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜓 ⇒ ⊢ (∀𝑥 ∈ {𝑦 ∣ 𝜓}𝜑 ↔ ∀𝑥𝜑) | ||
| Theorem | bj-rexvw 37122 | A weak version of rexv 3470 not using ax-ext 2709 (nor df-cleq 2729, df-clel 2812, df-v 3444), and only core FOL axioms. See also bj-ralvw 37121. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜓 ⇒ ⊢ (∃𝑥 ∈ {𝑦 ∣ 𝜓}𝜑 ↔ ∃𝑥𝜑) | ||
| Theorem | bj-rababw 37123 | A weak version of rabab 3473 not using df-clel 2812 nor df-v 3444 (but requiring ax-ext 2709) nor ax-12 2185. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜓 ⇒ ⊢ {𝑥 ∈ {𝑦 ∣ 𝜓} ∣ 𝜑} = {𝑥 ∣ 𝜑} | ||
| Theorem | bj-rexcom4bv 37124* | Version of rexcom4b 3474 and bj-rexcom4b 37125 with a disjoint variable condition on 𝑥, 𝑉, hence removing dependency on df-sb 2069 and df-clab 2716 (so that it depends on df-clel 2812 and df-rex 3063 only on top of first-order logic). Prefer its use over bj-rexcom4b 37125 when sufficient (in particular when 𝑉 is substituted for V). Note the 𝑉 in the hypothesis instead of V. (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐵 ∈ 𝑉 ⇒ ⊢ (∃𝑥∃𝑦 ∈ 𝐴 (𝜑 ∧ 𝑥 = 𝐵) ↔ ∃𝑦 ∈ 𝐴 𝜑) | ||
| Theorem | bj-rexcom4b 37125* | Remove from rexcom4b 3474 dependency on ax-ext 2709 and ax-13 2377 (and on df-or 849, df-cleq 2729, df-nfc 2886, df-v 3444). The hypothesis uses 𝑉 instead of V (see bj-isseti 37120 for the motivation). Use bj-rexcom4bv 37124 instead when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐵 ∈ 𝑉 ⇒ ⊢ (∃𝑥∃𝑦 ∈ 𝐴 (𝜑 ∧ 𝑥 = 𝐵) ↔ ∃𝑦 ∈ 𝐴 𝜑) | ||
| Theorem | bj-ceqsalt0 37126 | The FOL content of ceqsalt 3476. Lemma for bj-ceqsalt 37128 and bj-ceqsaltv 37129. (Contributed by BJ, 26-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝜃 → (𝜑 ↔ 𝜓)) ∧ ∃𝑥𝜃) → (∀𝑥(𝜃 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalt1 37127 | The FOL content of ceqsalt 3476. Lemma for bj-ceqsalt 37128 and bj-ceqsaltv 37129. TODO: consider removing if it does not add anything to bj-ceqsalt0 37126. (Contributed by BJ, 26-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ (𝜃 → ∃𝑥𝜒) ⇒ ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝜒 → (𝜑 ↔ 𝜓)) ∧ 𝜃) → (∀𝑥(𝜒 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalt 37128* | Remove from ceqsalt 3476 dependency on ax-ext 2709 (and on df-cleq 2729 and df-v 3444). Note: this is not doable with ceqsralt 3477 (or ceqsralv 3483), which uses eleq1 2825, but the same dependence removal is possible for ceqsalg 3478, ceqsal 3480, ceqsalv 3482, cgsexg 3487, cgsex2g 3488, cgsex4g 3489, ceqsex 3491, ceqsexv 3492, ceqsex2 3495, ceqsex2v 3496, ceqsex3v 3497, ceqsex4v 3498, ceqsex6v 3499, ceqsex8v 3500, gencbvex 3501 (after changing 𝐴 = 𝑦 to 𝑦 = 𝐴), gencbvex2 3502, gencbval 3503, vtoclgft 3511 (it uses Ⅎ, whose justification nfcjust 2885 does not use ax-ext 2709) and several other vtocl* theorems (see for instance bj-vtoclg1f 37160). See also bj-ceqsaltv 37129. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ∧ 𝐴 ∈ 𝑉) → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsaltv 37129* | Version of bj-ceqsalt 37128 with a disjoint variable condition on 𝑥, 𝑉, removing dependency on df-sb 2069 and df-clab 2716. Prefer its use over bj-ceqsalt 37128 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ∧ 𝐴 ∈ 𝑉) → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalg0 37130 | The FOL content of ceqsalg 3478. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃𝑥𝜒 → (∀𝑥(𝜒 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalg 37131* | Remove from ceqsalg 3478 dependency on ax-ext 2709 (and on df-cleq 2729 and df-v 3444). See also bj-ceqsalgv 37133. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalgALT 37132* | Alternate proof of bj-ceqsalg 37131. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalgv 37133* | Version of bj-ceqsalg 37131 with a disjoint variable condition on 𝑥, 𝑉, removing dependency on df-sb 2069 and df-clab 2716. Prefer its use over bj-ceqsalg 37131 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalgvALT 37134* | Alternate proof of bj-ceqsalgv 37133. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsal 37135* | Remove from ceqsal 3480 dependency on ax-ext 2709 (and on df-cleq 2729, df-v 3444, df-clab 2716, df-sb 2069). (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓) | ||
| Theorem | bj-ceqsalv 37136* | Remove from ceqsalv 3482 dependency on ax-ext 2709 (and on df-cleq 2729, df-v 3444, df-clab 2716, df-sb 2069). (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓) | ||
| Theorem | bj-spcimdv 37137* | Remove from spcimdv 3549 dependency on ax-9 2124, ax-10 2147, ax-11 2163, ax-13 2377, ax-ext 2709, df-cleq 2729 (and df-nfc 2886, df-v 3444, df-or 849, df-tru 1545, df-nf 1786). For an even more economical version, see bj-spcimdvv 37138. (Contributed by BJ, 30-Nov-2020.) (Proof modification is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → (∀𝑥𝜓 → 𝜒)) | ||
| Theorem | bj-spcimdvv 37138* | Remove from spcimdv 3549 dependency on ax-7 2010, ax-8 2116, ax-10 2147, ax-11 2163, ax-12 2185 ax-13 2377, ax-ext 2709, df-cleq 2729, df-clab 2716 (and df-nfc 2886, df-v 3444, df-or 849, df-tru 1545, df-nf 1786) at the price of adding a disjoint variable condition on 𝑥, 𝐵 (but in usages, 𝑥 is typically a dummy, hence fresh, variable). For the version without this disjoint variable condition, see bj-spcimdv 37137. (Contributed by BJ, 3-Nov-2021.) (Proof modification is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → (∀𝑥𝜓 → 𝜒)) | ||
| Theorem | elelb 37139 | Equivalence between two common ways to characterize elements of a class 𝐵: the LHS says that sets are elements of 𝐵 if and only if they satisfy 𝜑 while the RHS says that classes are elements of 𝐵 if and only if they are sets and satisfy 𝜑. Therefore, the LHS is a characterization among sets while the RHS is a characterization among classes. Note that the LHS is often formulated using a class variable instead of the universe V while this is not possible for the RHS (apart from using 𝐵 itself, which would not be very useful). (Contributed by BJ, 26-Feb-2023.) |
| ⊢ ((𝐴 ∈ V → (𝐴 ∈ 𝐵 ↔ 𝜑)) ↔ (𝐴 ∈ 𝐵 ↔ (𝐴 ∈ V ∧ 𝜑))) | ||
| Theorem | bj-pwvrelb 37140 | Characterization of the elements of the powerclass of the cartesian square of the universal class: they are exactly the sets which are binary relations. (Contributed by BJ, 16-Dec-2023.) |
| ⊢ (𝐴 ∈ 𝒫 (V × V) ↔ (𝐴 ∈ V ∧ Rel 𝐴)) | ||
In this section, we prove the symmetry of the nonfreeness quantifier for classes. | ||
| Theorem | bj-nfcsym 37141 | The nonfreeness quantifier for classes defines a symmetric binary relation on var metavariables (irreflexivity is proved by nfnid 5322 with additional axioms; see also nfcv 2899). This could be proved from aecom 2432 and nfcvb 5323 but the latter requires a domain with at least two objects (hence uses extra axioms). (Contributed by BJ, 30-Sep-2018.) Proof modification is discouraged to avoid use of eqcomd 2743 instead of equcomd 2021; removing dependency on ax-ext 2709 is possible: prove weak versions (i.e. replace classes with setvars) of drnfc1 2919, eleq2d 2823 (using elequ2 2129), nfcvf 2926, dvelimc 2925, dvelimdc 2924, nfcvf2 2927. (Proof modification is discouraged.) |
| ⊢ (Ⅎ𝑥𝑦 ↔ Ⅎ𝑦𝑥) | ||
Some useful theorems for dealing with substitutions: sbbi 2314, sbcbig 3794, sbcel1g 4370, sbcel2 4372, sbcel12 4365, sbceqg 4366, csbvarg 4388. | ||
| Theorem | bj-sbeqALT 37142* | Substitution in an equality (use the more general version bj-sbeq 37143 instead, without disjoint variable condition). (Contributed by BJ, 6-Oct-2018.) (New usage is discouraged.) (Proof modification is discouraged.) |
| ⊢ ([𝑦 / 𝑥]𝐴 = 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 = ⦋𝑦 / 𝑥⦌𝐵) | ||
| Theorem | bj-sbeq 37143 | Distribute proper substitution through an equality relation. (See sbceqg 4366). (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ([𝑦 / 𝑥]𝐴 = 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 = ⦋𝑦 / 𝑥⦌𝐵) | ||
| Theorem | bj-sbceqgALT 37144 | Distribute proper substitution through an equality relation. Alternate proof of sbceqg 4366. (Contributed by BJ, 6-Oct-2018.) Proof modification is discouraged to avoid using sbceqg 4366, but the Metamath program "MM-PA> MINIMIZE_WITH * / EXCEPT sbceqg" command is ok. (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝐵 = 𝐶 ↔ ⦋𝐴 / 𝑥⦌𝐵 = ⦋𝐴 / 𝑥⦌𝐶)) | ||
| Theorem | bj-csbsnlem 37145* | Lemma for bj-csbsn 37146 (in this lemma, 𝑥 cannot occur in 𝐴). (Contributed by BJ, 6-Oct-2018.) (New usage is discouraged.) |
| ⊢ ⦋𝐴 / 𝑥⦌{𝑥} = {𝐴} | ||
| Theorem | bj-csbsn 37146 | Substitution in a singleton. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ⦋𝐴 / 𝑥⦌{𝑥} = {𝐴} | ||
| Theorem | bj-sbel1 37147* | Version of sbcel1g 4370 when substituting a set. (Note: one could have a corresponding version of sbcel12 4365 when substituting a set, but the point here is that the antecedent of sbcel1g 4370 is not needed when substituting a set.) (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ([𝑦 / 𝑥]𝐴 ∈ 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 ∈ 𝐵) | ||
| Theorem | bj-abv 37148 | The class of sets verifying a tautology is the universal class. (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ (∀𝑥𝜑 → {𝑥 ∣ 𝜑} = V) | ||
| Theorem | bj-abvALT 37149 | Alternate version of bj-abv 37148; shorter but uses ax-8 2116. (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (∀𝑥𝜑 → {𝑥 ∣ 𝜑} = V) | ||
| Theorem | bj-ab0 37150 | The class of sets verifying a falsity is the empty set (closed form of abf 4360). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ (∀𝑥 ¬ 𝜑 → {𝑥 ∣ 𝜑} = ∅) | ||
| Theorem | bj-abf 37151 | Shorter proof of abf 4360 (which should be kept as abfALT). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ ¬ 𝜑 ⇒ ⊢ {𝑥 ∣ 𝜑} = ∅ | ||
| Theorem | bj-csbprc 37152 | More direct proof of csbprc 4363 (fewer essential steps). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ (¬ 𝐴 ∈ V → ⦋𝐴 / 𝑥⦌𝐵 = ∅) | ||
| Theorem | bj-exlimvmpi 37153* | A Fol lemma (exlimiv 1932 followed by mpi 20). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝜒 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpi 37154 | Lemma for bj-vtoclg1f1 37159 (an instance of this lemma is a version of bj-vtoclg1f1 37159 where 𝑥 and 𝑦 are identified). (Contributed by BJ, 30-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpbi 37155 | Lemma for theorems of the vtoclg 3513 family. (Contributed by BJ, 3-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpbir 37156 | Lemma for theorems of the vtoclg 3513 family. (Contributed by BJ, 3-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) & ⊢ 𝜓 ⇒ ⊢ (∃𝑥𝜒 → 𝜑) | ||
| Theorem | bj-vtoclf 37157* | Remove dependency on ax-ext 2709, df-clab 2716 and df-cleq 2729 (and df-sb 2069 and df-v 3444) from vtoclf 3523. (Contributed by BJ, 6-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ 𝐴 ∈ 𝑉 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||
| Theorem | bj-vtocl 37158* | Remove dependency on ax-ext 2709, df-clab 2716 and df-cleq 2729 (and df-sb 2069 and df-v 3444) from vtocl 3517. (Contributed by BJ, 6-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ 𝑉 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||
| Theorem | bj-vtoclg1f1 37159* | The FOL content of vtoclg1f 3528 (hence not using ax-ext 2709, df-cleq 2729, df-nfc 2886, df-v 3444). Note the weakened "major" hypothesis and the disjoint variable condition between 𝑥 and 𝐴 (needed since the nonfreeness quantifier for classes is not available without ax-ext 2709; as a byproduct, this dispenses with ax-11 2163 and ax-13 2377). (Contributed by BJ, 30-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑦 𝑦 = 𝐴 → 𝜓) | ||
| Theorem | bj-vtoclg1f 37160* | Reprove vtoclg1f 3528 from bj-vtoclg1f1 37159. This removes dependency on ax-ext 2709, df-cleq 2729 and df-v 3444. Use bj-vtoclg1fv 37161 instead when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-vtoclg1fv 37161* | Version of bj-vtoclg1f 37160 with a disjoint variable condition on 𝑥, 𝑉. This removes dependency on df-sb 2069 and df-clab 2716. Prefer its use over bj-vtoclg1f 37160 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-vtoclg 37162* | A version of vtoclg 3513 with an additional disjoint variable condition (which is removable if we allow use of df-clab 2716, see bj-vtoclg1f 37160), which requires fewer axioms (i.e., removes dependency on ax-6 1969, ax-7 2010, ax-9 2124, ax-12 2185, ax-ext 2709, df-clab 2716, df-cleq 2729, df-v 3444). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-rabeqbid 37163 | Version of rabeqbidv 3419 with two disjoint variable conditions removed and the third replaced by a nonfreeness hypothesis. (Contributed by BJ, 27-Apr-2019.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝑥 ∈ 𝐴 ∣ 𝜓} = {𝑥 ∈ 𝐵 ∣ 𝜒}) | ||
| Theorem | bj-seex 37164* | Version of seex 5591 with a disjoint variable condition replaced by a nonfreeness hypothesis (for the sake of illustration). (Contributed by BJ, 27-Apr-2019.) |
| ⊢ Ⅎ𝑥𝐵 ⇒ ⊢ ((𝑅 Se 𝐴 ∧ 𝐵 ∈ 𝐴) → {𝑥 ∈ 𝐴 ∣ 𝑥𝑅𝐵} ∈ V) | ||
| Theorem | bj-nfcf 37165* | Version of df-nfc 2886 with a disjoint variable condition replaced with a nonfreeness hypothesis. (Contributed by BJ, 2-May-2019.) |
| ⊢ Ⅎ𝑦𝐴 ⇒ ⊢ (Ⅎ𝑥𝐴 ↔ ∀𝑦Ⅎ𝑥 𝑦 ∈ 𝐴) | ||
| Theorem | bj-zfauscl 37166* |
General version of zfauscl 5245.
Remark: the comment in zfauscl 5245 is misleading: the essential use of ax-ext 2709 is the one via eleq2 2826 and not the one via vtocl 3517, since the latter can be proved without ax-ext 2709 (see bj-vtoclg 37162). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ∃𝑦∀𝑥(𝑥 ∈ 𝑦 ↔ (𝑥 ∈ 𝐴 ∧ 𝜑))) | ||
A few additional theorems on class abstractions and restricted class abstractions. | ||
| Theorem | bj-elabd2ALT 37167* | Alternate proof of elabd2 3626 bypassing elab6g 3625 (and using sbiedvw 2101 instead of the ∀𝑥(𝑥 = 𝑦 → 𝜓) idiom). (Contributed by BJ, 16-Oct-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 = {𝑥 ∣ 𝜓}) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (𝐴 ∈ 𝐵 ↔ 𝜒)) | ||
| Theorem | bj-unrab 37168* | Generalization of unrab 4269. Equality need not hold. (Contributed by BJ, 21-Apr-2019.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∪ {𝑥 ∈ 𝐵 ∣ 𝜓}) ⊆ {𝑥 ∈ (𝐴 ∪ 𝐵) ∣ (𝜑 ∨ 𝜓)} | ||
| Theorem | bj-inrab 37169 | Generalization of inrab 4270. (Contributed by BJ, 21-Apr-2019.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ {𝑥 ∈ 𝐵 ∣ 𝜓}) = {𝑥 ∈ (𝐴 ∩ 𝐵) ∣ (𝜑 ∧ 𝜓)} | ||
| Theorem | bj-inrab2 37170 | Shorter proof of inrab 4270. (Contributed by BJ, 21-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ {𝑥 ∈ 𝐴 ∣ 𝜓}) = {𝑥 ∈ 𝐴 ∣ (𝜑 ∧ 𝜓)} | ||
| Theorem | bj-inrab3 37171* | Generalization of dfrab3ss 4277, which it may shorten. (Contributed by BJ, 21-Apr-2019.) (Revised by OpenAI, 7-Jul-2020.) |
| ⊢ (𝐴 ∩ {𝑥 ∈ 𝐵 ∣ 𝜑}) = ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ 𝐵) | ||
| Theorem | bj-rabtr 37172* | Restricted class abstraction with true formula. (Contributed by BJ, 22-Apr-2019.) |
| ⊢ {𝑥 ∈ 𝐴 ∣ ⊤} = 𝐴 | ||
| Theorem | bj-rabtrALT 37173* | Alternate proof of bj-rabtr 37172. (Contributed by BJ, 22-Apr-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ {𝑥 ∈ 𝐴 ∣ ⊤} = 𝐴 | ||
| Theorem | bj-rabtrAUTO 37174* | Proof of bj-rabtr 37172 found automatically by the Metamath program "MM-PA> IMPROVE ALL / DEPTH 3 / 3" command followed by "MM-PA> MINIMIZE_WITH *". (Contributed by BJ, 22-Apr-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ {𝑥 ∈ 𝐴 ∣ ⊤} = 𝐴 | ||
| Syntax | bj-cgab 37175 | Syntax for generalized class abstractions. |
| class {𝐴 ∣ 𝑥 ∣ 𝜑} | ||
| Definition | df-bj-gab 37176* | Definition of generalized class abstractions: typically, 𝑥 is a bound variable in 𝐴 and 𝜑 and {𝐴 ∣ 𝑥 ∣ 𝜑} denotes "the class of 𝐴(𝑥)'s such that 𝜑(𝑥)". (Contributed by BJ, 4-Oct-2024.) |
| ⊢ {𝐴 ∣ 𝑥 ∣ 𝜑} = {𝑦 ∣ ∃𝑥(𝐴 = 𝑦 ∧ 𝜑)} | ||
| Theorem | bj-gabss 37177 | Inclusion of generalized class abstractions. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (∀𝑥(𝐴 = 𝐵 ∧ (𝜑 → 𝜓)) → {𝐴 ∣ 𝑥 ∣ 𝜑} ⊆ {𝐵 ∣ 𝑥 ∣ 𝜓}) | ||
| Theorem | bj-gabssd 37178 | Inclusion of generalized class abstractions. Deduction form. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → {𝐴 ∣ 𝑥 ∣ 𝜓} ⊆ {𝐵 ∣ 𝑥 ∣ 𝜒}) | ||
| Theorem | bj-gabeqd 37179 | Equality of generalized class abstractions. Deduction form. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝐴 ∣ 𝑥 ∣ 𝜓} = {𝐵 ∣ 𝑥 ∣ 𝜒}) | ||
| Theorem | bj-gabeqis 37180* | Equality of generalized class abstractions, with implicit substitution. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ {𝐴 ∣ 𝑥 ∣ 𝜑} = {𝐵 ∣ 𝑦 ∣ 𝜓} | ||
| Theorem | bj-elgab 37181 | Elements of a generalized class abstraction. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → (∃𝑥(𝐴 = 𝐵 ∧ 𝜓) ↔ 𝜒)) ⇒ ⊢ (𝜑 → (𝐴 ∈ {𝐵 ∣ 𝑥 ∣ 𝜓} ↔ 𝜒)) | ||
| Theorem | bj-gabima 37182 |
Generalized class abstraction as a direct image.
TODO: improve the support lemmas elimag 6031 and fvelima 6907 to nonfreeness hypothesis (and for the latter, biconditional). (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → Ⅎ𝑥𝐹) & ⊢ (𝜑 → Fun 𝐹) & ⊢ (𝜑 → {𝑥 ∣ 𝜓} ⊆ dom 𝐹) ⇒ ⊢ (𝜑 → {(𝐹‘𝑥) ∣ 𝑥 ∣ 𝜓} = (𝐹 “ {𝑥 ∣ 𝜓})) | ||
In this subsection, we define restricted nonfreeness (or relative nonfreeness). | ||
| Syntax | wrnf 37183 | Syntax for restricted nonfreeness. |
| wff Ⅎ𝑥 ∈ 𝐴𝜑 | ||
| Definition | df-bj-rnf 37184 | Definition of restricted nonfreeness. Informally, the proposition Ⅎ𝑥 ∈ 𝐴𝜑 means that 𝜑(𝑥) does not vary on 𝐴. (Contributed by BJ, 19-Mar-2021.) |
| ⊢ (Ⅎ𝑥 ∈ 𝐴𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 → ∀𝑥 ∈ 𝐴 𝜑)) | ||
A few results around Russell's paradox. For clarity, we prove separately a FOL statement (now in the main part as ru0 2133) and then two versions (bj-ru1 37185 and bj-ru 37186). Special attention is put on minimizing axiom depencencies. | ||
| Theorem | bj-ru1 37185* | A version of Russell's paradox ru 3740 not mentioning the universal class. (see also bj-ru 37186). (Contributed by BJ, 12-Oct-2019.) Remove usage of ax-10 2147, ax-11 2163, ax-12 2185 by using eqabbw 2810 following BTernaryTau's similar revision of ru 3740. (Revised by BJ, 28-Jun-2025.) (Proof modification is discouraged.) |
| ⊢ ¬ ∃𝑦 𝑦 = {𝑥 ∣ ¬ 𝑥 ∈ 𝑥} | ||
| Theorem | bj-ru 37186 | Remove dependency on ax-13 2377 (and df-v 3444) from Russell's paradox ru 3740 expressed with primitive symbols and with a class variable 𝑉. Note the more economical use of elissetv 2818 instead of isset 3456 to avoid use of df-v 3444. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ ¬ {𝑥 ∣ ¬ 𝑥 ∈ 𝑥} ∈ 𝑉 | ||
| Theorem | currysetlem 37187* | Lemma for currysetlem 37187, where it is used with (𝑥 ∈ 𝑥 → 𝜑) substituted for 𝜓. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜓} ∈ 𝑉 → ({𝑥 ∣ 𝜓} ∈ {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ↔ ({𝑥 ∣ 𝜓} ∈ {𝑥 ∣ 𝜓} → 𝜑))) | ||
| Theorem | curryset 37188* | Curry's paradox in set theory. This can be seen as a generalization of Russell's paradox, which corresponds to the case where 𝜑 is ⊥. See alternate exposal of basically the same proof currysetALT 37192. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ ¬ {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ∈ 𝑉 | ||
| Theorem | currysetlem1 37189* | Lemma for currysetALT 37192. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ 𝑋 = {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ⇒ ⊢ (𝑋 ∈ 𝑉 → (𝑋 ∈ 𝑋 ↔ (𝑋 ∈ 𝑋 → 𝜑))) | ||
| Theorem | currysetlem2 37190* | Lemma for currysetALT 37192. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ 𝑋 = {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ⇒ ⊢ (𝑋 ∈ 𝑉 → (𝑋 ∈ 𝑋 → 𝜑)) | ||
| Theorem | currysetlem3 37191* | Lemma for currysetALT 37192. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ 𝑋 = {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ⇒ ⊢ ¬ 𝑋 ∈ 𝑉 | ||
| Theorem | currysetALT 37192* | Alternate proof of curryset 37188, or more precisely alternate exposal of the same proof. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ¬ {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ∈ 𝑉 | ||
A few utility theorems on disjointness of classes. | ||
| Theorem | bj-n0i 37193* | Inference associated with n0 4307. Shortens 2ndcdisj 23412 (2888>2878), notzfaus 5310 (264>253). (Contributed by BJ, 22-Apr-2019.) |
| ⊢ 𝐴 ≠ ∅ ⇒ ⊢ ∃𝑥 𝑥 ∈ 𝐴 | ||
| Theorem | bj-disjsn01 37194 | Disjointness of the singletons containing 0 and 1. This is a consequence of disjcsn 9524 but the present proof does not use regularity. (Contributed by BJ, 4-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ ({∅} ∩ {1o}) = ∅ | ||
| Theorem | bj-0nel1 37195 | The empty set does not belong to {1o}. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ ∅ ∉ {1o} | ||
| Theorem | bj-1nel0 37196 | 1o does not belong to {∅}. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ 1o ∉ {∅} | ||
A few utility theorems on direct products. | ||
| Theorem | bj-xpimasn 37197 | The image of a singleton, general case. [Change and relabel xpimasn 6151 accordingly, maybe to xpima2sn.] (Contributed by BJ, 6-Apr-2019.) |
| ⊢ ((𝐴 × 𝐵) “ {𝑋}) = if(𝑋 ∈ 𝐴, 𝐵, ∅) | ||
| Theorem | bj-xpima1sn 37198 | The image of a singleton by a direct product, empty case. [Change and relabel xpimasn 6151 accordingly, maybe to xpima2sn.] (Contributed by BJ, 6-Apr-2019.) |
| ⊢ (¬ 𝑋 ∈ 𝐴 → ((𝐴 × 𝐵) “ {𝑋}) = ∅) | ||
| Theorem | bj-xpima1snALT 37199 | Alternate proof of bj-xpima1sn 37198. (Contributed by BJ, 6-Apr-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (¬ 𝑋 ∈ 𝐴 → ((𝐴 × 𝐵) “ {𝑋}) = ∅) | ||
| Theorem | bj-xpima2sn 37200 | The image of a singleton by a direct product, nonempty case. [To replace xpimasn 6151.] (Contributed by BJ, 6-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ (𝑋 ∈ 𝐴 → ((𝐴 × 𝐵) “ {𝑋}) = 𝐵) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |