The large locale of propositions

module foundation.large-locale-of-propositions where
Imports
open import foundation.conjunction
open import foundation.existential-quantification
open import foundation.propositional-extensionality
open import foundation.unit-type

open import foundation-core.functions
open import foundation-core.propositions
open import foundation-core.universe-levels

open import order-theory.large-frames
open import order-theory.large-locales
open import order-theory.large-meet-semilattices
open import order-theory.large-posets
open import order-theory.large-preorders
open import order-theory.large-suplattices
open import order-theory.least-upper-bounds-large-posets
open import order-theory.top-elements-large-posets

Idea

The types of propositions Prop l combined form a large locale.

Definitions

The large preorder of propositions

Prop-Large-Preorder : Large-Preorder lsuc _⊔_
type-Large-Preorder Prop-Large-Preorder = Prop
leq-Large-Preorder-Prop Prop-Large-Preorder = hom-Prop
refl-leq-Large-Preorder Prop-Large-Preorder P = id
transitive-leq-Large-Preorder Prop-Large-Preorder P Q R g f = g  f

The large poset of propositions

Prop-Large-Poset : Large-Poset lsuc _⊔_
large-preorder-Large-Poset Prop-Large-Poset = Prop-Large-Preorder
antisymmetric-leq-Large-Poset Prop-Large-Poset P Q = eq-iff

Meets in the large poset of propositions

has-meets-Prop-Large-Locale :
  has-meets-Large-Poset Prop-Large-Poset
meet-has-meets-Large-Poset has-meets-Prop-Large-Locale = conj-Prop
is-greatest-binary-lower-bound-meet-has-meets-Large-Poset
  has-meets-Prop-Large-Locale =
  iff-universal-property-conj-Prop

The largest element in the large poset of propositions

has-top-element-Prop-Large-Locale :
  has-top-element-Large-Poset Prop-Large-Poset
top-has-top-element-Large-Poset
  has-top-element-Prop-Large-Locale = unit-Prop
is-top-element-top-has-top-element-Large-Poset
  has-top-element-Prop-Large-Locale P p =
  star

The large poset of propositions is a large meet-semilattice

is-large-meet-semilattice-Prop-Large-Locale :
  is-large-meet-semilattice-Large-Poset Prop-Large-Poset
has-meets-is-large-meet-semilattice-Large-Poset
  is-large-meet-semilattice-Prop-Large-Locale =
  has-meets-Prop-Large-Locale
has-top-element-is-large-meet-semilattice-Large-Poset
  is-large-meet-semilattice-Prop-Large-Locale =
  has-top-element-Prop-Large-Locale

Suprema in the large poset of propositions

is-large-suplattice-Prop-Large-Locale :
  is-large-suplattice-Large-Poset Prop-Large-Poset
sup-has-least-upper-bound-family-of-elements-Large-Poset
  ( is-large-suplattice-Prop-Large-Locale {I = I} P) =
  exists-Prop I P
is-least-upper-bound-sup-has-least-upper-bound-family-of-elements-Large-Poset
  ( is-large-suplattice-Prop-Large-Locale {I = I} P) =
  is-least-upper-bound-exists-Prop P

The large frame of propositions

Prop-Large-Frame : Large-Frame lsuc _⊔_
large-poset-Large-Frame Prop-Large-Frame =
  Prop-Large-Poset
is-large-meet-semilattice-Large-Frame Prop-Large-Frame =
  is-large-meet-semilattice-Prop-Large-Locale
is-large-suplattice-Large-Frame Prop-Large-Frame =
  is-large-suplattice-Prop-Large-Locale
distributive-meet-sup-Large-Frame Prop-Large-Frame =
  distributive-conj-exists-Prop

The large locale of propositions

Prop-Large-Locale : Large-Locale lsuc _⊔_
Prop-Large-Locale = Prop-Large-Frame