open import Spaces::Sphere::S1::Core
open import Spaces::Sphere::S2::Core
open import Paths
open import Algebra::Formula

def S¹×S¹→S² (x y : ) : 
| loop i, loop jsurf i j
| _, _ ⇒ base2

def invS²  : 
| base2base2
| surf i jsurf j i

// TODO: prove using tactics like mcases once we have them
def S¹×S¹→S²-anticomm (x y : ) : invS² (S¹×S¹→S² x y) = S¹×S¹→S² y x
| base, baseidp
| base, loop _ ⇒ idp
| loop _, baseidp
| loop _, loop _ ⇒ idp