| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Type.Nat.LT
Contents
Synopsis
- class LT (n :: Nat) (m :: Nat) where
- type LTProof (n :: Nat) (m :: Nat) = LEProof ('S n) m
- withLTProof :: forall (n :: Nat) (m :: Nat) r. LTProof n m -> (LT n m => r) -> r
- ltReflAbsurd :: forall (n :: Nat) a. LTProof n n -> a
- ltSymAbsurd :: forall (n :: Nat) (m :: Nat) a. LTProof n m -> LTProof m n -> a
- ltTrans :: forall (n :: Nat) (m :: Nat) (p :: Nat). LTProof n m -> LTProof m p -> LTProof n p
Documentation
class LT (n :: Nat) (m :: Nat) where Source #
Less-Than-or. \(<\). Well-founded relation on Nat.
GHC can solve this for us!
>>>ltProof :: LTProof Nat0 Nat4LESucc LEZero
>>>ltProof :: LTProof Nat2 Nat4LESucc (LESucc (LESucc LEZero))
>>>ltProof :: LTProof Nat3 Nat3... ...error... ...
type LTProof (n :: Nat) (m :: Nat) = LEProof ('S n) m Source #
An evidence \(n < m\) which is the same as (1 + n le m).
Lemmas
ltReflAbsurd :: forall (n :: Nat) a. LTProof n n -> a Source #
\(\forall n : \mathbb{N}, n < n \to \bot \)