/- Port of `Analysis/Utils.agda`. The `≼ᴼ-trans` module parameter lifts into the `Preorder` instance. -/ import Spa.Lattice namespace Spa /-- Agda: `eval-combine₂`. -/ theorem eval_combine₂ {O : Type*} [Preorder O] {combine : O → O → O} (hmono : Monotone₂ combine) {o₁ o₂ o₃ o₄ : O} (h₁ : o₁ ≤ o₃) (h₂ : o₂ ≤ o₄) : combine o₁ o₂ ≤ combine o₃ o₄ := le_trans (hmono.1 o₂ h₁) (hmono.2 o₃ h₂) end Spa