| Metamath
Proof Explorer Theorem List (p. 390 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-31060) |
(31061-32583) |
(32584-50374) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | rnqmap 38901 | The range of the quotient map is the quotient carrier. It lets us replace quotient-carrier reasoning by map/range reasoning (and conversely) via df-qmap 38893 and dfqs2 8673. (Contributed by Peter Mazsa, 12-Feb-2026.) |
| ⊢ ran QMap 𝑅 = (dom 𝑅 / 𝑅) | ||
| Definition | df-adjliftmap 38902 |
Define the adjoined lift map. Given a relation 𝑅 and a carrier/set
𝐴, we form the adjoined relation (𝑅 ∪ ◡ E ) (i.e., "follow
𝑅 or follow elements"),
restricted to 𝐴, and map each domain
element 𝑚 to its coset [𝑚] under that restricted
adjoined
relation, see its expanded version dfadjliftmap 38903. Thus, for 𝑚 in
its domain, we have (𝑚 ∪ [𝑚]𝑅), see dfadjliftmap2 38904.
Its key special case is successor: for 𝑅 = I and 𝐴 = dom I, or 𝐴 = V, the adjoined relation is ( I ∪ ◡ E ), and the coset becomes [𝑚]( I ∪ ◡ E ) = (𝑚 ∪ {𝑚}). So ( I AdjLiftMap dom I ) or ( I AdjLiftMap V) (see dfsucmap2 38911 and dfsucmap3 38910) are exactly the successor map 𝑚 ↦ suc 𝑚 (cf. dfsucmap4 38912), which is a prerequisite for accepting the adjoining lift as the right generalization of successor. A maximally generic form would be "( R F LiftMap A )" defined as (𝑚 ∈ dom ((𝑅𝐹◡ E ) ↾ 𝐴) ↦ [𝑚]((𝑅𝐹◡ E ) ↾ 𝐴)) where 𝐹 is an object-level binary operator on relations (used via df-ov 7388). However, ∪ and ⋉ are introduced in set.mm as class constructors (e.g. df-un 3904), not as an object-level binary function symbol 𝐹 that can be passed as a parameter. To make the generic 𝐹-pattern literally usable, we would need to reify union and ⋉ as function-objects, which is additional infrastructure. To avoid introducing operator-as-function objects solely to support 𝐹, we define: AdjLiftMap directly using df-un 3904, and BlockLiftMap directly using the existing ⋉ constructor dfxrn2 38832, so we treat any "generic 𝐹-LiftMap" as optional future generalization, not a dependency. We prefer to avoid defining too many concepts. For this reason, we will not introduce a named "adjoining relation", a named carrier "adjoining lift" "( R AdjLift A )", in place of ran (𝑅 AdjLiftMap 𝐴), which is (dom ((𝑅 ∪ ◡ E ) ↾ 𝐴) / ((𝑅 ∪ ◡ E ) ↾ 𝐴)), cf. dfqs2 8673, or the equilibrium condition "AdjLiftFix" , in place of {〈𝑟, 𝑎〉 ∣ (dom ((𝑅 ∪ ◡ E ) ↾ 𝐴) / ((𝑅 ∪ ◡ E ) ↾ 𝐴)) = 𝑎} (cf. its analog df-blockliftfix 38928). These are definable by simple expansions and/or domain-quotient theorems when needed. A "two-stage" construction is obtained by first forming the block relation (𝑅 ⋉ ◡ E ) and then adjoining elements as "BlockAdj" . Combined, it uses the relation ((𝑅 ⋉ ◡ E ) ∪ ◡ E ), which for 𝑚 in its domain (𝐴 ∖ {∅}) gives (𝑚 ∪ [𝑚](𝑅 ⋉ ◡ E )), yielding "BlockAdjLiftMap" (cf. blockadjliftmap 38905) and "BlockAdjLiftFix". We only introduce these if a downstream theorem actually requires them. (Contributed by Peter Mazsa, 24-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.) |
| ⊢ (𝑅 AdjLiftMap 𝐴) = QMap ((𝑅 ∪ ◡ E ) ↾ 𝐴) | ||
| Theorem | dfadjliftmap 38903* | Alternate (expanded) definition of the adjoined lift map. (Contributed by Peter Mazsa, 28-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.) |
| ⊢ (𝑅 AdjLiftMap 𝐴) = (𝑚 ∈ dom ((𝑅 ∪ ◡ E ) ↾ 𝐴) ↦ [𝑚]((𝑅 ∪ ◡ E ) ↾ 𝐴)) | ||
| Theorem | dfadjliftmap2 38904* | Alternate definition of the adjoined lift map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ (𝑅 AdjLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∪ (V ∖ {∅}))) ↦ (𝑚 ∪ [𝑚]𝑅)) | ||
| Theorem | blockadjliftmap 38905* | A "two-stage" construction is obtained by first forming the block relation (𝑅 ⋉ ◡ E ) and then adjoining elements as "BlockAdj". Combined, it uses the relation ((𝑅 ⋉ ◡ E ) ∪ ◡ E ). (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ ((𝑅 ⋉ ◡ E ) AdjLiftMap 𝐴) = {〈𝑚, 𝑛〉 ∣ (𝑚 ∈ (𝐴 ∖ {∅}) ∧ 𝑛 = (𝑚 ∪ ([𝑚]𝑅 × 𝑚)))} | ||
| Definition | df-blockliftmap 38906 |
Define the block lift map. Given a relation 𝑅 and a carrier/set
𝐴, we form the block relation (𝑅 ⋉
◡ E ) (i.e., "follow
both 𝑅 and element"), restricted to
𝐴
(or, equivalently, "follow
both 𝑅 and elements-of-A", cf. xrnres2 38873). Then map each domain
element 𝑚 to its coset [𝑚] under that restricted
block relation.
For 𝑚 in the domain, which requires (𝑚 ∈ 𝐴 ∧ 𝑚 ≠ ∅ ∧ [𝑚]𝑅 ≠ ∅) (cf. eldmxrncnvepres 38881), the fiber has the product form [𝑚](𝑅 ⋉ ◡ E ) = ([𝑚]𝑅 × 𝑚), so the block relation lifts a block 𝑚 to the rectangular grid "external labels × internal members", see dfblockliftmap2 38908. Contrast: while the adjoined lift, via (𝑅 ∪ ◡ E ), attaches neighbors and members in a single relation (see dfadjliftmap2 38904), the block lift labels each internal member by each external neighbor. For the general case and a two-stage construction (first block lift, then adjoin membership), see the comments to df-adjliftmap 38902. For the equilibrium condition, see df-blockliftfix 38928. (Contributed by Peter Mazsa, 24-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.) |
| ⊢ (𝑅 BlockLiftMap 𝐴) = QMap (𝑅 ⋉ (◡ E ↾ 𝐴)) | ||
| Theorem | dfblockliftmap 38907* | Alternate definition of the block lift map. (Contributed by Peter Mazsa, 29-Jan-2026.) (Revised by Peter Mazsa, 22-Feb-2026.) |
| ⊢ (𝑅 BlockLiftMap 𝐴) = (𝑚 ∈ dom (𝑅 ⋉ (◡ E ↾ 𝐴)) ↦ [𝑚](𝑅 ⋉ (◡ E ↾ 𝐴))) | ||
| Theorem | dfblockliftmap2 38908* | Alternate definition of the block lift map. (Contributed by Peter Mazsa, 29-Jan-2026.) |
| ⊢ (𝑅 BlockLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∖ {∅})) ↦ ([𝑚]𝑅 × 𝑚)) | ||
| Definition | df-sucmap 38909* |
Define the successor map, directly as the graph of the successor
operation, using only elementary set theory (ordered-pair class
abstraction). This avoids committing to any particular construction of
the successor function/class from other operators (e.g. a
union/composition presentation), while remaining provably equivalent to
those presentations (cf. dfsucmap2 38911 and dfsucmap3 38910 vs. df-succf 36168 and
dfsuccf2 36239). For maximum mappy shape, see dfsucmap4 38912.
We also treat the successor relation as the default shift relation for grading/tower arguments (cf. df-shiftstable 38929). Because it is used pervasively in shift-lift infrastructure, we adopt the short name SucMap rather than the fully systematic "SucAdjLiftMap". You may also define the predecessor relation as the converse graph "PreMap" as ◡ SucMap, which reverses successor edges ( cf. cnvopab 6114) and sends each successor to its (unique) predecessor when it exists. (Contributed by Peter Mazsa, 25-Jan-2026.) |
| ⊢ SucMap = {〈𝑚, 𝑛〉 ∣ suc 𝑚 = 𝑛} | ||
| Theorem | dfsucmap3 38910 | Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ SucMap = ( I AdjLiftMap V) | ||
| Theorem | dfsucmap2 38911 | Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ SucMap = ( I AdjLiftMap dom I ) | ||
| Theorem | dfsucmap4 38912 | Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ SucMap = (𝑚 ∈ V ↦ suc 𝑚) | ||
| Theorem | brsucmap 38913 | Binary relation form of the successor map, general version. (Contributed by Peter Mazsa, 6-Jan-2026.) |
| ⊢ ((𝑀 ∈ 𝑉 ∧ 𝑁 ∈ 𝑊) → (𝑀 SucMap 𝑁 ↔ suc 𝑀 = 𝑁)) | ||
| Theorem | relsucmap 38914 | The successor map is a relation. (Contributed by Peter Mazsa, 7-Jan-2026.) |
| ⊢ Rel SucMap | ||
| Theorem | dmsucmap 38915 | The domain of the successor map is the universe. (Contributed by Peter Mazsa, 7-Jan-2026.) |
| ⊢ dom SucMap = V | ||
| Definition | df-succl 38916 | Define Suc as the class of all successors, i.e. the range of the successor map: 𝑛 ∈ Suc iff ∃𝑚suc 𝑚 = 𝑛 (see dfsuccl2 38917). By injectivity of suc (suc11reg 9564), every 𝑛 ∈ Suc has at most one predecessor, which is exactly what pre 𝑛 (df-pre 38922) names. Cf. dfsuccl3 38920 and dfsuccl4 38921. (Contributed by Peter Mazsa, 25-Jan-2026.) |
| ⊢ Suc = ran SucMap | ||
| Theorem | dfsuccl2 38917* | Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 29-Jan-2026.) |
| ⊢ Suc = {𝑛 ∣ ∃𝑚 suc 𝑚 = 𝑛} | ||
| Theorem | mopre 38918* | There is at most one predecessor of 𝑁. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ ∃*𝑚 suc 𝑚 = 𝑁 | ||
| Theorem | exeupre2 38919* | Whenever a predecessor exists, it exists alone. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (∃𝑚 suc 𝑚 = 𝑁 ↔ ∃!𝑚 suc 𝑚 = 𝑁) | ||
| Theorem | dfsuccl3 38920* | Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 30-Jan-2026.) |
| ⊢ Suc = {𝑛 ∣ ∃!𝑚 suc 𝑚 = 𝑛} | ||
| Theorem | dfsuccl4 38921* | Alternate definition that incorporates the most desirable properties of the successor class. (Contributed by Peter Mazsa, 30-Jan-2026.) |
| ⊢ Suc = {𝑛 ∣ ∃!𝑚 ∈ 𝑛 (𝑚 ⊆ 𝑛 ∧ suc 𝑚 = 𝑛)} | ||
| Definition | df-pre 38922* |
Define the term-level successor-predecessor. It is the unique 𝑚
with suc 𝑚 = 𝑁 when such an 𝑚 exists; otherwise pre 𝑁 is
the
arbitrary default chosen by ℩. See its
alternate definitions
dfpre 38923, dfpre2 38924, dfpre3 38925 and dfpre4 38927.
Our definition is a special case of the widely recognised general 𝑅 -predecessor class df-pred 6277 (the class of all elements 𝑚 of 𝐴 such that 𝑚𝑅𝑁, dfpred3g 6289, cf. also df-bnj14 34942) in several respects. Its most abstract property as a specialisation is that it has a unique existing value by default. This is in contrast to the general version. The uniqueness (conditional on existence) is implied by the property of this specific instance of the general case involving the successor map df-sucmap 38909 in place of 𝑅, so that 𝑚 SucMap 𝑁, cf. sucmapleftuniq 38937, which originates from suc11reg 9564. Existence ∃𝑚𝑚 SucMap 𝑁 holds exactly on 𝑁 ∈ ran SucMap, cf. elrng 5860. Note that dom SucMap = V (see dmsucmap 38915), so the equivalent definition dfpre 38923 uses (℩𝑚𝑚 ∈ Pred( SucMap , V, 𝑁)). (Contributed by Peter Mazsa, 27-Jan-2026.) |
| ⊢ pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , dom SucMap , 𝑁)) | ||
| Theorem | dfpre 38923* | Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 27-Jan-2026.) |
| ⊢ pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , V, 𝑁)) | ||
| Theorem | dfpre2 38924* | Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → pre 𝑁 = (℩𝑚𝑚 SucMap 𝑁)) | ||
| Theorem | dfpre3 38925* | Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → pre 𝑁 = (℩𝑚 suc 𝑚 = 𝑁)) | ||
| Theorem | dfpred4 38926 | Alternate definition of the predecessor class when 𝑁 is a set. (Contributed by Peter Mazsa, 26-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → Pred(𝑅, 𝐴, 𝑁) = [𝑁]◡(𝑅 ↾ 𝐴)) | ||
| Theorem | dfpre4 38927* | Alternate definition of the predecessor of the 𝑁 set. The ◡ SucMap is just the "PreMap"; we did not define it because we do not expect to use it extensively in future (cf. the comments of df-sucmap 38909). (Contributed by Peter Mazsa, 26-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → pre 𝑁 = (℩𝑚𝑚 ∈ [𝑁]◡ SucMap )) | ||
| Definition | df-blockliftfix 38928* |
Define the equilibrium / fixed-point condition for "block carriers".
Start with a candidate block-family 𝑎 (a set whose elements you intend to treat as blocks). Combine it with a relation 𝑟 by forming the block-lift span 𝑇 = (𝑟 ⋉ (◡ E ↾ 𝑎)). For a block 𝑢 ∈ 𝑎, the fiber [𝑢]𝑇 is the set of all outputs produced from "external targets" of 𝑟 together with "internal members" of 𝑢; in other words, 𝑇 is the mechanism that generates new blocks from old ones. Now apply the standard quotient construction (dom 𝑇 / 𝑇). This produces the family of all T-blocks (the cosets [𝑥]𝑇 of witnesses 𝑥 in the domain of 𝑇). In general, this operation can change your carrier: starting from 𝑎, it may generate a different block-family (dom 𝑇 / 𝑇). The equation (dom (𝑟 ⋉ (◡ E ↾ 𝑎)) / (𝑟 ⋉ (◡ E ↾ 𝑎))) = 𝑎 says exactly: if you generate blocks from 𝑎 using the lift determined by 𝑟 (cf. df-blockliftmap 38906), you get back the same 𝑎. So 𝑎 is stable under the block-generation operator induced by 𝑟. This is why it is a genuine fixpoint/equilibrium condition: one application of the "make-the-blocks" operator causes no carrier drift, i.e. no hidden refinement/coarsening of what counts as a block. Here, the quotient (dom 𝑇 / 𝑇) is the standard carrier of 𝑇 -blocks; see dfqs2 8673 for the quotient-as-range viewpoint. This is an untyped equilibrium predicate on pairs 〈𝑟, 𝑎〉. No hypothesis 𝑟 ∈ Rels is built into the definition, because the fixpoint equation depends only on those ordered pairs 〈𝑥, 𝑦〉 that belong to 𝑟 and hence can witness an atomic instance 𝑥𝑟𝑦; extra non-ordered-pair "junk" elements in 𝑟 are ignored automatically by the relational membership predicate. When later work needs 𝑟 to be relation-typed (e.g. to intersect with ( Rels × V)-style typedness modules, or to apply Rels-based infrastructure uniformly), the additional typing constraint 𝑟 ∈ Rels should be imposed locally as a separate conjunct (rather than being baked into this equilibrium module). (Contributed by Peter Mazsa, 25-Jan-2026.) (Revised by Peter Mazsa, 20-Feb-2026.) |
| ⊢ BlockLiftFix = {〈𝑟, 𝑎〉 ∣ (dom (𝑟 ⋉ (◡ E ↾ 𝑎)) / (𝑟 ⋉ (◡ E ↾ 𝑎))) = 𝑎} | ||
| Definition | df-shiftstable 38929 |
Define shift-stability, a general "procedure" pattern for "the
one-step
backward shift/transport of 𝐹 along 𝑆", and then ∩ 𝐹
enforces "and it already holds here".
Let 𝐹 be a relation encoding a property that depends on a "level" coordinate (for example, a feasibility condition indexed by a carrier, a grade, or a stage in a construction). Let 𝑆 be a shift relation between levels (for example, the successor map SucMap, or any other grading step). The composed relation (𝑆 ∘ 𝐹) transports 𝐹 one step along the shift: 𝑟(𝑆 ∘ 𝐹)𝑛 means there exists a predecessor level 𝑚 such that 𝑟𝐹𝑚 and 𝑚𝑆𝑛 (e.g., 𝑚 SucMap 𝑛). We do not introduce a separate notation for "Shift" because it is simply the standard relational composition df-co 5649. The intersection ((𝑆 ∘ 𝐹) ∩ 𝐹) is the locally shift-stable fragment of 𝐹: it consists exactly of those points where the property holds at some immediate predecessor that shifts to 𝑛 and also holds at level 𝑛. In other words, it isolates the part of 𝐹 that is already compatible with one-step tower coherence. This definition packages a common construction pattern used throughout the development: "constrain by one-step stability under a chosen shift, then additionally constrain by 𝐹". Iterating the operator (𝑋 ↦ ((𝑆 ∘ 𝑋) ∩ 𝑋) corresponds to multi-step/tower coherence; the one-step definition here is the economical kernel from which such "tower" readings can be developed when needed. (Contributed by Peter Mazsa, 25-Jan-2026.) |
| ⊢ (𝑆 ShiftStable 𝐹) = ((𝑆 ∘ 𝐹) ∩ 𝐹) | ||
| Theorem | shiftstableeq2 38930 | Equality theorem for shift-stability of two classes. (Contributed by Peter Mazsa, 19-Feb-2026.) |
| ⊢ (𝐹 = 𝐺 → (𝑆 ShiftStable 𝐹) = (𝑆 ShiftStable 𝐺)) | ||
| Theorem | suceqsneq 38931 | One-to-one relationship between the successor operation and the singleton. (Contributed by Peter Mazsa, 31-Dec-2024.) |
| ⊢ (𝐴 ∈ 𝑉 → (suc 𝐴 = suc 𝐵 ↔ {𝐴} = {𝐵})) | ||
| Theorem | sucdifsn2 38932 | Absorption of union with a singleton by difference. (Contributed by Peter Mazsa, 24-Jul-2024.) |
| ⊢ ((𝐴 ∪ {𝐴}) ∖ {𝐴}) = 𝐴 | ||
| Theorem | sucdifsn 38933 | The difference between the successor and the singleton of a class is the class. (Contributed by Peter Mazsa, 20-Sep-2024.) |
| ⊢ (suc 𝐴 ∖ {𝐴}) = 𝐴 | ||
| Theorem | ressucdifsn2 38934 | The difference between restrictions to the successor and the singleton of a class is the restriction to the class, see ressucdifsn 38935. (Contributed by Peter Mazsa, 24-Jul-2024.) |
| ⊢ ((𝑅 ↾ (𝐴 ∪ {𝐴})) ∖ (𝑅 ↾ {𝐴})) = (𝑅 ↾ 𝐴) | ||
| Theorem | ressucdifsn 38935 | The difference between restrictions to the successor and the singleton of a class is the restriction to the class. (Contributed by Peter Mazsa, 20-Sep-2024.) |
| ⊢ ((𝑅 ↾ suc 𝐴) ∖ (𝑅 ↾ {𝐴})) = (𝑅 ↾ 𝐴) | ||
| Theorem | sucmapsuc 38936 | A set is succeeded by its successor. (Contributed by Peter Mazsa, 7-Jan-2026.) |
| ⊢ (𝑀 ∈ 𝑉 → 𝑀 SucMap suc 𝑀) | ||
| Theorem | sucmapleftuniq 38937 | Left uniqueness of the successor mapping. (Contributed by Peter Mazsa, 8-Jan-2026.) |
| ⊢ ((𝐿 ∈ 𝑉 ∧ 𝑀 ∈ 𝑊 ∧ 𝑁 ∈ 𝑋) → ((𝐿 SucMap 𝑁 ∧ 𝑀 SucMap 𝑁) → 𝐿 = 𝑀)) | ||
| Theorem | exeupre 38938* | Whenever a predecessor exists, it exists alone. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → (∃𝑚 𝑚 SucMap 𝑁 ↔ ∃!𝑚 𝑚 SucMap 𝑁)) | ||
| Theorem | preex 38939 | The successor-predecessor exists. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ pre 𝑁 ∈ V | ||
| Theorem | eupre2 38940* | Unique predecessor exists on the range of the successor map. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → (𝑁 ∈ ran SucMap ↔ ∃!𝑚 𝑚 SucMap 𝑁)) | ||
| Theorem | eupre 38941* | Unique predecessor exists on the successor class. (Contributed by Peter Mazsa, 27-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → (𝑁 ∈ Suc ↔ ∃!𝑚 𝑚 SucMap 𝑁)) | ||
| Theorem | presucmap 38942 | pre is really a predecessor (when it should be). This correctness theorem for pre makes it usable in proofs without unfolding ℩. This theorem gives one witness; preuniqval 38943 gives it is the only one. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ ran SucMap → pre 𝑁 SucMap 𝑁) | ||
| Theorem | preuniqval 38943* | Uniqueness/canonicity of pre. presucmap 38942 gives one witness; this theorem gives it is the only one. It turns any predecessor proof into an equality with pre 𝑁. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ ran SucMap → ∀𝑚(𝑚 SucMap 𝑁 → 𝑚 = pre 𝑁)) | ||
| Theorem | sucpre 38944 | suc is a right-inverse of pre on Suc. This theorem states the partial inverse relation in the direction we most often need. (Contributed by Peter Mazsa, 27-Jan-2026.) |
| ⊢ (𝑁 ∈ Suc → suc pre 𝑁 = 𝑁) | ||
| Theorem | presuc 38945 | pre is a left-inverse of suc. This theorem gives a clean rewrite rule that eliminates pre on explicit successors. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑀 ∈ 𝑉 → pre suc 𝑀 = 𝑀) | ||
| Theorem | press 38946 | Predecessor is a subset of its successor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ Suc → pre 𝑁 ⊆ 𝑁) | ||
| Theorem | preel 38947 | Predecessor is a subset of its successor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ Suc → pre 𝑁 ∈ 𝑁) | ||
| Definition | df-coss 38948* |
Define the class of cosets by 𝑅: 𝑥 and 𝑦 are cosets by
𝑅 iff there exists a set 𝑢 such
that both 𝑢𝑅𝑥 and
𝑢𝑅𝑦 hold, i.e., both 𝑥 and
𝑦
are are elements of the 𝑅
-coset of 𝑢 (see dfcoss2 38950 and the comment of dfec2 8669). 𝑅 is
usually a relation.
This concept simplifies theorems relating partition and equivalence: the left side of these theorems relate to 𝑅, the right side relate to ≀ 𝑅 (see e.g. pet 39412). Without the definition of ≀ 𝑅 we should have to relate the right side of these theorems to a composition of a converse (cf. dfcoss3 38951) or to the range of a range Cartesian product of classes (cf. dfcoss4 38952), which would make the theorems complicated and confusing. Alternate definition is dfcoss2 38950. Technically, we can define it via composition (dfcoss3 38951) or as the range of a range Cartesian product (dfcoss4 38952), but neither of these definitions reveal directly how the cosets by 𝑅 relate to each other. We define functions (df-funsALTV 39213, df-funALTV 39214) and disjoints (dfdisjs 39240, dfdisjs2 39241, df-disjALTV 39237, dfdisjALTV2 39246) with the help of it as well. (Contributed by Peter Mazsa, 9-Jan-2018.) |
| ⊢ ≀ 𝑅 = {〈𝑥, 𝑦〉 ∣ ∃𝑢(𝑢𝑅𝑥 ∧ 𝑢𝑅𝑦)} | ||
| Definition | df-coels 38949 | Define the class of coelements on the class 𝐴, see also the alternate definition dfcoels 38967. Possible definitions are the special cases of dfcoss3 38951 and dfcoss4 38952. (Contributed by Peter Mazsa, 20-Nov-2019.) |
| ⊢ ∼ 𝐴 = ≀ (◡ E ↾ 𝐴) | ||
| Theorem | dfcoss2 38950* | Alternate definition of the class of cosets by 𝑅: 𝑥 and 𝑦 are cosets by 𝑅 iff there exists a set 𝑢 such that both 𝑥 and 𝑦 are are elements of the 𝑅-coset of 𝑢 (see also the comment of dfec2 8669). 𝑅 is usually a relation. (Contributed by Peter Mazsa, 16-Jan-2018.) |
| ⊢ ≀ 𝑅 = {〈𝑥, 𝑦〉 ∣ ∃𝑢(𝑥 ∈ [𝑢]𝑅 ∧ 𝑦 ∈ [𝑢]𝑅)} | ||
| Theorem | dfcoss3 38951 | Alternate definition of the class of cosets by 𝑅 (see the comment of df-coss 38948). (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ ≀ 𝑅 = (𝑅 ∘ ◡𝑅) | ||
| Theorem | dfcoss4 38952 | Alternate definition of the class of cosets by 𝑅 (see the comment of df-coss 38948). (Contributed by Peter Mazsa, 12-Jul-2021.) |
| ⊢ ≀ 𝑅 = ran (𝑅 ⋉ 𝑅) | ||
| Theorem | cosscnv 38953* | Class of cosets by the converse of 𝑅. (Contributed by Peter Mazsa, 17-Jun-2020.) |
| ⊢ ≀ ◡𝑅 = {〈𝑥, 𝑦〉 ∣ ∃𝑢(𝑥𝑅𝑢 ∧ 𝑦𝑅𝑢)} | ||
| Theorem | coss1cnvres 38954* | Class of cosets by the converse of a restriction. (Contributed by Peter Mazsa, 8-Jun-2020.) |
| ⊢ ≀ ◡(𝑅 ↾ 𝐴) = {〈𝑢, 𝑣〉 ∣ ((𝑢 ∈ 𝐴 ∧ 𝑣 ∈ 𝐴) ∧ ∃𝑥(𝑢𝑅𝑥 ∧ 𝑣𝑅𝑥))} | ||
| Theorem | coss2cnvepres 38955* | Special case of coss1cnvres 38954. (Contributed by Peter Mazsa, 8-Jun-2020.) |
| ⊢ ≀ ◡(◡ E ↾ 𝐴) = {〈𝑢, 𝑣〉 ∣ ((𝑢 ∈ 𝐴 ∧ 𝑣 ∈ 𝐴) ∧ ∃𝑥(𝑥 ∈ 𝑢 ∧ 𝑥 ∈ 𝑣))} | ||
| Theorem | cossex 38956 | If 𝐴 is a set then the class of cosets by 𝐴 is a set. (Contributed by Peter Mazsa, 4-Jan-2019.) |
| ⊢ (𝐴 ∈ 𝑉 → ≀ 𝐴 ∈ V) | ||
| Theorem | cosscnvex 38957 | If 𝐴 is a set then the class of cosets by the converse of 𝐴 is a set. (Contributed by Peter Mazsa, 18-Oct-2019.) |
| ⊢ (𝐴 ∈ 𝑉 → ≀ ◡𝐴 ∈ V) | ||
| Theorem | 1cosscnvepresex 38958 | Sufficient condition for a restricted converse epsilon coset to be a set. (Contributed by Peter Mazsa, 24-Sep-2021.) |
| ⊢ (𝐴 ∈ 𝑉 → ≀ (◡ E ↾ 𝐴) ∈ V) | ||
| Theorem | 1cossxrncnvepresex 38959 | Sufficient condition for a restricted converse epsilon range Cartesian product to be a set. (Contributed by Peter Mazsa, 23-Sep-2021.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝑅 ∈ 𝑊) → ≀ (𝑅 ⋉ (◡ E ↾ 𝐴)) ∈ V) | ||
| Theorem | relcoss 38960 | Cosets by 𝑅 is a relation. (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ Rel ≀ 𝑅 | ||
| Theorem | relcoels 38961 | Coelements on 𝐴 is a relation. (Contributed by Peter Mazsa, 5-Oct-2021.) |
| ⊢ Rel ∼ 𝐴 | ||
| Theorem | cossss 38962 | Subclass theorem for the classes of cosets by 𝐴 and 𝐵. (Contributed by Peter Mazsa, 11-Nov-2019.) |
| ⊢ (𝐴 ⊆ 𝐵 → ≀ 𝐴 ⊆ ≀ 𝐵) | ||
| Theorem | cosseq 38963 | Equality theorem for the classes of cosets by 𝐴 and 𝐵. (Contributed by Peter Mazsa, 9-Jan-2018.) |
| ⊢ (𝐴 = 𝐵 → ≀ 𝐴 = ≀ 𝐵) | ||
| Theorem | cosseqi 38964 | Equality theorem for the classes of cosets by 𝐴 and 𝐵, inference form. (Contributed by Peter Mazsa, 9-Jan-2018.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ ≀ 𝐴 = ≀ 𝐵 | ||
| Theorem | cosseqd 38965 | Equality theorem for the classes of cosets by 𝐴 and 𝐵, deduction form. (Contributed by Peter Mazsa, 4-Nov-2019.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ≀ 𝐴 = ≀ 𝐵) | ||
| Theorem | 1cossres 38966* | The class of cosets by a restriction. (Contributed by Peter Mazsa, 20-Apr-2019.) |
| ⊢ ≀ (𝑅 ↾ 𝐴) = {〈𝑥, 𝑦〉 ∣ ∃𝑢 ∈ 𝐴 (𝑢𝑅𝑥 ∧ 𝑢𝑅𝑦)} | ||
| Theorem | dfcoels 38967* | Alternate definition of the class of coelements on the class 𝐴. (Contributed by Peter Mazsa, 20-Apr-2019.) |
| ⊢ ∼ 𝐴 = {〈𝑥, 𝑦〉 ∣ ∃𝑢 ∈ 𝐴 (𝑥 ∈ 𝑢 ∧ 𝑦 ∈ 𝑢)} | ||
| Theorem | brcoss 38968* | 𝐴 and 𝐵 are cosets by 𝑅: a binary relation. (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ 𝑅𝐵 ↔ ∃𝑢(𝑢𝑅𝐴 ∧ 𝑢𝑅𝐵))) | ||
| Theorem | brcoss2 38969* | Alternate form of the 𝐴 and 𝐵 are cosets by 𝑅 binary relation. (Contributed by Peter Mazsa, 26-Mar-2019.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ 𝑅𝐵 ↔ ∃𝑢(𝐴 ∈ [𝑢]𝑅 ∧ 𝐵 ∈ [𝑢]𝑅))) | ||
| Theorem | brcoss3 38970 | Alternate form of the 𝐴 and 𝐵 are cosets by 𝑅 binary relation. (Contributed by Peter Mazsa, 26-Mar-2019.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ 𝑅𝐵 ↔ ([𝐴]◡𝑅 ∩ [𝐵]◡𝑅) ≠ ∅)) | ||
| Theorem | brcosscnvcoss 38971 | For sets, the 𝐴 and 𝐵 cosets by 𝑅 binary relation and the 𝐵 and 𝐴 cosets by 𝑅 binary relation are the same. (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ 𝑅𝐵 ↔ 𝐵 ≀ 𝑅𝐴)) | ||
| Theorem | brcoels 38972* | 𝐵 and 𝐶 are coelements : a binary relation. (Contributed by Peter Mazsa, 14-Jan-2020.) (Revised by Peter Mazsa, 5-Oct-2021.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ∼ 𝐴𝐶 ↔ ∃𝑢 ∈ 𝐴 (𝐵 ∈ 𝑢 ∧ 𝐶 ∈ 𝑢))) | ||
| Theorem | cocossss 38973* | Two ways of saying that cosets by cosets by 𝑅 is a subclass. (Contributed by Peter Mazsa, 17-Sep-2021.) |
| ⊢ ( ≀ ≀ 𝑅 ⊆ 𝑆 ↔ ∀𝑥∀𝑦∀𝑧((𝑥 ≀ 𝑅𝑦 ∧ 𝑦 ≀ 𝑅𝑧) → 𝑥𝑆𝑧)) | ||
| Theorem | cnvcosseq 38974 | The converse of cosets by 𝑅 are cosets by 𝑅. (Contributed by Peter Mazsa, 3-May-2019.) |
| ⊢ ◡ ≀ 𝑅 = ≀ 𝑅 | ||
| Theorem | br2coss 38975 | Cosets by ≀ 𝑅 binary relation. (Contributed by Peter Mazsa, 25-Aug-2019.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ ≀ 𝑅𝐵 ↔ ([𝐴] ≀ 𝑅 ∩ [𝐵] ≀ 𝑅) ≠ ∅)) | ||
| Theorem | br1cossres 38976* | 𝐵 and 𝐶 are cosets by a restriction: a binary relation. (Contributed by Peter Mazsa, 30-Dec-2018.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ≀ (𝑅 ↾ 𝐴)𝐶 ↔ ∃𝑢 ∈ 𝐴 (𝑢𝑅𝐵 ∧ 𝑢𝑅𝐶))) | ||
| Theorem | br1cossres2 38977* | 𝐵 and 𝐶 are cosets by a restriction: a binary relation. (Contributed by Peter Mazsa, 3-Jan-2018.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ≀ (𝑅 ↾ 𝐴)𝐶 ↔ ∃𝑥 ∈ 𝐴 (𝐵 ∈ [𝑥]𝑅 ∧ 𝐶 ∈ [𝑥]𝑅))) | ||
| Theorem | brressn 38978 | Binary relation on a restriction to a singleton. (Contributed by Peter Mazsa, 11-Jun-2024.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵(𝑅 ↾ {𝐴})𝐶 ↔ (𝐵 = 𝐴 ∧ 𝐵𝑅𝐶))) | ||
| Theorem | ressn2 38979* | A class ' R ' restricted to the singleton of the class ' A ' is the ordered pair class abstraction of the class ' A ' and the sets in relation ' R ' to ' A ' (and not in relation to the singleton ' { A } ' ). (Contributed by Peter Mazsa, 16-Jun-2024.) |
| ⊢ (𝑅 ↾ {𝐴}) = {〈𝑎, 𝑢〉 ∣ (𝑎 = 𝐴 ∧ 𝐴𝑅𝑢)} | ||
| Theorem | refressn 38980* | Any class ' R ' restricted to the singleton of the set ' A ' (see ressn2 38979) is reflexive, see also refrelressn 39051. (Contributed by Peter Mazsa, 12-Jun-2024.) |
| ⊢ (𝐴 ∈ 𝑉 → ∀𝑥 ∈ (dom (𝑅 ↾ {𝐴}) ∩ ran (𝑅 ↾ {𝐴}))𝑥(𝑅 ↾ {𝐴})𝑥) | ||
| Theorem | antisymressn 38981 | Every class ' R ' restricted to the singleton of the class ' A ' (see ressn2 38979) is antisymmetric. (Contributed by Peter Mazsa, 11-Jun-2024.) |
| ⊢ ∀𝑥∀𝑦((𝑥(𝑅 ↾ {𝐴})𝑦 ∧ 𝑦(𝑅 ↾ {𝐴})𝑥) → 𝑥 = 𝑦) | ||
| Theorem | trressn 38982 | Any class ' R ' restricted to the singleton of the class ' A ' (see ressn2 38979) is transitive, see also trrelressn 39114. (Contributed by Peter Mazsa, 16-Jun-2024.) |
| ⊢ ∀𝑥∀𝑦∀𝑧((𝑥(𝑅 ↾ {𝐴})𝑦 ∧ 𝑦(𝑅 ↾ {𝐴})𝑧) → 𝑥(𝑅 ↾ {𝐴})𝑧) | ||
| Theorem | relbrcoss 38983* | 𝐴 and 𝐵 are cosets by relation 𝑅: a binary relation. (Contributed by Peter Mazsa, 22-Apr-2021.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (Rel 𝑅 → (𝐴 ≀ 𝑅𝐵 ↔ ∃𝑥 ∈ dom 𝑅(𝐴 ∈ [𝑥]𝑅 ∧ 𝐵 ∈ [𝑥]𝑅)))) | ||
| Theorem | br1cossinres 38984* | 𝐵 and 𝐶 are cosets by an intersection with a restriction: a binary relation. (Contributed by Peter Mazsa, 31-Dec-2021.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ≀ (𝑅 ∩ (𝑆 ↾ 𝐴))𝐶 ↔ ∃𝑢 ∈ 𝐴 ((𝑢𝑆𝐵 ∧ 𝑢𝑅𝐵) ∧ (𝑢𝑆𝐶 ∧ 𝑢𝑅𝐶)))) | ||
| Theorem | br1cossxrnres 38985* | 〈𝐵, 𝐶〉 and 〈𝐷, 𝐸〉 are cosets by an range Cartesian product with a restriction: a binary relation. (Contributed by Peter Mazsa, 8-Jun-2021.) |
| ⊢ (((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) ∧ (𝐷 ∈ 𝑋 ∧ 𝐸 ∈ 𝑌)) → (〈𝐵, 𝐶〉 ≀ (𝑅 ⋉ (𝑆 ↾ 𝐴))〈𝐷, 𝐸〉 ↔ ∃𝑢 ∈ 𝐴 ((𝑢𝑆𝐶 ∧ 𝑢𝑅𝐵) ∧ (𝑢𝑆𝐸 ∧ 𝑢𝑅𝐷)))) | ||
| Theorem | br1cossinidres 38986* | 𝐵 and 𝐶 are cosets by an intersection with the restricted identity class: a binary relation. (Contributed by Peter Mazsa, 31-Dec-2021.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ≀ (𝑅 ∩ ( I ↾ 𝐴))𝐶 ↔ ∃𝑢 ∈ 𝐴 ((𝑢 = 𝐵 ∧ 𝑢𝑅𝐵) ∧ (𝑢 = 𝐶 ∧ 𝑢𝑅𝐶)))) | ||
| Theorem | br1cossincnvepres 38987* | 𝐵 and 𝐶 are cosets by an intersection with the restricted converse epsilon class: a binary relation. (Contributed by Peter Mazsa, 31-Dec-2021.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ≀ (𝑅 ∩ (◡ E ↾ 𝐴))𝐶 ↔ ∃𝑢 ∈ 𝐴 ((𝐵 ∈ 𝑢 ∧ 𝑢𝑅𝐵) ∧ (𝐶 ∈ 𝑢 ∧ 𝑢𝑅𝐶)))) | ||
| Theorem | br1cossxrnidres 38988* | 〈𝐵, 𝐶〉 and 〈𝐷, 𝐸〉 are cosets by a range Cartesian product with the restricted identity class: a binary relation. (Contributed by Peter Mazsa, 8-Jun-2021.) |
| ⊢ (((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) ∧ (𝐷 ∈ 𝑋 ∧ 𝐸 ∈ 𝑌)) → (〈𝐵, 𝐶〉 ≀ (𝑅 ⋉ ( I ↾ 𝐴))〈𝐷, 𝐸〉 ↔ ∃𝑢 ∈ 𝐴 ((𝑢 = 𝐶 ∧ 𝑢𝑅𝐵) ∧ (𝑢 = 𝐸 ∧ 𝑢𝑅𝐷)))) | ||
| Theorem | br1cossxrncnvepres 38989* | 〈𝐵, 𝐶〉 and 〈𝐷, 𝐸〉 are cosets by a range Cartesian product with the restricted converse epsilon class: a binary relation. (Contributed by Peter Mazsa, 12-May-2021.) |
| ⊢ (((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) ∧ (𝐷 ∈ 𝑋 ∧ 𝐸 ∈ 𝑌)) → (〈𝐵, 𝐶〉 ≀ (𝑅 ⋉ (◡ E ↾ 𝐴))〈𝐷, 𝐸〉 ↔ ∃𝑢 ∈ 𝐴 ((𝐶 ∈ 𝑢 ∧ 𝑢𝑅𝐵) ∧ (𝐸 ∈ 𝑢 ∧ 𝑢𝑅𝐷)))) | ||
| Theorem | dmcoss3 38990 | The domain of cosets is the domain of converse. (Contributed by Peter Mazsa, 4-Jan-2019.) |
| ⊢ dom ≀ 𝑅 = dom ◡𝑅 | ||
| Theorem | dmcoss2 38991 | The domain of cosets is the range. (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ dom ≀ 𝑅 = ran 𝑅 | ||
| Theorem | rncossdmcoss 38992 | The range of cosets is the domain of them (this should be rncoss 5946 but there exists a theorem with this name already). (Contributed by Peter Mazsa, 12-Dec-2019.) |
| ⊢ ran ≀ 𝑅 = dom ≀ 𝑅 | ||
| Theorem | dm1cosscnvepres 38993 | The domain of cosets of the restricted converse epsilon relation is the union of the restriction. (Contributed by Peter Mazsa, 18-May-2019.) (Revised by Peter Mazsa, 26-Sep-2021.) |
| ⊢ dom ≀ (◡ E ↾ 𝐴) = ∪ 𝐴 | ||
| Theorem | dmcoels 38994 | The domain of coelements in 𝐴 is the union of 𝐴. (Contributed by Rodolfo Medina, 14-Oct-2010.) (Revised by Peter Mazsa, 5-Apr-2018.) (Revised by Peter Mazsa, 26-Sep-2021.) |
| ⊢ dom ∼ 𝐴 = ∪ 𝐴 | ||
| Theorem | eldmcoss 38995* | Elementhood in the domain of cosets. (Contributed by Peter Mazsa, 29-Mar-2019.) |
| ⊢ (𝐴 ∈ 𝑉 → (𝐴 ∈ dom ≀ 𝑅 ↔ ∃𝑢 𝑢𝑅𝐴)) | ||
| Theorem | eldmcoss2 38996 | Elementhood in the domain of cosets. (Contributed by Peter Mazsa, 28-Dec-2018.) |
| ⊢ (𝐴 ∈ 𝑉 → (𝐴 ∈ dom ≀ 𝑅 ↔ 𝐴 ≀ 𝑅𝐴)) | ||
| Theorem | eldm1cossres 38997* | Elementhood in the domain of restricted cosets. (Contributed by Peter Mazsa, 30-Dec-2018.) |
| ⊢ (𝐵 ∈ 𝑉 → (𝐵 ∈ dom ≀ (𝑅 ↾ 𝐴) ↔ ∃𝑢 ∈ 𝐴 𝑢𝑅𝐵)) | ||
| Theorem | eldm1cossres2 38998* | Elementhood in the domain of restricted cosets. (Contributed by Peter Mazsa, 30-Dec-2018.) |
| ⊢ (𝐵 ∈ 𝑉 → (𝐵 ∈ dom ≀ (𝑅 ↾ 𝐴) ↔ ∃𝑥 ∈ 𝐴 𝐵 ∈ [𝑥]𝑅)) | ||
| Theorem | refrelcosslem 38999 | Lemma for the left side of the refrelcoss3 39000 reflexivity theorem. (Contributed by Peter Mazsa, 1-Apr-2019.) |
| ⊢ ∀𝑥 ∈ dom ≀ 𝑅𝑥 ≀ 𝑅𝑥 | ||
| Theorem | refrelcoss3 39000* | The class of cosets by 𝑅 is reflexive, see dfrefrel3 39043. (Contributed by Peter Mazsa, 30-Jul-2019.) |
| ⊢ (∀𝑥 ∈ dom ≀ 𝑅∀𝑦 ∈ ran ≀ 𝑅(𝑥 = 𝑦 → 𝑥 ≀ 𝑅𝑦) ∧ Rel ≀ 𝑅) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |