\begin{code}
module Scheme.Domain-Equations where
open import Scheme.Domain-Notation
open import Scheme.Abstract-Syntax
using (Ide)
postulate Loc : Set
π = Loc +β₯
π = β +β₯
π = Bool +β₯
postulate π : Domain
postulate π : Domain
postulate π : Domain
ππ© = (π Γ π Γ π)
ππ― = (π β Γ π)
ππ¬ = (π β Γ π)
data Misc : Set where false true null undefined unspecified : Misc
π = Misc +β₯
π = String +β₯
open import Function
using (_β_) public
postulate
π
: Domain
π : Domain
π : Domain
π : Domain
π : Domain
π : Domain
π : Domain
postulate instance
iso-π
: π
β (π Γ (π β β π β π))
iso-π : π β (π (π + π + π + ππ© + ππ― + ππ¬ + π + π
))
iso-π : π β (π β π Γ π)
iso-π : π β (Ide β π)
iso-π : π β (π β π)
iso-π : π β (π β β π)
open Function.Inverse {{ ... }}
renaming (to to β» ; from to β
) public
\end{code}
\clearpage
\begin{code}
variable
Ξ± : π
Ξ±β : π β
Ξ½ : π
ΞΌ : π
Ο : π
Ο΅ : π
Ο΅β : π β
Ο : π
Ο : π
ΞΈ : π
ΞΊ : π
pattern
inj-ππ© ep = injβ (injβ (injβ (injβ ep)))
pattern
inj-π ΞΌ = injβ (injβ (injβ (injβ (injβ (injβ (injβ ΞΌ))))))
pattern
inj-π
Ο = injβ (injβ (injβ (injβ (injβ (injβ (injβ Ο))))))
_βπ
: π β Bool +β₯
Ο΅ βπ
= ((Ξ» { (inj-π
_) β Ξ· true ; _ β Ξ· false }) β―) (β» Ο΅)
_|π
: π β π
Ο΅ |π
= ((Ξ» { (inj-π
Ο) β Ο ; _ β β₯ }) β―) (β» Ο΅)
_βπ : π (π + π) β Bool +β₯
_βπ = [ (Ξ» _ β Ξ· true), (Ξ» _ β Ξ· false) ] β―
_|π : π (π + π) β π
_|π = [ id , (Ξ» _ β β₯) ] β―
_ππ©-in-π : ππ© β π
ep ππ©-in-π = β
(Ξ· (inj-ππ© ep))
_π
-in-π : π
β π
Ο π
-in-π = β
(Ξ· (inj-π
Ο))
unspecified-in-π : π
unspecified-in-π = β
(Ξ· (inj-π (Ξ· unspecified)))
\end{code}