Locales
module order-theory.locales where
Imports
open import foundation.identity-types open import foundation.propositions open import foundation.sets open import foundation.universe-levels open import order-theory.frames open import order-theory.greatest-lower-bounds-posets open import order-theory.least-upper-bounds-posets open import order-theory.meet-semilattices open import order-theory.meet-suplattices open import order-theory.posets open import order-theory.suplattices
Idea
A locale is an object in the opposite of the category of frames. In other words, a locale is just a frame.
Definition
Locale : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2) Locale l1 l2 = Frame l1 l2 module _ {l1 l2 : Level} (L : Locale l1 l2) where meet-suplattice-Locale : Meet-Suplattice l1 l2 meet-suplattice-Locale = meet-suplattice-Frame L meet-semilattice-Locale : Meet-Semilattice l1 meet-semilattice-Locale = meet-semilattice-Frame L suplattice-Locale : Suplattice l1 l1 l2 suplattice-Locale = suplattice-Frame L poset-Locale : Poset l1 l1 poset-Locale = poset-Frame L set-Locale : Set l1 set-Locale = set-Frame L type-Locale : UU l1 type-Locale = type-Frame L is-set-type-Locale : is-set type-Locale is-set-type-Locale = is-set-type-Frame L leq-Locale-Prop : (x y : type-Locale) → Prop l1 leq-Locale-Prop = leq-Frame-Prop L leq-Locale : (x y : type-Locale) → UU l1 leq-Locale = leq-Frame L is-prop-leq-Locale : (x y : type-Locale) → is-prop (leq-Locale x y) is-prop-leq-Locale = is-prop-leq-Frame L refl-leq-Locale : (x : type-Locale) → leq-Locale x x refl-leq-Locale = refl-leq-Frame L antisymmetric-leq-Locale : (x y : type-Locale) → leq-Locale x y → leq-Locale y x → x = y antisymmetric-leq-Locale = antisymmetric-leq-Frame L transitive-leq-Locale : (x y z : type-Locale) → leq-Locale y z → leq-Locale x y → leq-Locale x z transitive-leq-Locale = transitive-leq-Frame L meet-Locale : type-Locale → type-Locale → type-Locale meet-Locale = meet-Frame L is-greatest-binary-lower-bound-meet-Locale : (x y : type-Locale) → is-greatest-binary-lower-bound-Poset poset-Locale x y (meet-Locale x y) is-greatest-binary-lower-bound-meet-Locale = is-greatest-binary-lower-bound-meet-Frame L associative-meet-Locale : (x y z : type-Locale) → meet-Locale (meet-Locale x y) z = meet-Locale x (meet-Locale y z) associative-meet-Locale = associative-meet-Frame L commutative-meet-Locale : (x y : type-Locale) → meet-Locale x y = meet-Locale y x commutative-meet-Locale = commutative-meet-Frame L idempotent-meet-Locale : (x : type-Locale) → meet-Locale x x = x idempotent-meet-Locale = idempotent-meet-Frame L is-suplattice-Locale : is-suplattice-Poset l2 poset-Locale is-suplattice-Locale = is-suplattice-Frame L sup-Locale : {I : UU l2} → (I → type-Locale) → type-Locale sup-Locale = sup-Frame L is-least-upper-bound-sup-Locale : {I : UU l2} (x : I → type-Locale) → is-least-upper-bound-family-of-elements-Poset poset-Locale x (sup-Locale x) is-least-upper-bound-sup-Locale = is-least-upper-bound-sup-Frame L distributive-meet-sup-Locale : distributive-law-Meet-Suplattice meet-suplattice-Locale distributive-meet-sup-Locale = distributive-meet-sup-Frame L