Home | Intuitionistic Logic Explorer Theorem List (p. 71 of 140) | < Previous Next > |
Bad symbols? Try the
GIF version. |
||
Mirrors > Metamath Home Page > ILE Home Page > Theorem List Contents > Recent Proofs This page: Page List |
Type | Label | Description |
---|---|---|
Statement | ||
Theorem | ordiso 7001* | Order-isomorphic ordinal numbers are equal. (Contributed by Jeff Hankins, 16-Oct-2009.) (Proof shortened by Mario Carneiro, 24-Jun-2015.) |
⊢ ((𝐴 ∈ On ∧ 𝐵 ∈ On) → (𝐴 = 𝐵 ↔ ∃𝑓 𝑓 Isom E , E (𝐴, 𝐵))) | ||
Syntax | cdju 7002 | Extend class notation to include disjoint union of two classes. |
class (𝐴 ⊔ 𝐵) | ||
Definition | df-dju 7003 | Disjoint union of two classes. This is a way of creating a class which contains elements corresponding to each element of 𝐴 or 𝐵, tagging each one with whether it came from 𝐴 or 𝐵. (Contributed by Jim Kingdon, 20-Jun-2022.) |
⊢ (𝐴 ⊔ 𝐵) = (({∅} × 𝐴) ∪ ({1o} × 𝐵)) | ||
Theorem | djueq12 7004 | Equality theorem for disjoint union. (Contributed by Jim Kingdon, 23-Jun-2022.) |
⊢ ((𝐴 = 𝐵 ∧ 𝐶 = 𝐷) → (𝐴 ⊔ 𝐶) = (𝐵 ⊔ 𝐷)) | ||
Theorem | djueq1 7005 | Equality theorem for disjoint union. (Contributed by Jim Kingdon, 23-Jun-2022.) |
⊢ (𝐴 = 𝐵 → (𝐴 ⊔ 𝐶) = (𝐵 ⊔ 𝐶)) | ||
Theorem | djueq2 7006 | Equality theorem for disjoint union. (Contributed by Jim Kingdon, 23-Jun-2022.) |
⊢ (𝐴 = 𝐵 → (𝐶 ⊔ 𝐴) = (𝐶 ⊔ 𝐵)) | ||
Theorem | nfdju 7007 | Bound-variable hypothesis builder for disjoint union. (Contributed by Jim Kingdon, 23-Jun-2022.) |
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝐵 ⇒ ⊢ Ⅎ𝑥(𝐴 ⊔ 𝐵) | ||
Theorem | djuex 7008 | The disjoint union of sets is a set. See also the more precise djuss 7035. (Contributed by AV, 28-Jun-2022.) |
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ⊔ 𝐵) ∈ V) | ||
Theorem | djuexb 7009 | The disjoint union of two classes is a set iff both classes are sets. (Contributed by Jim Kingdon, 6-Sep-2023.) |
⊢ ((𝐴 ∈ V ∧ 𝐵 ∈ V) ↔ (𝐴 ⊔ 𝐵) ∈ V) | ||
In this section, we define the left and right injections of a disjoint union and prove their main properties. These injections are restrictions of the "template" functions inl and inr, which appear in most applications in the form (inl ↾ 𝐴) and (inr ↾ 𝐵). | ||
Syntax | cinl 7010 | Extend class notation to include left injection of a disjoint union. |
class inl | ||
Syntax | cinr 7011 | Extend class notation to include right injection of a disjoint union. |
class inr | ||
Definition | df-inl 7012 | Left injection of a disjoint union. (Contributed by Mario Carneiro, 21-Jun-2022.) |
⊢ inl = (𝑥 ∈ V ↦ 〈∅, 𝑥〉) | ||
Definition | df-inr 7013 | Right injection of a disjoint union. (Contributed by Mario Carneiro, 21-Jun-2022.) |
⊢ inr = (𝑥 ∈ V ↦ 〈1o, 𝑥〉) | ||
Theorem | djulclr 7014 | Left closure of disjoint union. (Contributed by Jim Kingdon, 21-Jun-2022.) (Revised by BJ, 6-Jul-2022.) |
⊢ (𝐶 ∈ 𝐴 → ((inl ↾ 𝐴)‘𝐶) ∈ (𝐴 ⊔ 𝐵)) | ||
Theorem | djurclr 7015 | Right closure of disjoint union. (Contributed by Jim Kingdon, 21-Jun-2022.) (Revised by BJ, 6-Jul-2022.) |
⊢ (𝐶 ∈ 𝐵 → ((inr ↾ 𝐵)‘𝐶) ∈ (𝐴 ⊔ 𝐵)) | ||
Theorem | djulcl 7016 | Left closure of disjoint union. (Contributed by Jim Kingdon, 21-Jun-2022.) |
⊢ (𝐶 ∈ 𝐴 → (inl‘𝐶) ∈ (𝐴 ⊔ 𝐵)) | ||
Theorem | djurcl 7017 | Right closure of disjoint union. (Contributed by Jim Kingdon, 21-Jun-2022.) |
⊢ (𝐶 ∈ 𝐵 → (inr‘𝐶) ∈ (𝐴 ⊔ 𝐵)) | ||
Theorem | djuf1olem 7018* | Lemma for djulf1o 7023 and djurf1o 7024. (Contributed by BJ and Jim Kingdon, 4-Jul-2022.) |
⊢ 𝑋 ∈ V & ⊢ 𝐹 = (𝑥 ∈ 𝐴 ↦ 〈𝑋, 𝑥〉) ⇒ ⊢ 𝐹:𝐴–1-1-onto→({𝑋} × 𝐴) | ||
Theorem | djuf1olemr 7019* | Lemma for djulf1or 7021 and djurf1or 7022. For a version of this lemma with 𝐹 defined on 𝐴 and no restriction in the conclusion, see djuf1olem 7018. (Contributed by BJ and Jim Kingdon, 4-Jul-2022.) |
⊢ 𝑋 ∈ V & ⊢ 𝐹 = (𝑥 ∈ V ↦ 〈𝑋, 𝑥〉) ⇒ ⊢ (𝐹 ↾ 𝐴):𝐴–1-1-onto→({𝑋} × 𝐴) | ||
Theorem | djulclb 7020 | Left biconditional closure of disjoint union. (Contributed by Jim Kingdon, 2-Jul-2022.) |
⊢ (𝐶 ∈ 𝑉 → (𝐶 ∈ 𝐴 ↔ (inl‘𝐶) ∈ (𝐴 ⊔ 𝐵))) | ||
Theorem | djulf1or 7021 | The left injection function on all sets is one to one and onto. (Contributed by BJ and Jim Kingdon, 22-Jun-2022.) |
⊢ (inl ↾ 𝐴):𝐴–1-1-onto→({∅} × 𝐴) | ||
Theorem | djurf1or 7022 | The right injection function on all sets is one to one and onto. (Contributed by BJ and Jim Kingdon, 22-Jun-2022.) |
⊢ (inr ↾ 𝐴):𝐴–1-1-onto→({1o} × 𝐴) | ||
Theorem | djulf1o 7023 | The left injection function on all sets is one to one and onto. (Contributed by Jim Kingdon, 22-Jun-2022.) |
⊢ inl:V–1-1-onto→({∅} × V) | ||
Theorem | djurf1o 7024 | The right injection function on all sets is one to one and onto. (Contributed by Jim Kingdon, 22-Jun-2022.) |
⊢ inr:V–1-1-onto→({1o} × V) | ||
Theorem | inresflem 7025* | Lemma for inlresf1 7026 and inrresf1 7027. (Contributed by BJ, 4-Jul-2022.) |
⊢ 𝐹:𝐴–1-1-onto→({𝑋} × 𝐴) & ⊢ (𝑥 ∈ 𝐴 → (𝐹‘𝑥) ∈ 𝐵) ⇒ ⊢ 𝐹:𝐴–1-1→𝐵 | ||
Theorem | inlresf1 7026 | The left injection restricted to the left class of a disjoint union is an injective function from the left class into the disjoint union. (Contributed by AV, 28-Jun-2022.) |
⊢ (inl ↾ 𝐴):𝐴–1-1→(𝐴 ⊔ 𝐵) | ||
Theorem | inrresf1 7027 | The right injection restricted to the right class of a disjoint union is an injective function from the right class into the disjoint union. (Contributed by AV, 28-Jun-2022.) |
⊢ (inr ↾ 𝐵):𝐵–1-1→(𝐴 ⊔ 𝐵) | ||
Theorem | djuinr 7028 | The ranges of any left and right injections are disjoint. Remark: the extra generality offered by the two restrictions makes the theorem more readily usable (e.g., by djudom 7058 and djufun 7069) while the simpler statement ⊢ (ran inl ∩ ran inr) = ∅ is easily recovered from it by substituting V for both 𝐴 and 𝐵 as done in casefun 7050). (Contributed by BJ and Jim Kingdon, 21-Jun-2022.) |
⊢ (ran (inl ↾ 𝐴) ∩ ran (inr ↾ 𝐵)) = ∅ | ||
Theorem | djuin 7029 | The images of any classes under right and left injection produce disjoint sets. (Contributed by Jim Kingdon, 21-Jun-2022.) (Proof shortened by BJ, 9-Jul-2023.) |
⊢ ((inl “ 𝐴) ∩ (inr “ 𝐵)) = ∅ | ||
Theorem | inl11 7030 | Left injection is one-to-one. (Contributed by Jim Kingdon, 12-Jul-2023.) |
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → ((inl‘𝐴) = (inl‘𝐵) ↔ 𝐴 = 𝐵)) | ||
Theorem | djuunr 7031 | The disjoint union of two classes is the union of the images of those two classes under right and left injection. (Contributed by Jim Kingdon, 22-Jun-2022.) (Proof shortened by BJ, 6-Jul-2022.) |
⊢ (ran (inl ↾ 𝐴) ∪ ran (inr ↾ 𝐵)) = (𝐴 ⊔ 𝐵) | ||
Theorem | djuun 7032 | The disjoint union of two classes is the union of the images of those two classes under right and left injection. (Contributed by Jim Kingdon, 22-Jun-2022.) (Proof shortened by BJ, 9-Jul-2023.) |
⊢ ((inl “ 𝐴) ∪ (inr “ 𝐵)) = (𝐴 ⊔ 𝐵) | ||
Theorem | eldju 7033* | Element of a disjoint union. (Contributed by BJ and Jim Kingdon, 23-Jun-2022.) |
⊢ (𝐶 ∈ (𝐴 ⊔ 𝐵) ↔ (∃𝑥 ∈ 𝐴 𝐶 = ((inl ↾ 𝐴)‘𝑥) ∨ ∃𝑥 ∈ 𝐵 𝐶 = ((inr ↾ 𝐵)‘𝑥))) | ||
Theorem | djur 7034* | A member of a disjoint union can be mapped from one of the classes which produced it. (Contributed by Jim Kingdon, 23-Jun-2022.) Upgrade implication to biconditional and shorten proof. (Revised by BJ, 14-Jul-2023.) |
⊢ (𝐶 ∈ (𝐴 ⊔ 𝐵) ↔ (∃𝑥 ∈ 𝐴 𝐶 = (inl‘𝑥) ∨ ∃𝑥 ∈ 𝐵 𝐶 = (inr‘𝑥))) | ||
Theorem | djuss 7035 | A disjoint union is a subset of a Cartesian product. (Contributed by AV, 25-Jun-2022.) |
⊢ (𝐴 ⊔ 𝐵) ⊆ ({∅, 1o} × (𝐴 ∪ 𝐵)) | ||
Theorem | eldju1st 7036 | The first component of an element of a disjoint union is either ∅ or 1o. (Contributed by AV, 26-Jun-2022.) |
⊢ (𝑋 ∈ (𝐴 ⊔ 𝐵) → ((1st ‘𝑋) = ∅ ∨ (1st ‘𝑋) = 1o)) | ||
Theorem | eldju2ndl 7037 | The second component of an element of a disjoint union is an element of the left class of the disjoint union if its first component is the empty set. (Contributed by AV, 26-Jun-2022.) |
⊢ ((𝑋 ∈ (𝐴 ⊔ 𝐵) ∧ (1st ‘𝑋) = ∅) → (2nd ‘𝑋) ∈ 𝐴) | ||
Theorem | eldju2ndr 7038 | The second component of an element of a disjoint union is an element of the right class of the disjoint union if its first component is not the empty set. (Contributed by AV, 26-Jun-2022.) |
⊢ ((𝑋 ∈ (𝐴 ⊔ 𝐵) ∧ (1st ‘𝑋) ≠ ∅) → (2nd ‘𝑋) ∈ 𝐵) | ||
Theorem | 1stinl 7039 | The first component of the value of a left injection is the empty set. (Contributed by AV, 27-Jun-2022.) |
⊢ (𝑋 ∈ 𝑉 → (1st ‘(inl‘𝑋)) = ∅) | ||
Theorem | 2ndinl 7040 | The second component of the value of a left injection is its argument. (Contributed by AV, 27-Jun-2022.) |
⊢ (𝑋 ∈ 𝑉 → (2nd ‘(inl‘𝑋)) = 𝑋) | ||
Theorem | 1stinr 7041 | The first component of the value of a right injection is 1o. (Contributed by AV, 27-Jun-2022.) |
⊢ (𝑋 ∈ 𝑉 → (1st ‘(inr‘𝑋)) = 1o) | ||
Theorem | 2ndinr 7042 | The second component of the value of a right injection is its argument. (Contributed by AV, 27-Jun-2022.) |
⊢ (𝑋 ∈ 𝑉 → (2nd ‘(inr‘𝑋)) = 𝑋) | ||
Theorem | djune 7043 | Left and right injection never produce equal values. (Contributed by Jim Kingdon, 2-Jul-2022.) |
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (inl‘𝐴) ≠ (inr‘𝐵)) | ||
Theorem | updjudhf 7044* | The mapping of an element of the disjoint union to the value of the corresponding function is a function. (Contributed by AV, 26-Jun-2022.) |
⊢ (𝜑 → 𝐹:𝐴⟶𝐶) & ⊢ (𝜑 → 𝐺:𝐵⟶𝐶) & ⊢ 𝐻 = (𝑥 ∈ (𝐴 ⊔ 𝐵) ↦ if((1st ‘𝑥) = ∅, (𝐹‘(2nd ‘𝑥)), (𝐺‘(2nd ‘𝑥)))) ⇒ ⊢ (𝜑 → 𝐻:(𝐴 ⊔ 𝐵)⟶𝐶) | ||
Theorem | updjudhcoinlf 7045* | The composition of the mapping of an element of the disjoint union to the value of the corresponding function and the left injection equals the first function. (Contributed by AV, 27-Jun-2022.) |
⊢ (𝜑 → 𝐹:𝐴⟶𝐶) & ⊢ (𝜑 → 𝐺:𝐵⟶𝐶) & ⊢ 𝐻 = (𝑥 ∈ (𝐴 ⊔ 𝐵) ↦ if((1st ‘𝑥) = ∅, (𝐹‘(2nd ‘𝑥)), (𝐺‘(2nd ‘𝑥)))) ⇒ ⊢ (𝜑 → (𝐻 ∘ (inl ↾ 𝐴)) = 𝐹) | ||
Theorem | updjudhcoinrg 7046* | The composition of the mapping of an element of the disjoint union to the value of the corresponding function and the right injection equals the second function. (Contributed by AV, 27-Jun-2022.) |
⊢ (𝜑 → 𝐹:𝐴⟶𝐶) & ⊢ (𝜑 → 𝐺:𝐵⟶𝐶) & ⊢ 𝐻 = (𝑥 ∈ (𝐴 ⊔ 𝐵) ↦ if((1st ‘𝑥) = ∅, (𝐹‘(2nd ‘𝑥)), (𝐺‘(2nd ‘𝑥)))) ⇒ ⊢ (𝜑 → (𝐻 ∘ (inr ↾ 𝐵)) = 𝐺) | ||
Theorem | updjud 7047* | Universal property of the disjoint union. (Proposed by BJ, 25-Jun-2022.) (Contributed by AV, 28-Jun-2022.) |
⊢ (𝜑 → 𝐹:𝐴⟶𝐶) & ⊢ (𝜑 → 𝐺:𝐵⟶𝐶) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 ∈ 𝑊) ⇒ ⊢ (𝜑 → ∃!ℎ(ℎ:(𝐴 ⊔ 𝐵)⟶𝐶 ∧ (ℎ ∘ (inl ↾ 𝐴)) = 𝐹 ∧ (ℎ ∘ (inr ↾ 𝐵)) = 𝐺)) | ||
Syntax | cdjucase 7048 | Syntax for the "case" construction. |
class case(𝑅, 𝑆) | ||
Definition | df-case 7049 | The "case" construction: if 𝐹:𝐴⟶𝑋 and 𝐺:𝐵⟶𝑋 are functions, then case(𝐹, 𝐺):(𝐴 ⊔ 𝐵)⟶𝑋 is the natural function obtained by a definition by cases, hence the name. It is the unique function whose existence is asserted by the universal property of disjoint unions updjud 7047. The definition is adapted to make sense also for binary relations (where the universal property also holds). (Contributed by MC and BJ, 10-Jul-2022.) |
⊢ case(𝑅, 𝑆) = ((𝑅 ∘ ◡inl) ∪ (𝑆 ∘ ◡inr)) | ||
Theorem | casefun 7050 | The "case" construction of two functions is a function. (Contributed by BJ, 10-Jul-2022.) |
⊢ (𝜑 → Fun 𝐹) & ⊢ (𝜑 → Fun 𝐺) ⇒ ⊢ (𝜑 → Fun case(𝐹, 𝐺)) | ||
Theorem | casedm 7051 | The domain of the "case" construction is the disjoint union of the domains. TODO (although less important): ⊢ ran case(𝐹, 𝐺) = (ran 𝐹 ∪ ran 𝐺). (Contributed by BJ, 10-Jul-2022.) |
⊢ dom case(𝐹, 𝐺) = (dom 𝐹 ⊔ dom 𝐺) | ||
Theorem | caserel 7052 | The "case" construction of two relations is a relation, with bounds on its domain and codomain. Typically, the "case" construction is used when both relations have a common codomain. (Contributed by BJ, 10-Jul-2022.) |
⊢ case(𝑅, 𝑆) ⊆ ((dom 𝑅 ⊔ dom 𝑆) × (ran 𝑅 ∪ ran 𝑆)) | ||
Theorem | casef 7053 | The "case" construction of two functions is a function on the disjoint union of their domains. (Contributed by BJ, 10-Jul-2022.) |
⊢ (𝜑 → 𝐹:𝐴⟶𝑋) & ⊢ (𝜑 → 𝐺:𝐵⟶𝑋) ⇒ ⊢ (𝜑 → case(𝐹, 𝐺):(𝐴 ⊔ 𝐵)⟶𝑋) | ||
Theorem | caseinj 7054 | The "case" construction of two injective relations with disjoint ranges is an injective relation. (Contributed by BJ, 10-Jul-2022.) |
⊢ (𝜑 → Fun ◡𝑅) & ⊢ (𝜑 → Fun ◡𝑆) & ⊢ (𝜑 → (ran 𝑅 ∩ ran 𝑆) = ∅) ⇒ ⊢ (𝜑 → Fun ◡case(𝑅, 𝑆)) | ||
Theorem | casef1 7055 | The "case" construction of two injective functions with disjoint ranges is an injective function. (Contributed by BJ, 10-Jul-2022.) |
⊢ (𝜑 → 𝐹:𝐴–1-1→𝑋) & ⊢ (𝜑 → 𝐺:𝐵–1-1→𝑋) & ⊢ (𝜑 → (ran 𝐹 ∩ ran 𝐺) = ∅) ⇒ ⊢ (𝜑 → case(𝐹, 𝐺):(𝐴 ⊔ 𝐵)–1-1→𝑋) | ||
Theorem | caseinl 7056 | Applying the "case" construction to a left injection. (Contributed by Jim Kingdon, 15-Mar-2023.) |
⊢ (𝜑 → 𝐹 Fn 𝐵) & ⊢ (𝜑 → Fun 𝐺) & ⊢ (𝜑 → 𝐴 ∈ 𝐵) ⇒ ⊢ (𝜑 → (case(𝐹, 𝐺)‘(inl‘𝐴)) = (𝐹‘𝐴)) | ||
Theorem | caseinr 7057 | Applying the "case" construction to a right injection. (Contributed by Jim Kingdon, 12-Jul-2023.) |
⊢ (𝜑 → Fun 𝐹) & ⊢ (𝜑 → 𝐺 Fn 𝐵) & ⊢ (𝜑 → 𝐴 ∈ 𝐵) ⇒ ⊢ (𝜑 → (case(𝐹, 𝐺)‘(inr‘𝐴)) = (𝐺‘𝐴)) | ||
Theorem | djudom 7058 | Dominance law for disjoint union. (Contributed by Jim Kingdon, 25-Jul-2022.) |
⊢ ((𝐴 ≼ 𝐵 ∧ 𝐶 ≼ 𝐷) → (𝐴 ⊔ 𝐶) ≼ (𝐵 ⊔ 𝐷)) | ||
Theorem | omp1eomlem 7059* | Lemma for omp1eom 7060. (Contributed by Jim Kingdon, 11-Jul-2023.) |
⊢ 𝐹 = (𝑥 ∈ ω ↦ if(𝑥 = ∅, (inr‘𝑥), (inl‘∪ 𝑥))) & ⊢ 𝑆 = (𝑥 ∈ ω ↦ suc 𝑥) & ⊢ 𝐺 = case(𝑆, ( I ↾ 1o)) ⇒ ⊢ 𝐹:ω–1-1-onto→(ω ⊔ 1o) | ||
Theorem | omp1eom 7060 | Adding one to ω. (Contributed by Jim Kingdon, 10-Jul-2023.) |
⊢ (ω ⊔ 1o) ≈ ω | ||
Theorem | endjusym 7061 | Reversing right and left operands of a disjoint union produces an equinumerous result. (Contributed by Jim Kingdon, 10-Jul-2023.) |
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ⊔ 𝐵) ≈ (𝐵 ⊔ 𝐴)) | ||
Theorem | eninl 7062 | Equinumerosity of a set and its image under left injection. (Contributed by Jim Kingdon, 30-Jul-2023.) |
⊢ (𝐴 ∈ 𝑉 → (inl “ 𝐴) ≈ 𝐴) | ||
Theorem | eninr 7063 | Equinumerosity of a set and its image under right injection. (Contributed by Jim Kingdon, 30-Jul-2023.) |
⊢ (𝐴 ∈ 𝑉 → (inr “ 𝐴) ≈ 𝐴) | ||
Theorem | difinfsnlem 7064* | Lemma for difinfsn 7065. The case where we need to swap 𝐵 and (inr‘∅) in building the mapping 𝐺. (Contributed by Jim Kingdon, 9-Aug-2023.) |
⊢ (𝜑 → ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 DECID 𝑥 = 𝑦) & ⊢ (𝜑 → 𝐵 ∈ 𝐴) & ⊢ (𝜑 → 𝐹:(ω ⊔ 1o)–1-1→𝐴) & ⊢ (𝜑 → (𝐹‘(inr‘∅)) ≠ 𝐵) & ⊢ 𝐺 = (𝑛 ∈ ω ↦ if((𝐹‘(inl‘𝑛)) = 𝐵, (𝐹‘(inr‘∅)), (𝐹‘(inl‘𝑛)))) ⇒ ⊢ (𝜑 → 𝐺:ω–1-1→(𝐴 ∖ {𝐵})) | ||
Theorem | difinfsn 7065* | An infinite set minus one element is infinite. We require that the set has decidable equality. (Contributed by Jim Kingdon, 8-Aug-2023.) |
⊢ ((∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 DECID 𝑥 = 𝑦 ∧ ω ≼ 𝐴 ∧ 𝐵 ∈ 𝐴) → ω ≼ (𝐴 ∖ {𝐵})) | ||
Theorem | difinfinf 7066* | An infinite set minus a finite subset is infinite. We require that the set has decidable equality. (Contributed by Jim Kingdon, 8-Aug-2023.) |
⊢ (((∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 DECID 𝑥 = 𝑦 ∧ ω ≼ 𝐴) ∧ (𝐵 ⊆ 𝐴 ∧ 𝐵 ∈ Fin)) → ω ≼ (𝐴 ∖ 𝐵)) | ||
Syntax | cdjud 7067 | Syntax for the domain-disjoint-union of two relations. |
class (𝑅 ⊔d 𝑆) | ||
Definition | df-djud 7068 |
The "domain-disjoint-union" of two relations: if 𝑅 ⊆ (𝐴 × 𝑋) and
𝑆
⊆ (𝐵 × 𝑋) are two binary
relations, then (𝑅 ⊔d 𝑆) is the
binary relation from (𝐴 ⊔ 𝐵) to 𝑋 having the universal
property of disjoint unions (see updjud 7047 in the case of functions).
Remark: the restrictions to dom 𝑅 (resp. dom 𝑆) are not necessary since extra stuff would be thrown away in the post-composition with 𝑅 (resp. 𝑆), as in df-case 7049, but they are explicitly written for clarity. (Contributed by MC and BJ, 10-Jul-2022.) |
⊢ (𝑅 ⊔d 𝑆) = ((𝑅 ∘ ◡(inl ↾ dom 𝑅)) ∪ (𝑆 ∘ ◡(inr ↾ dom 𝑆))) | ||
Theorem | djufun 7069 | The "domain-disjoint-union" of two functions is a function. (Contributed by BJ, 10-Jul-2022.) |
⊢ (𝜑 → Fun 𝐹) & ⊢ (𝜑 → Fun 𝐺) ⇒ ⊢ (𝜑 → Fun (𝐹 ⊔d 𝐺)) | ||
Theorem | djudm 7070 | The domain of the "domain-disjoint-union" is the disjoint union of the domains. Remark: its range is the (standard) union of the ranges. (Contributed by BJ, 10-Jul-2022.) |
⊢ dom (𝐹 ⊔d 𝐺) = (dom 𝐹 ⊔ dom 𝐺) | ||
Theorem | djuinj 7071 | The "domain-disjoint-union" of two injective relations with disjoint ranges is an injective relation. (Contributed by BJ, 10-Jul-2022.) |
⊢ (𝜑 → Fun ◡𝑅) & ⊢ (𝜑 → Fun ◡𝑆) & ⊢ (𝜑 → (ran 𝑅 ∩ ran 𝑆) = ∅) ⇒ ⊢ (𝜑 → Fun ◡(𝑅 ⊔d 𝑆)) | ||
Theorem | 0ct 7072 | The empty set is countable. Remark of [BauerSwan], p. 14:3 which also has the definition of countable used here. (Contributed by Jim Kingdon, 13-Mar-2023.) |
⊢ ∃𝑓 𝑓:ω–onto→(∅ ⊔ 1o) | ||
Theorem | ctmlemr 7073* | Lemma for ctm 7074. One of the directions of the biconditional. (Contributed by Jim Kingdon, 16-Mar-2023.) |
⊢ (∃𝑥 𝑥 ∈ 𝐴 → (∃𝑓 𝑓:ω–onto→𝐴 → ∃𝑓 𝑓:ω–onto→(𝐴 ⊔ 1o))) | ||
Theorem | ctm 7074* | Two equivalent definitions of countable for an inhabited set. Remark of [BauerSwan], p. 14:3. (Contributed by Jim Kingdon, 13-Mar-2023.) |
⊢ (∃𝑥 𝑥 ∈ 𝐴 → (∃𝑓 𝑓:ω–onto→(𝐴 ⊔ 1o) ↔ ∃𝑓 𝑓:ω–onto→𝐴)) | ||
Theorem | ctssdclemn0 7075* | Lemma for ctssdc 7078. The ¬ ∅ ∈ 𝑆 case. (Contributed by Jim Kingdon, 16-Aug-2023.) |
⊢ (𝜑 → 𝑆 ⊆ ω) & ⊢ (𝜑 → ∀𝑛 ∈ ω DECID 𝑛 ∈ 𝑆) & ⊢ (𝜑 → 𝐹:𝑆–onto→𝐴) & ⊢ (𝜑 → ¬ ∅ ∈ 𝑆) ⇒ ⊢ (𝜑 → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o)) | ||
Theorem | ctssdccl 7076* | A mapping from a decidable subset of the natural numbers onto a countable set. This is similar to one direction of ctssdc 7078 but expressed in terms of classes rather than ∃. (Contributed by Jim Kingdon, 30-Oct-2023.) |
⊢ (𝜑 → 𝐹:ω–onto→(𝐴 ⊔ 1o)) & ⊢ 𝑆 = {𝑥 ∈ ω ∣ (𝐹‘𝑥) ∈ (inl “ 𝐴)} & ⊢ 𝐺 = (◡inl ∘ 𝐹) ⇒ ⊢ (𝜑 → (𝑆 ⊆ ω ∧ 𝐺:𝑆–onto→𝐴 ∧ ∀𝑛 ∈ ω DECID 𝑛 ∈ 𝑆)) | ||
Theorem | ctssdclemr 7077* | Lemma for ctssdc 7078. Showing that our usual definition of countable implies the alternate one. (Contributed by Jim Kingdon, 16-Aug-2023.) |
⊢ (∃𝑓 𝑓:ω–onto→(𝐴 ⊔ 1o) → ∃𝑠(𝑠 ⊆ ω ∧ ∃𝑓 𝑓:𝑠–onto→𝐴 ∧ ∀𝑛 ∈ ω DECID 𝑛 ∈ 𝑠)) | ||
Theorem | ctssdc 7078* | A set is countable iff there is a surjection from a decidable subset of the natural numbers onto it. The decidability condition is needed as shown at ctssexmid 7114. (Contributed by Jim Kingdon, 15-Aug-2023.) |
⊢ (∃𝑠(𝑠 ⊆ ω ∧ ∃𝑓 𝑓:𝑠–onto→𝐴 ∧ ∀𝑛 ∈ ω DECID 𝑛 ∈ 𝑠) ↔ ∃𝑓 𝑓:ω–onto→(𝐴 ⊔ 1o)) | ||
Theorem | enumctlemm 7079* | Lemma for enumct 7080. The case where 𝑁 is greater than zero. (Contributed by Jim Kingdon, 13-Mar-2023.) |
⊢ (𝜑 → 𝐹:𝑁–onto→𝐴) & ⊢ (𝜑 → 𝑁 ∈ ω) & ⊢ (𝜑 → ∅ ∈ 𝑁) & ⊢ 𝐺 = (𝑘 ∈ ω ↦ if(𝑘 ∈ 𝑁, (𝐹‘𝑘), (𝐹‘∅))) ⇒ ⊢ (𝜑 → 𝐺:ω–onto→𝐴) | ||
Theorem | enumct 7080* | A finitely enumerable set is countable. Lemma 8.1.14 of [AczelRathjen], p. 73 (except that our definition of countable does not require the set to be inhabited). "Finitely enumerable" is defined as ∃𝑛 ∈ ω∃𝑓𝑓:𝑛–onto→𝐴 per Definition 8.1.4 of [AczelRathjen], p. 71 and "countable" is defined as ∃𝑔𝑔:ω–onto→(𝐴 ⊔ 1o) per [BauerSwan], p. 14:3. (Contributed by Jim Kingdon, 13-Mar-2023.) |
⊢ (∃𝑛 ∈ ω ∃𝑓 𝑓:𝑛–onto→𝐴 → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o)) | ||
Theorem | finct 7081* | A finite set is countable. (Contributed by Jim Kingdon, 17-Mar-2023.) |
⊢ (𝐴 ∈ Fin → ∃𝑔 𝑔:ω–onto→(𝐴 ⊔ 1o)) | ||
Theorem | omct 7082 | ω is countable. (Contributed by Jim Kingdon, 23-Dec-2023.) |
⊢ ∃𝑓 𝑓:ω–onto→(ω ⊔ 1o) | ||
Theorem | ctfoex 7083* | A countable class is a set. (Contributed by Jim Kingdon, 25-Dec-2023.) |
⊢ (∃𝑓 𝑓:ω–onto→(𝐴 ⊔ 1o) → 𝐴 ∈ V) | ||
This section introduces the one-point compactification of the set of natural numbers, introduced by Escardo as the set of nonincreasing sequences on ω with values in 2o. The topological results justifying its name will be proved later. | ||
Syntax | xnninf 7084 | Set of nonincreasing sequences in 2o ↑𝑚 ω. |
class ℕ∞ | ||
Definition | df-nninf 7085* | Define the set of nonincreasing sequences in 2o ↑𝑚 ω. Definition in Section 3.1 of [Pierik], p. 15. If we assumed excluded middle, this would be essentially the same as ℕ0* as defined at df-xnn0 9178 but in its absence the relationship between the two is more complicated. This definition would function much the same whether we used ω or ℕ0, but the former allows us to take advantage of 2o = {∅, 1o} (df2o3 6398) so we adopt it. (Contributed by Jim Kingdon, 14-Jul-2022.) |
⊢ ℕ∞ = {𝑓 ∈ (2o ↑𝑚 ω) ∣ ∀𝑖 ∈ ω (𝑓‘suc 𝑖) ⊆ (𝑓‘𝑖)} | ||
Theorem | nninfex 7086 | ℕ∞ is a set. (Contributed by Jim Kingdon, 10-Aug-2022.) |
⊢ ℕ∞ ∈ V | ||
Theorem | nninff 7087 | An element of ℕ∞ is a sequence of zeroes and ones. (Contributed by Jim Kingdon, 4-Aug-2022.) |
⊢ (𝐴 ∈ ℕ∞ → 𝐴:ω⟶2o) | ||
Theorem | infnninf 7088 | The point at infinity in ℕ∞ is the constant sequence equal to 1o. Note that with our encoding of functions, that constant function can also be expressed as (ω × {1o}), as fconstmpt 4651 shows. (Contributed by Jim Kingdon, 14-Jul-2022.) Use maps-to notation. (Revised by BJ, 10-Aug-2024.) |
⊢ (𝑖 ∈ ω ↦ 1o) ∈ ℕ∞ | ||
Theorem | infnninfOLD 7089 | Obsolete version of infnninf 7088 as of 10-Aug-2024. (Contributed by Jim Kingdon, 14-Jul-2022.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (ω × {1o}) ∈ ℕ∞ | ||
Theorem | nnnninf 7090* | Elements of ℕ∞ corresponding to natural numbers. The natural number 𝑁 corresponds to a sequence of 𝑁 ones followed by zeroes. This can be strengthened to include infinity, see nnnninf2 7091. (Contributed by Jim Kingdon, 14-Jul-2022.) |
⊢ (𝑁 ∈ ω → (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅)) ∈ ℕ∞) | ||
Theorem | nnnninf2 7091* | Canonical embedding of suc ω into ℕ∞. (Contributed by BJ, 10-Aug-2024.) |
⊢ (𝑁 ∈ suc ω → (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅)) ∈ ℕ∞) | ||
Theorem | nnnninfeq 7092* | Mapping of a natural number to an element of ℕ∞. (Contributed by Jim Kingdon, 4-Aug-2022.) |
⊢ (𝜑 → 𝑃 ∈ ℕ∞) & ⊢ (𝜑 → 𝑁 ∈ ω) & ⊢ (𝜑 → ∀𝑥 ∈ 𝑁 (𝑃‘𝑥) = 1o) & ⊢ (𝜑 → (𝑃‘𝑁) = ∅) ⇒ ⊢ (𝜑 → 𝑃 = (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅))) | ||
Theorem | nnnninfeq2 7093* | Mapping of a natural number to an element of ℕ∞. Similar to nnnninfeq 7092 but if we have information about a single 1o digit, that gives information about all previous digits. (Contributed by Jim Kingdon, 4-Aug-2022.) |
⊢ (𝜑 → 𝑃 ∈ ℕ∞) & ⊢ (𝜑 → 𝑁 ∈ ω) & ⊢ (𝜑 → (𝑃‘∪ 𝑁) = 1o) & ⊢ (𝜑 → (𝑃‘𝑁) = ∅) ⇒ ⊢ (𝜑 → 𝑃 = (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅))) | ||
Theorem | nninfisollem0 7094* | Lemma for nninfisol 7097. The case where 𝑁 is zero. (Contributed by Jim Kingdon, 13-Sep-2024.) |
⊢ (𝜑 → 𝑋 ∈ ℕ∞) & ⊢ (𝜑 → (𝑋‘𝑁) = ∅) & ⊢ (𝜑 → 𝑁 ∈ ω) & ⊢ (𝜑 → 𝑁 = ∅) ⇒ ⊢ (𝜑 → DECID (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅)) = 𝑋) | ||
Theorem | nninfisollemne 7095* | Lemma for nninfisol 7097. A case where 𝑁 is a successor and 𝑁 and 𝑋 are not equal. (Contributed by Jim Kingdon, 13-Sep-2024.) |
⊢ (𝜑 → 𝑋 ∈ ℕ∞) & ⊢ (𝜑 → (𝑋‘𝑁) = ∅) & ⊢ (𝜑 → 𝑁 ∈ ω) & ⊢ (𝜑 → 𝑁 ≠ ∅) & ⊢ (𝜑 → (𝑋‘∪ 𝑁) = ∅) ⇒ ⊢ (𝜑 → DECID (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅)) = 𝑋) | ||
Theorem | nninfisollemeq 7096* | Lemma for nninfisol 7097. The case where 𝑁 is a successor and 𝑁 and 𝑋 are equal. (Contributed by Jim Kingdon, 13-Sep-2024.) |
⊢ (𝜑 → 𝑋 ∈ ℕ∞) & ⊢ (𝜑 → (𝑋‘𝑁) = ∅) & ⊢ (𝜑 → 𝑁 ∈ ω) & ⊢ (𝜑 → 𝑁 ≠ ∅) & ⊢ (𝜑 → (𝑋‘∪ 𝑁) = 1o) ⇒ ⊢ (𝜑 → DECID (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅)) = 𝑋) | ||
Theorem | nninfisol 7097* | Finite elements of ℕ∞ are isolated. That is, given a natural number and any element of ℕ∞, it is decidable whether the natural number (when converted to an element of ℕ∞) is equal to the given element of ℕ∞. Stated in an online post by Martin Escardo. One way to understand this theorem is that you do not need to look at an unbounded number of elements of the sequence 𝑋 to decide whether it is equal to 𝑁 (in fact, you only need to look at two elements and 𝑁 tells you where to look). (Contributed by BJ and Jim Kingdon, 12-Sep-2024.) |
⊢ ((𝑁 ∈ ω ∧ 𝑋 ∈ ℕ∞) → DECID (𝑖 ∈ ω ↦ if(𝑖 ∈ 𝑁, 1o, ∅)) = 𝑋) | ||
Syntax | comni 7098 | Extend class definition to include the class of omniscient sets. |
class Omni | ||
Definition | df-omni 7099* |
An omniscient set is one where we can decide whether a predicate (here
represented by a function 𝑓) holds (is equal to 1o) for all
elements or fails to hold (is equal to ∅)
for some element.
Definition 3.1 of [Pierik], p. 14.
In particular, ω ∈ Omni is known as the Limited Principle of Omniscience (LPO). (Contributed by Jim Kingdon, 28-Jun-2022.) |
⊢ Omni = {𝑦 ∣ ∀𝑓(𝑓:𝑦⟶2o → (∃𝑥 ∈ 𝑦 (𝑓‘𝑥) = ∅ ∨ ∀𝑥 ∈ 𝑦 (𝑓‘𝑥) = 1o))} | ||
Theorem | isomni 7100* | The predicate of being omniscient. (Contributed by Jim Kingdon, 28-Jun-2022.) |
⊢ (𝐴 ∈ 𝑉 → (𝐴 ∈ Omni ↔ ∀𝑓(𝑓:𝐴⟶2o → (∃𝑥 ∈ 𝐴 (𝑓‘𝑥) = ∅ ∨ ∀𝑥 ∈ 𝐴 (𝑓‘𝑥) = 1o)))) |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |