------------------------------------------------------------------------ -- Descending lists ------------------------------------------------------------------------ {-# OPTIONS --safe #-} open import Cubical.Foundations.Prelude module Cubical.Data.DescendingList.Base (A : Type₀) (_≥_ : A → A → Type₀) where ------------------------------------------------------------------------ -- Descending lists -- -- Defined simultaneously with the relation "x ≥ the HEAD of u" data DL : Type₀ data _≥ᴴ_ (x : A) : DL → Type₀ data DL where [] : DL cons : (x : A) (u : DL) → x ≥ᴴ u → DL data _≥ᴴ_ x where ≥ᴴ[] : x ≥ᴴ [] ≥ᴴcons : {y : A} {u : DL} {r : y ≥ᴴ u} → x ≥ y → x ≥ᴴ (cons y u r) [_] : A → DL [ x ] = cons x [] ≥ᴴ[]