Skip to content

Setoid for List composed n-times: second level is constrained to >= first level #2766

@mechvel

Description

@mechvel

The impression is that it is not possible to set the level values below such that Agda would type check this program:

open import Data.List.Relation.Binary.Pointwise as ListPoint
open import Data.Nat using (ℕ; suc)
open import Level using (_⊔_)
open import Relation.Binary using (Setoid)

module ComposeListSetoid {a ℓ} (S : Setoid a ℓ) where

-- Having Setoid  S  on Carrier, build Setoid for  List (List ... Carrier)  -- n-times.

composeSetoid : Setoid _ _   -- a (a ⊔ ℓ)  ?
composeSetoid 0       = S
composeSetoid (suc n) = ListPoint.setoid S'
                        where
                        S' : Setoid _ _    -- a (a ⊔ ℓ) ?
                        S' = composeSetoid n

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions