| Metamath
Proof Explorer Theorem List (p. 387 of 501) | < 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-30993) |
(30994-32516) |
(32517-50046) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | elec1cnvxrn2 38601* | Elementhood in the converse range Cartesian product coset of 𝐴. (Contributed by Peter Mazsa, 11-Jul-2021.) |
| ⊢ (𝐵 ∈ 𝑉 → (𝐵 ∈ [𝐴]◡(𝑅 ⋉ 𝑆) ↔ ∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝐵𝑅𝑦 ∧ 𝐵𝑆𝑧))) | ||
| Theorem | rnxrn 38602* | Range of the range Cartesian product of classes. (Contributed by Peter Mazsa, 1-Jun-2020.) |
| ⊢ ran (𝑅 ⋉ 𝑆) = {〈𝑥, 𝑦〉 ∣ ∃𝑢(𝑢𝑅𝑥 ∧ 𝑢𝑆𝑦)} | ||
| Theorem | rnxrnres 38603* | Range of a range Cartesian product with a restricted relation. (Contributed by Peter Mazsa, 5-Dec-2021.) |
| ⊢ ran (𝑅 ⋉ (𝑆 ↾ 𝐴)) = {〈𝑥, 𝑦〉 ∣ ∃𝑢 ∈ 𝐴 (𝑢𝑅𝑥 ∧ 𝑢𝑆𝑦)} | ||
| Theorem | rnxrncnvepres 38604* | Range of a range Cartesian product with a restriction of the converse epsilon relation. (Contributed by Peter Mazsa, 6-Dec-2021.) |
| ⊢ ran (𝑅 ⋉ (◡ E ↾ 𝐴)) = {〈𝑥, 𝑦〉 ∣ ∃𝑢 ∈ 𝐴 (𝑦 ∈ 𝑢 ∧ 𝑢𝑅𝑥)} | ||
| Theorem | rnxrnidres 38605* | Range of a range Cartesian product with a restriction of the identity relation. (Contributed by Peter Mazsa, 6-Dec-2021.) |
| ⊢ ran (𝑅 ⋉ ( I ↾ 𝐴)) = {〈𝑥, 𝑦〉 ∣ ∃𝑢 ∈ 𝐴 (𝑢 = 𝑦 ∧ 𝑢𝑅𝑥)} | ||
| Theorem | xrnres 38606 | Two ways to express restriction of range Cartesian product, see also xrnres2 38607, xrnres3 38608. (Contributed by Peter Mazsa, 5-Jun-2021.) |
| ⊢ ((𝑅 ⋉ 𝑆) ↾ 𝐴) = ((𝑅 ↾ 𝐴) ⋉ 𝑆) | ||
| Theorem | xrnres2 38607 | Two ways to express restriction of range Cartesian product, see also xrnres 38606, xrnres3 38608. (Contributed by Peter Mazsa, 6-Sep-2021.) |
| ⊢ ((𝑅 ⋉ 𝑆) ↾ 𝐴) = (𝑅 ⋉ (𝑆 ↾ 𝐴)) | ||
| Theorem | xrnres3 38608 | Two ways to express restriction of range Cartesian product, see also xrnres 38606, xrnres2 38607. (Contributed by Peter Mazsa, 28-Mar-2020.) |
| ⊢ ((𝑅 ⋉ 𝑆) ↾ 𝐴) = ((𝑅 ↾ 𝐴) ⋉ (𝑆 ↾ 𝐴)) | ||
| Theorem | xrnres4 38609 | Two ways to express restriction of range Cartesian product. (Contributed by Peter Mazsa, 29-Dec-2020.) |
| ⊢ ((𝑅 ⋉ 𝑆) ↾ 𝐴) = ((𝑅 ⋉ 𝑆) ∩ (𝐴 × (ran (𝑅 ↾ 𝐴) × ran (𝑆 ↾ 𝐴)))) | ||
| Theorem | xrnresex 38610 | Sufficient condition for a restricted range Cartesian product to be a set. (Contributed by Peter Mazsa, 16-Dec-2020.) (Revised by Peter Mazsa, 7-Sep-2021.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝑅 ∈ 𝑊 ∧ (𝑆 ↾ 𝐴) ∈ 𝑋) → (𝑅 ⋉ (𝑆 ↾ 𝐴)) ∈ V) | ||
| Theorem | xrnidresex 38611 | Sufficient condition for a range Cartesian product with restricted identity to be a set. (Contributed by Peter Mazsa, 31-Dec-2021.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝑅 ∈ 𝑊) → (𝑅 ⋉ ( I ↾ 𝐴)) ∈ V) | ||
| Theorem | xrncnvepresex 38612 | Sufficient condition for a range Cartesian product with restricted converse epsilon to be a set. (Contributed by Peter Mazsa, 16-Dec-2020.) (Revised by Peter Mazsa, 23-Sep-2021.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝑅 ∈ 𝑊) → (𝑅 ⋉ (◡ E ↾ 𝐴)) ∈ V) | ||
| Theorem | dmxrncnvepres 38613 | Domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.) |
| ⊢ dom (𝑅 ⋉ (◡ E ↾ 𝐴)) = (dom (𝑅 ↾ 𝐴) ∖ {∅}) | ||
| Theorem | dmxrncnvepres2 38614 | Domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 29-Jan-2026.) |
| ⊢ dom (𝑅 ⋉ (◡ E ↾ 𝐴)) = (𝐴 ∩ (dom 𝑅 ∖ {∅})) | ||
| Theorem | eldmxrncnvepres 38615 | Element of the domain of the range product with restricted converse epsilon relation. (Contributed by Peter Mazsa, 23-Nov-2025.) |
| ⊢ (𝐵 ∈ 𝑉 → (𝐵 ∈ dom (𝑅 ⋉ (◡ E ↾ 𝐴)) ↔ (𝐵 ∈ 𝐴 ∧ 𝐵 ≠ ∅ ∧ [𝐵]𝑅 ≠ ∅))) | ||
| Theorem | eldmxrncnvepres2 38616* | Element of the domain of the range product with restricted converse epsilon relation. This identifies the domain of the pet 39106 span (𝑅 ⋉ (◡ E ↾ 𝐴)): a 𝐵 belongs to the domain of the span exactly when 𝐵 is in 𝐴 and has at least one 𝑥 ∈ 𝐵 and 𝑦 with 𝐵𝑅𝑦. (Contributed by Peter Mazsa, 23-Nov-2025.) |
| ⊢ (𝐵 ∈ 𝑉 → (𝐵 ∈ dom (𝑅 ⋉ (◡ E ↾ 𝐴)) ↔ (𝐵 ∈ 𝐴 ∧ ∃𝑥 𝑥 ∈ 𝐵 ∧ ∃𝑦 𝐵𝑅𝑦))) | ||
| Theorem | eceldmqsxrncnvepres 38617 | An (𝑅 ⋉ (◡ E ↾ 𝐴))-coset in its domain quotient. (Contributed by Peter Mazsa, 23-Nov-2025.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ∧ 𝑅 ∈ 𝑋) → ([𝐵](𝑅 ⋉ (◡ E ↾ 𝐴)) ∈ (dom (𝑅 ⋉ (◡ E ↾ 𝐴)) / (𝑅 ⋉ (◡ E ↾ 𝐴))) ↔ (𝐵 ∈ 𝐴 ∧ 𝐵 ≠ ∅ ∧ [𝐵]𝑅 ≠ ∅))) | ||
| Theorem | eceldmqsxrncnvepres2 38618* | An (𝑅 ⋉ (◡ E ↾ 𝐴))-coset in its domain quotient. In the pet 39106 span (𝑅 ⋉ (◡ E ↾ 𝐴)), a block [ B ] lies in the domain quotient exactly when its representative 𝐵 belongs to 𝐴 and actually fires at least one arrow (has some 𝑥 ∈ 𝐵 and some 𝑦 with 𝐵𝑅𝑦). (Contributed by Peter Mazsa, 23-Nov-2025.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊 ∧ 𝑅 ∈ 𝑋) → ([𝐵](𝑅 ⋉ (◡ E ↾ 𝐴)) ∈ (dom (𝑅 ⋉ (◡ E ↾ 𝐴)) / (𝑅 ⋉ (◡ E ↾ 𝐴))) ↔ (𝐵 ∈ 𝐴 ∧ ∃𝑥 𝑥 ∈ 𝐵 ∧ ∃𝑦 𝐵𝑅𝑦))) | ||
| Theorem | brin2 38619 | Binary relation on an intersection is a special case of binary relation on range Cartesian product. (Contributed by Peter Mazsa, 21-Aug-2021.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴(𝑅 ∩ 𝑆)𝐵 ↔ 𝐴(𝑅 ⋉ 𝑆)〈𝐵, 𝐵〉)) | ||
| Theorem | brin3 38620 | Binary relation on an intersection is a special case of binary relation on range Cartesian product. (Contributed by Peter Mazsa, 21-Aug-2021.) (Avoid depending on this detail.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴(𝑅 ∩ 𝑆)𝐵 ↔ 𝐴(𝑅 ⋉ 𝑆){{𝐵}})) | ||
| Definition | df-rels 38621 |
Define the relations class. Proper class relations (like I, see
reli 5775) are not elements of it. The element of this
class and the
relation predicate are the same when 𝑅 is a set (see elrelsrel 38623).
The class of relations is a great tool we can use when we define classes of different relations as nullary class constants as required by the 2. point in our Guidelines https://us.metamath.org/mpeuni/mathbox.html 38623. When we want to define a specific class of relations as a nullary class constant, the appropriate method is the following: 1. We define the specific nullary class constant for general sets (see e.g. df-refs 38759), then 2. we get the required class of relations by the intersection of the class of general sets above with the class of relations df-rels 38621 (see df-refrels 38760 and the resulting dfrefrels2 38762 and dfrefrels3 38763). 3. Finally, in order to be able to work with proper classes (like iprc 7853) as well, we define the predicate of the relation (see df-refrel 38761) so that it is true for the relevant proper classes (see refrelid 38771), and that the element of the class of the required relations (e.g. elrefrels3 38768) and this predicate are the same in case of sets (see elrefrelsrel 38769). (Contributed by Peter Mazsa, 13-Jun-2018.) |
| ⊢ Rels = 𝒫 (V × V) | ||
| Theorem | elrels2 38622 | The element of the relations class (df-rels 38621) and the relation predicate (df-rel 5631) are the same when 𝑅 is a set. (Contributed by Peter Mazsa, 14-Jun-2018.) |
| ⊢ (𝑅 ∈ 𝑉 → (𝑅 ∈ Rels ↔ 𝑅 ⊆ (V × V))) | ||
| Theorem | elrelsrel 38623 | The element of the relations class (df-rels 38621) and the relation predicate are the same when 𝑅 is a set. (Contributed by Peter Mazsa, 24-Nov-2018.) |
| ⊢ (𝑅 ∈ 𝑉 → (𝑅 ∈ Rels ↔ Rel 𝑅)) | ||
| Theorem | elrelsrelim 38624 | The element of the relations class is a relation. (Contributed by Peter Mazsa, 20-Jul-2019.) |
| ⊢ (𝑅 ∈ Rels → Rel 𝑅) | ||
| Theorem | elrels5 38625 | Equivalent expressions for an element of the relations class. (Contributed by Peter Mazsa, 21-Jul-2021.) |
| ⊢ (𝑅 ∈ 𝑉 → (𝑅 ∈ Rels ↔ (𝑅 ↾ dom 𝑅) = 𝑅)) | ||
| Theorem | elrels6 38626 | Equivalent expressions for an element of the relations class. (Contributed by Peter Mazsa, 21-Jul-2021.) |
| ⊢ (𝑅 ∈ 𝑉 → (𝑅 ∈ Rels ↔ (𝑅 ∩ (dom 𝑅 × ran 𝑅)) = 𝑅)) | ||
| Definition | df-adjliftmap 38627* |
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. Thus, for 𝑚 in its domain, we have (𝑚 ∪ [𝑚]𝑅),
see dfadjliftmap2 38628.
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 38634 and dfsucmap3 38633) are exactly the successor map 𝑚 ↦ suc 𝑚 (cf. dfsucmap4 38635), 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 7361). However, ∪ and ⋉ are introduced in set.mm as class constructors (e.g. df-un 3906), 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 3906, and BlockLiftMap directly using the existing ⋉ constructor dfxrn2 38566, 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 42489, or the equilibrium condition "AdjLiftFix" , in place of {〈𝑟, 𝑎〉 ∣ (dom ((𝑅 ∪ ◡ E ) ↾ 𝐴) / ((𝑅 ∪ ◡ E ) ↾ 𝐴)) = 𝑎} (cf. its analog df-blockliftfix 38651 and dfblockliftfix2 38893). 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 38629) and "BlockAdjLiftFix". We only introduce these if a downstream theorem actually requires them. (Contributed by Peter Mazsa, 24-Jan-2026.) |
| ⊢ (𝑅 AdjLiftMap 𝐴) = (𝑚 ∈ dom ((𝑅 ∪ ◡ E ) ↾ 𝐴) ↦ [𝑚]((𝑅 ∪ ◡ E ) ↾ 𝐴)) | ||
| Theorem | dfadjliftmap2 38628* | Alternate definition of the adjoined lift map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ (𝑅 AdjLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∪ (V ∖ {∅}))) ↦ (𝑚 ∪ [𝑚]𝑅)) | ||
| Theorem | blockadjliftmap 38629* | 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 38630* |
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 38607). Then map each domain
element 𝑚 to its coset [𝑚] under that restricted
block
relation.
For 𝑚 in the domain, which requires (𝑚 ∈ 𝐴 ∧ 𝑚 ≠ ∅ ∧ [𝑚]𝑅 ≠ ∅) (cf. eldmxrncnvepres 38615), the fiber has the product form [𝑚](𝑅 ⋉ ◡ E ) = ([𝑚]𝑅 × 𝑚), so the block relation lifts a block 𝑚 to the rectangular grid "external labels × internal members", see dfblockliftmap2 38631. Contrast: while the adjoined lift, via (𝑅 ∪ ◡ E ), attaches neighbors and members in a single relation (see dfadjliftmap2 38628), 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 38627. For the equilibrium condition, see df-blockliftfix 38651 and dfblockliftfix2 38893. (Contributed by Peter Mazsa, 24-Jan-2026.) |
| ⊢ (𝑅 BlockLiftMap 𝐴) = (𝑚 ∈ dom (𝑅 ⋉ (◡ E ↾ 𝐴)) ↦ [𝑚](𝑅 ⋉ (◡ E ↾ 𝐴))) | ||
| Theorem | dfblockliftmap2 38631* | Alternate definition of the block lift map. (Contributed by Peter Mazsa, 29-Jan-2026.) |
| ⊢ (𝑅 BlockLiftMap 𝐴) = (𝑚 ∈ (𝐴 ∩ (dom 𝑅 ∖ {∅})) ↦ ([𝑚]𝑅 × 𝑚)) | ||
| Definition | df-sucmap 38632* |
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 38634 and dfsucmap3 38633 vs. df-succf 36064 and
dfsuccf2 36135). For maximum mappy shape, see dfsucmap4 38635.
We also treat the successor relation as the default shift relation for grading/tower arguments (cf. df-shiftstable 38652). 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 6094) and sends each successor to its (unique) predecessor when it exists. (Contributed by Peter Mazsa, 25-Jan-2026.) |
| ⊢ SucMap = {〈𝑚, 𝑛〉 ∣ suc 𝑚 = 𝑛} | ||
| Theorem | dfsucmap3 38633 | Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ SucMap = ( I AdjLiftMap V) | ||
| Theorem | dfsucmap2 38634 | Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ SucMap = ( I AdjLiftMap dom I ) | ||
| Theorem | dfsucmap4 38635 | Alternate definition of the successor map. (Contributed by Peter Mazsa, 28-Jan-2026.) |
| ⊢ SucMap = (𝑚 ∈ V ↦ suc 𝑚) | ||
| Theorem | brsucmap 38636 | Binary relation form of the successor map, general version. (Contributed by Peter Mazsa, 6-Jan-2026.) |
| ⊢ ((𝑀 ∈ 𝑉 ∧ 𝑁 ∈ 𝑊) → (𝑀 SucMap 𝑁 ↔ suc 𝑀 = 𝑁)) | ||
| Theorem | relsucmap 38637 | The successor map is a relation. (Contributed by Peter Mazsa, 7-Jan-2026.) |
| ⊢ Rel SucMap | ||
| Theorem | dmsucmap 38638 | The domain of the successor map is the universe. (Contributed by Peter Mazsa, 7-Jan-2026.) |
| ⊢ dom SucMap = V | ||
| Definition | df-succl 38639 | Define Suc as the class of all successors, i.e. the range of the successor map: 𝑛 ∈ Suc iff ∃𝑚suc 𝑚 = 𝑛 (see dfsuccl2 38640). By injectivity of suc (suc11reg 9528), every 𝑛 ∈ Suc has at most one predecessor, which is exactly what pre 𝑛 (df-pre 38645) names. Cf. dfsuccl3 38643 and dfsuccl4 38644. (Contributed by Peter Mazsa, 25-Jan-2026.) |
| ⊢ Suc = ran SucMap | ||
| Theorem | dfsuccl2 38640* | Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 29-Jan-2026.) |
| ⊢ Suc = {𝑛 ∣ ∃𝑚 suc 𝑚 = 𝑛} | ||
| Theorem | mopre 38641* | There is at most one predecessor of 𝑁. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ ∃*𝑚 suc 𝑚 = 𝑁 | ||
| Theorem | exeupre2 38642* | Whenever a predecessor exists, it exists alone. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (∃𝑚 suc 𝑚 = 𝑁 ↔ ∃!𝑚 suc 𝑚 = 𝑁) | ||
| Theorem | dfsuccl3 38643* | Alternate definition of the class of all successors. (Contributed by Peter Mazsa, 30-Jan-2026.) |
| ⊢ Suc = {𝑛 ∣ ∃!𝑚 suc 𝑚 = 𝑛} | ||
| Theorem | dfsuccl4 38644* | Alternate definition that incorporates the most desirable properties of the successor class. (Contributed by Peter Mazsa, 30-Jan-2026.) |
| ⊢ Suc = {𝑛 ∣ ∃!𝑚 ∈ 𝑛 (𝑚 ⊆ 𝑛 ∧ suc 𝑚 = 𝑛)} | ||
| Definition | df-pre 38645* |
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 38646, dfpre2 38647, dfpre3 38648 and dfpre4 38650.
Our definition is a special case of the widely recognised general 𝑅 -predecessor class df-pred 6259 (the class of all elements 𝑚 of 𝐴 such that 𝑚𝑅𝑁, dfpred3g 6271, cf. also df-bnj14 34845) 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 38632 in place of 𝑅, so that 𝑚 SucMap 𝑁, cf. sucmapleftuniq 38659, which originates from suc11reg 9528. Existence ∃𝑚𝑚 SucMap 𝑁 holds exactly on 𝑁 ∈ ran SucMap, cf. elrng 5840. Note that dom SucMap = V (see dmsucmap 38638), so the equivalent definition dfpre 38646 uses (℩𝑚𝑚 ∈ Pred( SucMap , V, 𝑁)). (Contributed by Peter Mazsa, 27-Jan-2026.) |
| ⊢ pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , dom SucMap , 𝑁)) | ||
| Theorem | dfpre 38646* | Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 27-Jan-2026.) |
| ⊢ pre 𝑁 = (℩𝑚𝑚 ∈ Pred( SucMap , V, 𝑁)) | ||
| Theorem | dfpre2 38647* | Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → pre 𝑁 = (℩𝑚𝑚 SucMap 𝑁)) | ||
| Theorem | dfpre3 38648* | Alternate definition of the successor-predecessor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → pre 𝑁 = (℩𝑚 suc 𝑚 = 𝑁)) | ||
| Theorem | dfpred4 38649 | Alternate definition of the predecessor class when 𝑁 is a set. (Contributed by Peter Mazsa, 26-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → Pred(𝑅, 𝐴, 𝑁) = [𝑁]◡(𝑅 ↾ 𝐴)) | ||
| Theorem | dfpre4 38650* | 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 38632). (Contributed by Peter Mazsa, 26-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → pre 𝑁 = (℩𝑚𝑚 ∈ [𝑁]◡ SucMap )) | ||
| Definition | df-blockliftfix 38651* |
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 38630), 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, we generate this from the df-blockliftmap 38630, taking the range of the two sides, resulting in (dom (𝑟 ⋉ (◡ E ↾ 𝑎)) / (𝑟 ⋉ (◡ E ↾ 𝑎))) (via dfqs2 42489), which you can define as "( R BlockLift A )" . In that case, you can define BlockLiftFix as "{ <. r , a >. | ( r BlockLift a ) = a }", or typed as "{ <. r , a >. | ( r e. Rels /\ ( r BlockLift a ) = a ) }". This is a relation-typed equilibrium predicate. Restricting it to 𝑟 ∈ Rels (see the explicit restriction in the alternate definition dfblockliftfix2 38893) prevents representation junk (which may contain non-ordered-pair 𝑟 that would not affect the predicate 𝑥𝑟𝑦, because that predicate only looks at ordered pairs) and makes the module composable with later Rels-based infrastructure; sethood of the quotient does not require it in itself. (Contributed by Peter Mazsa, 25-Jan-2026.) |
| ⊢ BlockLiftFix = {〈𝑟, 𝑎〉 ∣ (𝑟 ∈ Rels ∧ (dom (𝑟 ⋉ (◡ E ↾ 𝑎)) / (𝑟 ⋉ (◡ E ↾ 𝑎))) = 𝑎)} | ||
| Definition | df-shiftstable 38652 |
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 5633. 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 | suceqsneq 38653 | One-to-one relationship between the successor operation and the singleton. (Contributed by Peter Mazsa, 31-Dec-2024.) |
| ⊢ (𝐴 ∈ 𝑉 → (suc 𝐴 = suc 𝐵 ↔ {𝐴} = {𝐵})) | ||
| Theorem | sucdifsn2 38654 | Absorption of union with a singleton by difference. (Contributed by Peter Mazsa, 24-Jul-2024.) |
| ⊢ ((𝐴 ∪ {𝐴}) ∖ {𝐴}) = 𝐴 | ||
| Theorem | sucdifsn 38655 | The difference between the successor and the singleton of a class is the class. (Contributed by Peter Mazsa, 20-Sep-2024.) |
| ⊢ (suc 𝐴 ∖ {𝐴}) = 𝐴 | ||
| Theorem | ressucdifsn2 38656 | The difference between restrictions to the successor and the singleton of a class is the restriction to the class, see ressucdifsn 38657. (Contributed by Peter Mazsa, 24-Jul-2024.) |
| ⊢ ((𝑅 ↾ (𝐴 ∪ {𝐴})) ∖ (𝑅 ↾ {𝐴})) = (𝑅 ↾ 𝐴) | ||
| Theorem | ressucdifsn 38657 | 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 38658 | A set is succeeded by its successor. (Contributed by Peter Mazsa, 7-Jan-2026.) |
| ⊢ (𝑀 ∈ 𝑉 → 𝑀 SucMap suc 𝑀) | ||
| Theorem | sucmapleftuniq 38659 | Left uniqueness of the successor mapping. (Contributed by Peter Mazsa, 8-Jan-2026.) |
| ⊢ ((𝐿 ∈ 𝑉 ∧ 𝑀 ∈ 𝑊 ∧ 𝑁 ∈ 𝑋) → ((𝐿 SucMap 𝑁 ∧ 𝑀 SucMap 𝑁) → 𝐿 = 𝑀)) | ||
| Theorem | exeupre 38660* | Whenever a predecessor exists, it exists alone. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → (∃𝑚 𝑚 SucMap 𝑁 ↔ ∃!𝑚 𝑚 SucMap 𝑁)) | ||
| Theorem | preex 38661 | The successor-predecessor exists. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ pre 𝑁 ∈ V | ||
| Theorem | eupre2 38662* | Unique predecessor exists on the range of the successor map. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → (𝑁 ∈ ran SucMap ↔ ∃!𝑚 𝑚 SucMap 𝑁)) | ||
| Theorem | eupre 38663* | Unique predecessor exists on the successor class. (Contributed by Peter Mazsa, 27-Jan-2026.) |
| ⊢ (𝑁 ∈ 𝑉 → (𝑁 ∈ Suc ↔ ∃!𝑚 𝑚 SucMap 𝑁)) | ||
| Theorem | presucmap 38664 | 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 38665 gives it is the only one. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ ran SucMap → pre 𝑁 SucMap 𝑁) | ||
| Theorem | preuniqval 38665* | Uniqueness/canonicity of pre. presucmap 38664 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 38666 | 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 38667 | 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 38668 | Predecessor is a subset of its successor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ Suc → pre 𝑁 ⊆ 𝑁) | ||
| Theorem | preel 38669 | Predecessor is a subset of its successor. (Contributed by Peter Mazsa, 12-Jan-2026.) |
| ⊢ (𝑁 ∈ Suc → pre 𝑁 ∈ 𝑁) | ||
| Definition | df-coss 38670* |
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 38672 and the comment of dfec2 8638). 𝑅 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 39106). Without the definition of ≀ 𝑅 we should have to relate the right side of these theorems to a composition of a converse (cf. dfcoss3 38673) or to the range of a range Cartesian product of classes (cf. dfcoss4 38674), which would make the theorems complicated and confusing. Alternate definition is dfcoss2 38672. Technically, we can define it via composition (dfcoss3 38673) or as the range of a range Cartesian product (dfcoss4 38674), but neither of these definitions reveal directly how the cosets by 𝑅 relate to each other. We define functions (df-funsALTV 38936, df-funALTV 38937) and disjoints (dfdisjs 38963, dfdisjs2 38964, df-disjALTV 38960, dfdisjALTV2 38969) with the help of it as well. (Contributed by Peter Mazsa, 9-Jan-2018.) |
| ⊢ ≀ 𝑅 = {〈𝑥, 𝑦〉 ∣ ∃𝑢(𝑢𝑅𝑥 ∧ 𝑢𝑅𝑦)} | ||
| Definition | df-coels 38671 | Define the class of coelements on the class 𝐴, see also the alternate definition dfcoels 38689. Possible definitions are the special cases of dfcoss3 38673 and dfcoss4 38674. (Contributed by Peter Mazsa, 20-Nov-2019.) |
| ⊢ ∼ 𝐴 = ≀ (◡ E ↾ 𝐴) | ||
| Theorem | dfcoss2 38672* | 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 8638). 𝑅 is usually a relation. (Contributed by Peter Mazsa, 16-Jan-2018.) |
| ⊢ ≀ 𝑅 = {〈𝑥, 𝑦〉 ∣ ∃𝑢(𝑥 ∈ [𝑢]𝑅 ∧ 𝑦 ∈ [𝑢]𝑅)} | ||
| Theorem | dfcoss3 38673 | Alternate definition of the class of cosets by 𝑅 (see the comment of df-coss 38670). (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ ≀ 𝑅 = (𝑅 ∘ ◡𝑅) | ||
| Theorem | dfcoss4 38674 | Alternate definition of the class of cosets by 𝑅 (see the comment of df-coss 38670). (Contributed by Peter Mazsa, 12-Jul-2021.) |
| ⊢ ≀ 𝑅 = ran (𝑅 ⋉ 𝑅) | ||
| Theorem | cosscnv 38675* | Class of cosets by the converse of 𝑅 (Contributed by Peter Mazsa, 17-Jun-2020.) |
| ⊢ ≀ ◡𝑅 = {〈𝑥, 𝑦〉 ∣ ∃𝑢(𝑥𝑅𝑢 ∧ 𝑦𝑅𝑢)} | ||
| Theorem | coss1cnvres 38676* | Class of cosets by the converse of a restriction. (Contributed by Peter Mazsa, 8-Jun-2020.) |
| ⊢ ≀ ◡(𝑅 ↾ 𝐴) = {〈𝑢, 𝑣〉 ∣ ((𝑢 ∈ 𝐴 ∧ 𝑣 ∈ 𝐴) ∧ ∃𝑥(𝑢𝑅𝑥 ∧ 𝑣𝑅𝑥))} | ||
| Theorem | coss2cnvepres 38677* | Special case of coss1cnvres 38676. (Contributed by Peter Mazsa, 8-Jun-2020.) |
| ⊢ ≀ ◡(◡ E ↾ 𝐴) = {〈𝑢, 𝑣〉 ∣ ((𝑢 ∈ 𝐴 ∧ 𝑣 ∈ 𝐴) ∧ ∃𝑥(𝑥 ∈ 𝑢 ∧ 𝑥 ∈ 𝑣))} | ||
| Theorem | cossex 38678 | If 𝐴 is a set then the class of cosets by 𝐴 is a set. (Contributed by Peter Mazsa, 4-Jan-2019.) |
| ⊢ (𝐴 ∈ 𝑉 → ≀ 𝐴 ∈ V) | ||
| Theorem | cosscnvex 38679 | 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 38680 | Sufficient condition for a restricted converse epsilon coset to be a set. (Contributed by Peter Mazsa, 24-Sep-2021.) |
| ⊢ (𝐴 ∈ 𝑉 → ≀ (◡ E ↾ 𝐴) ∈ V) | ||
| Theorem | 1cossxrncnvepresex 38681 | 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 38682 | Cosets by 𝑅 is a relation. (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ Rel ≀ 𝑅 | ||
| Theorem | relcoels 38683 | Coelements on 𝐴 is a relation. (Contributed by Peter Mazsa, 5-Oct-2021.) |
| ⊢ Rel ∼ 𝐴 | ||
| Theorem | cossss 38684 | Subclass theorem for the classes of cosets by 𝐴 and 𝐵. (Contributed by Peter Mazsa, 11-Nov-2019.) |
| ⊢ (𝐴 ⊆ 𝐵 → ≀ 𝐴 ⊆ ≀ 𝐵) | ||
| Theorem | cosseq 38685 | Equality theorem for the classes of cosets by 𝐴 and 𝐵. (Contributed by Peter Mazsa, 9-Jan-2018.) |
| ⊢ (𝐴 = 𝐵 → ≀ 𝐴 = ≀ 𝐵) | ||
| Theorem | cosseqi 38686 | Equality theorem for the classes of cosets by 𝐴 and 𝐵, inference form. (Contributed by Peter Mazsa, 9-Jan-2018.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ ≀ 𝐴 = ≀ 𝐵 | ||
| Theorem | cosseqd 38687 | Equality theorem for the classes of cosets by 𝐴 and 𝐵, deduction form. (Contributed by Peter Mazsa, 4-Nov-2019.) |
| ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ≀ 𝐴 = ≀ 𝐵) | ||
| Theorem | 1cossres 38688* | The class of cosets by a restriction. (Contributed by Peter Mazsa, 20-Apr-2019.) |
| ⊢ ≀ (𝑅 ↾ 𝐴) = {〈𝑥, 𝑦〉 ∣ ∃𝑢 ∈ 𝐴 (𝑢𝑅𝑥 ∧ 𝑢𝑅𝑦)} | ||
| Theorem | dfcoels 38689* | Alternate definition of the class of coelements on the class 𝐴. (Contributed by Peter Mazsa, 20-Apr-2019.) |
| ⊢ ∼ 𝐴 = {〈𝑥, 𝑦〉 ∣ ∃𝑢 ∈ 𝐴 (𝑥 ∈ 𝑢 ∧ 𝑦 ∈ 𝑢)} | ||
| Theorem | brcoss 38690* | 𝐴 and 𝐵 are cosets by 𝑅: a binary relation. (Contributed by Peter Mazsa, 27-Dec-2018.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ 𝑅𝐵 ↔ ∃𝑢(𝑢𝑅𝐴 ∧ 𝑢𝑅𝐵))) | ||
| Theorem | brcoss2 38691* | Alternate form of the 𝐴 and 𝐵 are cosets by 𝑅 binary relation. (Contributed by Peter Mazsa, 26-Mar-2019.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ 𝑅𝐵 ↔ ∃𝑢(𝐴 ∈ [𝑢]𝑅 ∧ 𝐵 ∈ [𝑢]𝑅))) | ||
| Theorem | brcoss3 38692 | Alternate form of the 𝐴 and 𝐵 are cosets by 𝑅 binary relation. (Contributed by Peter Mazsa, 26-Mar-2019.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ 𝑅𝐵 ↔ ([𝐴]◡𝑅 ∩ [𝐵]◡𝑅) ≠ ∅)) | ||
| Theorem | brcosscnvcoss 38693 | 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 38694* | 𝐵 and 𝐶 are coelements : a binary relation. (Contributed by Peter Mazsa, 14-Jan-2020.) (Revised by Peter Mazsa, 5-Oct-2021.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ∼ 𝐴𝐶 ↔ ∃𝑢 ∈ 𝐴 (𝐵 ∈ 𝑢 ∧ 𝐶 ∈ 𝑢))) | ||
| Theorem | cocossss 38695* | Two ways of saying that cosets by cosets by 𝑅 is a subclass. (Contributed by Peter Mazsa, 17-Sep-2021.) |
| ⊢ ( ≀ ≀ 𝑅 ⊆ 𝑆 ↔ ∀𝑥∀𝑦∀𝑧((𝑥 ≀ 𝑅𝑦 ∧ 𝑦 ≀ 𝑅𝑧) → 𝑥𝑆𝑧)) | ||
| Theorem | cnvcosseq 38696 | The converse of cosets by 𝑅 are cosets by 𝑅. (Contributed by Peter Mazsa, 3-May-2019.) |
| ⊢ ◡ ≀ 𝑅 = ≀ 𝑅 | ||
| Theorem | br2coss 38697 | Cosets by ≀ 𝑅 binary relation. (Contributed by Peter Mazsa, 25-Aug-2019.) |
| ⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝐴 ≀ ≀ 𝑅𝐵 ↔ ([𝐴] ≀ 𝑅 ∩ [𝐵] ≀ 𝑅) ≠ ∅)) | ||
| Theorem | br1cossres 38698* | 𝐵 and 𝐶 are cosets by a restriction: a binary relation. (Contributed by Peter Mazsa, 30-Dec-2018.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ≀ (𝑅 ↾ 𝐴)𝐶 ↔ ∃𝑢 ∈ 𝐴 (𝑢𝑅𝐵 ∧ 𝑢𝑅𝐶))) | ||
| Theorem | br1cossres2 38699* | 𝐵 and 𝐶 are cosets by a restriction: a binary relation. (Contributed by Peter Mazsa, 3-Jan-2018.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵 ≀ (𝑅 ↾ 𝐴)𝐶 ↔ ∃𝑥 ∈ 𝐴 (𝐵 ∈ [𝑥]𝑅 ∧ 𝐶 ∈ [𝑥]𝑅))) | ||
| Theorem | brressn 38700 | Binary relation on a restriction to a singleton. (Contributed by Peter Mazsa, 11-Jun-2024.) |
| ⊢ ((𝐵 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → (𝐵(𝑅 ↾ {𝐴})𝐶 ↔ (𝐵 = 𝐴 ∧ 𝐵𝑅𝐶))) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |