{-# OPTIONS --type-in-type
#-}
open import NeilPrelude
module CancellativeComm {A : Set} {B : Set}
(_⊕_ : A → A → B)
(⊕comm : {a b : A} → a ⊕ b ≡ b ⊕ a)
(cancL : CancellativeL _⊕_)
where
cancR : CancellativeR _⊕_
cancR eq = cancL (trans2 ⊕comm eq ⊕comm)
import Cancellative
open Cancellative _⊕_ cancL cancR public