{-# OPTIONS --without-K --safe #-}
open import Relation.Binary
module Function.Definitions.Core2
{b ℓ₂} {B : Set b} (_≈₂_ : Rel B ℓ₂)
where
open import Data.Product using (∃)
open import Level using (Level; _⊔_)
Surjective : ∀ {a} {A : Set a} → (A → B) → Set (a ⊔ b ⊔ ℓ₂)
Surjective f = ∀ y → ∃ λ x → f x ≈₂ y
Inverseˡ : ∀ {a} {A : Set a} → (A → B) → (B → A) → Set (b ⊔ ℓ₂)
Inverseˡ f g = ∀ x → f (g x) ≈₂ x