Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data ZeroOrSucc n where Source #
IsZero :: ZeroOrSucc 0 | |
IsSucc :: SNat n -> ZeroOrSucc (n + 1) |
succOneCong :: Succ 0 :~: 1 Source #
plusEqCancelR :: forall n m l. SNat n -> SNat m -> SNat l -> ((n + l) :~: (m + l)) -> n :~: m Source #
viewNat :: forall n. SNat n -> ZeroOrSucc n Source #
zeroOrSucc :: SNat n -> ZeroOrSucc n Source #
multEqSuccElimL :: SNat n -> SNat m -> SNat l -> ((n * m) :~: Succ l) -> n :~: Succ (Pred n) Source #
multEqSuccElimR :: SNat n -> SNat m -> SNat l -> ((n * m) :~: Succ l) -> m :~: Succ (Pred m) Source #