31 lines
1.1 KiB
Agda
31 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 FromFiniteHeightLattice (fhB : FiniteHeightLattice B)
|
||
{ks : List A} (uks : Unique ks)
|
||
(≈₂-dec : Decidable (FiniteHeightLattice._≈_ fhB)) where
|
||
|
||
open Lattice.FiniteHeightLattice fhB using () renaming
|
||
( _≈_ to _≈₂_; _⊔_ to _⊔₂_; _⊓_ to _⊓₂_
|
||
; height to height₂
|
||
; isLattice to isLattice₂
|
||
; fixedHeight to fixedHeight₂
|
||
)
|
||
|
||
import Lattice.FiniteMap
|
||
module FM = Lattice.FiniteMap ≡-dec-A isLattice₂
|
||
open FM.WithKeys ks public
|
||
|
||
import Lattice.FiniteValueMap
|
||
module FVM = Lattice.FiniteValueMap ≡-dec-A isLattice₂
|
||
open FVM.IterProdIsomorphism.WithUniqueKeysAndFixedHeight uks ≈₂-dec height₂ fixedHeight₂ public
|
||
|
||
≈-dec = ≈₂-dec⇒≈-dec ≈₂-dec
|