{-# OPTIONS --safe #-}

module Cubical.HITs.DunceCap.Base where

open import Cubical.Foundations.Prelude
open import Cubical.Foundations.GroupoidLaws

open import Cubical.HITs.S1 using (; base)
import Cubical.HITs.S1 as 

open import Cubical.HITs.MappingCones

-- definition of the dunce cap as a HIT

data Dunce : Type₀ where
  base : Dunce
  loop : base  base
  surf : PathP  i  loop i  loop i) loop refl

-- definition of the dunce cap as a mapping cone

dunceMap :   
dunceMap base        = base
dunceMap (S¹.loop i) = (S¹.loop ⁻¹ ∙∙ S¹.loop ∙∙ S¹.loop) i

DunceCone : Type₀
DunceCone = Cone dunceMap