module Cubical.HITs.AbPath.Base where

open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Pointed

-- 'Abelianised' path types (useful for encode-decode computations of π₁ᵃᵇ)
data _≡ᵃᵇ_ {} {A : Type } (x y : A) : Type 
  where
  paths : x  y  x ≡ᵃᵇ y
  com : (p q r : x  y)  paths (p  sym q  r)  paths (r  sym q  p)

Pathᵃᵇ :  {} (A : Type ) (x y : A)  Type 
Pathᵃᵇ A = _≡ᵃᵇ_

Ωᵃᵇ :  {} (A : Pointed )  Type 
Ωᵃᵇ (A , a) = a ≡ᵃᵇ a