{-# OPTIONS --cubical --safe #-}
module Cubical.HITs.S1.Properties where

open import Cubical.Foundations.Prelude
open import Cubical.Foundations.GroupoidLaws
open import Cubical.Foundations.Equiv
open import Cubical.Foundations.HLevels
open import Cubical.Foundations.Isomorphism
open import Cubical.Foundations.Univalence

open import Cubical.HITs.S1.Base
open import Cubical.HITs.PropositionalTruncation

isConnectedS¹ : (s : )   base  s 
isConnectedS¹ base =  refl 
isConnectedS¹ (loop i) =
  squash   j  loop (i  j))    j  loop (i  ~ j))  i

isGroupoidS¹ : isGroupoid 
isGroupoidS¹ s t =
  recPropTrunc isPropIsSet
     p 
      subst  s  isSet (s  t)) p
        (recPropTrunc isPropIsSet
           q  subst  t  isSet (base  t)) q isSetΩS¹)
          (isConnectedS¹ t)))
    (isConnectedS¹ s)