16 lines
770 B
Agda
16 lines
770 B
Agda
module Analysis.Utils where
|
|
|
|
open import Data.Product using (_,_)
|
|
open import Lattice
|
|
|
|
module _ {o} {O : Set o} {_≼ᴼ_ : O → O → Set o}
|
|
(≼ᴼ-trans : ∀ {o₁ o₂ o₃} → o₁ ≼ᴼ o₂ → o₂ ≼ᴼ o₃ → o₁ ≼ᴼ o₃)
|
|
(combine : O → O → O) (combine-Mono₂ : Monotonic₂ _≼ᴼ_ _≼ᴼ_ _≼ᴼ_ combine) where
|
|
|
|
eval-combine₂ : {o₁ o₂ o₃ o₄ : O} → o₁ ≼ᴼ o₃ → o₂ ≼ᴼ o₄ →
|
|
combine o₁ o₂ ≼ᴼ combine o₃ o₄
|
|
eval-combine₂ {o₁} {o₂} {o₃} {o₄} o₁≼o₃ o₂≼o₄ =
|
|
let (combine-Monoˡ , combine-Monoʳ) = combine-Mono₂
|
|
in ≼ᴼ-trans (combine-Monoˡ o₂ o₁≼o₃)
|
|
(combine-Monoʳ o₃ o₂≼o₄)
|