| Metamath
Proof Explorer Theorem List (p. 380 of 512) | < 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-31526) |
(31527-33049) |
(33050-51159) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | bj-spcimdvv 37901* | Remove from spcimdv 3547 dependency on ax-7 2040, ax-8 2146, ax-10 2177, ax-11 2193, ax-12 2212 ax-13 2401, ax-ext 2732, df-cleq 2752, df-clab 2739 (and df-nfc 2909, df-v 3452, df-or 862, df-tru 1572, df-nf 1816) 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 37900. (Contributed by BJ, 3-Nov-2021.) (Proof modification is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝐵) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → (∀𝑥𝜓 → 𝜒)) | ||
| Theorem | elelb 37902 | 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. 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 37903 | 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 37904 | The nonfreeness quantifier for classes defines a symmetric binary relation on var metavariables (irreflexivity is proved by nfnid 5336 with additional axioms; see also nfcv 2922). This could be proved from aecom 2456 and nfcvb 5337 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 2766 instead of equcomd 2051; removing dependency on ax-ext 2732 is possible: prove weak versions (i.e. replace classes with setvars) of drnfc1 2941, eleq2d 2846 (using elequ2 2159), nfcvf 2948, dvelimc 2947, dvelimdc 2946, nfcvf2 2949. (Proof modification is discouraged.) |
| ⊢ (Ⅎ𝑥𝑦 ↔ Ⅎ𝑦𝑥) | ||
Some useful theorems for dealing with substitutions: sbbi 2340, sbcbig 3789, sbcel1g 4373, sbcel2 4375, sbcel12 4368, sbceqg 4369, csbvarg 4391. | ||
| Theorem | bj-sbeqALT 37905* | Substitution in an equality (use the more general version bj-sbeq 37906 instead, without disjoint variable condition). (Contributed by BJ, 6-Oct-2018.) (New usage is discouraged.) (Proof modification is discouraged.) |
| ⊢ ([𝑦 / 𝑥]𝐴 = 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 = ⦋𝑦 / 𝑥⦌𝐵) | ||
| Theorem | bj-sbeq 37906 | Distribute proper substitution through an equality relation. (See sbceqg 4369). (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ([𝑦 / 𝑥]𝐴 = 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 = ⦋𝑦 / 𝑥⦌𝐵) | ||
| Theorem | bj-sbceqgALT 37907 | Distribute proper substitution through an equality relation. Alternate proof of sbceqg 4369. (Contributed by BJ, 6-Oct-2018.) Proof modification is discouraged to avoid using sbceqg 4369, but the Metamath program "MM-PA> MINIMIZE_WITH * / EXCEPT sbceqg" command is ok. (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝐵 = 𝐶 ↔ ⦋𝐴 / 𝑥⦌𝐵 = ⦋𝐴 / 𝑥⦌𝐶)) | ||
| Theorem | bj-csbsnlem 37908* | Lemma for bj-csbsn 37909 (in this lemma, 𝑥 cannot occur in 𝐴). (Contributed by BJ, 6-Oct-2018.) (New usage is discouraged.) |
| ⊢ ⦋𝐴 / 𝑥⦌{𝑥} = {𝐴} | ||
| Theorem | bj-csbsn 37909 | Substitution in a singleton. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ⦋𝐴 / 𝑥⦌{𝑥} = {𝐴} | ||
| Theorem | bj-sbel1 37910* | Version of sbcel1g 4373 when substituting a set. (Note: one could have a corresponding version of sbcel12 4368 when substituting a set, but the point here is that the antecedent of sbcel1g 4373 is not needed when substituting a set.) (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ([𝑦 / 𝑥]𝐴 ∈ 𝐵 ↔ ⦋𝑦 / 𝑥⦌𝐴 ∈ 𝐵) | ||
| Theorem | bj-abv 37911 | 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 37912 | Alternate version of bj-abv 37911; shorter but uses ax-8 2146. (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (∀𝑥𝜑 → {𝑥 ∣ 𝜑} = V) | ||
| Theorem | bj-ab0 37913 | The class of sets verifying a falsity is the empty set (closed form of abf 4363). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ (∀𝑥 ¬ 𝜑 → {𝑥 ∣ 𝜑} = ∅) | ||
| Theorem | bj-abf 37914 | Shorter proof of abf 4363 (which should be kept as abfALT). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ ¬ 𝜑 ⇒ ⊢ {𝑥 ∣ 𝜑} = ∅ | ||
| Theorem | bj-csbprc 37915 | More direct proof of csbprc 4366 (fewer essential steps). (Contributed by BJ, 24-Jul-2019.) (Proof modification is discouraged.) |
| ⊢ (¬ 𝐴 ∈ V → ⦋𝐴 / 𝑥⦌𝐵 = ∅) | ||
| Theorem | bj-exlimvmpi 37916* | A Fol lemma (exlimiv 1962 followed by mpi 21). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝜒 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpi 37917 | Lemma for bj-vtoclg1f1 37922 (an instance of this lemma is a version of bj-vtoclg1f1 37922 where 𝑥 and 𝑦 are identified). (Contributed by BJ, 30-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpbi 37918 | Lemma for theorems of the vtoclg 3517 family. (Contributed by BJ, 3-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||
| Theorem | bj-exlimmpbir 37919 | Lemma for theorems of the vtoclg 3517 family. (Contributed by BJ, 3-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜒 → (𝜑 ↔ 𝜓)) & ⊢ 𝜓 ⇒ ⊢ (∃𝑥𝜒 → 𝜑) | ||
| Theorem | bj-vtoclf 37920* | Remove dependency on ax-ext 2732, df-clab 2739 and df-cleq 2752 (and df-sb 2099 and df-v 3452) from vtoclf 3525. (Contributed by BJ, 6-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ 𝐴 ∈ 𝑉 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||
| Theorem | bj-vtocl 37921* | Remove dependency on ax-ext 2732, df-clab 2739 and df-cleq 2752 (and df-sb 2099 and df-v 3452) from vtocl 3520. (Contributed by BJ, 6-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ 𝐴 ∈ 𝑉 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||
| Theorem | bj-vtoclg1f1 37922* | The FOL content of vtoclg1f 3530 (hence not using ax-ext 2732, df-cleq 2752, df-nfc 2909, df-v 3452). 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 2732; as a byproduct, this dispenses with ax-11 2193 and ax-13 2401). (Contributed by BJ, 30-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (∃𝑦 𝑦 = 𝐴 → 𝜓) | ||
| Theorem | bj-vtoclg1f 37923* | Reprove vtoclg1f 3530 from bj-vtoclg1f1 37922. This removes dependency on ax-ext 2732, df-cleq 2752 and df-v 3452. Use bj-vtoclg1fv 37924 instead when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-vtoclg1fv 37924* | Version of bj-vtoclg1f 37923 with a disjoint variable condition on 𝑥, 𝑉. This removes dependency on df-sb 2099 and df-clab 2739. Prefer its use over bj-vtoclg1f 37923 when sufficient (in particular when 𝑉 is substituted for V). (Contributed by BJ, 14-Sep-2019.) (Proof modification is discouraged.) |
| ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-vtoclg 37925* | A version of vtoclg 3517 with an additional disjoint variable condition (which is removable if we allow use of df-clab 2739, see bj-vtoclg1f 37923), which requires fewer axioms (i.e., removes dependency on ax-6 1999, ax-7 2040, ax-9 2154, ax-12 2212, ax-ext 2732, df-clab 2739, df-cleq 2752, df-v 3452). (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) & ⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||
| Theorem | bj-rabeqbid 37926 | Version of rabeqbidv 3429 with two disjoint variable conditions removed and the third replaced by a nonfreeness hypothesis. (Contributed by BJ, 27-Apr-2019.) |
| ⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝑥 ∈ 𝐴 ∣ 𝜓} = {𝑥 ∈ 𝐵 ∣ 𝜒}) | ||
| Theorem | bj-seex 37927* | Version of seex 5609 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 37928* | Version of df-nfc 2909 with a disjoint variable condition replaced with a nonfreeness hypothesis. (Contributed by BJ, 2-May-2019.) |
| ⊢ Ⅎ𝑦𝐴 ⇒ ⊢ (Ⅎ𝑥𝐴 ↔ ∀𝑦Ⅎ𝑥 𝑦 ∈ 𝐴) | ||
| Theorem | bj-sepg 37929* | Version of sepg 5250 which does not require df-clab 2739, thanks to the use of bj-vtoclg 37925 (and ultimately, to the use of elissetv 2841 instead of elisset 2842). This axiom save is not very important, since this theorem uses df-cleq 2752 and df-clel 2835. This theorem is a remnant of a previous state of set.mm where the axiom saving was larger. (Contributed by BJ, 2-Jul-2022.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → ∃𝑦∀𝑥(𝑥 ∈ 𝑦 ↔ (𝑥 ∈ 𝐴 ∧ 𝜑))) | ||
| Theorem | bj-inex1gALT 37930 | Proof of inex1g 5278 from sepg 5250 to then allow proving inex1 5276 from it. That does not reduce the combined proof size of inex1 5276 and inex1g 5278. (Contributed by BJ, 14-Jul-2026.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝐴 ∈ 𝑉 → (𝐴 ∩ 𝐵) ∈ V) | ||
A few additional theorems on class abstractions and restricted class abstractions. | ||
| Theorem | bj-elabd2ALT 37931* | Alternate proof of elabd2 3623 bypassing elab6g 3622 (and using sbiedvw 2131 instead of the ∀𝑥(𝑥 = 𝑦 → 𝜓) idiom). (Contributed by BJ, 16-Oct-2024.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 = {𝑥 ∣ 𝜓}) & ⊢ ((𝜑 ∧ 𝑥 = 𝐴) → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → (𝐴 ∈ 𝐵 ↔ 𝜒)) | ||
| Theorem | bj-unrab 37932* | Generalization of unrab 4260. Equality need not hold. (Contributed by BJ, 21-Apr-2019.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∪ {𝑥 ∈ 𝐵 ∣ 𝜓}) ⊆ {𝑥 ∈ (𝐴 ∪ 𝐵) ∣ (𝜑 ∨ 𝜓)} | ||
| Theorem | bj-inrab 37933 | Generalization of inrab 4261. (Contributed by BJ, 21-Apr-2019.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ {𝑥 ∈ 𝐵 ∣ 𝜓}) = {𝑥 ∈ (𝐴 ∩ 𝐵) ∣ (𝜑 ∧ 𝜓)} | ||
| Theorem | bj-inrab2 37934 | Shorter proof of inrab 4261. (Contributed by BJ, 21-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ {𝑥 ∈ 𝐴 ∣ 𝜓}) = {𝑥 ∈ 𝐴 ∣ (𝜑 ∧ 𝜓)} | ||
| Theorem | bj-inrab3 37935* | Generalization of dfrab3ss 4268. Shortens dfrab3ss 4268. (Contributed by BJ, 21-Apr-2019.) (Revised by OpenAI, 7-Jul-2020.) |
| ⊢ (𝐴 ∩ {𝑥 ∈ 𝐵 ∣ 𝜑}) = ({𝑥 ∈ 𝐴 ∣ 𝜑} ∩ 𝐵) | ||
| Theorem | bj-rabtr 37936* | Restricted class abstraction with true formula. (Contributed by BJ, 22-Apr-2019.) |
| ⊢ {𝑥 ∈ 𝐴 ∣ ⊤} = 𝐴 | ||
| Theorem | bj-rabtrALT 37937* | Alternate proof of bj-rabtr 37936. (Contributed by BJ, 22-Apr-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ {𝑥 ∈ 𝐴 ∣ ⊤} = 𝐴 | ||
| Theorem | bj-rabtrAUTO 37938* | Proof of bj-rabtr 37936 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 37939 | Syntax for generalized class abstractions. |
| class {𝐴 ∣ 𝑥 ∣ 𝜑} | ||
| Definition | df-bj-gab 37940* | 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 37941 | Inclusion of generalized class abstractions. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (∀𝑥(𝐴 = 𝐵 ∧ (𝜑 → 𝜓)) → {𝐴 ∣ 𝑥 ∣ 𝜑} ⊆ {𝐵 ∣ 𝑥 ∣ 𝜓}) | ||
| Theorem | bj-gabssd 37942 | Inclusion of generalized class abstractions. Deduction form. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → {𝐴 ∣ 𝑥 ∣ 𝜓} ⊆ {𝐵 ∣ 𝑥 ∣ 𝜒}) | ||
| Theorem | bj-gabeqd 37943 | Equality of generalized class abstractions. Deduction form. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → {𝐴 ∣ 𝑥 ∣ 𝜓} = {𝐵 ∣ 𝑥 ∣ 𝜒}) | ||
| Theorem | bj-gabeqis 37944* | Equality of generalized class abstractions, with implicit substitution. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ {𝐴 ∣ 𝑥 ∣ 𝜑} = {𝐵 ∣ 𝑦 ∣ 𝜓} | ||
| Theorem | bj-elgab 37945 | Elements of a generalized class abstraction. (Contributed by BJ, 4-Oct-2024.) |
| ⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → (∃𝑥(𝐴 = 𝐵 ∧ 𝜓) ↔ 𝜒)) ⇒ ⊢ (𝜑 → (𝐴 ∈ {𝐵 ∣ 𝑥 ∣ 𝜓} ↔ 𝜒)) | ||
| Theorem | bj-gabima 37946 |
Generalized class abstraction as a direct image.
TODO: improve the support lemmas elimag 6059 and fvelima 6951 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 37947 | Syntax for restricted nonfreeness. |
| wff Ⅎ𝑥 ∈ 𝐴𝜑 | ||
| Definition | df-bj-rnf 37948 | 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 2163) and then two versions (bj-ru1 37949 and bj-ru 37950). Special attention is put on minimizing axiom depencencies. | ||
| Theorem | bj-ru1 37949* | A version of Russell's paradox ru 3737 not mentioning the universal class. (see also bj-ru 37950). (Contributed by BJ, 12-Oct-2019.) Remove usage of ax-10 2177, ax-11 2193, ax-12 2212 by using eqabbw 2833 following BTernaryTau's similar revision of ru 3737. (Revised by BJ, 28-Jun-2025.) (Proof modification is discouraged.) |
| ⊢ ¬ ∃𝑦 𝑦 = {𝑥 ∣ ¬ 𝑥 ∈ 𝑥} | ||
| Theorem | bj-ru 37950 | Remove dependency on ax-13 2401 (and df-v 3452) from Russell's paradox ru 3737 expressed with primitive symbols and with a class variable 𝑉. Note the more economical use of elissetv 2841 instead of isset 3464 to avoid use of df-v 3452. (Contributed by BJ, 12-Oct-2019.) (Proof modification is discouraged.) |
| ⊢ ¬ {𝑥 ∣ ¬ 𝑥 ∈ 𝑥} ∈ 𝑉 | ||
| Theorem | currysetlem 37951* | Lemma for currysetlem 37951, where it is used with (𝑥 ∈ 𝑥 → 𝜑) substituted for 𝜓. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ ({𝑥 ∣ 𝜓} ∈ 𝑉 → ({𝑥 ∣ 𝜓} ∈ {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ↔ ({𝑥 ∣ 𝜓} ∈ {𝑥 ∣ 𝜓} → 𝜑))) | ||
| Theorem | curryset 37952* | 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 37956. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ ¬ {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ∈ 𝑉 | ||
| Theorem | currysetlem1 37953* | Lemma for currysetALT 37956. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ 𝑋 = {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ⇒ ⊢ (𝑋 ∈ 𝑉 → (𝑋 ∈ 𝑋 ↔ (𝑋 ∈ 𝑋 → 𝜑))) | ||
| Theorem | currysetlem2 37954* | Lemma for currysetALT 37956. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ 𝑋 = {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ⇒ ⊢ (𝑋 ∈ 𝑉 → (𝑋 ∈ 𝑋 → 𝜑)) | ||
| Theorem | currysetlem3 37955* | Lemma for currysetALT 37956. (Contributed by BJ, 23-Sep-2023.) This proof is intuitionistically valid. (Proof modification is discouraged.) |
| ⊢ 𝑋 = {𝑥 ∣ (𝑥 ∈ 𝑥 → 𝜑)} ⇒ ⊢ ¬ 𝑋 ∈ 𝑉 | ||
| Theorem | currysetALT 37956* | Alternate proof of curryset 37952, 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 37957* | Inference associated with n0 4299. Shortens 2ndcdisj 23781 (2888>2878), notsep 5324 (264>253). (Contributed by BJ, 22-Apr-2019.) |
| ⊢ 𝐴 ≠ ∅ ⇒ ⊢ ∃𝑥 𝑥 ∈ 𝐴 | ||
| Theorem | bj-disjsn01 37958 | Disjointness of the singletons containing 0 and 1. This is a consequence of disjcsn 9608 but the present proof does not use regularity. (Contributed by BJ, 4-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ ({∅} ∩ {1o}) = ∅ | ||
| Theorem | bj-0nel1 37959 | The empty set does not belong to {1o}. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ ∅ ∉ {1o} | ||
| Theorem | bj-1nel0 37960 | 1o does not belong to {∅}. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ 1o ∉ {∅} | ||
A few utility theorems on direct products. | ||
| Theorem | bj-xpimasn 37961 | The image of a singleton, general case. [Change and relabel xpimasn 6176 accordingly, maybe to xpima2sn.] (Contributed by BJ, 6-Apr-2019.) |
| ⊢ ((𝐴 × 𝐵) “ {𝑋}) = if(𝑋 ∈ 𝐴, 𝐵, ∅) | ||
| Theorem | bj-xpima1sn 37962 | The image of a singleton by a direct product, empty case. [Change and relabel xpimasn 6176 accordingly, maybe to xpima2sn.] (Contributed by BJ, 6-Apr-2019.) |
| ⊢ (¬ 𝑋 ∈ 𝐴 → ((𝐴 × 𝐵) “ {𝑋}) = ∅) | ||
| Theorem | bj-xpima1snALT 37963 | Alternate proof of bj-xpima1sn 37962. (Contributed by BJ, 6-Apr-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
| ⊢ (¬ 𝑋 ∈ 𝐴 → ((𝐴 × 𝐵) “ {𝑋}) = ∅) | ||
| Theorem | bj-xpima2sn 37964 | The image of a singleton by a direct product, nonempty case. [To replace xpimasn 6176.] (Contributed by BJ, 6-Apr-2019.) (Proof modification is discouraged.) |
| ⊢ (𝑋 ∈ 𝐴 → ((𝐴 × 𝐵) “ {𝑋}) = 𝐵) | ||
| Theorem | bj-xpnzex 37965 | If the first factor of a product is nonempty, and the product is a set, then the second factor is a set. UPDATE: this is actually the curried (exported) form of xpexcnv 7933 (up to commutation in the product). (Contributed by BJ, 6-Oct-2018.) (Proof modification is discouraged.) |
| ⊢ (𝐴 ≠ ∅ → ((𝐴 × 𝐵) ∈ 𝑉 → 𝐵 ∈ V)) | ||
| Theorem | bj-xpexg2 37966 | Curried (exported) form of xpexg 7765. (Contributed by BJ, 2-Apr-2019.) |
| ⊢ (𝐴 ∈ 𝑉 → (𝐵 ∈ 𝑊 → (𝐴 × 𝐵) ∈ V)) | ||
| Theorem | bj-xpnzexb 37967 | If the first factor of a product is a nonempty set, then the product is a set if and only if the second factor is a set. (Contributed by BJ, 2-Apr-2019.) |
| ⊢ (𝐴 ∈ (𝑉 ∖ {∅}) → (𝐵 ∈ V ↔ (𝐴 × 𝐵) ∈ V)) | ||
| Theorem | bj-cleq 37968* | Substitution property for certain classes. (Contributed by BJ, 2-Apr-2019.) |
| ⊢ (𝐴 = 𝐵 → {𝑥 ∣ {𝑥} ∈ (𝐴 “ 𝐶)} = {𝑥 ∣ {𝑥} ∈ (𝐵 “ 𝐶)}) | ||
This subsection introduces the "singletonization" and the "tagging" of a class. The singletonization of a class is the class of singletons of elements of that class. It is useful since all nonsingletons are disjoint from it, so one can easily adjoin to it disjoint elements, which is what the tagging does: it adjoins the empty set. This can be used for instance to define the one-point compactification of a topological space. It will be used in the next section to define tuples which work for proper classes. | ||
| Theorem | bj-snsetex 37969* | The class of sets "whose singletons" belong to a set is a set. Nice application of ax-rep 5231. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ 𝑉 → {𝑥 ∣ {𝑥} ∈ 𝐴} ∈ V) | ||
| Theorem | bj-clexab 37970* | Sethood of certain classes. (Contributed by BJ, 2-Apr-2019.) |
| ⊢ (𝐴 ∈ 𝑉 → {𝑥 ∣ {𝑥} ∈ (𝐴 “ 𝐵)} ∈ V) | ||
| Syntax | bj-csngl 37971 | Syntax for singletonization. (Contributed by BJ, 6-Oct-2018.) |
| class sngl 𝐴 | ||
| Definition | df-bj-sngl 37972* | Definition of "singletonization". The class sngl 𝐴 is isomorphic to 𝐴 and since it contains only singletons, it can be easily be adjoined disjoint elements, which can be useful in various constructions. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ sngl 𝐴 = {𝑥 ∣ ∃𝑦 ∈ 𝐴 𝑥 = {𝑦}} | ||
| Theorem | bj-sngleq 37973 | Substitution property for sngl. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 = 𝐵 → sngl 𝐴 = sngl 𝐵) | ||
| Theorem | bj-elsngl 37974* | Characterization of the elements of the singletonization of a class. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ sngl 𝐵 ↔ ∃𝑥 ∈ 𝐵 𝐴 = {𝑥}) | ||
| Theorem | bj-snglc 37975 | Characterization of the elements of 𝐴 in terms of elements of its singletonization. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ 𝐵 ↔ {𝐴} ∈ sngl 𝐵) | ||
| Theorem | bj-snglss 37976 | The singletonization of a class is included in its powerclass. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ sngl 𝐴 ⊆ 𝒫 𝐴 | ||
| Theorem | bj-0nelsngl 37977 | The empty set is not a member of a singletonization (neither is any nonsingleton, in particular any von Neuman ordinal except possibly df-1o 8480). (Contributed by BJ, 6-Oct-2018.) |
| ⊢ ∅ ∉ sngl 𝐴 | ||
| Theorem | bj-snglinv 37978* | Inverse of singletonization. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ 𝐴 = {𝑥 ∣ {𝑥} ∈ sngl 𝐴} | ||
| Theorem | bj-snglex 37979 | A class is a set if and only if its singletonization is a set. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ V ↔ sngl 𝐴 ∈ V) | ||
| Syntax | bj-ctag 37980 | Syntax for the tagged copy of a class. (Contributed by BJ, 6-Oct-2018.) |
| class tag 𝐴 | ||
| Definition | df-bj-tag 37981 | Definition of the tagged copy of a class, that is, the adjunction to (an isomorph of) 𝐴 of a disjoint element (here, the empty set). Remark: this could be used for the one-point compactification of a topological space. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ tag 𝐴 = (sngl 𝐴 ∪ {∅}) | ||
| Theorem | bj-tageq 37982 | Substitution property for tag. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 = 𝐵 → tag 𝐴 = tag 𝐵) | ||
| Theorem | bj-eltag 37983* | Characterization of the elements of the tagging of a class. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ tag 𝐵 ↔ (∃𝑥 ∈ 𝐵 𝐴 = {𝑥} ∨ 𝐴 = ∅)) | ||
| Theorem | bj-0eltag 37984 | The empty set belongs to the tagging of a class. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ ∅ ∈ tag 𝐴 | ||
| Theorem | bj-tagn0 37985 | The tagging of a class is nonempty. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ tag 𝐴 ≠ ∅ | ||
| Theorem | bj-tagss 37986 | The tagging of a class is included in its powerclass. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ tag 𝐴 ⊆ 𝒫 𝐴 | ||
| Theorem | bj-snglsstag 37987 | The singletonization is included in the tagging. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ sngl 𝐴 ⊆ tag 𝐴 | ||
| Theorem | bj-sngltagi 37988 | The singletonization is included in the tagging. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ sngl 𝐵 → 𝐴 ∈ tag 𝐵) | ||
| Theorem | bj-sngltag 37989 | The singletonization and the tagging of a set contain the same singletons. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ 𝑉 → ({𝐴} ∈ sngl 𝐵 ↔ {𝐴} ∈ tag 𝐵)) | ||
| Theorem | bj-tagci 37990 | Characterization of the elements of 𝐵 in terms of elements of its tagged version. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ 𝐵 → {𝐴} ∈ tag 𝐵) | ||
| Theorem | bj-tagcg 37991 | Characterization of the elements of 𝐵 in terms of elements of its tagged version. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ 𝑉 → (𝐴 ∈ 𝐵 ↔ {𝐴} ∈ tag 𝐵)) | ||
| Theorem | bj-taginv 37992* | Inverse of tagging. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ 𝐴 = {𝑥 ∣ {𝑥} ∈ tag 𝐴} | ||
| Theorem | bj-tagex 37993 | A class is a set if and only if its tagging is a set. (Contributed by BJ, 6-Oct-2018.) |
| ⊢ (𝐴 ∈ V ↔ tag 𝐴 ∈ V) | ||
| Theorem | bj-xtageq 37994 | The products of a given class and the tagging of either of two equal classes are equal. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ (𝐴 = 𝐵 → (𝐶 × tag 𝐴) = (𝐶 × tag 𝐵)) | ||
| Theorem | bj-xtagex 37995 | The product of a set and the tagging of a set is a set. (Contributed by BJ, 2-Apr-2019.) |
| ⊢ (𝐴 ∈ 𝑉 → (𝐵 ∈ 𝑊 → (𝐴 × tag 𝐵) ∈ V)) | ||
This subsection gives a definition of an ordered pair, or couple (2-tuple), that "works" for proper classes, as evidenced by Theorems bj-2uplth 38027 and bj-2uplex 38028, and more importantly, bj-pr21val 38019 and bj-pr22val 38025. In particular, one can define well-behaved tuples of classes. Classes in ZF(C) are only virtual, and in particular they cannot be quantified over. Theorem bj-2uplex 38028 has advantages: in view of df-br 5103, several sethood antecedents could be removed from existing theorems. For instance, relsnopg 5780 (resp. relsnop 5782) would hold without antecedents (resp. hypotheses) thanks to relsnb 5779). Also, the antecedent Rel 𝑅 could be removed from brrelex12 5702 and related theorems brrelex*, and, as a consequence, of multiple later theorems. Similarly, df-struct 17331 could be simplified by removing the exception currently made for the empty set. The projections are denoted by pr1 and pr2 and the couple with projections (or coordinates) 𝐴 and 𝐵 is denoted by ⦅𝐴, 𝐵⦆. This definition uses the Kuratowski definition (df-op 4835) as a preliminary definition, and then "redefines" a couple. It could also use the "short" version of the Kuratowski pair (see opthreg 9623) without needing the axiom of regularity; it could even bypass this definition by "inlining" it. This definition is due to Anthony Morse and is expounded (with idiosyncratic notation) in Anthony P. Morse, A Theory of Sets, Academic Press, 1965 (second edition 1986). This extends in a natural way to tuples. A variation of this definition is justified in opthprc 5714, but here we use "tagged versions" of the factors (see df-bj-tag 37981) so that an m-tuple can equal an n-tuple only when m = n (and the projections are the same). A comparison of the different definitions of tuples (strangely not mentioning Morse's), is given in Dominic McCarty and Dana Scott, Reconsidering ordered pairs, Bull. Symbolic Logic, Volume 14, Issue 3 (Sept. 2008), 379--397. where a recursive definition of tuples is given that avoids the two-step definition of tuples and that can be adapted to various set theories. Finally, another survey is Akihiro Kanamori, The empty set, the singleton, and the ordered pair, Bull. Symbolic Logic, Volume 9, Number 3 (Sept. 2003), 273--298. (available at http://math.bu.edu/people/aki/8.pdf 37981) | ||
| Syntax | bj-cproj 37996 | Syntax for the class projection. (Contributed by BJ, 6-Apr-2019.) |
| class (𝐴 Proj 𝐵) | ||
| Definition | df-bj-proj 37997* | Definition of the class projection corresponding to tagged tuples. The expression (𝐴 Proj 𝐵) denotes the projection on the A^th component. (Contributed by BJ, 6-Apr-2019.) (New usage is discouraged.) |
| ⊢ (𝐴 Proj 𝐵) = {𝑥 ∣ {𝑥} ∈ (𝐵 “ {𝐴})} | ||
| Theorem | bj-projeq 37998 | Substitution property for Proj. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ (𝐴 = 𝐶 → (𝐵 = 𝐷 → (𝐴 Proj 𝐵) = (𝐶 Proj 𝐷))) | ||
| Theorem | bj-projeq2 37999 | Substitution property for Proj. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ (𝐵 = 𝐶 → (𝐴 Proj 𝐵) = (𝐴 Proj 𝐶)) | ||
| Theorem | bj-projun 38000 | The class projection on a given component preserves unions. (Contributed by BJ, 6-Apr-2019.) |
| ⊢ (𝐴 Proj (𝐵 ∪ 𝐶)) = ((𝐴 Proj 𝐵) ∪ (𝐴 Proj 𝐶)) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |