29 lines
1.1 KiB
Agda
29 lines
1.1 KiB
Agda
open import Relation.Binary.PropositionalEquality using (_≡_)
|
||
open import Relation.Binary.Definitions using (Decidable)
|
||
|
||
module Lattice.Bundles.FiniteValueMap (A B : Set) (≡-dec-A : Decidable (_≡_ {_} {A})) where
|
||
|
||
open import Lattice
|
||
open import Data.List using (List)
|
||
open import Data.Nat using (ℕ)
|
||
open import Utils using (Unique)
|
||
|
||
module _ (fhB : FiniteHeightLattice B) where
|
||
open Lattice.FiniteHeightLattice fhB using () renaming
|
||
( _≈_ to _≈₂_; _⊔_ to _⊔₂_; _⊓_ to _⊓₂_
|
||
; height to height₂
|
||
; isLattice to isLattice₂
|
||
; fixedHeight to fixedHeight₂
|
||
)
|
||
|
||
module _ {ks : List A} (uks : Unique ks) (≈₂-dec : Decidable _≈₂_) where
|
||
import Lattice.FiniteValueMap A B _≈₂_ _⊔₂_ _⊓₂_ ≡-dec-A isLattice₂ as FVM
|
||
|
||
FiniteHeightType = FVM.FiniteMap ks
|
||
|
||
finiteHeightLattice = FVM.IterProdIsomorphism.finiteHeightLattice uks ≈₂-dec height₂ fixedHeight₂
|
||
open FiniteHeightLattice finiteHeightLattice public
|
||
|
||
≈-dec = FVM.≈-dec ks ≈₂-dec
|
||
|