| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Data.Type.Witness.Specific.PeanoNat
Documentation
data PeanoNatType (t :: PeanoNat) where Source #
Constructors
| ZeroType :: PeanoNatType 'Zero | |
| SuccType :: forall (t1 :: PeanoNat). PeanoNatType t1 -> PeanoNatType ('Succ t1) |
Instances
data GreaterEqual (a :: PeanoNat) (b :: PeanoNat) where Source #
Constructors
| ZeroGreaterEqual :: forall (a :: PeanoNat). GreaterEqual a 'Zero | |
| SuccGreaterEqual :: forall (a1 :: PeanoNat) (b1 :: PeanoNat). GreaterEqual a1 b1 -> GreaterEqual ('Succ a1) ('Succ b1) |
greaterEqualIndex :: forall (a :: PeanoNat) (b :: PeanoNat). GreaterEqual a b -> PeanoNatType b Source #
samePeanoGreaterEqual :: forall (a :: PeanoNat). PeanoNatType a -> GreaterEqual a a Source #
diff1GreaterEqual :: forall (a :: PeanoNat) (b :: PeanoNat). GreaterEqual a b -> GreaterEqual ('Succ a) b Source #
peanoGreaterEqual :: forall (a :: PeanoNat) (b :: PeanoNat). PeanoNatType a -> PeanoNatType b -> Maybe (GreaterEqual a b) Source #
addPeanoNatType :: forall (a :: PeanoNat) (b :: PeanoNat). PeanoNatType a -> PeanoNatType b -> PeanoNatType (Add a b) Source #
addZeroPeanoNatTypeEqual :: forall (a :: PeanoNat). PeanoNatType a -> Add a 'Zero :~: a Source #
succAddPeanoNatTypeEqual' :: forall (a :: PeanoNat) (b :: PeanoNat). PeanoNatType a -> 'Succ (Add a b) :~: Add a ('Succ b) Source #
succAddPeanoNatTypeEqual :: forall (a :: PeanoNat) (b :: PeanoNat). PeanoNatType a -> PeanoNatType b -> 'Succ (Add a b) :~: Add a ('Succ b) Source #
addPeanoNatTypeGE :: forall (a :: PeanoNat) (b :: PeanoNat). PeanoNatType a -> PeanoNatType b -> GreaterEqual (Add a b) a Source #
data Greater (a :: PeanoNat) (b :: PeanoNat) where Source #
Constructors
| MkGreater :: forall (a1 :: PeanoNat) (b :: PeanoNat). GreaterEqual a1 b -> Greater ('Succ a1) b |
greaterIndex :: forall (a :: PeanoNat) (b :: PeanoNat). Greater a b -> PeanoNatType b Source #
peanoGreater :: forall (a :: PeanoNat) (b :: PeanoNat). PeanoNatType a -> PeanoNatType b -> Maybe (Greater a b) Source #