| Metamath
Proof Explorer Theorem List (p. 373 of 504) | < 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-31014) |
(31015-32537) |
(32538-50302) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | bj-eu3f 37201* | Version of eu3v 2574 where the disjoint variable condition is replaced with a nonfreeness hypothesis. This is a "backup" of a theorem that used to be in the main part with label "eu3" and was deprecated in favor of eu3v 2574. (Contributed by NM, 8-Jul-1994.) (Proof shortened by BJ, 31-May-2019.) |
| ⊢ Ⅎ𝑦𝜑 ⇒ ⊢ (∃!𝑥𝜑 ↔ (∃𝑥𝜑 ∧ ∃𝑦∀𝑥(𝜑 → 𝑥 = 𝑦))) | ||
Miscellaneous theorems of first-order logic. | ||
| Theorem | bj-sblem1 37202* | Lemma for substitution. (Contributed by BJ, 23-Jul-2023.) |
| ⊢ (∀𝑥(𝜑 → (𝜓 → 𝜒)) → (∀𝑥(𝜑 → 𝜓) → (∃𝑥𝜑 → 𝜒))) | ||
| Theorem | bj-sblem2 37203* | Lemma for substitution. (Contributed by BJ, 23-Jul-2023.) |
| ⊢ (∀𝑥(𝜑 → (𝜒 → 𝜓)) → ((∃𝑥𝜑 → 𝜒) → ∀𝑥(𝜑 → 𝜓))) | ||
| Theorem | bj-sblem 37204* | Lemma for substitution. (Contributed by BJ, 23-Jul-2023.) |
| ⊢ (∀𝑥(𝜑 → (𝜓 ↔ 𝜒)) → (∀𝑥(𝜑 → 𝜓) ↔ (∃𝑥𝜑 → 𝜒))) | ||
| Theorem | bj-sbievw1 37205* | Lemma for substitution. (Contributed by BJ, 23-Jul-2023.) |
| ⊢ ([𝑦 / 𝑥](𝜑 → 𝜓) → ([𝑦 / 𝑥]𝜑 → 𝜓)) | ||
| Theorem | bj-sbievw2 37206* | Lemma for substitution. (Contributed by BJ, 23-Jul-2023.) |
| ⊢ ([𝑦 / 𝑥](𝜓 → 𝜑) → (𝜓 → [𝑦 / 𝑥]𝜑)) | ||
| Theorem | bj-sbievw 37207* | Lemma for substitution. Closed form of equsalvw 2011 and sbievw 2104. (Contributed by BJ, 23-Jul-2023.) |
| ⊢ ([𝑦 / 𝑥](𝜑 ↔ 𝜓) → ([𝑦 / 𝑥]𝜑 ↔ 𝜓)) | ||
| Theorem | bj-sbievv 37208 | Version of sbie 2510 with a second nonfreeness hypothesis and shorter proof. (Contributed by BJ, 18-Jul-2023.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ Ⅎ𝑦𝜑 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ([𝑦 / 𝑥]𝜑 ↔ 𝜓) | ||
| Theorem | bj-moeub 37209 | Uniqueness is equivalent to existence being equivalent to unique existence. (Contributed by BJ, 14-Oct-2022.) |
| ⊢ (∃*𝑥𝜑 ↔ (∃𝑥𝜑 ↔ ∃!𝑥𝜑)) | ||
| Theorem | bj-sbidmOLD 37210 | Obsolete proof of sbidm 2518 temporarily kept here to check it gives no additional insight. (Contributed by NM, 8-Mar-1995.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ([𝑦 / 𝑥][𝑦 / 𝑥]𝜑 ↔ [𝑦 / 𝑥]𝜑) | ||
| Theorem | bj-dvelimdv 37211* |
Deduction form of dvelim 2459 with disjoint variable conditions. Uncurried
(imported) form of bj-dvelimdv1 37212. Typically, 𝑧 is a fresh
variable used for the implicit substitution hypothesis that results in
𝜒 (namely, 𝜓 can be thought as 𝜓(𝑥, 𝑦) and 𝜒 as
𝜓(𝑥, 𝑧)). So the theorem says that if x is
effectively free
in 𝜓(𝑥, 𝑧), then if x and y are not the same
variable, then
𝑥 is also effectively free in 𝜓(𝑥, 𝑦), in a context
𝜑.
One can weaken the implicit substitution hypothesis by adding the antecedent 𝜑 but this typically does not make the theorem much more useful. Similarly, one could use nonfreeness hypotheses instead of disjoint variable conditions but since this result is typically used when 𝑧 is a dummy variable, this would not be of much benefit. One could also remove DV (𝑥, 𝑧) since in the proof nfv 1921 can be replaced with nfal 2332 followed by nfn 1864. Remark: nfald 2337 uses ax-11 2168; it might be possible to inline and use ax11w 2141 instead, but there is still a use via 19.12 2336 anyway. (Contributed by BJ, 20-Oct-2021.) (Proof modification is discouraged.) |
| ⊢ (𝜑 → Ⅎ𝑥𝜒) & ⊢ (𝑧 = 𝑦 → (𝜒 ↔ 𝜓)) ⇒ ⊢ ((𝜑 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → Ⅎ𝑥𝜓) | ||
| Theorem | bj-dvelimdv1 37212* | Curried (exported) form of bj-dvelimdv 37211 (of course, one is directly provable from the other, but we keep this proof for illustration purposes). (Contributed by BJ, 20-Oct-2021.) (Proof modification is discouraged.) |
| ⊢ (𝜑 → Ⅎ𝑥𝜒) & ⊢ (𝑧 = 𝑦 → (𝜒 ↔ 𝜓)) ⇒ ⊢ (𝜑 → (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜓)) | ||
| Theorem | bj-dvelimv 37213* | A version of dvelim 2459 using the "nonfree" idiom. (Contributed by BJ, 20-Oct-2021.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑧 = 𝑦 → (𝜓 ↔ 𝜑)) ⇒ ⊢ (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜑) | ||
| Theorem | bj-nfeel2 37214* | Nonfreeness in a membership statement. (Contributed by BJ, 20-Oct-2021.) (Proof modification is discouraged.) |
| ⊢ (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥 𝑦 ∈ 𝑧) | ||
| Theorem | bj-axc14nf 37215 | Proof of a version of axc14 2471 using the "nonfree" idiom. (Contributed by BJ, 20-Oct-2021.) (Proof modification is discouraged.) |
| ⊢ (¬ ∀𝑧 𝑧 = 𝑥 → (¬ ∀𝑧 𝑧 = 𝑦 → Ⅎ𝑧 𝑥 ∈ 𝑦)) | ||
| Theorem | bj-axc14 37216 | Alternate proof of axc14 2471 (even when inlining the above results, this gives a shorter proof). (Contributed by BJ, 20-Oct-2021.) (Proof modification is discouraged.) |
| ⊢ (¬ ∀𝑧 𝑧 = 𝑥 → (¬ ∀𝑧 𝑧 = 𝑦 → (𝑥 ∈ 𝑦 → ∀𝑧 𝑥 ∈ 𝑦))) | ||
| Theorem | mobidvALT 37217* | Alternate proof of mobidv 2553 directly from its analogues albidv 1927 and exbidv 1928, using deduction style. Note the proof structure, similar to mobi 2551. (Contributed by Mario Carneiro, 7-Oct-2016.) Reduce axiom dependencies and shorten proof. Remove dependency on ax-12 2189 by adapting proof of mobid 2554. (Revised by BJ, 26-Sep-2022.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (∃*𝑥𝜓 ↔ ∃*𝑥𝜒)) | ||
| Theorem | sbn1ALT 37218 | Alternate proof of sbn1 2118, not using the false constant. (Contributed by BJ, 18-Sep-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ ([𝑡 / 𝑥] ¬ 𝜑 → ¬ [𝑡 / 𝑥]𝜑) | ||
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 2712, df-clab 2719, df-cleq 2732, df-clel 2815 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 2712, df-clab 2719, df-cleq 2732, df-clel 2815 }) 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 37226, eliminable-abeqv 37227, eliminable-abeqab 37228, eliminable-velab 37225, eliminable-abelv 37229, eliminable-abelab 37230 respectively, which are all proved from {FOL, ax-ext 2712, df-clab 2719, df-cleq 2732, df-clel 2815 }. (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 2719, dfcleq 2733 (proved from {FOL, ax-ext 2712, df-cleq 2732 }), and dfclel 2816 (proved from {FOL, df-clel 2815 }). 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 37220, eliminable2b 37221 and eliminable3a 37223, 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 1546, 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 2719 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 2719, ax-ext 2712 and df-cleq 2732 are sufficient (over FOL) to eliminate class terms. To prove that { df-clab 2719, df-cleq 2732, df-clel 2815 } provides a definitional extension of {FOL, ax-ext 2712 }, 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 2719, df-cleq 2732, df-clel 2815 }. 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 2712 }. 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 2719, df-cleq 2732, df-clel 2815 }. It involves a careful case study on the structure of the proof tree. | ||
| Theorem | eliminable1 37219 | 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 37220* | 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 37221* | 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 37222* | 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 37223* | 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 37224* | 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 37225 | 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 37226* | 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 37227* | 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 37228* | 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 37229* | 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 37230* | 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 2712. One could move all theorems from cab 2718 to df-clel 2815 (except for dfcleq 2733 and cvjust 2734) 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 2732. Note that without ax-ext 2712, the $a-statements df-clab 2719, df-cleq 2732, and df-clel 2815 are no longer eliminable (see previous section) (but PROBABLY df-clab 2719 is still conservative , while df-cleq 2732 and df-clel 2815 are not). This is not a reason not to study what is provable with them but without ax-ext 2712, 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 2119, wel 2120, ax-8 2121, ax-9 2129). Remark: the weakening of eleq1 2828 / eleq2 2829 to eleq1w 2823 / eleq2w 2824 can also be done with eleq1i 2831, eqeltri 2836, eqeltrri 2837, eleq1a 2835, eleq1d 2825, eqeltrd 2840, eqeltrrd 2841, eqneltrd 2860, eqneltrrd 2861, nelneq 2864. Remark: possibility to remove dependency on ax-10 2152, ax-11 2168, ax-13 2380 from nfcri 2894 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 2914. | ||
| Theorem | bj-denoteslem 37231* |
Duplicate of issettru 2818 and bj-issettruALTV 37233.
Lemma for bj-denotesALTV 37232. (Contributed by BJ, 24-Apr-2024.) (Proof modification is discouraged.) |
| ⊢ (∃𝑥 𝑥 = 𝐴 ↔ 𝐴 ∈ {𝑦 ∣ ⊤}) | ||
| Theorem | bj-denotesALTV 37232* |
Moved to main as iseqsetv-clel 2819 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 276 (to add an intermediate proposition ∃𝑧𝑧 = 𝐴 with a fresh 𝑧), cbvexvw 2044, and eqeq1 2744, requires the core axioms and { ax-9 2129, ax-ext 2712, df-cleq 2732 } whereas this proof requires the core axioms and { ax-8 2121, df-clab 2719, df-clel 2815 }. Theorem bj-issetwt 37235 proves that "existing" is equivalent to being a member of a class abstraction. It also requires, with the present proof, { ax-8 2121, df-clab 2719, df-clel 2815 } (whereas with the shorter proof from cbvexvw 2044 and eqeq1 2744 it would require { ax-8 2121, ax-9 2129, ax-ext 2712, df-clab 2719, df-cleq 2732, df-clel 2815 }). That every class is equal to a class abstraction is proved by abid1 2876, which requires { ax-8 2121, ax-9 2129, ax-ext 2712, df-clab 2719, df-cleq 2732, df-clel 2815 }. Note that there is no disjoint variable condition on 𝑥, 𝑦 but the theorem does not depend on ax-13 2380. Actually, the proof depends only on the logical axioms ax-1 6 through ax-7 2015 and sp 2195. 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 2712 and df-cleq 2732 (e.g., eqid 2740 and eqeq1 2744). In particular, one cannot even prove ⊢ ∃𝑥𝑥 = 𝐴 ⇒ ⊢ 𝐴 = 𝐴 without ax-ext 2712 and df-cleq 2732. (Contributed by BJ, 29-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ (∃𝑥 𝑥 = 𝐴 ↔ ∃𝑦 𝑦 = 𝐴) | ||
| Theorem | bj-issettruALTV 37233* |
Moved to main as issettru 2818 and kept for the comments.
Weak version of isset 3446 without ax-ext 2712. (Contributed by BJ, 24-Apr-2024.) (Proof modification is discouraged.) |
| ⊢ (∃𝑥 𝑥 = 𝐴 ↔ 𝐴 ∈ {𝑦 ∣ ⊤}) | ||
| Theorem | bj-elabtru 37234 | This is as close as we can get to proving extensionality for "the" "universal" class without ax-ext 2712. (Contributed by BJ, 24-Apr-2024.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ {𝑥 ∣ ⊤} ↔ 𝐴 ∈ {𝑦 ∣ ⊤}) | ||
| Theorem | bj-issetwt 37235* | Closed form of bj-issetw 37236. (Contributed by BJ, 29-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ (∀𝑥𝜑 → (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ ∃𝑦 𝑦 = 𝐴)) | ||
| Theorem | bj-issetw 37236* | The closest one can get to isset 3446 without using ax-ext 2712. See also vexw 2724. Note that the only disjoint variable condition is between 𝑦 and 𝐴. From there, one can prove isset 3446 using eleq2i 2832 (which requires ax-ext 2712 and df-cleq 2732). (Contributed by BJ, 29-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ ∃𝑦 𝑦 = 𝐴) | ||
| Theorem | bj-issetiv 37237* | Version of bj-isseti 37238 with a disjoint variable condition on 𝑥, 𝑉. The hypothesis uses 𝑉 instead of V for extra generality. This is indeed more general than isseti 3450 as long as elex 3453 is not available (and the non-dependence of bj-issetiv 37237 on special properties of the universal class V is obvious). Prefer its use over bj-isseti 37238 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ 𝑉 ⇒ ⊢ ∃𝑥 𝑥 = 𝐴 | ||
| Theorem | bj-isseti 37238* | Version of isseti 3450 with a class variable 𝑉 in the hypothesis instead of V for extra generality. This is indeed more general than isseti 3450 as long as elex 3453 is not available (and the non-dependence of bj-isseti 37238 on special properties of the universal class V is obvious). Use bj-issetiv 37237 instead when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 13-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ 𝑉 ⇒ ⊢ ∃𝑥 𝑥 = 𝐴 | ||
| Theorem | bj-ralvw 37239 | A weak version of ralv 3459 not using ax-ext 2712 (nor df-cleq 2732, df-clel 2815, df-v 3434), and only core FOL axioms. See also bj-rexvw 37240. The analogues for reuv 3461 and rmov 3462 are not proved. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜓 ⇒ ⊢ (∀𝑥 ∈ {𝑦 ∣ 𝜓}𝜑 ↔ ∀𝑥𝜑) | ||
| Theorem | bj-rexvw 37240 | A weak version of rexv 3460 not using ax-ext 2712 (nor df-cleq 2732, df-clel 2815, df-v 3434), and only core FOL axioms. See also bj-ralvw 37239. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜓 ⇒ ⊢ (∃𝑥 ∈ {𝑦 ∣ 𝜓}𝜑 ↔ ∃𝑥𝜑) | ||
| Theorem | bj-rababw 37241 | A weak version of rabab 3463 not using df-clel 2815 nor df-v 3434 (but requiring ax-ext 2712) nor ax-12 2189. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝜓 ⇒ ⊢ {𝑥 ∈ {𝑦 ∣ 𝜓} ∣ 𝜑} = {𝑥 ∣ 𝜑} | ||
| Theorem | bj-rexcom4bv 37242* | Version of rexcom4b 3464 and bj-rexcom4b 37243 with a disjoint variable condition on 𝑥, 𝑉, hence removing dependency on df-sb 2074 and df-clab 2719 (so that it depends on df-clel 2815 and df-rex 3065 only on top of first-order logic). Prefer its use over bj-rexcom4b 37243 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 37243* | Remove from rexcom4b 3464 dependency on ax-ext 2712 and ax-13 2380 (and on df-or 854, df-cleq 2732, df-nfc 2889, df-v 3434). The hypothesis uses 𝑉 instead of V (see bj-isseti 37238 for the motivation). Use bj-rexcom4bv 37242 instead when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐵 ∈ 𝑉 ⇒ ⊢ (∃𝑥∃𝑦 ∈ 𝐴 (𝜑 ∧ 𝑥 = 𝐵) ↔ ∃𝑦 ∈ 𝐴 𝜑) | ||
| Theorem | bj-ceqsalt0 37244 | The FOL content of ceqsalt 3466. Lemma for bj-ceqsalt 37246 and bj-ceqsaltv 37247. (Contributed by BJ, 26-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝜃 → (𝜑 ↔ 𝜓)) ∧ ∃𝑥𝜃) → (∀𝑥(𝜃 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalt1 37245 | The FOL content of ceqsalt 3466. Lemma for bj-ceqsalt 37246 and bj-ceqsaltv 37247. TODO: consider removing if it does not add anything to bj-ceqsalt0 37244. (Contributed by BJ, 26-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ (𝜃 → ∃𝑥𝜒) ⇒ ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝜒 → (𝜑 ↔ 𝜓)) ∧ 𝜃) → (∀𝑥(𝜒 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalt 37246* | Remove from ceqsalt 3466 dependency on ax-ext 2712 (and on df-cleq 2732 and df-v 3434). Note: this is not doable with ceqsralt 3467 (or ceqsralv 3473), which uses eleq1 2828, but the same dependence removal is possible for ceqsalg 3468, ceqsal 3470, ceqsalv 3472, cgsexg 3477, cgsex2g 3478, cgsex4g 3479, ceqsex 3480, ceqsexv 3481, ceqsex2 3484, ceqsex2v 3485, ceqsex3v 3486, ceqsex4v 3487, ceqsex6v 3488, ceqsex8v 3489, gencbvex 3490 (after changing 𝐴 = 𝑦 to 𝑦 = 𝐴), gencbvex2 3491, gencbval 3492, vtoclgft 3500 (it uses Ⅎ, whose justification nfcjust 2888 does not use ax-ext 2712) and several other vtocl* theorems (see for instance bj-vtoclg1f 37278). See also bj-ceqsaltv 37247. (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ∧ 𝐴 ∈ 𝑉) → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsaltv 37247* | Version of bj-ceqsalt 37246 with a disjoint variable condition on 𝑥, 𝑉, removing dependency on df-sb 2074 and df-clab 2719. Prefer its use over bj-ceqsalt 37246 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 16-Jun-2019.) (Proof modification is discouraged.) |
| ⊢ ((Ⅎ𝑥𝜓 ∧ ∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ∧ 𝐴 ∈ 𝑉) → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalg0 37248 | The FOL content of ceqsalg 3468. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃𝑥𝜒 → (∀𝑥(𝜒 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalg 37249* | Remove from ceqsalg 3468 dependency on ax-ext 2712 (and on df-cleq 2732 and df-v 3434). See also bj-ceqsalgv 37251. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalgALT 37250* | Alternate proof of bj-ceqsalg 37249. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalgv 37251* | Version of bj-ceqsalg 37249 with a disjoint variable condition on 𝑥, 𝑉, removing dependency on df-sb 2074 and df-clab 2719. Prefer its use over bj-ceqsalg 37249 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsalgvALT 37252* | Alternate proof of bj-ceqsalgv 37251. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓)) | ||
| Theorem | bj-ceqsal 37253* | Remove from ceqsal 3470 dependency on ax-ext 2712 (and on df-cleq 2732, df-v 3434, df-clab 2719, df-sb 2074). (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓) | ||
| Theorem | bj-ceqsalv 37254* | Remove from ceqsalv 3472 dependency on ax-ext 2712 (and on df-cleq 2732, df-v 3434, df-clab 2719, df-sb 2074). (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥(𝑥 = 𝐴 → 𝜑) ↔ 𝜓) | ||
| Theorem | bj-spcimdv 37255* | Remove from spcimdv 3538 dependency on ax-9 2129, ax-10 2152, ax-11 2168, ax-13 2380, ax-ext 2712, df-cleq 2732 (and df-nfc 2889, df-v 3434, df-or 854, df-tru 1550, df-nf 1791). For an even more economical version, see bj-spcimdvv 37256. (Contributed by BJ, 30-Nov-2020.) (Proof modification is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → (∀𝑥𝜓 → 𝜒)) | ||
| Theorem | bj-spcimdvv 37256* | Remove from spcimdv 3538 dependency on ax-7 2015, ax-8 2121, ax-10 2152, ax-11 2168, ax-12 2189 ax-13 2380, ax-ext 2712, df-cleq 2732, df-clab 2719 (and df-nfc 2889, df-v 3434, df-or 854, df-tru 1550, df-nf 1791) 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 37255. (Contributed by BJ, 3-Nov-2021.) (Proof modification is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → (∀𝑥𝜓 → 𝜒)) | ||
| Theorem | elelb 37257 | 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 37258 | 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 37259 | The nonfreeness quantifier for classes defines a symmetric binary relation on var metavariables (irreflexivity is proved by nfnid 5311 with additional axioms; see also nfcv 2902). This could be proved from aecom 2435 and nfcvb 5312 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 2746 instead of equcomd 2026; removing dependency on ax-ext 2712 is possible: prove weak versions (i.e. replace classes with setvars) of drnfc1 2921, eleq2d 2826 (using elequ2 2134), nfcvf 2928, dvelimc 2927, dvelimdc 2926, nfcvf2 2929. (Proof modification is discouraged.) |
| ⊢ (Ⅎ𝑥𝑦 ↔ Ⅎ𝑦𝑥) | ||
Some useful theorems for dealing with substitutions: sbbi 2318, sbcbig 3781, sbcel1g 4351, sbcel2 4353, sbcel12 4346, sbceqg 4347, csbvarg 4369. | ||
| Theorem | bj-sbeqALT 37260* | Substitution in an equality (use the more general version bj-sbeq 37261 instead, without disjoint variable condition). (Contributed by BJ, 6-Oct-2018.) (New usage is discouraged.) (Proof modification is discouraged.) |
| ⊢ ([𝑦 / 𝑥]𝐴 = 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 = ⦋𝑦 / 𝑥⦌𝐵) | ||
| Theorem | bj-sbeq 37261 | Distribute proper substitution through an equality relation. (See sbceqg 4347). (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ([𝑦 / 𝑥]𝐴 = 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 = ⦋𝑦 / 𝑥⦌𝐵) | ||
| Theorem | bj-sbceqgALT 37262 | Distribute proper substitution through an equality relation. Alternate proof of sbceqg 4347. (Contributed by BJ, 6-Oct-2018.) Proof modification is discouraged to avoid using sbceqg 4347, but the Metamath program "MM-PA> MINIMIZE_WITH * / EXCEPT sbceqg" command is ok. (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝐵 = 𝐶 ↔ ⦋𝐴 / 𝑥⦌𝐵 = ⦋𝐴 / 𝑥⦌𝐶)) | ||
| Theorem | bj-csbsnlem 37263* | Lemma for bj-csbsn 37264 (in this lemma, 𝑥 cannot occur in 𝐴). (Contributed by BJ, 6-Oct-2018.) (New usage is discouraged.) |
| ⊢ ⦋𝐴 / 𝑥⦌{𝑥} = {𝐴} | ||
| Theorem | bj-csbsn 37264 | Substitution in a singleton. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ⦋𝐴 / 𝑥⦌{𝑥} = {𝐴} | ||
| Theorem | bj-sbel1 37265* | Version of sbcel1g 4351 when substituting a set. (Note: one could have a corresponding version of sbcel12 4346 when substituting a set, but the point here is that the antecedent of sbcel1g 4351 is not needed when substituting a set.) (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ([𝑦 / 𝑥]𝐴 ∈ 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 ∈ 𝐵) | ||
| Theorem | bj-abv 37266 | 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 37267 | Alternate version of bj-abv 37266; shorter but uses ax-8 2121. (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (∀𝑥𝜑 → {𝑥 ∣ 𝜑} = V) | ||
| Theorem | bj-ab0 37268 | The class of sets verifying a falsity is the empty set (closed form of abf 4341). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ (∀𝑥 ¬ 𝜑 → {𝑥 ∣ 𝜑} = ∅) | ||
| Theorem | bj-abf 37269 | Shorter proof of abf 4341 (which should be kept as abfALT). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ ¬ 𝜑 ⇒ ⊢ {𝑥 ∣ 𝜑} = ∅ | ||
| Theorem | bj-csbprc 37270 | More direct proof of csbprc 4344 (fewer essential steps). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ (¬ 𝐴 ∈ V → ⦋𝐴 / 𝑥⦌𝐵 = ∅) | ||
| Theorem | bj-exlimvmpi 37271* | A Fol lemma (exlimiv 1937 followed by mpi 20). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝜒 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpi 37272 | Lemma for bj-vtoclg1f1 37277 (an instance of this lemma is a version of bj-vtoclg1f1 37277 where 𝑥 and 𝑦 are identified). (Contributed by BJ, 30-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpbi 37273 | Lemma for theorems of the vtoclg 3502 family. (Contributed by BJ, 3-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpbir 37274 | Lemma for theorems of the vtoclg 3502 family. (Contributed by BJ, 3-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) & ⊢ 𝜓 ⇒ ⊢ (∃𝑥𝜒 → 𝜑) | ||
| Theorem | bj-vtoclf 37275* | Remove dependency on ax-ext 2712, df-clab 2719 and df-cleq 2732 (and df-sb 2074 and df-v 3434) from vtoclf 3512. (Contributed by BJ, 6-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ 𝐴 ∈ 𝑉 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||
| Theorem | bj-vtocl 37276* | Remove dependency on ax-ext 2712, df-clab 2719 and df-cleq 2732 (and df-sb 2074 and df-v 3434) from vtocl 3506. (Contributed by BJ, 6-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ 𝑉 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||
| Theorem | bj-vtoclg1f1 37277* | The FOL content of vtoclg1f 3517 (hence not using ax-ext 2712, df-cleq 2732, df-nfc 2889, df-v 3434). 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 2712; as a byproduct, this dispenses with ax-11 2168 and ax-13 2380). (Contributed by BJ, 30-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑦 𝑦 = 𝐴 → 𝜓) | ||
| Theorem | bj-vtoclg1f 37278* | Reprove vtoclg1f 3517 from bj-vtoclg1f1 37277. This removes dependency on ax-ext 2712, df-cleq 2732 and df-v 3434. Use bj-vtoclg1fv 37279 instead when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-vtoclg1fv 37279* | Version of bj-vtoclg1f 37278 with a disjoint variable condition on 𝑥, 𝑉. This removes dependency on df-sb 2074 and df-clab 2719. Prefer its use over bj-vtoclg1f 37278 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-vtoclg 37280* | A version of vtoclg 3502 with an additional disjoint variable condition (which is removable if we allow use of df-clab 2719, see bj-vtoclg1f 37278), which requires fewer axioms (i.e., removes dependency on ax-6 1974, ax-7 2015, ax-9 2129, ax-12 2189, ax-ext 2712, df-clab 2719, df-cleq 2732, df-v 3434). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-rabeqbid 37281 | Version of rabeqbidv 3410 with two disjoint variable conditions removed and the third replaced by a nonfreeness hypothesis. (Contributed by BJ, 27-Apr-2019.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝑥 ∈ 𝐴 ∣ 𝜓} = {𝑥 ∈ 𝐵 ∣ 𝜒}) | ||
| Theorem | bj-seex 37282* | Version of seex 5584 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 37283* | Version of df-nfc 2889 with a disjoint variable condition replaced with a nonfreeness hypothesis. (Contributed by BJ, 2-May-2019.) |
| ⊢ Ⅎ𝑦𝐴 ⇒ ⊢ (Ⅎ𝑥𝐴 ↔ ∀𝑦Ⅎ𝑥 𝑦 ∈ 𝐴) | ||
| Theorem | bj-zfauscl 37284* |
General version of zfauscl 5227.
Remark: the comment in zfauscl 5227 is misleading: the essential use of ax-ext 2712 is the one via eleq2 2829 and not the one via vtocl 3506, since the latter can be proved without ax-ext 2712 (see bj-vtoclg 37280). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ∃𝑦∀𝑥(𝑥 ∈ 𝑦 ↔ (𝑥 ∈ 𝐴 ∧ 𝜑))) | ||
A few additional theorems on class abstractions and restricted class abstractions. | ||
| Theorem | bj-elabd2ALT 37285* | Alternate proof of elabd2 3615 bypassing elab6g 3614 (and using sbiedvw 2106 instead of the ∀𝑥(𝑥 = 𝑦 → 𝜓) idiom). (Contributed by BJ, 16-Oct-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 = {𝑥 ∣ 𝜓}) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (𝐴 ∈ 𝐵 ↔ 𝜒)) | ||
| Theorem | bj-unrab 37286* | Generalization of unrab 4250. Equality need not hold. (Contributed by BJ, 21-Apr-2019.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∪ {𝑥 ∈ 𝐵 ∣ 𝜓}) ⊆ {𝑥 ∈ (𝐴 ∪ 𝐵) ∣ (𝜑 ∨ 𝜓)} | ||
| Theorem | bj-inrab 37287 | Generalization of inrab 4251. (Contributed by BJ, 21-Apr-2019.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ {𝑥 ∈ 𝐵 ∣ 𝜓}) = {𝑥 ∈ (𝐴 ∩ 𝐵) ∣ (𝜑 ∧ 𝜓)} | ||
| Theorem | bj-inrab2 37288 | Shorter proof of inrab 4251. (Contributed by BJ, 21-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ {𝑥 ∈ 𝐴 ∣ 𝜓}) = {𝑥 ∈ 𝐴 ∣ (𝜑 ∧ 𝜓)} | ||
| Theorem | bj-inrab3 37289* | Generalization of dfrab3ss 4258. Shortens dfrab3ss 4258. (Contributed by BJ, 21-Apr-2019.) (Revised by OpenAI, 7-Jul-2020.) |
| ⊢ (𝐴 ∩ {𝑥 ∈ 𝐵 ∣ 𝜑}) = ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ 𝐵) | ||
| Theorem | bj-rabtr 37290* | Restricted class abstraction with true formula. (Contributed by BJ, 22-Apr-2019.) |
| ⊢ {𝑥 ∈ 𝐴 ∣ ⊤} = 𝐴 | ||
| Theorem | bj-rabtrALT 37291* | Alternate proof of bj-rabtr 37290. (Contributed by BJ, 22-Apr-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ {𝑥 ∈ 𝐴 ∣ ⊤} = 𝐴 | ||
| Theorem | bj-rabtrAUTO 37292* | Proof of bj-rabtr 37290 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 37293 | Syntax for generalized class abstractions. |
| class {𝐴 ∣ 𝑥 ∣ 𝜑} | ||
| Definition | df-bj-gab 37294* | 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 37295 | Inclusion of generalized class abstractions. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (∀𝑥(𝐴 = 𝐵 ∧ (𝜑 → 𝜓)) → {𝐴 ∣ 𝑥 ∣ 𝜑} ⊆ {𝐵 ∣ 𝑥 ∣ 𝜓}) | ||
| Theorem | bj-gabssd 37296 | Inclusion of generalized class abstractions. Deduction form. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → {𝐴 ∣ 𝑥 ∣ 𝜓} ⊆ {𝐵 ∣ 𝑥 ∣ 𝜒}) | ||
| Theorem | bj-gabeqd 37297 | Equality of generalized class abstractions. Deduction form. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝐴 ∣ 𝑥 ∣ 𝜓} = {𝐵 ∣ 𝑥 ∣ 𝜒}) | ||
| Theorem | bj-gabeqis 37298* | Equality of generalized class abstractions, with implicit substitution. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ {𝐴 ∣ 𝑥 ∣ 𝜑} = {𝐵 ∣ 𝑦 ∣ 𝜓} | ||
| Theorem | bj-elgab 37299 | Elements of a generalized class abstraction. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → (∃𝑥(𝐴 = 𝐵 ∧ 𝜓) ↔ 𝜒)) ⇒ ⊢ (𝜑 → (𝐴 ∈ {𝐵 ∣ 𝑥 ∣ 𝜓} ↔ 𝜒)) | ||
| Theorem | bj-gabima 37300 |
Generalized class abstraction as a direct image.
TODO: improve the support lemmas elimag 6023 and fvelima 6899 to nonfreeness hypothesis (and for the latter, biconditional). (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → Ⅎ𝑥𝐹) & ⊢ (𝜑 → Fun 𝐹) & ⊢ (𝜑 → {𝑥 ∣ 𝜓} ⊆ dom 𝐹) ⇒ ⊢ (𝜑 → {(𝐹‘𝑥) ∣ 𝑥 ∣ 𝜓} = (𝐹 “ {𝑥 ∣ 𝜓})) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |