{-# OPTIONS --without-K --exact-split --safe #-} open import Agda.Builtin.Equality module Inductive.Constructors.W-types (A : Set) (B : A → Set) where data W : Set where sup : (a : A) (f : B a → W) → W El-W : ∀ {e} → (M : W → Set e) (d : (a : A) (f : B a → W) (h : (b : B a) → M (f b)) → M (sup a f)) → (w : W) → M w El-W M d (sup a f) = d a f λ b → El-W M d (f b) C-W : ∀ {e} → (M : W → Set e) (d : (a : A) (f : B a → W) (h : (b : B a) → M (f b)) → M (sup a f)) → (a : A) (f : B a → W) → El-W M d (sup a f) ≡ d a f λ b → El-W M d (f b) C-W M d a f = refl