module foundations.quasi-inverse where
open import foundations.universe open import foundations.identity-type open import foundations.function open import foundations.homotopy open import foundations.sigma-type
private variable ℓ ℓ′ : Level record QuasiInv {A : Type ℓ} {B : Type ℓ′} (f : A → B) : Type (ℓ ⊔ ℓ′) where field g : B → A linv : g ∘ f ~ idFunction A rinv : f ∘ g ~ idFunction B
_≅_ : Type ℓ → Type ℓ′ → Type (ℓ ⊔ ℓ′) A ≅ B = Σ (A → B) QuasiInv