39 lines
1.5 KiB
Agda
39 lines
1.5 KiB
Agda
|
open import Lattice
|
|||
|
|
|||
|
module Lattice.Bundles.IterProd {a} (A B : Set a) where
|
|||
|
open import Data.Nat using (ℕ)
|
|||
|
|
|||
|
module _ (lA : Lattice A) (lB : Lattice B) where
|
|||
|
open Lattice.Lattice lA using () renaming
|
|||
|
( _≈_ to _≈₁_; _⊔_ to _⊔₁_; _⊓_ to _⊓₁_
|
|||
|
; isLattice to isLattice₁
|
|||
|
)
|
|||
|
|
|||
|
open Lattice.Lattice lB using () renaming
|
|||
|
( _≈_ to _≈₂_; _⊔_ to _⊔₂_; _⊓_ to _⊓₂_
|
|||
|
; isLattice to isLattice₂
|
|||
|
)
|
|||
|
|
|||
|
module _ (k : ℕ) where
|
|||
|
open import Lattice.IterProd _≈₁_ _≈₂_ _⊔₁_ _⊔₂_ _⊓₁_ _⊓₂_ isLattice₁ isLattice₂ using (lattice) public
|
|||
|
|
|||
|
module _ (fhA : FiniteHeightLattice A) (fhB : FiniteHeightLattice B) where
|
|||
|
open Lattice.FiniteHeightLattice fhA using () renaming
|
|||
|
( _≈_ to _≈₁_; _⊔_ to _⊔₁_; _⊓_ to _⊓₁_
|
|||
|
; height to height₁
|
|||
|
; isLattice to isLattice₁
|
|||
|
; fixedHeight to fixedHeight₁
|
|||
|
)
|
|||
|
|
|||
|
open Lattice.FiniteHeightLattice fhB using () renaming
|
|||
|
( _≈_ to _≈₂_; _⊔_ to _⊔₂_; _⊓_ to _⊓₂_
|
|||
|
; height to height₂
|
|||
|
; isLattice to isLattice₂
|
|||
|
; fixedHeight to fixedHeight₂
|
|||
|
)
|
|||
|
|
|||
|
module _ (≈₁-dec : IsDecidable _≈₁_) (≈₂-dec : IsDecidable _≈₂_) (k : ℕ) where
|
|||
|
import Lattice.IterProd _≈₁_ _≈₂_ _⊔₁_ _⊔₂_ _⊓₁_ _⊓₂_ isLattice₁ isLattice₂ as IP
|
|||
|
|
|||
|
finiteHeightLattice = IP.finiteHeightLattice k ≈₁-dec ≈₂-dec height₁ height₂ fixedHeight₁ fixedHeight₂
|