Inhabited chains in posets
Content created by Fredrik Bakke.
Created on 2024-11-20.
Last modified on 2024-11-20.
module order-theory.inhabited-chains-posets where
Imports
open import domain-theory.directed-families-posets open import foundation.conjunction open import foundation.dependent-pair-types open import foundation.disjunction open import foundation.existential-quantification open import foundation.inhabited-subtypes open import foundation.inhabited-types open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels open import order-theory.chains-posets open import order-theory.posets open import order-theory.subposets open import order-theory.total-preorders
Idea
An
inhabited chain¶
in a poset P
is a
subtype S
of P
such that the ordering of P
restricted to S
is linear and
inhabited.
Definitions
The predicate on chains in posets of being inhabited
module _ {l1 l2 l3 : Level} (X : Poset l1 l2) (S : chain-Poset l3 X) where is-inhabited-prop-chain-Poset : Prop (l1 ⊔ l3) is-inhabited-prop-chain-Poset = is-inhabited-subtype-Prop (subposet-chain-Poset X S) is-inhabited-chain-Poset : UU (l1 ⊔ l3) is-inhabited-chain-Poset = type-Prop is-inhabited-prop-chain-Poset is-prop-is-inhabited-chain-Poset : is-prop is-inhabited-chain-Poset is-prop-is-inhabited-chain-Poset = is-prop-type-Prop is-inhabited-prop-chain-Poset
Inhabited chains in posets
inhabited-chain-Poset : {l1 l2 : Level} (l : Level) (X : Poset l1 l2) → UU (l1 ⊔ l2 ⊔ lsuc l) inhabited-chain-Poset l X = Σ (chain-Poset l X) (is-inhabited-chain-Poset X) module _ {l1 l2 l3 : Level} (X : Poset l1 l2) (C : inhabited-chain-Poset l3 X) where chain-inhabited-chain-Poset : chain-Poset l3 X chain-inhabited-chain-Poset = pr1 C subposet-inhabited-chain-Poset : Subposet l3 X subposet-inhabited-chain-Poset = subposet-chain-Poset X chain-inhabited-chain-Poset is-chain-inhabited-chain-Poset : is-chain-Subposet X subposet-inhabited-chain-Poset is-chain-inhabited-chain-Poset = is-chain-subposet-chain-Poset X chain-inhabited-chain-Poset is-inhabited-inhabited-chain-Poset : is-inhabited-chain-Poset X chain-inhabited-chain-Poset is-inhabited-inhabited-chain-Poset = pr2 C type-inhabited-chain-Poset : UU (l1 ⊔ l3) type-inhabited-chain-Poset = type-subtype subposet-inhabited-chain-Poset inclusion-subposet-inhabited-chain-Poset : type-inhabited-chain-Poset → type-Poset X inclusion-subposet-inhabited-chain-Poset = inclusion-subtype subposet-inhabited-chain-Poset module _ {l1 l2 l3 l4 : Level} (X : Poset l1 l2) (C : inhabited-chain-Poset l3 X) (D : inhabited-chain-Poset l4 X) where inclusion-prop-inhabited-chain-Poset : Prop (l1 ⊔ l3 ⊔ l4) inclusion-prop-inhabited-chain-Poset = inclusion-prop-chain-Poset X ( chain-inhabited-chain-Poset X C) ( chain-inhabited-chain-Poset X D) inclusion-inhabited-chain-Poset : UU (l1 ⊔ l3 ⊔ l4) inclusion-inhabited-chain-Poset = type-Prop inclusion-prop-inhabited-chain-Poset is-prop-inclusion-inhabited-chain-Poset : is-prop inclusion-inhabited-chain-Poset is-prop-inclusion-inhabited-chain-Poset = is-prop-type-Prop inclusion-prop-inhabited-chain-Poset
Properties
Inhabited chains are directed families
module _ {l1 l2 l3 : Level} (P : Poset l1 l2) (x : inhabited-chain-Poset l3 P) where type-directed-family-inhabited-chain-Poset : UU (l1 ⊔ l3) type-directed-family-inhabited-chain-Poset = type-inhabited-chain-Poset P x is-inhabited-type-directed-family-inhabited-chain-Poset : is-inhabited type-directed-family-inhabited-chain-Poset is-inhabited-type-directed-family-inhabited-chain-Poset = is-inhabited-inhabited-chain-Poset P x inhabited-type-directed-family-inhabited-chain-Poset : Inhabited-Type (l1 ⊔ l3) inhabited-type-directed-family-inhabited-chain-Poset = type-directed-family-inhabited-chain-Poset , is-inhabited-type-directed-family-inhabited-chain-Poset family-directed-family-inhabited-chain-Poset : type-directed-family-inhabited-chain-Poset → type-Poset P family-directed-family-inhabited-chain-Poset = inclusion-subposet-inhabited-chain-Poset P x is-directed-family-directed-family-inhabited-chain-Poset : is-directed-family-Poset P inhabited-type-directed-family-inhabited-chain-Poset family-directed-family-inhabited-chain-Poset is-directed-family-directed-family-inhabited-chain-Poset u v = elim-disjunction ( ∃ ( type-directed-family-inhabited-chain-Poset) ( λ k → leq-prop-Poset P ( family-directed-family-inhabited-chain-Poset u) ( family-directed-family-inhabited-chain-Poset k) ∧ leq-prop-Poset P ( family-directed-family-inhabited-chain-Poset v) ( family-directed-family-inhabited-chain-Poset k))) ( λ p → intro-exists v (p , refl-leq-Poset P (pr1 v))) ( λ p → intro-exists u (refl-leq-Poset P (pr1 u) , p)) ( is-chain-inhabited-chain-Poset P x u v) directed-family-inhabited-chain-Poset : directed-family-Poset (l1 ⊔ l3) P directed-family-inhabited-chain-Poset = inhabited-type-directed-family-inhabited-chain-Poset , family-directed-family-inhabited-chain-Poset , is-directed-family-directed-family-inhabited-chain-Poset
Recent changes
- 2024-11-20. Fredrik Bakke. Two fixed point theorems (#1227).