{-# OPTIONS --backtracking-instance-search #-}
module Tools.Size.Instances where
open import Tools.Size
private variable
l l₁ l₂ r r₁ r₂ s : Size
instance
◻ⁱ : s ≤ˢ s
◻ⁱ = ◻
↙-≤ⁱ : ⦃ p : s ≤ˢ l ⦄ → s ≤ˢ l ⊕ r
↙-≤ⁱ ⦃ p ⦄ = ↙ p
↘-≤ⁱ : ⦃ p : s ≤ˢ r ⦄ → s ≤ˢ l ⊕ r
↘-≤ⁱ ⦃ p ⦄ = ↘ p
↙-<ⁱ : ⦃ p : s ≤ˢ l ⦄ → s <ˢ l ⊕ r
↙-<ⁱ ⦃ p ⦄ = ↙ p
↘-<ⁱ : ⦃ p : s ≤ˢ r ⦄ → s <ˢ l ⊕ r
↘-<ⁱ ⦃ p ⦄ = ↘ p
! : ⦃ p : l <ˢ r ⦄ → l <ˢ r
! ⦃ p ⦄ = p
private
_ : s <ˢ (leaf ⊕ leaf) ⊕ s
_ = !
_ : s <ˢ (leaf ⊕ s) ⊕ leaf
_ = !
_ : s <ˢ leaf ⊕ (s ⊕ leaf) ⊕ leaf
_ = !