Source code on Github
{-# OPTIONS --without-K #-}
module Class.Decidable.WithoutK where

open import Class.Prelude
open import Class.Decidable.Core

infix 0 ifᵈ_then_else_
ifᵈ_then_else_ :  {X : Type } (P : Type ℓ′)
    P    ({_ : P}  X)  ({_ : ¬ P}  X)  X
ifᵈ P then t else f with ¿ P ¿
... | yes p = t {p}
... | no ¬p = f {¬p}

instance
  import Data.Sum.Relation.Unary.All as ; open  using (inj₁; inj₂)

  Dec-⊎All :  P ⁇¹    Q ⁇¹   ⊎.All P Q ⁇¹
  Dec-⊎All {P = P} {Q = Q} {x = inj₁ x} .dec = mapDec inj₁ inj₁˘ ¿ P x ¿
    where inj₁˘ :  {x}  ⊎.All P Q (inj₁ x)  P x
          inj₁˘ (inj₁ x) = x
  Dec-⊎All {P = P} {Q = Q} {x = inj₂ y} .dec = mapDec inj₂ inj₂˘ ¿ Q y ¿
    where inj₂˘ :  {x}  ⊎.All P Q (inj₂ x)  Q x
          inj₂˘ (inj₂ x) = x