{-# OPTIONS --without-K #-} module function.extensionality.core where open import level using (lsuc; _⊔_) open import equality.core Extensionality : ∀ i j → Set (lsuc (i ⊔ j)) Extensionality i j = {X : Set i}{Y : Set j} → {f g : X → Y} → ((x : X) → f x ≡ g x) → f ≡ g Extensionality' : ∀ i j → Set (lsuc (i ⊔ j)) Extensionality' i j = {X : Set i}{Y : X → Set j} → {f g : (x : X) → Y x} → ((x : X) → f x ≡ g x) → f ≡ g StrongExt : ∀ i j → Set (lsuc (i ⊔ j)) StrongExt i j = {X : Set i}{Y : X → Set j} → {f g : (x : X) → Y x} → (∀ x → f x ≡ g x) ≡ (f ≡ g) funext-inv : ∀ {i j}{X : Set i}{Y : X → Set j} → {f g : (x : X) → Y x} → f ≡ g → (x : X) → f x ≡ g x funext-inv refl x = refl