Closed intervals in lattices
Content created by Louis Wasserman.
Created on 2025-10-06.
Last modified on 2025-10-06.
module order-theory.closed-intervals-lattices where
Imports
open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.inhabited-subtypes open import foundation.injective-maps open import foundation.sets open import foundation.subtypes open import foundation.universe-levels open import order-theory.closed-intervals-posets open import order-theory.lattices
Idea
A
closed interval¶
in a lattice L
is a
subtype of L
with elements x
and y
with x ≤ y
such that the subtype contains every element z
such that x ≤ z ∧ z ≤ y
.
Note, in particular, that we thus consider closed intervals to be inhabited by
convention.
Equivalently, a closed interval is a total order is a closed interval in the underlying poset.
Definition
module _ {l1 l2 : Level} (L : Lattice l1 l2) where closed-interval-Lattice : UU (l1 ⊔ l2) closed-interval-Lattice = closed-interval-Poset (poset-Lattice L) lower-bound-closed-interval-Lattice : closed-interval-Lattice → type-Lattice L lower-bound-closed-interval-Lattice ((x , _) , _) = x upper-bound-closed-interval-Lattice : closed-interval-Lattice → type-Lattice L upper-bound-closed-interval-Lattice ((_ , y) , _) = y subtype-closed-interval-Lattice : closed-interval-Lattice → subtype l2 (type-Lattice L) subtype-closed-interval-Lattice = subtype-closed-interval-Poset (poset-Lattice L) type-closed-interval-Lattice : closed-interval-Lattice → UU (l1 ⊔ l2) type-closed-interval-Lattice = type-closed-interval-Poset (poset-Lattice L) is-in-closed-interval-Lattice : closed-interval-Lattice → type-Lattice L → UU l2 is-in-closed-interval-Lattice = is-in-closed-interval-Poset (poset-Lattice L)
Properties
The endpoints of a closed interval are in the interval
module _ {l1 l2 : Level} (L : Lattice l1 l2) where abstract lower-bound-is-in-closed-interval-Lattice : ([a,b] : closed-interval-Lattice L) → is-in-closed-interval-Lattice L [a,b] ( lower-bound-closed-interval-Lattice L [a,b]) lower-bound-is-in-closed-interval-Lattice = lower-bound-is-in-closed-interval-Poset (poset-Lattice L) upper-bound-is-in-closed-interval-Lattice : ([a,b] : closed-interval-Lattice L) → is-in-closed-interval-Lattice L [a,b] ( upper-bound-closed-interval-Lattice L [a,b]) upper-bound-is-in-closed-interval-Lattice = upper-bound-is-in-closed-interval-Poset (poset-Lattice L)
Closed intervals are inhabited
module _ {l1 l2 : Level} (L : Lattice l1 l2) ([x,y] : closed-interval-Lattice L) where abstract is-inhabited-closed-interval-Lattice : is-inhabited-subtype ( subtype-closed-interval-Lattice L [x,y]) is-inhabited-closed-interval-Lattice = is-inhabited-closed-interval-Poset (poset-Lattice L) [x,y]
Characterization of equality
module _ {l1 l2 : Level} (L : Lattice l1 l2) where abstract eq-closed-interval-Lattice : ( [a,b] [c,d] : closed-interval-Lattice L) → ( lower-bound-closed-interval-Lattice L [a,b] = lower-bound-closed-interval-Lattice L [c,d]) → ( upper-bound-closed-interval-Lattice L [a,b] = upper-bound-closed-interval-Lattice L [c,d]) → [a,b] = [c,d] eq-closed-interval-Lattice = eq-closed-interval-Poset (poset-Lattice L) set-closed-interval-Lattice : Set (l1 ⊔ l2) set-closed-interval-Lattice = set-closed-interval-Poset (poset-Lattice L)
The map from closed intervals to subtypes is injective
module _ {l1 l2 : Level} (L : Lattice l1 l2) where abstract is-injective-subtype-closed-interval-Lattice : is-injective (subtype-closed-interval-Lattice L) is-injective-subtype-closed-interval-Lattice = is-injective-subtype-closed-interval-Poset (poset-Lattice L)
Recent changes
- 2025-10-06. Louis Wasserman. Poset of closed intervals on lattices (#1565).