Large inflattices
Content created by Louis Wasserman.
Created on 2025-03-01.
Last modified on 2025-03-01.
module order-theory.large-inflattices where
Imports
open import foundation.binary-relations open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.large-binary-relations open import foundation.logical-equivalences open import foundation.propositions open import foundation.sets open import foundation.universe-levels open import order-theory.greatest-lower-bounds-large-posets open import order-theory.inflattices open import order-theory.large-posets open import order-theory.lower-bounds-large-posets open import order-theory.posets
Idea
A large inflattice¶ is a
large poset P
such that for every family
x : I → type-Large-Poset P l1
indexed by I : UU l2
there is an element ⋀ x : type-Large-Poset P (l1 ⊔ l2)
such that the logical equivalence
(∀ᵢ y ≤ xᵢ) ↔ (y ≤ ⋀ x)
holds for every element y : type-Large-Poset P l3
.
Definitions
The predicate on large posets of having least upper bounds of families of elements
module _ {α : Level → Level} {β : Level → Level → Level} (γ : Level) (P : Large-Poset α β) where is-large-inflattice-Large-Poset : UUω is-large-inflattice-Large-Poset = {l1 l2 : Level} {I : UU l1} (x : I → type-Large-Poset P l2) → has-greatest-lower-bound-family-of-elements-Large-Poset γ P x module _ (H : is-large-inflattice-Large-Poset) {l1 l2 : Level} {I : UU l1} (x : I → type-Large-Poset P l2) where inf-is-large-inflattice-Large-Poset : type-Large-Poset P (γ ⊔ l1 ⊔ l2) inf-is-large-inflattice-Large-Poset = inf-has-greatest-lower-bound-family-of-elements-Large-Poset (H x) is-greatest-lower-bound-inf-is-large-inflattice-Large-Poset : is-greatest-lower-bound-family-of-elements-Large-Poset P x inf-is-large-inflattice-Large-Poset is-greatest-lower-bound-inf-is-large-inflattice-Large-Poset = is-greatest-lower-bound-inf-has-greatest-lower-bound-family-of-elements-Large-Poset ( H x)
Large inflattices
record Large-Inflattice (α : Level → Level) (β : Level → Level → Level) (γ : Level) : UUω where constructor make-Large-Inflattice field large-poset-Large-Inflattice : Large-Poset α β is-large-inflattice-Large-Inflattice : is-large-inflattice-Large-Poset γ large-poset-Large-Inflattice open Large-Inflattice public module _ {α : Level → Level} {β : Level → Level → Level} {γ : Level} (L : Large-Inflattice α β γ) where set-Large-Inflattice : (l : Level) → Set (α l) set-Large-Inflattice = set-Large-Poset (large-poset-Large-Inflattice L) type-Large-Inflattice : (l : Level) → UU (α l) type-Large-Inflattice = type-Large-Poset (large-poset-Large-Inflattice L) is-set-type-Large-Inflattice : {l : Level} → is-set (type-Large-Inflattice l) is-set-type-Large-Inflattice = is-set-type-Large-Poset (large-poset-Large-Inflattice L) leq-prop-Large-Inflattice : Large-Relation-Prop β type-Large-Inflattice leq-prop-Large-Inflattice = leq-prop-Large-Poset (large-poset-Large-Inflattice L) leq-Large-Inflattice : Large-Relation β type-Large-Inflattice leq-Large-Inflattice = leq-Large-Poset (large-poset-Large-Inflattice L) is-prop-leq-Large-Inflattice : is-prop-Large-Relation type-Large-Inflattice leq-Large-Inflattice is-prop-leq-Large-Inflattice = is-prop-leq-Large-Poset (large-poset-Large-Inflattice L) refl-leq-Large-Inflattice : is-reflexive-Large-Relation type-Large-Inflattice leq-Large-Inflattice refl-leq-Large-Inflattice = refl-leq-Large-Poset (large-poset-Large-Inflattice L) antisymmetric-leq-Large-Inflattice : is-antisymmetric-Large-Relation type-Large-Inflattice leq-Large-Inflattice antisymmetric-leq-Large-Inflattice = antisymmetric-leq-Large-Poset (large-poset-Large-Inflattice L) transitive-leq-Large-Inflattice : is-transitive-Large-Relation type-Large-Inflattice leq-Large-Inflattice transitive-leq-Large-Inflattice = transitive-leq-Large-Poset (large-poset-Large-Inflattice L) inf-Large-Inflattice : {l1 l2 : Level} {I : UU l1} (x : I → type-Large-Inflattice l2) → type-Large-Inflattice (γ ⊔ l1 ⊔ l2) inf-Large-Inflattice x = inf-has-greatest-lower-bound-family-of-elements-Large-Poset ( is-large-inflattice-Large-Inflattice L x) is-lower-bound-family-of-elements-Large-Inflattice : {l1 l2 l3 : Level} {I : UU l1} (x : I → type-Large-Inflattice l2) (y : type-Large-Inflattice l3) → UU (β l3 l2 ⊔ l1) is-lower-bound-family-of-elements-Large-Inflattice x y = is-lower-bound-family-of-elements-Large-Poset ( large-poset-Large-Inflattice L) ( x) ( y) is-greatest-lower-bound-family-of-elements-Large-Inflattice : {l1 l2 l3 : Level} {I : UU l1} (x : I → type-Large-Inflattice l2) → type-Large-Inflattice l3 → UUω is-greatest-lower-bound-family-of-elements-Large-Inflattice = is-greatest-lower-bound-family-of-elements-Large-Poset ( large-poset-Large-Inflattice L) is-greatest-lower-bound-inf-Large-Inflattice : {l1 l2 : Level} {I : UU l1} (x : I → type-Large-Inflattice l2) → is-greatest-lower-bound-family-of-elements-Large-Inflattice x ( inf-Large-Inflattice x) is-greatest-lower-bound-inf-Large-Inflattice x = is-greatest-lower-bound-inf-has-greatest-lower-bound-family-of-elements-Large-Poset ( is-large-inflattice-Large-Inflattice L x) is-lower-bound-inf-Large-Inflattice : {l1 l2 : Level} {I : UU l1} (x : I → type-Large-Inflattice l2) → is-lower-bound-family-of-elements-Large-Inflattice x ( inf-Large-Inflattice x) is-lower-bound-inf-Large-Inflattice x = backward-implication ( is-greatest-lower-bound-inf-Large-Inflattice x (inf-Large-Inflattice x)) ( refl-leq-Large-Inflattice (inf-Large-Inflattice x))
Properties
The infimum operation is order preserving
module _ {α : Level → Level} {β : Level → Level → Level} {γ : Level} (L : Large-Inflattice α β γ) where preserves-order-inf-Large-Inflattice : {l1 l2 l3 : Level} {I : UU l1} {x : I → type-Large-Inflattice L l2} {y : I → type-Large-Inflattice L l3} → ((i : I) → leq-Large-Inflattice L (y i) (x i)) → leq-Large-Inflattice L ( inf-Large-Inflattice L y) ( inf-Large-Inflattice L x) preserves-order-inf-Large-Inflattice {x = x} {y} H = forward-implication ( is-greatest-lower-bound-inf-Large-Inflattice L x ( inf-Large-Inflattice L y)) ( λ i → transitive-leq-Large-Inflattice L ( inf-Large-Inflattice L y) ( y i) ( x i) ( H i) ( is-lower-bound-inf-Large-Inflattice L y i))
Small inflattices from large inflattices
module _ {α : Level → Level} {β : Level → Level → Level} {γ : Level} (L : Large-Inflattice α β γ) where poset-Large-Inflattice : (l : Level) → Poset (α l) (β l l) poset-Large-Inflattice = poset-Large-Poset (large-poset-Large-Inflattice L) is-inflattice-poset-Large-Inflattice : (l1 l2 : Level) → is-inflattice-Poset l1 (poset-Large-Inflattice (γ ⊔ l1 ⊔ l2)) pr1 (is-inflattice-poset-Large-Inflattice l1 l2 I f) = inf-Large-Inflattice L f pr2 (is-inflattice-poset-Large-Inflattice l1 l2 I f) = is-greatest-lower-bound-inf-Large-Inflattice L f inflattice-Large-Inflattice : (l1 l2 : Level) → Inflattice (α (γ ⊔ l1 ⊔ l2)) (β (γ ⊔ l1 ⊔ l2) (γ ⊔ l1 ⊔ l2)) l1 pr1 (inflattice-Large-Inflattice l1 l2) = poset-Large-Inflattice (γ ⊔ l1 ⊔ l2) pr2 (inflattice-Large-Inflattice l1 l2) = is-inflattice-poset-Large-Inflattice l1 l2
Recent changes
- 2025-03-01. Louis Wasserman. Inflattices (#1319).