Similarity of elements in large posets
Content created by Egbert Rijke, Fredrik Bakke, Julian KG, Maša Žaucer, fernabnor, Gregor Perčič and louismntnu.
Created on 2023-06-08.
Last modified on 2023-11-24.
module order-theory.similarity-of-elements-large-posets where
Imports
open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.fundamental-theorem-of-identity-types open import foundation.identity-types open import foundation.large-binary-relations open import foundation.propositions open import foundation.subtypes open import foundation.torsorial-type-families open import foundation.universe-levels open import order-theory.large-posets open import order-theory.similarity-of-elements-large-preorders
Idea
Two elements x
and y
of a large poset P
are said to be similar if both x ≤ y
and y ≤ x
hold. Note that the
similarity relation is defined across universe levels, and that only similar
elements of the same universe level are equal.
In informal writing we will use the notation x ≈ y
to assert that x
and y
are similar elements in a poset P
.
Definition
module _ {α : Level → Level} {β : Level → Level → Level} (P : Large-Poset α β) where sim-prop-Large-Poset : {l1 l2 : Level} (x : type-Large-Poset P l1) (y : type-Large-Poset P l2) → Prop (β l1 l2 ⊔ β l2 l1) sim-prop-Large-Poset = sim-prop-Large-Preorder (large-preorder-Large-Poset P) sim-Large-Poset : {l1 l2 : Level} (x : type-Large-Poset P l1) (y : type-Large-Poset P l2) → UU (β l1 l2 ⊔ β l2 l1) sim-Large-Poset = sim-Large-Preorder (large-preorder-Large-Poset P) is-prop-sim-Large-Poset : {l1 l2 : Level} (x : type-Large-Poset P l1) (y : type-Large-Poset P l2) → is-prop (sim-Large-Poset x y) is-prop-sim-Large-Poset = is-prop-sim-Large-Preorder (large-preorder-Large-Poset P)
Properties
The similarity relation is reflexive
module _ {α : Level → Level} {β : Level → Level → Level} (P : Large-Poset α β) where refl-sim-Large-Poset : is-reflexive-Large-Relation (type-Large-Poset P) (sim-Large-Poset P) refl-sim-Large-Poset = refl-sim-Large-Preorder (large-preorder-Large-Poset P)
The similarity relation is transitive
module _ {α : Level → Level} {β : Level → Level → Level} (P : Large-Poset α β) where transitive-sim-Large-Poset : is-transitive-Large-Relation (type-Large-Poset P) (sim-Large-Poset P) transitive-sim-Large-Poset = transitive-sim-Large-Preorder (large-preorder-Large-Poset P)
The similarity relation is symmetric
module _ {α : Level → Level} {β : Level → Level → Level} (P : Large-Poset α β) where symmetric-sim-Large-Poset : is-symmetric-Large-Relation (type-Large-Poset P) (sim-Large-Poset P) symmetric-sim-Large-Poset = symmetric-sim-Large-Preorder (large-preorder-Large-Poset P)
For any universe level l
, any element x
is similar to at most one element of universe level l
module _ {α : Level → Level} {β : Level → Level → Level} (P : Large-Poset α β) where all-elements-equal-total-sim-Large-Poset : {l1 l2 : Level} (x : type-Large-Poset P l1) → all-elements-equal (Σ (type-Large-Poset P l2) (sim-Large-Poset P x)) all-elements-equal-total-sim-Large-Poset x (y , H) (z , K) = eq-type-subtype ( sim-prop-Large-Poset P x) ( antisymmetric-leq-Large-Poset P ( y) ( z) ( transitive-leq-Large-Poset P _ _ _ (pr1 K) (pr2 H)) ( transitive-leq-Large-Poset P _ _ _ (pr1 H) (pr2 K))) is-prop-total-sim-Large-Poset : {l1 l2 : Level} (x : type-Large-Poset P l1) → is-prop (Σ (type-Large-Poset P l2) (sim-Large-Poset P x)) is-prop-total-sim-Large-Poset x = is-prop-all-elements-equal ( all-elements-equal-total-sim-Large-Poset x) is-torsorial-sim-Large-Poset : {l1 : Level} (x : type-Large-Poset P l1) → is-torsorial (sim-Large-Poset P x) is-torsorial-sim-Large-Poset x = is-proof-irrelevant-is-prop ( is-prop-total-sim-Large-Poset x) ( x , refl-sim-Large-Poset P x)
Similarity characterizes the identity type of elements in a large poset of the same universe level
module _ {α : Level → Level} {β : Level → Level → Level} (P : Large-Poset α β) where sim-eq-Large-Poset : {l1 : Level} {x y : type-Large-Poset P l1} → x = y → sim-Large-Poset P x y sim-eq-Large-Poset refl = refl-sim-Large-Poset P _ is-equiv-sim-eq-Large-Poset : {l1 : Level} (x y : type-Large-Poset P l1) → is-equiv (sim-eq-Large-Poset {l1} {x} {y}) is-equiv-sim-eq-Large-Poset x = fundamental-theorem-id ( is-torsorial-sim-Large-Poset P x) ( λ y → sim-eq-Large-Poset {_} {x} {y}) extensionality-Large-Poset : {l1 : Level} (x y : type-Large-Poset P l1) → (x = y) ≃ sim-Large-Poset P x y pr1 (extensionality-Large-Poset x y) = sim-eq-Large-Poset pr2 (extensionality-Large-Poset x y) = is-equiv-sim-eq-Large-Poset x y eq-sim-Large-Poset : {l1 : Level} (x y : type-Large-Poset P l1) → sim-Large-Poset P x y → x = y eq-sim-Large-Poset x y = map-inv-is-equiv (is-equiv-sim-eq-Large-Poset x y)
Recent changes
- 2023-11-24. Egbert Rijke. Refactor precomposition (#937).
- 2023-11-24. Egbert Rijke. Abelianization (#877).
- 2023-10-21. Egbert Rijke and Fredrik Bakke. Implement
is-torsorial
throughout the library (#875). - 2023-10-21. Egbert Rijke. Rename
is-contr-total
tois-torsorial
(#871). - 2023-09-21. Egbert Rijke and Gregor Perčič. The classification of cyclic rings (#757).