@@ -13,14 +13,14 @@ module Data.List.Relation.Binary.Sublist.Setoid.Properties
1313
1414open import Data.List.Base hiding (_∷ʳ_)
1515open import Data.List.Relation.Unary.Any using (Any)
16- open import Data.List.Relation.Binary.Sublist.Heterogeneous using () renaming (minimum to []⊆_)
1716import Data.Maybe.Relation.Unary.All as Maybe
1817open import Data.Nat.Base using (_≤_; _≥_)
1918import Data.Nat.Properties as ℕₚ
2019open import Data.Product using (∃; _,_; proj₂)
2120open import Function.Base
2221open import Function.Bundles using (_⇔_; _⤖_)
2322open import Level
23+ open import Relation.Binary using () renaming (Decidable to Decidable₂)
2424open import Relation.Binary.PropositionalEquality using (_≡_; refl; cong)
2525open import Relation.Binary.Structures using (IsDecTotalOrder)
2626open import Relation.Unary using (Pred; Decidable; Irrelevant)
@@ -208,25 +208,23 @@ module _ {as bs : List A} where
208208------------------------------------------------------------------------
209209-- merge
210210
211- module Merge {ℓ′} ( _≤_ : Rel A ℓ′) (dto : IsDecTotalOrder _≈_ _ ≤_) where
211+ module _ {ℓ′} { _≤_ : Rel A ℓ′} (_≤?_ : Decidable₂ _ ≤_) where
212212
213- open IsDecTotalOrder dto using (_≤?_)
214-
215- merge-is-superlistˡ : ∀ xs ys → xs ⊆ merge _≤?_ xs ys
216- merge-is-superlistˡ [] ys = []⊆ ys
217- merge-is-superlistˡ (x ∷ xs) [] = ⊆-refl
218- merge-is-superlistˡ (x ∷ xs) (y ∷ ys)
219- with x ≤? y | merge-is-superlistˡ xs (y ∷ ys)
220- | merge-is-superlistˡ (x ∷ xs) ys
213+ ⊆-mergeˡ : ∀ xs ys → xs ⊆ merge _≤?_ xs ys
214+ ⊆-mergeˡ [] ys = minimum ys
215+ ⊆-mergeˡ (x ∷ xs) [] = ⊆-refl
216+ ⊆-mergeˡ (x ∷ xs) (y ∷ ys)
217+ with x ≤? y | ⊆-mergeˡ xs (y ∷ ys)
218+ | ⊆-mergeˡ (x ∷ xs) ys
221219 ... | yes x≤y | rec | _ = ≈-refl ∷ rec
222220 ... | no x≰y | _ | rec = y ∷ʳ rec
223221
224- merge-is-superlistʳ : ∀ xs ys → ys ⊆ merge _≤?_ xs ys
225- merge-is-superlistʳ [] ys = ⊆-refl
226- merge-is-superlistʳ (x ∷ xs) [] = []⊆ (merge _≤?_ (x ∷ xs) [])
227- merge-is-superlistʳ (x ∷ xs) (y ∷ ys)
228- with x ≤? y | merge-is-superlistʳ xs (y ∷ ys)
229- | merge-is-superlistʳ (x ∷ xs) ys
222+ ⊆-mergeʳ : ∀ xs ys → ys ⊆ merge _≤?_ xs ys
223+ ⊆-mergeʳ [] ys = ⊆-refl
224+ ⊆-mergeʳ (x ∷ xs) [] = minimum (merge _≤?_ (x ∷ xs) [])
225+ ⊆-mergeʳ (x ∷ xs) (y ∷ ys)
226+ with x ≤? y | ⊆-mergeʳ xs (y ∷ ys)
227+ | ⊆-mergeʳ (x ∷ xs) ys
230228 ... | yes x≤y | rec | _ = x ∷ʳ rec
231229 ... | no x≰y | _ | rec = ≈-refl ∷ rec
232230
0 commit comments