Theory of quantales #
Quantales are the non-commutative generalization of locales/frames and as such are linked to point-free topology and order theory. Applications are found throughout logic, quantum mechanics, and computer science (see e.g. [Vic89] and [Mul86]).
The most general definition of quantale occurring in literature, is that a quantale is a semigroup distributing over a complete sup-semilattice. In our definition below, we use the fact that every complete sup-semilattice is in fact a complete lattice, and make constructs defined for those immediately available. Another view could be to define a quantale as a complete idempotent semiring, i.e. a complete semiring in which + and sup coincide. However, we will often encounter additive quantales, i.e. quantales in which the semigroup operator is thought of as addition, in which case the link with semirings will lead to confusion notationally.
In this file, we follow the basic definition set out on the wikipedia page on quantales, using a mixin typeclass to make the special cases of unital, commutative, idempotent, integral, and involutive quantales easier to add on later.
Main definitions #
IsQuantale
andIsAddQuantale
: Typeclass mixin for a (additive) semigroup distributing over a complete lattice, i.e satisfyingx * (sSup s) = ⨆ y ∈ s, x * y
and(sSup s) * y = ⨆ x ∈ s, x * y
;leftMulResiduation
,rightMulResiduation
,leftAddResiduation
,rightAddResiduation
: Defining the left- and right- residuations of the semigroup (see notation below).Finally, we provide basic distributivity laws for sSup into iSup and sup, monotonicity of the semigroup operator, and basic equivalences for left- and right-residuation.
Notation #
x ⇨ₗ y
:sSup {z | z * x ≤ y}
, theleftMulResiduation
ofy
overx
;x ⇨ᵣ y
:sSup {z | x * z ≤ y}
, therightMulResiduation
ofy
overx
;
References #
https://en.wikipedia.org/wiki/Quantale https://encyclopediaofmath.org/wiki/Quantale https://ncatlab.org/nlab/show/quantale
An additive quantale is an additive semigroup distributing over a complete lattice.
Addition is distributive over join in a quantale
Addition is distributive over join in a quantale
Instances
A quantale is a semigroup distributing over a complete lattice.
Multiplication is distributive over join in a quantale
Multiplication is distributive over join in a quantale
Instances
Left- and right- residuation operators on an additive quantale are similar
to the Heyting operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ₗ z ↔ x + y ≤ z
or alternatively x ⇨ₗ y = sSup { z | z + x ≤ y }
.
Equations
- IsAddQuantale.leftAddResiduation x y = sSup {z : α | z + x ≤ y}
Instances For
Left- and right- residuation operators on an additive quantale are similar
to the Heyting operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ᵣ z ↔ y + x ≤ z
or alternatively x ⇨ₗ y = sSup { z | x + z ≤ y }
."
Equations
- IsAddQuantale.rightAddResiduation x y = sSup {z : α | x + z ≤ y}
Instances For
Left- and right- residuation operators on an additive quantale are similar
to the Heyting operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ₗ z ↔ x + y ≤ z
or alternatively x ⇨ₗ y = sSup { z | z + x ≤ y }
.
Equations
- IsAddQuantale.«term_⇨ₗ_» = Lean.ParserDescr.trailingNode `IsAddQuantale.«term_⇨ₗ_» 60 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇨ₗ ") (Lean.ParserDescr.cat `term 60))
Instances For
Left- and right- residuation operators on an additive quantale are similar
to the Heyting operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ᵣ z ↔ y + x ≤ z
or alternatively x ⇨ₗ y = sSup { z | x + z ≤ y }
."
Equations
- IsAddQuantale.«term_⇨ᵣ_» = Lean.ParserDescr.trailingNode `IsAddQuantale.«term_⇨ᵣ_» 60 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇨ᵣ ") (Lean.ParserDescr.cat `term 60))
Instances For
Left- and right-residuation operators on an additive quantale are similar to the Heyting
operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ₗ z ↔ x * y ≤ z
or alternatively x ⇨ₗ y = sSup { z | z * x ≤ y }
.
Equations
- IsQuantale.leftMulResiduation x y = sSup {z : α | z * x ≤ y}
Instances For
Left- and right- residuation operators on an additive quantale are similar to the Heyting
operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ᵣ z ↔ y * x ≤ z
or alternatively x ⇨ₗ y = sSup { z | x * z ≤ y }
.
Equations
- IsQuantale.rightMulResiduation x y = sSup {z : α | x * z ≤ y}
Instances For
Left- and right-residuation operators on an additive quantale are similar to the Heyting
operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ₗ z ↔ x * y ≤ z
or alternatively x ⇨ₗ y = sSup { z | z * x ≤ y }
.
Equations
- IsQuantale.«term_⇨ₗ_» = Lean.ParserDescr.trailingNode `IsQuantale.«term_⇨ₗ_» 60 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇨ₗ ") (Lean.ParserDescr.cat `term 60))
Instances For
Left- and right- residuation operators on an additive quantale are similar to the Heyting
operator on complete lattices, but for a non-commutative logic.
I.e. x ≤ y ⇨ᵣ z ↔ y * x ≤ z
or alternatively x ⇨ₗ y = sSup { z | x * z ≤ y }
.
Equations
- IsQuantale.«term_⇨ᵣ_» = Lean.ParserDescr.trailingNode `IsQuantale.«term_⇨ᵣ_» 60 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇨ᵣ ") (Lean.ParserDescr.cat `term 60))