    ------------------------------------------------------------------------
    -- The Agda standard library
    --
    -- Typeclass instances for products
    ------------------------------------------------------------------------

    {-# OPTIONS --cubical-compatible --safe #-}

    module Data.Product.Instances where

    open import Data.Product.Base using (Σ)
    open import Data.Product.Properties using (≡-dec)
    open import Level using (Level)
    open import Relation.Binary.PropositionalEquality.Properties
      using (isDecEquivalence)
    open import Relation.Binary.PropositionalEquality.Core using (_≡_)
    open import Relation.Binary.Structures using (IsDecEquivalence)
    open import Relation.Binary.TypeClasses

    private
      variable
        a b : Level
        A : Set a

    instance
      Σ-≡-isDecEquivalence : ∀ {B : A → Set b} {{_ : IsDecEquivalence {A = A} _≡_}} {{_ : ∀ {a} → IsDecEquivalence {A = B a} _≡_}} → IsDecEquivalence {A = Σ A B} _≡_
      Σ-≡-isDecEquivalence = isDecEquivalence (≡-dec _≟_ _≟_)