-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Import, export and other utilities for TPTP, a syntax for first-order logic -- -- For information about the TPTP format, see -- http://www.cs.miami.edu/~tptp/. -- -- Components: -- --
-- Y = f (Term0 Y) ---- -- (modulo newtype wrapping). See for example diffFormula. newtype TermFix f TermFix :: f (Term0 (TermFix f)) -> TermFix f runTermFix :: TermFix f -> f (Term0 (TermFix f)) -- | For a given type constructor f, make the fixed point type -- X satisfying: -- --
-- X = f (Formula0 Y X) -- Y = f (Term0 Y) ---- -- (modulo newtype wrapping). See for example diffTerm. newtype FormulaFix f FormulaFix :: f (Formula0 (TermFix f) (FormulaFix f)) -> FormulaFix f runFormulaFix :: FormulaFix f -> f (Formula0 (TermFix f) (FormulaFix f)) instance Typeable AtomicWord instance Typeable GTerm instance Typeable GData instance Typeable Role instance Typeable UsefulInfo instance Typeable SourceInfo instance Typeable TPTP_Input instance Typeable Quant instance Typeable InfixPred instance Typeable BinOp instance Typeable1 Term0 instance Typeable2 Formula0 instance Typeable Term instance Typeable Formula instance Eq AtomicWord instance Ord AtomicWord instance Show AtomicWord instance Data AtomicWord instance Read AtomicWord instance Monoid AtomicWord instance IsString AtomicWord instance Eq GTerm instance Ord GTerm instance Show GTerm instance Read GTerm instance Data GTerm instance Eq GData instance Ord GData instance Show GData instance Read GData instance Data GData instance Eq Role instance Ord Role instance Show Role instance Read Role instance Data Role instance Eq UsefulInfo instance Ord UsefulInfo instance Show UsefulInfo instance Read UsefulInfo instance Data UsefulInfo instance Eq SourceInfo instance Ord SourceInfo instance Show SourceInfo instance Read SourceInfo instance Data SourceInfo instance Eq TPTP_Input instance Ord TPTP_Input instance Show TPTP_Input instance Read TPTP_Input instance Data TPTP_Input instance Eq Quant instance Ord Quant instance Show Quant instance Read Quant instance Data Quant instance Enum Quant instance Bounded Quant instance Eq InfixPred instance Ord InfixPred instance Show InfixPred instance Read InfixPred instance Data InfixPred instance Enum InfixPred instance Bounded InfixPred instance Eq BinOp instance Ord BinOp instance Show BinOp instance Read BinOp instance Data BinOp instance Enum BinOp instance Bounded BinOp instance (Eq term) => Eq (Term0 term) instance (Ord term) => Ord (Term0 term) instance (Show term) => Show (Term0 term) instance (Read term) => Read (Term0 term) instance (Data term) => Data (Term0 term) instance (Eq term, Eq formula) => Eq (Formula0 term formula) instance (Ord term, Ord formula) => Ord (Formula0 term formula) instance (Show term, Show formula) => Show (Formula0 term formula) instance (Read term, Read formula) => Read (Formula0 term formula) instance (Data term, Data formula) => Data (Formula0 term formula) instance Eq Term instance Ord Term instance Show Term instance Read Term instance Data Term instance Eq Formula instance Ord Formula instance Show Formula instance Read Formula instance Data Formula instance Arbitrary AtomicWord instance Arbitrary GTerm instance Arbitrary GData instance (Arbitrary a) => Arbitrary (Term0 a) instance Arbitrary Quant instance Arbitrary InfixPred instance Arbitrary BinOp instance (Arbitrary a, Arbitrary b) => Arbitrary (Formula0 a b) instance Arbitrary Role instance Arbitrary UsefulInfo instance Arbitrary SourceInfo instance Arbitrary Term instance Arbitrary Formula instance Arbitrary TPTP_Input instance FormulaOrTerm Term instance FormulaOrTerm Formula module Codec.TPTP.Export -- | Convenient wrapper for toTPTP toTPTP' :: (ToTPTP a) => a -> String class ToTPTP a toTPTP :: (ToTPTP a) => a -> ShowS isLowerWord :: [Char] -> Bool instance ToTPTP Term instance ToTPTP Formula instance ToTPTP GData instance ToTPTP AtomicWord instance ToTPTP GTerm instance ToTPTP UsefulInfo instance ToTPTP SourceInfo instance (ToTPTP t) => ToTPTP (Term0 t) instance (ToTPTP f, ToTPTP t) => ToTPTP (Formula0 t f) instance ToTPTP BinOp instance ToTPTP InfixPred instance ToTPTP Quant instance ToTPTP Role instance ToTPTP TPTP_Input instance ToTPTP [TPTP_Input] -- | Mainly just Pretty instances module Codec.TPTP.Pretty prettySimple :: (Pretty a) => a -> String -- | Carries information about the enclosing operation (for the purpose of -- printing stuff without parentheses if possible). data WithEnclosing a WithEnclosing :: Enclosing -> a -> WithEnclosing a data Enclosing EnclBinOp :: BinOp -> Enclosing EnclQuant :: Enclosing EnclNeg :: Enclosing EnclInfixPred :: InfixPred -> Enclosing EnclNothing :: Enclosing instance Typeable Enclosing instance Pretty Term instance Pretty Formula instance Eq Enclosing instance Ord Enclosing instance Show Enclosing instance Data Enclosing instance Read Enclosing instance Pretty GTerm instance Pretty AtomicWord instance Pretty GData instance Pretty UsefulInfo instance Pretty SourceInfo instance Pretty (WithEnclosing Term) instance Pretty (WithEnclosing Formula) instance Pretty (Term0 Term) instance Pretty (Formula0 Term Formula) instance (Pretty (WithEnclosing t)) => Pretty (WithEnclosing (Term0 t)) instance Pretty InfixPred instance Pretty BinOp instance (Pretty (WithEnclosing t), Pretty (WithEnclosing f)) => Pretty (WithEnclosing (Formula0 t f)) instance Pretty Quant instance Pretty TPTP_Input module Codec.TPTP.Diff class Diffable a b diff :: (Diffable a b) => a -> a -> b data DiffResult d -- | Both arguments are the same. Same :: DiffResult d -- | The arguments are recursive expressions of the same form, but their -- subterms differ. Return a "decorated" term that shows where the -- differences are SameHead :: d -> DiffResult d -- | The arguments differ and are not of similar form (don't recurse) Differ :: d -> d -> DiffResult d DontCare :: DiffResult d type T0Diff = DiffResult (Term0 (TermFix DiffResult)) type F0Diff = DiffResult (Formula0 (TermFix DiffResult) (FormulaFix DiffResult)) isSame :: DiffResult t -> Bool -- | Less random generator for generating formulae suitable for testing -- diff diffGenF :: Gen Formula diffGenT :: Gen Term printSampleDiffs :: IO () instance Typeable1 DiffResult instance Pretty (FormulaFix DiffResult) instance Pretty (TermFix DiffResult) instance (Eq d) => Eq (DiffResult d) instance (Ord d) => Ord (DiffResult d) instance (Show d) => Show (DiffResult d) instance (Data d) => Data (DiffResult d) instance (Read d) => Read (DiffResult d) instance Diffable Term (TermFix DiffResult) instance Diffable Formula (FormulaFix DiffResult) instance Functor DiffResult instance Pretty F0Diff instance Pretty T0Diff instance Pretty (WithEnclosing (FormulaFix DiffResult)) instance Pretty (WithEnclosing (TermFix DiffResult)) instance Pretty (WithEnclosing F0Diff) instance Pretty (WithEnclosing T0Diff) instance Show (FormulaFix DiffResult) instance Show (TermFix DiffResult) module Codec.TPTP.Import parse :: String -> [TPTP_Input] parseFile :: FilePath -> IO [TPTP_Input] data Token LP :: Token RP :: Token Comma :: Token Dot :: Token Lbrack :: Token Rbrack :: Token Oper :: String -> Token SingleQuoted :: String -> Token DoubleQuoted :: String -> Token DollarWord :: String -> Token DollarDollarWord :: String -> Token UpperWord :: String -> Token LowerWord :: String -> Token Star :: Token Plus :: Token Rangle :: Token SignedInt :: Int -> Token UnsignedInt :: Int -> Token Real :: Double -> Token CommentToken :: String -> Token module Codec.TPTP