grisette-0.5.0.0: src/Grisette/Utils.hs
-- Disable this warning because we are re-exporting things.
{-# OPTIONS_GHC -Wno-missing-import-lists #-}
-- |
-- Module : Grisette.Utils
-- Copyright : (c) Sirui Lu 2021-2023
-- License : BSD-3-Clause (see the LICENSE file)
--
-- Maintainer : siruilu@cs.washington.edu
-- Stability : Experimental
-- Portability : GHC only
module Grisette.Utils
( -- * Utilities for type-level natural numbers.
-- ** Unsafe axiom
unsafeAxiom,
-- ** Runtime representation of type-level natural numbers
NatRepr,
natValue,
natRepr,
decNat,
predNat,
incNat,
addNat,
subNat,
divNat,
halfNat,
-- ** Proof of KnownNat
KnownProof (..),
hasRepr,
withKnownProof,
unsafeKnownProof,
knownAdd,
-- ** Proof of (<=) for type-level natural numbers
LeqProof (..),
withLeqProof,
unsafeLeqProof,
testLeq,
leqRefl,
leqSucc,
leqTrans,
leqZero,
leqAdd2,
leqAdd,
leqAddPos,
)
where
import Grisette.Internal.Utils.Parameterized
( KnownProof (..),
LeqProof (..),
NatRepr,
addNat,
decNat,
divNat,
halfNat,
hasRepr,
incNat,
knownAdd,
leqAdd,
leqAdd2,
leqAddPos,
leqRefl,
leqSucc,
leqTrans,
leqZero,
natRepr,
natValue,
predNat,
subNat,
testLeq,
unsafeAxiom,
unsafeKnownProof,
unsafeLeqProof,
withKnownProof,
withLeqProof,
)