{-# LANGUAGE DeriveDataTypeable #-}
{- |
Module      :  ./TPTP/AS.der.hs
Description :  Abstract syntax for TPTP v6.4.0.11
Copyright   :  (c) Eugen Kuksa University of Magdeburg 2017
License     :  GPLv2 or higher, see LICENSE.txt

Maintainer  :  Eugen Kuksa <kuksa@iks.cs.ovgu.de>
Stability   :  provisional
Portability :  portable

Definition of abstract syntax for TPTP taken from [1]

References

[1] G. Sutcliffe et al.: The TPTP language grammar in BNF.
    <http://www.cs.miami.edu/~tptp/TPTP/SyntaxBNF.html>

    Note: The implemented version is saved at TPTP/Documents/SyntaxBNF.html

    Note: The names of the data types are aligned with the names of the
    grammar rules at this reference page (modulo case).

[2] C. Kaliszyk, G. Sutcliffe and F. Rabe:
    TH1: The TPTP Typed Higher-Order Form with Rank-1 Polymorphism
    <https://kwarc.info/people/frabe/Research/KRS_thf1_16.pdf>
    Note: for further information on TF0, TF1, TH0 and TH1
-}

module TPTP.AS where

import Common.Id as Id
import Common.IRI
import Syntax.AS_Structured ()
import qualified Common.AS_Annotation as AS_Anno

import Data.Data

-- DrIFT command
{-! global: GetRange !-}

newtype BASIC_SPEC = Basic_spec [AS_Anno.Annoted TPTP]
                     deriving (Int -> BASIC_SPEC -> ShowS
[BASIC_SPEC] -> ShowS
BASIC_SPEC -> String
(Int -> BASIC_SPEC -> ShowS)
-> (BASIC_SPEC -> String)
-> ([BASIC_SPEC] -> ShowS)
-> Show BASIC_SPEC
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BASIC_SPEC] -> ShowS
$cshowList :: [BASIC_SPEC] -> ShowS
show :: BASIC_SPEC -> String
$cshow :: BASIC_SPEC -> String
showsPrec :: Int -> BASIC_SPEC -> ShowS
$cshowsPrec :: Int -> BASIC_SPEC -> ShowS
Show, Eq BASIC_SPEC
Eq BASIC_SPEC =>
(BASIC_SPEC -> BASIC_SPEC -> Ordering)
-> (BASIC_SPEC -> BASIC_SPEC -> Bool)
-> (BASIC_SPEC -> BASIC_SPEC -> Bool)
-> (BASIC_SPEC -> BASIC_SPEC -> Bool)
-> (BASIC_SPEC -> BASIC_SPEC -> Bool)
-> (BASIC_SPEC -> BASIC_SPEC -> BASIC_SPEC)
-> (BASIC_SPEC -> BASIC_SPEC -> BASIC_SPEC)
-> Ord BASIC_SPEC
BASIC_SPEC -> BASIC_SPEC -> Bool
BASIC_SPEC -> BASIC_SPEC -> Ordering
BASIC_SPEC -> BASIC_SPEC -> BASIC_SPEC
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: BASIC_SPEC -> BASIC_SPEC -> BASIC_SPEC
$cmin :: BASIC_SPEC -> BASIC_SPEC -> BASIC_SPEC
max :: BASIC_SPEC -> BASIC_SPEC -> BASIC_SPEC
$cmax :: BASIC_SPEC -> BASIC_SPEC -> BASIC_SPEC
>= :: BASIC_SPEC -> BASIC_SPEC -> Bool
$c>= :: BASIC_SPEC -> BASIC_SPEC -> Bool
> :: BASIC_SPEC -> BASIC_SPEC -> Bool
$c> :: BASIC_SPEC -> BASIC_SPEC -> Bool
<= :: BASIC_SPEC -> BASIC_SPEC -> Bool
$c<= :: BASIC_SPEC -> BASIC_SPEC -> Bool
< :: BASIC_SPEC -> BASIC_SPEC -> Bool
$c< :: BASIC_SPEC -> BASIC_SPEC -> Bool
compare :: BASIC_SPEC -> BASIC_SPEC -> Ordering
$ccompare :: BASIC_SPEC -> BASIC_SPEC -> Ordering
$cp1Ord :: Eq BASIC_SPEC
Ord, BASIC_SPEC -> BASIC_SPEC -> Bool
(BASIC_SPEC -> BASIC_SPEC -> Bool)
-> (BASIC_SPEC -> BASIC_SPEC -> Bool) -> Eq BASIC_SPEC
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BASIC_SPEC -> BASIC_SPEC -> Bool
$c/= :: BASIC_SPEC -> BASIC_SPEC -> Bool
== :: BASIC_SPEC -> BASIC_SPEC -> Bool
$c== :: BASIC_SPEC -> BASIC_SPEC -> Bool
Eq, Typeable BASIC_SPEC
Constr
DataType
Typeable BASIC_SPEC =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> BASIC_SPEC -> c BASIC_SPEC)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c BASIC_SPEC)
-> (BASIC_SPEC -> Constr)
-> (BASIC_SPEC -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c BASIC_SPEC))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c BASIC_SPEC))
-> ((forall b. Data b => b -> b) -> BASIC_SPEC -> BASIC_SPEC)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r)
-> (forall u. (forall d. Data d => d -> u) -> BASIC_SPEC -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> BASIC_SPEC -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC)
-> Data BASIC_SPEC
BASIC_SPEC -> Constr
BASIC_SPEC -> DataType
(forall b. Data b => b -> b) -> BASIC_SPEC -> BASIC_SPEC
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BASIC_SPEC -> c BASIC_SPEC
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BASIC_SPEC
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> BASIC_SPEC -> u
forall u. (forall d. Data d => d -> u) -> BASIC_SPEC -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BASIC_SPEC
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BASIC_SPEC -> c BASIC_SPEC
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BASIC_SPEC)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BASIC_SPEC)
$cBasic_spec :: Constr
$tBASIC_SPEC :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
gmapMp :: (forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
gmapM :: (forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> BASIC_SPEC -> m BASIC_SPEC
gmapQi :: Int -> (forall d. Data d => d -> u) -> BASIC_SPEC -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> BASIC_SPEC -> u
gmapQ :: (forall d. Data d => d -> u) -> BASIC_SPEC -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> BASIC_SPEC -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> BASIC_SPEC -> r
gmapT :: (forall b. Data b => b -> b) -> BASIC_SPEC -> BASIC_SPEC
$cgmapT :: (forall b. Data b => b -> b) -> BASIC_SPEC -> BASIC_SPEC
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BASIC_SPEC)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BASIC_SPEC)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c BASIC_SPEC)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c BASIC_SPEC)
dataTypeOf :: BASIC_SPEC -> DataType
$cdataTypeOf :: BASIC_SPEC -> DataType
toConstr :: BASIC_SPEC -> Constr
$ctoConstr :: BASIC_SPEC -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BASIC_SPEC
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c BASIC_SPEC
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BASIC_SPEC -> c BASIC_SPEC
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> BASIC_SPEC -> c BASIC_SPEC
$cp1Data :: Typeable BASIC_SPEC
Data, Typeable)

-- Files

-- %----Files. Empty file is OK.
-- <TPTP_file>            ::= <TPTP_input>*<Paste>
newtype TPTP = TPTP [TPTP_input]
               deriving (Int -> TPTP -> ShowS
[TPTP] -> ShowS
TPTP -> String
(Int -> TPTP -> ShowS)
-> (TPTP -> String) -> ([TPTP] -> ShowS) -> Show TPTP
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TPTP] -> ShowS
$cshowList :: [TPTP] -> ShowS
show :: TPTP -> String
$cshow :: TPTP -> String
showsPrec :: Int -> TPTP -> ShowS
$cshowsPrec :: Int -> TPTP -> ShowS
Show, Eq TPTP
Eq TPTP =>
(TPTP -> TPTP -> Ordering)
-> (TPTP -> TPTP -> Bool)
-> (TPTP -> TPTP -> Bool)
-> (TPTP -> TPTP -> Bool)
-> (TPTP -> TPTP -> Bool)
-> (TPTP -> TPTP -> TPTP)
-> (TPTP -> TPTP -> TPTP)
-> Ord TPTP
TPTP -> TPTP -> Bool
TPTP -> TPTP -> Ordering
TPTP -> TPTP -> TPTP
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TPTP -> TPTP -> TPTP
$cmin :: TPTP -> TPTP -> TPTP
max :: TPTP -> TPTP -> TPTP
$cmax :: TPTP -> TPTP -> TPTP
>= :: TPTP -> TPTP -> Bool
$c>= :: TPTP -> TPTP -> Bool
> :: TPTP -> TPTP -> Bool
$c> :: TPTP -> TPTP -> Bool
<= :: TPTP -> TPTP -> Bool
$c<= :: TPTP -> TPTP -> Bool
< :: TPTP -> TPTP -> Bool
$c< :: TPTP -> TPTP -> Bool
compare :: TPTP -> TPTP -> Ordering
$ccompare :: TPTP -> TPTP -> Ordering
$cp1Ord :: Eq TPTP
Ord, TPTP -> TPTP -> Bool
(TPTP -> TPTP -> Bool) -> (TPTP -> TPTP -> Bool) -> Eq TPTP
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TPTP -> TPTP -> Bool
$c/= :: TPTP -> TPTP -> Bool
== :: TPTP -> TPTP -> Bool
$c== :: TPTP -> TPTP -> Bool
Eq, Typeable TPTP
Constr
DataType
Typeable TPTP =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TPTP -> c TPTP)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TPTP)
-> (TPTP -> Constr)
-> (TPTP -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TPTP))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TPTP))
-> ((forall b. Data b => b -> b) -> TPTP -> TPTP)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r)
-> (forall u. (forall d. Data d => d -> u) -> TPTP -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> TPTP -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TPTP -> m TPTP)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TPTP -> m TPTP)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TPTP -> m TPTP)
-> Data TPTP
TPTP -> Constr
TPTP -> DataType
(forall b. Data b => b -> b) -> TPTP -> TPTP
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP -> c TPTP
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TPTP -> u
forall u. (forall d. Data d => d -> u) -> TPTP -> [u]
forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r
forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TPTP -> m TPTP
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPTP -> m TPTP
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP -> c TPTP
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TPTP)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TPTP)
$cTPTP :: Constr
$tTPTP :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TPTP -> m TPTP
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPTP -> m TPTP
gmapMp :: (forall d. Data d => d -> m d) -> TPTP -> m TPTP
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPTP -> m TPTP
gmapM :: (forall d. Data d => d -> m d) -> TPTP -> m TPTP
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TPTP -> m TPTP
gmapQi :: Int -> (forall d. Data d => d -> u) -> TPTP -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TPTP -> u
gmapQ :: (forall d. Data d => d -> u) -> TPTP -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TPTP -> [u]
gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r
$cgmapQr :: forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r
$cgmapQl :: forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TPTP -> r
gmapT :: (forall b. Data b => b -> b) -> TPTP -> TPTP
$cgmapT :: (forall b. Data b => b -> b) -> TPTP -> TPTP
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TPTP)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TPTP)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TPTP)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TPTP)
dataTypeOf :: TPTP -> DataType
$cdataTypeOf :: TPTP -> DataType
toConstr :: TPTP -> Constr
$ctoConstr :: TPTP -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP -> c TPTP
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP -> c TPTP
$cp1Data :: Typeable TPTP
Data, Typeable)

-- <TPTP_input>           ::= <annotated_formula> | <include>
data TPTP_input = Annotated_formula Annotated_formula
                | TPTP_include Include
                | TPTP_comment Comment
                | TPTP_defined_comment DefinedComment
                | TPTP_system_comment SystemComment
                  deriving (Int -> TPTP_input -> ShowS
[TPTP_input] -> ShowS
TPTP_input -> String
(Int -> TPTP_input -> ShowS)
-> (TPTP_input -> String)
-> ([TPTP_input] -> ShowS)
-> Show TPTP_input
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TPTP_input] -> ShowS
$cshowList :: [TPTP_input] -> ShowS
show :: TPTP_input -> String
$cshow :: TPTP_input -> String
showsPrec :: Int -> TPTP_input -> ShowS
$cshowsPrec :: Int -> TPTP_input -> ShowS
Show, Eq TPTP_input
Eq TPTP_input =>
(TPTP_input -> TPTP_input -> Ordering)
-> (TPTP_input -> TPTP_input -> Bool)
-> (TPTP_input -> TPTP_input -> Bool)
-> (TPTP_input -> TPTP_input -> Bool)
-> (TPTP_input -> TPTP_input -> Bool)
-> (TPTP_input -> TPTP_input -> TPTP_input)
-> (TPTP_input -> TPTP_input -> TPTP_input)
-> Ord TPTP_input
TPTP_input -> TPTP_input -> Bool
TPTP_input -> TPTP_input -> Ordering
TPTP_input -> TPTP_input -> TPTP_input
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TPTP_input -> TPTP_input -> TPTP_input
$cmin :: TPTP_input -> TPTP_input -> TPTP_input
max :: TPTP_input -> TPTP_input -> TPTP_input
$cmax :: TPTP_input -> TPTP_input -> TPTP_input
>= :: TPTP_input -> TPTP_input -> Bool
$c>= :: TPTP_input -> TPTP_input -> Bool
> :: TPTP_input -> TPTP_input -> Bool
$c> :: TPTP_input -> TPTP_input -> Bool
<= :: TPTP_input -> TPTP_input -> Bool
$c<= :: TPTP_input -> TPTP_input -> Bool
< :: TPTP_input -> TPTP_input -> Bool
$c< :: TPTP_input -> TPTP_input -> Bool
compare :: TPTP_input -> TPTP_input -> Ordering
$ccompare :: TPTP_input -> TPTP_input -> Ordering
$cp1Ord :: Eq TPTP_input
Ord, TPTP_input -> TPTP_input -> Bool
(TPTP_input -> TPTP_input -> Bool)
-> (TPTP_input -> TPTP_input -> Bool) -> Eq TPTP_input
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TPTP_input -> TPTP_input -> Bool
$c/= :: TPTP_input -> TPTP_input -> Bool
== :: TPTP_input -> TPTP_input -> Bool
$c== :: TPTP_input -> TPTP_input -> Bool
Eq, Typeable TPTP_input
Constr
DataType
Typeable TPTP_input =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TPTP_input -> c TPTP_input)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TPTP_input)
-> (TPTP_input -> Constr)
-> (TPTP_input -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TPTP_input))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TPTP_input))
-> ((forall b. Data b => b -> b) -> TPTP_input -> TPTP_input)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TPTP_input -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TPTP_input -> r)
-> (forall u. (forall d. Data d => d -> u) -> TPTP_input -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TPTP_input -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input)
-> Data TPTP_input
TPTP_input -> Constr
TPTP_input -> DataType
(forall b. Data b => b -> b) -> TPTP_input -> TPTP_input
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP_input -> c TPTP_input
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP_input
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TPTP_input -> u
forall u. (forall d. Data d => d -> u) -> TPTP_input -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TPTP_input -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TPTP_input -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP_input
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP_input -> c TPTP_input
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TPTP_input)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TPTP_input)
$cTPTP_system_comment :: Constr
$cTPTP_defined_comment :: Constr
$cTPTP_comment :: Constr
$cTPTP_include :: Constr
$cAnnotated_formula :: Constr
$tTPTP_input :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
gmapMp :: (forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
gmapM :: (forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TPTP_input -> m TPTP_input
gmapQi :: Int -> (forall d. Data d => d -> u) -> TPTP_input -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TPTP_input -> u
gmapQ :: (forall d. Data d => d -> u) -> TPTP_input -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TPTP_input -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TPTP_input -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TPTP_input -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TPTP_input -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TPTP_input -> r
gmapT :: (forall b. Data b => b -> b) -> TPTP_input -> TPTP_input
$cgmapT :: (forall b. Data b => b -> b) -> TPTP_input -> TPTP_input
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TPTP_input)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TPTP_input)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TPTP_input)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TPTP_input)
dataTypeOf :: TPTP_input -> DataType
$cdataTypeOf :: TPTP_input -> DataType
toConstr :: TPTP_input -> Constr
$ctoConstr :: TPTP_input -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP_input
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPTP_input
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP_input -> c TPTP_input
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPTP_input -> c TPTP_input
$cp1Data :: Typeable TPTP_input
Data, Typeable)

-- Comments

data Comment = Comment_line Token
             | Comment_block Token
               deriving (Int -> Comment -> ShowS
[Comment] -> ShowS
Comment -> String
(Int -> Comment -> ShowS)
-> (Comment -> String) -> ([Comment] -> ShowS) -> Show Comment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Comment] -> ShowS
$cshowList :: [Comment] -> ShowS
show :: Comment -> String
$cshow :: Comment -> String
showsPrec :: Int -> Comment -> ShowS
$cshowsPrec :: Int -> Comment -> ShowS
Show, Comment -> Comment -> Bool
(Comment -> Comment -> Bool)
-> (Comment -> Comment -> Bool) -> Eq Comment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Comment -> Comment -> Bool
$c/= :: Comment -> Comment -> Bool
== :: Comment -> Comment -> Bool
$c== :: Comment -> Comment -> Bool
Eq, Eq Comment
Eq Comment =>
(Comment -> Comment -> Ordering)
-> (Comment -> Comment -> Bool)
-> (Comment -> Comment -> Bool)
-> (Comment -> Comment -> Bool)
-> (Comment -> Comment -> Bool)
-> (Comment -> Comment -> Comment)
-> (Comment -> Comment -> Comment)
-> Ord Comment
Comment -> Comment -> Bool
Comment -> Comment -> Ordering
Comment -> Comment -> Comment
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Comment -> Comment -> Comment
$cmin :: Comment -> Comment -> Comment
max :: Comment -> Comment -> Comment
$cmax :: Comment -> Comment -> Comment
>= :: Comment -> Comment -> Bool
$c>= :: Comment -> Comment -> Bool
> :: Comment -> Comment -> Bool
$c> :: Comment -> Comment -> Bool
<= :: Comment -> Comment -> Bool
$c<= :: Comment -> Comment -> Bool
< :: Comment -> Comment -> Bool
$c< :: Comment -> Comment -> Bool
compare :: Comment -> Comment -> Ordering
$ccompare :: Comment -> Comment -> Ordering
$cp1Ord :: Eq Comment
Ord, Typeable Comment
Constr
DataType
Typeable Comment =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> Comment -> c Comment)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c Comment)
-> (Comment -> Constr)
-> (Comment -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c Comment))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Comment))
-> ((forall b. Data b => b -> b) -> Comment -> Comment)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> Comment -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> Comment -> r)
-> (forall u. (forall d. Data d => d -> u) -> Comment -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> Comment -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> Comment -> m Comment)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Comment -> m Comment)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Comment -> m Comment)
-> Data Comment
Comment -> Constr
Comment -> DataType
(forall b. Data b => b -> b) -> Comment -> Comment
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Comment -> c Comment
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Comment
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> Comment -> u
forall u. (forall d. Data d => d -> u) -> Comment -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Comment -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Comment -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Comment -> m Comment
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Comment -> m Comment
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Comment
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Comment -> c Comment
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Comment)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Comment)
$cComment_block :: Constr
$cComment_line :: Constr
$tComment :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> Comment -> m Comment
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Comment -> m Comment
gmapMp :: (forall d. Data d => d -> m d) -> Comment -> m Comment
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Comment -> m Comment
gmapM :: (forall d. Data d => d -> m d) -> Comment -> m Comment
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Comment -> m Comment
gmapQi :: Int -> (forall d. Data d => d -> u) -> Comment -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Comment -> u
gmapQ :: (forall d. Data d => d -> u) -> Comment -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Comment -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Comment -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Comment -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Comment -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Comment -> r
gmapT :: (forall b. Data b => b -> b) -> Comment -> Comment
$cgmapT :: (forall b. Data b => b -> b) -> Comment -> Comment
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Comment)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Comment)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Comment)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Comment)
dataTypeOf :: Comment -> DataType
$cdataTypeOf :: Comment -> DataType
toConstr :: Comment -> Constr
$ctoConstr :: Comment -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Comment
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Comment
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Comment -> c Comment
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Comment -> c Comment
$cp1Data :: Typeable Comment
Data, Typeable)

data DefinedComment = Defined_comment_line Token
                    | Defined_comment_block Token
                      deriving (Int -> DefinedComment -> ShowS
[DefinedComment] -> ShowS
DefinedComment -> String
(Int -> DefinedComment -> ShowS)
-> (DefinedComment -> String)
-> ([DefinedComment] -> ShowS)
-> Show DefinedComment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DefinedComment] -> ShowS
$cshowList :: [DefinedComment] -> ShowS
show :: DefinedComment -> String
$cshow :: DefinedComment -> String
showsPrec :: Int -> DefinedComment -> ShowS
$cshowsPrec :: Int -> DefinedComment -> ShowS
Show, DefinedComment -> DefinedComment -> Bool
(DefinedComment -> DefinedComment -> Bool)
-> (DefinedComment -> DefinedComment -> Bool) -> Eq DefinedComment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DefinedComment -> DefinedComment -> Bool
$c/= :: DefinedComment -> DefinedComment -> Bool
== :: DefinedComment -> DefinedComment -> Bool
$c== :: DefinedComment -> DefinedComment -> Bool
Eq, Eq DefinedComment
Eq DefinedComment =>
(DefinedComment -> DefinedComment -> Ordering)
-> (DefinedComment -> DefinedComment -> Bool)
-> (DefinedComment -> DefinedComment -> Bool)
-> (DefinedComment -> DefinedComment -> Bool)
-> (DefinedComment -> DefinedComment -> Bool)
-> (DefinedComment -> DefinedComment -> DefinedComment)
-> (DefinedComment -> DefinedComment -> DefinedComment)
-> Ord DefinedComment
DefinedComment -> DefinedComment -> Bool
DefinedComment -> DefinedComment -> Ordering
DefinedComment -> DefinedComment -> DefinedComment
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: DefinedComment -> DefinedComment -> DefinedComment
$cmin :: DefinedComment -> DefinedComment -> DefinedComment
max :: DefinedComment -> DefinedComment -> DefinedComment
$cmax :: DefinedComment -> DefinedComment -> DefinedComment
>= :: DefinedComment -> DefinedComment -> Bool
$c>= :: DefinedComment -> DefinedComment -> Bool
> :: DefinedComment -> DefinedComment -> Bool
$c> :: DefinedComment -> DefinedComment -> Bool
<= :: DefinedComment -> DefinedComment -> Bool
$c<= :: DefinedComment -> DefinedComment -> Bool
< :: DefinedComment -> DefinedComment -> Bool
$c< :: DefinedComment -> DefinedComment -> Bool
compare :: DefinedComment -> DefinedComment -> Ordering
$ccompare :: DefinedComment -> DefinedComment -> Ordering
$cp1Ord :: Eq DefinedComment
Ord, Typeable DefinedComment
Constr
DataType
Typeable DefinedComment =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> DefinedComment -> c DefinedComment)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c DefinedComment)
-> (DefinedComment -> Constr)
-> (DefinedComment -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c DefinedComment))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c DefinedComment))
-> ((forall b. Data b => b -> b)
    -> DefinedComment -> DefinedComment)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> DefinedComment -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> DefinedComment -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> DefinedComment -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> DefinedComment -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> DefinedComment -> m DefinedComment)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> DefinedComment -> m DefinedComment)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> DefinedComment -> m DefinedComment)
-> Data DefinedComment
DefinedComment -> Constr
DefinedComment -> DataType
(forall b. Data b => b -> b) -> DefinedComment -> DefinedComment
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> DefinedComment -> c DefinedComment
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DefinedComment
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> DefinedComment -> u
forall u. (forall d. Data d => d -> u) -> DefinedComment -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> DefinedComment -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> DefinedComment -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DefinedComment
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> DefinedComment -> c DefinedComment
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c DefinedComment)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c DefinedComment)
$cDefined_comment_block :: Constr
$cDefined_comment_line :: Constr
$tDefinedComment :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
gmapMp :: (forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
gmapM :: (forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> DefinedComment -> m DefinedComment
gmapQi :: Int -> (forall d. Data d => d -> u) -> DefinedComment -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> DefinedComment -> u
gmapQ :: (forall d. Data d => d -> u) -> DefinedComment -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> DefinedComment -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> DefinedComment -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> DefinedComment -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> DefinedComment -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> DefinedComment -> r
gmapT :: (forall b. Data b => b -> b) -> DefinedComment -> DefinedComment
$cgmapT :: (forall b. Data b => b -> b) -> DefinedComment -> DefinedComment
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c DefinedComment)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c DefinedComment)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c DefinedComment)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c DefinedComment)
dataTypeOf :: DefinedComment -> DataType
$cdataTypeOf :: DefinedComment -> DataType
toConstr :: DefinedComment -> Constr
$ctoConstr :: DefinedComment -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DefinedComment
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c DefinedComment
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> DefinedComment -> c DefinedComment
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> DefinedComment -> c DefinedComment
$cp1Data :: Typeable DefinedComment
Data, Typeable)

data SystemComment = System_comment_line Token
                   | System_comment_block Token
                     deriving (Int -> SystemComment -> ShowS
[SystemComment] -> ShowS
SystemComment -> String
(Int -> SystemComment -> ShowS)
-> (SystemComment -> String)
-> ([SystemComment] -> ShowS)
-> Show SystemComment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SystemComment] -> ShowS
$cshowList :: [SystemComment] -> ShowS
show :: SystemComment -> String
$cshow :: SystemComment -> String
showsPrec :: Int -> SystemComment -> ShowS
$cshowsPrec :: Int -> SystemComment -> ShowS
Show, SystemComment -> SystemComment -> Bool
(SystemComment -> SystemComment -> Bool)
-> (SystemComment -> SystemComment -> Bool) -> Eq SystemComment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SystemComment -> SystemComment -> Bool
$c/= :: SystemComment -> SystemComment -> Bool
== :: SystemComment -> SystemComment -> Bool
$c== :: SystemComment -> SystemComment -> Bool
Eq, Eq SystemComment
Eq SystemComment =>
(SystemComment -> SystemComment -> Ordering)
-> (SystemComment -> SystemComment -> Bool)
-> (SystemComment -> SystemComment -> Bool)
-> (SystemComment -> SystemComment -> Bool)
-> (SystemComment -> SystemComment -> Bool)
-> (SystemComment -> SystemComment -> SystemComment)
-> (SystemComment -> SystemComment -> SystemComment)
-> Ord SystemComment
SystemComment -> SystemComment -> Bool
SystemComment -> SystemComment -> Ordering
SystemComment -> SystemComment -> SystemComment
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: SystemComment -> SystemComment -> SystemComment
$cmin :: SystemComment -> SystemComment -> SystemComment
max :: SystemComment -> SystemComment -> SystemComment
$cmax :: SystemComment -> SystemComment -> SystemComment
>= :: SystemComment -> SystemComment -> Bool
$c>= :: SystemComment -> SystemComment -> Bool
> :: SystemComment -> SystemComment -> Bool
$c> :: SystemComment -> SystemComment -> Bool
<= :: SystemComment -> SystemComment -> Bool
$c<= :: SystemComment -> SystemComment -> Bool
< :: SystemComment -> SystemComment -> Bool
$c< :: SystemComment -> SystemComment -> Bool
compare :: SystemComment -> SystemComment -> Ordering
$ccompare :: SystemComment -> SystemComment -> Ordering
$cp1Ord :: Eq SystemComment
Ord, Typeable SystemComment
Constr
DataType
Typeable SystemComment =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> SystemComment -> c SystemComment)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c SystemComment)
-> (SystemComment -> Constr)
-> (SystemComment -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c SystemComment))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c SystemComment))
-> ((forall b. Data b => b -> b) -> SystemComment -> SystemComment)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> SystemComment -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> SystemComment -> r)
-> (forall u. (forall d. Data d => d -> u) -> SystemComment -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> SystemComment -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> SystemComment -> m SystemComment)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> SystemComment -> m SystemComment)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> SystemComment -> m SystemComment)
-> Data SystemComment
SystemComment -> Constr
SystemComment -> DataType
(forall b. Data b => b -> b) -> SystemComment -> SystemComment
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SystemComment -> c SystemComment
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SystemComment
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> SystemComment -> u
forall u. (forall d. Data d => d -> u) -> SystemComment -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SystemComment -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SystemComment -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SystemComment
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SystemComment -> c SystemComment
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c SystemComment)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c SystemComment)
$cSystem_comment_block :: Constr
$cSystem_comment_line :: Constr
$tSystemComment :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
gmapMp :: (forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
gmapM :: (forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> SystemComment -> m SystemComment
gmapQi :: Int -> (forall d. Data d => d -> u) -> SystemComment -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> SystemComment -> u
gmapQ :: (forall d. Data d => d -> u) -> SystemComment -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> SystemComment -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SystemComment -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> SystemComment -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SystemComment -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> SystemComment -> r
gmapT :: (forall b. Data b => b -> b) -> SystemComment -> SystemComment
$cgmapT :: (forall b. Data b => b -> b) -> SystemComment -> SystemComment
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c SystemComment)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c SystemComment)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c SystemComment)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c SystemComment)
dataTypeOf :: SystemComment -> DataType
$cdataTypeOf :: SystemComment -> DataType
toConstr :: SystemComment -> Constr
$ctoConstr :: SystemComment -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SystemComment
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c SystemComment
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SystemComment -> c SystemComment
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> SystemComment -> c SystemComment
$cp1Data :: Typeable SystemComment
Data, Typeable)

-- %----Formula records
-- <annotated_formula>    ::= <thf_annotated> | <tfx_annotated> | <tff_annotated> |
--                            <tcf_annotated> | <fof_annotated> | <cnf_annotated> |
--                            <tpi_annotated>
data Annotated_formula = AF_THF_Annotated THF_annotated
                       | AF_TFX_Annotated TFX_annotated
                       | AF_TFF_Annotated TFF_annotated
                       | AF_TCF_Annotated TCF_annotated
                       | AF_FOF_Annotated FOF_annotated
                       | AF_CNF_Annotated CNF_annotated
                       | AF_TPI_Annotated TPI_annotated
                         deriving (Int -> Annotated_formula -> ShowS
[Annotated_formula] -> ShowS
Annotated_formula -> String
(Int -> Annotated_formula -> ShowS)
-> (Annotated_formula -> String)
-> ([Annotated_formula] -> ShowS)
-> Show Annotated_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Annotated_formula] -> ShowS
$cshowList :: [Annotated_formula] -> ShowS
show :: Annotated_formula -> String
$cshow :: Annotated_formula -> String
showsPrec :: Int -> Annotated_formula -> ShowS
$cshowsPrec :: Int -> Annotated_formula -> ShowS
Show, Eq Annotated_formula
Eq Annotated_formula =>
(Annotated_formula -> Annotated_formula -> Ordering)
-> (Annotated_formula -> Annotated_formula -> Bool)
-> (Annotated_formula -> Annotated_formula -> Bool)
-> (Annotated_formula -> Annotated_formula -> Bool)
-> (Annotated_formula -> Annotated_formula -> Bool)
-> (Annotated_formula -> Annotated_formula -> Annotated_formula)
-> (Annotated_formula -> Annotated_formula -> Annotated_formula)
-> Ord Annotated_formula
Annotated_formula -> Annotated_formula -> Bool
Annotated_formula -> Annotated_formula -> Ordering
Annotated_formula -> Annotated_formula -> Annotated_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Annotated_formula -> Annotated_formula -> Annotated_formula
$cmin :: Annotated_formula -> Annotated_formula -> Annotated_formula
max :: Annotated_formula -> Annotated_formula -> Annotated_formula
$cmax :: Annotated_formula -> Annotated_formula -> Annotated_formula
>= :: Annotated_formula -> Annotated_formula -> Bool
$c>= :: Annotated_formula -> Annotated_formula -> Bool
> :: Annotated_formula -> Annotated_formula -> Bool
$c> :: Annotated_formula -> Annotated_formula -> Bool
<= :: Annotated_formula -> Annotated_formula -> Bool
$c<= :: Annotated_formula -> Annotated_formula -> Bool
< :: Annotated_formula -> Annotated_formula -> Bool
$c< :: Annotated_formula -> Annotated_formula -> Bool
compare :: Annotated_formula -> Annotated_formula -> Ordering
$ccompare :: Annotated_formula -> Annotated_formula -> Ordering
$cp1Ord :: Eq Annotated_formula
Ord, Annotated_formula -> Annotated_formula -> Bool
(Annotated_formula -> Annotated_formula -> Bool)
-> (Annotated_formula -> Annotated_formula -> Bool)
-> Eq Annotated_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Annotated_formula -> Annotated_formula -> Bool
$c/= :: Annotated_formula -> Annotated_formula -> Bool
== :: Annotated_formula -> Annotated_formula -> Bool
$c== :: Annotated_formula -> Annotated_formula -> Bool
Eq, Typeable Annotated_formula
Constr
DataType
Typeable Annotated_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> Annotated_formula
 -> c Annotated_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c Annotated_formula)
-> (Annotated_formula -> Constr)
-> (Annotated_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c Annotated_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c Annotated_formula))
-> ((forall b. Data b => b -> b)
    -> Annotated_formula -> Annotated_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> Annotated_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> Annotated_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> Annotated_formula -> m Annotated_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> Annotated_formula -> m Annotated_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> Annotated_formula -> m Annotated_formula)
-> Data Annotated_formula
Annotated_formula -> Constr
Annotated_formula -> DataType
(forall b. Data b => b -> b)
-> Annotated_formula -> Annotated_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotated_formula -> c Annotated_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotated_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> Annotated_formula -> u
forall u. (forall d. Data d => d -> u) -> Annotated_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotated_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotated_formula -> c Annotated_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Annotated_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Annotated_formula)
$cAF_TPI_Annotated :: Constr
$cAF_CNF_Annotated :: Constr
$cAF_FOF_Annotated :: Constr
$cAF_TCF_Annotated :: Constr
$cAF_TFF_Annotated :: Constr
$cAF_TFX_Annotated :: Constr
$cAF_THF_Annotated :: Constr
$tAnnotated_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
gmapMp :: (forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
gmapM :: (forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> Annotated_formula -> m Annotated_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> Annotated_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> Annotated_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> Annotated_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Annotated_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Annotated_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> Annotated_formula -> Annotated_formula
$cgmapT :: (forall b. Data b => b -> b)
-> Annotated_formula -> Annotated_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Annotated_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Annotated_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Annotated_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Annotated_formula)
dataTypeOf :: Annotated_formula -> DataType
$cdataTypeOf :: Annotated_formula -> DataType
toConstr :: Annotated_formula -> Constr
$ctoConstr :: Annotated_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotated_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotated_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotated_formula -> c Annotated_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotated_formula -> c Annotated_formula
$cp1Data :: Typeable Annotated_formula
Data, Typeable)

-- <tpi_annotated>        ::= tpi(<name>,<formula_role>,<tpi_formula><annotations>).
data TPI_annotated = TPI_annotated Name Formula_role TPI_formula Annotations
                     deriving (Int -> TPI_annotated -> ShowS
[TPI_annotated] -> ShowS
TPI_annotated -> String
(Int -> TPI_annotated -> ShowS)
-> (TPI_annotated -> String)
-> ([TPI_annotated] -> ShowS)
-> Show TPI_annotated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TPI_annotated] -> ShowS
$cshowList :: [TPI_annotated] -> ShowS
show :: TPI_annotated -> String
$cshow :: TPI_annotated -> String
showsPrec :: Int -> TPI_annotated -> ShowS
$cshowsPrec :: Int -> TPI_annotated -> ShowS
Show, Eq TPI_annotated
Eq TPI_annotated =>
(TPI_annotated -> TPI_annotated -> Ordering)
-> (TPI_annotated -> TPI_annotated -> Bool)
-> (TPI_annotated -> TPI_annotated -> Bool)
-> (TPI_annotated -> TPI_annotated -> Bool)
-> (TPI_annotated -> TPI_annotated -> Bool)
-> (TPI_annotated -> TPI_annotated -> TPI_annotated)
-> (TPI_annotated -> TPI_annotated -> TPI_annotated)
-> Ord TPI_annotated
TPI_annotated -> TPI_annotated -> Bool
TPI_annotated -> TPI_annotated -> Ordering
TPI_annotated -> TPI_annotated -> TPI_annotated
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TPI_annotated -> TPI_annotated -> TPI_annotated
$cmin :: TPI_annotated -> TPI_annotated -> TPI_annotated
max :: TPI_annotated -> TPI_annotated -> TPI_annotated
$cmax :: TPI_annotated -> TPI_annotated -> TPI_annotated
>= :: TPI_annotated -> TPI_annotated -> Bool
$c>= :: TPI_annotated -> TPI_annotated -> Bool
> :: TPI_annotated -> TPI_annotated -> Bool
$c> :: TPI_annotated -> TPI_annotated -> Bool
<= :: TPI_annotated -> TPI_annotated -> Bool
$c<= :: TPI_annotated -> TPI_annotated -> Bool
< :: TPI_annotated -> TPI_annotated -> Bool
$c< :: TPI_annotated -> TPI_annotated -> Bool
compare :: TPI_annotated -> TPI_annotated -> Ordering
$ccompare :: TPI_annotated -> TPI_annotated -> Ordering
$cp1Ord :: Eq TPI_annotated
Ord, TPI_annotated -> TPI_annotated -> Bool
(TPI_annotated -> TPI_annotated -> Bool)
-> (TPI_annotated -> TPI_annotated -> Bool) -> Eq TPI_annotated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TPI_annotated -> TPI_annotated -> Bool
$c/= :: TPI_annotated -> TPI_annotated -> Bool
== :: TPI_annotated -> TPI_annotated -> Bool
$c== :: TPI_annotated -> TPI_annotated -> Bool
Eq, Typeable TPI_annotated
Constr
DataType
Typeable TPI_annotated =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TPI_annotated -> c TPI_annotated)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TPI_annotated)
-> (TPI_annotated -> Constr)
-> (TPI_annotated -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TPI_annotated))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TPI_annotated))
-> ((forall b. Data b => b -> b) -> TPI_annotated -> TPI_annotated)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r)
-> (forall u. (forall d. Data d => d -> u) -> TPI_annotated -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TPI_annotated -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated)
-> Data TPI_annotated
TPI_annotated -> Constr
TPI_annotated -> DataType
(forall b. Data b => b -> b) -> TPI_annotated -> TPI_annotated
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPI_annotated -> c TPI_annotated
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPI_annotated
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TPI_annotated -> u
forall u. (forall d. Data d => d -> u) -> TPI_annotated -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPI_annotated
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPI_annotated -> c TPI_annotated
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TPI_annotated)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TPI_annotated)
$cTPI_annotated :: Constr
$tTPI_annotated :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
gmapMp :: (forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
gmapM :: (forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TPI_annotated -> m TPI_annotated
gmapQi :: Int -> (forall d. Data d => d -> u) -> TPI_annotated -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TPI_annotated -> u
gmapQ :: (forall d. Data d => d -> u) -> TPI_annotated -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TPI_annotated -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TPI_annotated -> r
gmapT :: (forall b. Data b => b -> b) -> TPI_annotated -> TPI_annotated
$cgmapT :: (forall b. Data b => b -> b) -> TPI_annotated -> TPI_annotated
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TPI_annotated)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TPI_annotated)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TPI_annotated)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TPI_annotated)
dataTypeOf :: TPI_annotated -> DataType
$cdataTypeOf :: TPI_annotated -> DataType
toConstr :: TPI_annotated -> Constr
$ctoConstr :: TPI_annotated -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPI_annotated
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TPI_annotated
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPI_annotated -> c TPI_annotated
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TPI_annotated -> c TPI_annotated
$cp1Data :: Typeable TPI_annotated
Data, Typeable)

-- <tpi_formula>          ::= <fof_formula>
type TPI_formula = FOF_formula

-- <thf_annotated>        ::= thf(<name>,<formula_role>,<thf_formula>
--                            <annotations>).
data THF_annotated = THF_annotated Name Formula_role THF_formula Annotations
                     deriving (Int -> THF_annotated -> ShowS
[THF_annotated] -> ShowS
THF_annotated -> String
(Int -> THF_annotated -> ShowS)
-> (THF_annotated -> String)
-> ([THF_annotated] -> ShowS)
-> Show THF_annotated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_annotated] -> ShowS
$cshowList :: [THF_annotated] -> ShowS
show :: THF_annotated -> String
$cshow :: THF_annotated -> String
showsPrec :: Int -> THF_annotated -> ShowS
$cshowsPrec :: Int -> THF_annotated -> ShowS
Show, Eq THF_annotated
Eq THF_annotated =>
(THF_annotated -> THF_annotated -> Ordering)
-> (THF_annotated -> THF_annotated -> Bool)
-> (THF_annotated -> THF_annotated -> Bool)
-> (THF_annotated -> THF_annotated -> Bool)
-> (THF_annotated -> THF_annotated -> Bool)
-> (THF_annotated -> THF_annotated -> THF_annotated)
-> (THF_annotated -> THF_annotated -> THF_annotated)
-> Ord THF_annotated
THF_annotated -> THF_annotated -> Bool
THF_annotated -> THF_annotated -> Ordering
THF_annotated -> THF_annotated -> THF_annotated
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_annotated -> THF_annotated -> THF_annotated
$cmin :: THF_annotated -> THF_annotated -> THF_annotated
max :: THF_annotated -> THF_annotated -> THF_annotated
$cmax :: THF_annotated -> THF_annotated -> THF_annotated
>= :: THF_annotated -> THF_annotated -> Bool
$c>= :: THF_annotated -> THF_annotated -> Bool
> :: THF_annotated -> THF_annotated -> Bool
$c> :: THF_annotated -> THF_annotated -> Bool
<= :: THF_annotated -> THF_annotated -> Bool
$c<= :: THF_annotated -> THF_annotated -> Bool
< :: THF_annotated -> THF_annotated -> Bool
$c< :: THF_annotated -> THF_annotated -> Bool
compare :: THF_annotated -> THF_annotated -> Ordering
$ccompare :: THF_annotated -> THF_annotated -> Ordering
$cp1Ord :: Eq THF_annotated
Ord, THF_annotated -> THF_annotated -> Bool
(THF_annotated -> THF_annotated -> Bool)
-> (THF_annotated -> THF_annotated -> Bool) -> Eq THF_annotated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_annotated -> THF_annotated -> Bool
$c/= :: THF_annotated -> THF_annotated -> Bool
== :: THF_annotated -> THF_annotated -> Bool
$c== :: THF_annotated -> THF_annotated -> Bool
Eq, Typeable THF_annotated
Constr
DataType
Typeable THF_annotated =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_annotated -> c THF_annotated)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_annotated)
-> (THF_annotated -> Constr)
-> (THF_annotated -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_annotated))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_annotated))
-> ((forall b. Data b => b -> b) -> THF_annotated -> THF_annotated)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_annotated -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_annotated -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_annotated -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_annotated -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated)
-> Data THF_annotated
THF_annotated -> Constr
THF_annotated -> DataType
(forall b. Data b => b -> b) -> THF_annotated -> THF_annotated
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_annotated -> c THF_annotated
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_annotated
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_annotated -> u
forall u. (forall d. Data d => d -> u) -> THF_annotated -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_annotated -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_annotated -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_annotated
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_annotated -> c THF_annotated
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_annotated)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_annotated)
$cTHF_annotated :: Constr
$tTHF_annotated :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
gmapMp :: (forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
gmapM :: (forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_annotated -> m THF_annotated
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_annotated -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_annotated -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_annotated -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_annotated -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_annotated -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_annotated -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_annotated -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_annotated -> r
gmapT :: (forall b. Data b => b -> b) -> THF_annotated -> THF_annotated
$cgmapT :: (forall b. Data b => b -> b) -> THF_annotated -> THF_annotated
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_annotated)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_annotated)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_annotated)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_annotated)
dataTypeOf :: THF_annotated -> DataType
$cdataTypeOf :: THF_annotated -> DataType
toConstr :: THF_annotated -> Constr
$ctoConstr :: THF_annotated -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_annotated
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_annotated
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_annotated -> c THF_annotated
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_annotated -> c THF_annotated
$cp1Data :: Typeable THF_annotated
Data, Typeable)

-- <tfx_annotated>        ::= tfx(<name>,<formula_role>,<tfx_formula>
--                            <annotations>).
data TFX_annotated = TFX_annotated Name Formula_role TFX_formula Annotations
                     deriving (Int -> TFX_annotated -> ShowS
[TFX_annotated] -> ShowS
TFX_annotated -> String
(Int -> TFX_annotated -> ShowS)
-> (TFX_annotated -> String)
-> ([TFX_annotated] -> ShowS)
-> Show TFX_annotated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFX_annotated] -> ShowS
$cshowList :: [TFX_annotated] -> ShowS
show :: TFX_annotated -> String
$cshow :: TFX_annotated -> String
showsPrec :: Int -> TFX_annotated -> ShowS
$cshowsPrec :: Int -> TFX_annotated -> ShowS
Show, Eq TFX_annotated
Eq TFX_annotated =>
(TFX_annotated -> TFX_annotated -> Ordering)
-> (TFX_annotated -> TFX_annotated -> Bool)
-> (TFX_annotated -> TFX_annotated -> Bool)
-> (TFX_annotated -> TFX_annotated -> Bool)
-> (TFX_annotated -> TFX_annotated -> Bool)
-> (TFX_annotated -> TFX_annotated -> TFX_annotated)
-> (TFX_annotated -> TFX_annotated -> TFX_annotated)
-> Ord TFX_annotated
TFX_annotated -> TFX_annotated -> Bool
TFX_annotated -> TFX_annotated -> Ordering
TFX_annotated -> TFX_annotated -> TFX_annotated
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFX_annotated -> TFX_annotated -> TFX_annotated
$cmin :: TFX_annotated -> TFX_annotated -> TFX_annotated
max :: TFX_annotated -> TFX_annotated -> TFX_annotated
$cmax :: TFX_annotated -> TFX_annotated -> TFX_annotated
>= :: TFX_annotated -> TFX_annotated -> Bool
$c>= :: TFX_annotated -> TFX_annotated -> Bool
> :: TFX_annotated -> TFX_annotated -> Bool
$c> :: TFX_annotated -> TFX_annotated -> Bool
<= :: TFX_annotated -> TFX_annotated -> Bool
$c<= :: TFX_annotated -> TFX_annotated -> Bool
< :: TFX_annotated -> TFX_annotated -> Bool
$c< :: TFX_annotated -> TFX_annotated -> Bool
compare :: TFX_annotated -> TFX_annotated -> Ordering
$ccompare :: TFX_annotated -> TFX_annotated -> Ordering
$cp1Ord :: Eq TFX_annotated
Ord, TFX_annotated -> TFX_annotated -> Bool
(TFX_annotated -> TFX_annotated -> Bool)
-> (TFX_annotated -> TFX_annotated -> Bool) -> Eq TFX_annotated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFX_annotated -> TFX_annotated -> Bool
$c/= :: TFX_annotated -> TFX_annotated -> Bool
== :: TFX_annotated -> TFX_annotated -> Bool
$c== :: TFX_annotated -> TFX_annotated -> Bool
Eq, Typeable TFX_annotated
Constr
DataType
Typeable TFX_annotated =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFX_annotated -> c TFX_annotated)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFX_annotated)
-> (TFX_annotated -> Constr)
-> (TFX_annotated -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFX_annotated))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFX_annotated))
-> ((forall b. Data b => b -> b) -> TFX_annotated -> TFX_annotated)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r)
-> (forall u. (forall d. Data d => d -> u) -> TFX_annotated -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFX_annotated -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated)
-> Data TFX_annotated
TFX_annotated -> Constr
TFX_annotated -> DataType
(forall b. Data b => b -> b) -> TFX_annotated -> TFX_annotated
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_annotated -> c TFX_annotated
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_annotated
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TFX_annotated -> u
forall u. (forall d. Data d => d -> u) -> TFX_annotated -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_annotated
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_annotated -> c TFX_annotated
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFX_annotated)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_annotated)
$cTFX_annotated :: Constr
$tTFX_annotated :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
gmapMp :: (forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
gmapM :: (forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFX_annotated -> m TFX_annotated
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFX_annotated -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TFX_annotated -> u
gmapQ :: (forall d. Data d => d -> u) -> TFX_annotated -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFX_annotated -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_annotated -> r
gmapT :: (forall b. Data b => b -> b) -> TFX_annotated -> TFX_annotated
$cgmapT :: (forall b. Data b => b -> b) -> TFX_annotated -> TFX_annotated
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_annotated)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_annotated)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFX_annotated)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFX_annotated)
dataTypeOf :: TFX_annotated -> DataType
$cdataTypeOf :: TFX_annotated -> DataType
toConstr :: TFX_annotated -> Constr
$ctoConstr :: TFX_annotated -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_annotated
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_annotated
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_annotated -> c TFX_annotated
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_annotated -> c TFX_annotated
$cp1Data :: Typeable TFX_annotated
Data, Typeable)

-- <tff_annotated>        ::= tff(<name>,<formula_role>,<tff_formula>
--                            <annotations>).
data TFF_annotated = TFF_annotated Name Formula_role TFF_formula Annotations
                     deriving (Int -> TFF_annotated -> ShowS
[TFF_annotated] -> ShowS
TFF_annotated -> String
(Int -> TFF_annotated -> ShowS)
-> (TFF_annotated -> String)
-> ([TFF_annotated] -> ShowS)
-> Show TFF_annotated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_annotated] -> ShowS
$cshowList :: [TFF_annotated] -> ShowS
show :: TFF_annotated -> String
$cshow :: TFF_annotated -> String
showsPrec :: Int -> TFF_annotated -> ShowS
$cshowsPrec :: Int -> TFF_annotated -> ShowS
Show, Eq TFF_annotated
Eq TFF_annotated =>
(TFF_annotated -> TFF_annotated -> Ordering)
-> (TFF_annotated -> TFF_annotated -> Bool)
-> (TFF_annotated -> TFF_annotated -> Bool)
-> (TFF_annotated -> TFF_annotated -> Bool)
-> (TFF_annotated -> TFF_annotated -> Bool)
-> (TFF_annotated -> TFF_annotated -> TFF_annotated)
-> (TFF_annotated -> TFF_annotated -> TFF_annotated)
-> Ord TFF_annotated
TFF_annotated -> TFF_annotated -> Bool
TFF_annotated -> TFF_annotated -> Ordering
TFF_annotated -> TFF_annotated -> TFF_annotated
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_annotated -> TFF_annotated -> TFF_annotated
$cmin :: TFF_annotated -> TFF_annotated -> TFF_annotated
max :: TFF_annotated -> TFF_annotated -> TFF_annotated
$cmax :: TFF_annotated -> TFF_annotated -> TFF_annotated
>= :: TFF_annotated -> TFF_annotated -> Bool
$c>= :: TFF_annotated -> TFF_annotated -> Bool
> :: TFF_annotated -> TFF_annotated -> Bool
$c> :: TFF_annotated -> TFF_annotated -> Bool
<= :: TFF_annotated -> TFF_annotated -> Bool
$c<= :: TFF_annotated -> TFF_annotated -> Bool
< :: TFF_annotated -> TFF_annotated -> Bool
$c< :: TFF_annotated -> TFF_annotated -> Bool
compare :: TFF_annotated -> TFF_annotated -> Ordering
$ccompare :: TFF_annotated -> TFF_annotated -> Ordering
$cp1Ord :: Eq TFF_annotated
Ord, TFF_annotated -> TFF_annotated -> Bool
(TFF_annotated -> TFF_annotated -> Bool)
-> (TFF_annotated -> TFF_annotated -> Bool) -> Eq TFF_annotated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_annotated -> TFF_annotated -> Bool
$c/= :: TFF_annotated -> TFF_annotated -> Bool
== :: TFF_annotated -> TFF_annotated -> Bool
$c== :: TFF_annotated -> TFF_annotated -> Bool
Eq, Typeable TFF_annotated
Constr
DataType
Typeable TFF_annotated =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFF_annotated -> c TFF_annotated)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_annotated)
-> (TFF_annotated -> Constr)
-> (TFF_annotated -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_annotated))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_annotated))
-> ((forall b. Data b => b -> b) -> TFF_annotated -> TFF_annotated)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r)
-> (forall u. (forall d. Data d => d -> u) -> TFF_annotated -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_annotated -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated)
-> Data TFF_annotated
TFF_annotated -> Constr
TFF_annotated -> DataType
(forall b. Data b => b -> b) -> TFF_annotated -> TFF_annotated
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_annotated -> c TFF_annotated
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_annotated
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TFF_annotated -> u
forall u. (forall d. Data d => d -> u) -> TFF_annotated -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_annotated
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_annotated -> c TFF_annotated
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_annotated)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_annotated)
$cTFF_annotated :: Constr
$tTFF_annotated :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
gmapMp :: (forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
gmapM :: (forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_annotated -> m TFF_annotated
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_annotated -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TFF_annotated -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_annotated -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_annotated -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_annotated -> r
gmapT :: (forall b. Data b => b -> b) -> TFF_annotated -> TFF_annotated
$cgmapT :: (forall b. Data b => b -> b) -> TFF_annotated -> TFF_annotated
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_annotated)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_annotated)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_annotated)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_annotated)
dataTypeOf :: TFF_annotated -> DataType
$cdataTypeOf :: TFF_annotated -> DataType
toConstr :: TFF_annotated -> Constr
$ctoConstr :: TFF_annotated -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_annotated
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_annotated
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_annotated -> c TFF_annotated
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_annotated -> c TFF_annotated
$cp1Data :: Typeable TFF_annotated
Data, Typeable)

-- <tcf_annotated>        ::= tcf(<name>,<formula_role>,<tcf_formula>
--                            <annotations>).
data TCF_annotated = TCF_annotated Name Formula_role TCF_formula Annotations
                     deriving (Int -> TCF_annotated -> ShowS
[TCF_annotated] -> ShowS
TCF_annotated -> String
(Int -> TCF_annotated -> ShowS)
-> (TCF_annotated -> String)
-> ([TCF_annotated] -> ShowS)
-> Show TCF_annotated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TCF_annotated] -> ShowS
$cshowList :: [TCF_annotated] -> ShowS
show :: TCF_annotated -> String
$cshow :: TCF_annotated -> String
showsPrec :: Int -> TCF_annotated -> ShowS
$cshowsPrec :: Int -> TCF_annotated -> ShowS
Show, Eq TCF_annotated
Eq TCF_annotated =>
(TCF_annotated -> TCF_annotated -> Ordering)
-> (TCF_annotated -> TCF_annotated -> Bool)
-> (TCF_annotated -> TCF_annotated -> Bool)
-> (TCF_annotated -> TCF_annotated -> Bool)
-> (TCF_annotated -> TCF_annotated -> Bool)
-> (TCF_annotated -> TCF_annotated -> TCF_annotated)
-> (TCF_annotated -> TCF_annotated -> TCF_annotated)
-> Ord TCF_annotated
TCF_annotated -> TCF_annotated -> Bool
TCF_annotated -> TCF_annotated -> Ordering
TCF_annotated -> TCF_annotated -> TCF_annotated
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TCF_annotated -> TCF_annotated -> TCF_annotated
$cmin :: TCF_annotated -> TCF_annotated -> TCF_annotated
max :: TCF_annotated -> TCF_annotated -> TCF_annotated
$cmax :: TCF_annotated -> TCF_annotated -> TCF_annotated
>= :: TCF_annotated -> TCF_annotated -> Bool
$c>= :: TCF_annotated -> TCF_annotated -> Bool
> :: TCF_annotated -> TCF_annotated -> Bool
$c> :: TCF_annotated -> TCF_annotated -> Bool
<= :: TCF_annotated -> TCF_annotated -> Bool
$c<= :: TCF_annotated -> TCF_annotated -> Bool
< :: TCF_annotated -> TCF_annotated -> Bool
$c< :: TCF_annotated -> TCF_annotated -> Bool
compare :: TCF_annotated -> TCF_annotated -> Ordering
$ccompare :: TCF_annotated -> TCF_annotated -> Ordering
$cp1Ord :: Eq TCF_annotated
Ord, TCF_annotated -> TCF_annotated -> Bool
(TCF_annotated -> TCF_annotated -> Bool)
-> (TCF_annotated -> TCF_annotated -> Bool) -> Eq TCF_annotated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TCF_annotated -> TCF_annotated -> Bool
$c/= :: TCF_annotated -> TCF_annotated -> Bool
== :: TCF_annotated -> TCF_annotated -> Bool
$c== :: TCF_annotated -> TCF_annotated -> Bool
Eq, Typeable TCF_annotated
Constr
DataType
Typeable TCF_annotated =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TCF_annotated -> c TCF_annotated)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TCF_annotated)
-> (TCF_annotated -> Constr)
-> (TCF_annotated -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TCF_annotated))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TCF_annotated))
-> ((forall b. Data b => b -> b) -> TCF_annotated -> TCF_annotated)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r)
-> (forall u. (forall d. Data d => d -> u) -> TCF_annotated -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TCF_annotated -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated)
-> Data TCF_annotated
TCF_annotated -> Constr
TCF_annotated -> DataType
(forall b. Data b => b -> b) -> TCF_annotated -> TCF_annotated
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TCF_annotated -> c TCF_annotated
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TCF_annotated
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TCF_annotated -> u
forall u. (forall d. Data d => d -> u) -> TCF_annotated -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TCF_annotated
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TCF_annotated -> c TCF_annotated
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TCF_annotated)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TCF_annotated)
$cTCF_annotated :: Constr
$tTCF_annotated :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
gmapMp :: (forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
gmapM :: (forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TCF_annotated -> m TCF_annotated
gmapQi :: Int -> (forall d. Data d => d -> u) -> TCF_annotated -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TCF_annotated -> u
gmapQ :: (forall d. Data d => d -> u) -> TCF_annotated -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TCF_annotated -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TCF_annotated -> r
gmapT :: (forall b. Data b => b -> b) -> TCF_annotated -> TCF_annotated
$cgmapT :: (forall b. Data b => b -> b) -> TCF_annotated -> TCF_annotated
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TCF_annotated)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TCF_annotated)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TCF_annotated)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TCF_annotated)
dataTypeOf :: TCF_annotated -> DataType
$cdataTypeOf :: TCF_annotated -> DataType
toConstr :: TCF_annotated -> Constr
$ctoConstr :: TCF_annotated -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TCF_annotated
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TCF_annotated
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TCF_annotated -> c TCF_annotated
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TCF_annotated -> c TCF_annotated
$cp1Data :: Typeable TCF_annotated
Data, Typeable)

-- <fof_annotated>        ::= fof(<name>,<formula_role>,<fof_formula>
--                            <annotations>).
data FOF_annotated = FOF_annotated Name Formula_role FOF_formula Annotations
                     deriving (Int -> FOF_annotated -> ShowS
[FOF_annotated] -> ShowS
FOF_annotated -> String
(Int -> FOF_annotated -> ShowS)
-> (FOF_annotated -> String)
-> ([FOF_annotated] -> ShowS)
-> Show FOF_annotated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FOF_annotated] -> ShowS
$cshowList :: [FOF_annotated] -> ShowS
show :: FOF_annotated -> String
$cshow :: FOF_annotated -> String
showsPrec :: Int -> FOF_annotated -> ShowS
$cshowsPrec :: Int -> FOF_annotated -> ShowS
Show, Eq FOF_annotated
Eq FOF_annotated =>
(FOF_annotated -> FOF_annotated -> Ordering)
-> (FOF_annotated -> FOF_annotated -> Bool)
-> (FOF_annotated -> FOF_annotated -> Bool)
-> (FOF_annotated -> FOF_annotated -> Bool)
-> (FOF_annotated -> FOF_annotated -> Bool)
-> (FOF_annotated -> FOF_annotated -> FOF_annotated)
-> (FOF_annotated -> FOF_annotated -> FOF_annotated)
-> Ord FOF_annotated
FOF_annotated -> FOF_annotated -> Bool
FOF_annotated -> FOF_annotated -> Ordering
FOF_annotated -> FOF_annotated -> FOF_annotated
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: FOF_annotated -> FOF_annotated -> FOF_annotated
$cmin :: FOF_annotated -> FOF_annotated -> FOF_annotated
max :: FOF_annotated -> FOF_annotated -> FOF_annotated
$cmax :: FOF_annotated -> FOF_annotated -> FOF_annotated
>= :: FOF_annotated -> FOF_annotated -> Bool
$c>= :: FOF_annotated -> FOF_annotated -> Bool
> :: FOF_annotated -> FOF_annotated -> Bool
$c> :: FOF_annotated -> FOF_annotated -> Bool
<= :: FOF_annotated -> FOF_annotated -> Bool
$c<= :: FOF_annotated -> FOF_annotated -> Bool
< :: FOF_annotated -> FOF_annotated -> Bool
$c< :: FOF_annotated -> FOF_annotated -> Bool
compare :: FOF_annotated -> FOF_annotated -> Ordering
$ccompare :: FOF_annotated -> FOF_annotated -> Ordering
$cp1Ord :: Eq FOF_annotated
Ord, FOF_annotated -> FOF_annotated -> Bool
(FOF_annotated -> FOF_annotated -> Bool)
-> (FOF_annotated -> FOF_annotated -> Bool) -> Eq FOF_annotated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FOF_annotated -> FOF_annotated -> Bool
$c/= :: FOF_annotated -> FOF_annotated -> Bool
== :: FOF_annotated -> FOF_annotated -> Bool
$c== :: FOF_annotated -> FOF_annotated -> Bool
Eq, Typeable FOF_annotated
Constr
DataType
Typeable FOF_annotated =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> FOF_annotated -> c FOF_annotated)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c FOF_annotated)
-> (FOF_annotated -> Constr)
-> (FOF_annotated -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c FOF_annotated))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c FOF_annotated))
-> ((forall b. Data b => b -> b) -> FOF_annotated -> FOF_annotated)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r)
-> (forall u. (forall d. Data d => d -> u) -> FOF_annotated -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> FOF_annotated -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated)
-> Data FOF_annotated
FOF_annotated -> Constr
FOF_annotated -> DataType
(forall b. Data b => b -> b) -> FOF_annotated -> FOF_annotated
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> FOF_annotated -> c FOF_annotated
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c FOF_annotated
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> FOF_annotated -> u
forall u. (forall d. Data d => d -> u) -> FOF_annotated -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c FOF_annotated
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> FOF_annotated -> c FOF_annotated
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c FOF_annotated)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c FOF_annotated)
$cFOF_annotated :: Constr
$tFOF_annotated :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
gmapMp :: (forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
gmapM :: (forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> FOF_annotated -> m FOF_annotated
gmapQi :: Int -> (forall d. Data d => d -> u) -> FOF_annotated -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> FOF_annotated -> u
gmapQ :: (forall d. Data d => d -> u) -> FOF_annotated -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> FOF_annotated -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> FOF_annotated -> r
gmapT :: (forall b. Data b => b -> b) -> FOF_annotated -> FOF_annotated
$cgmapT :: (forall b. Data b => b -> b) -> FOF_annotated -> FOF_annotated
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c FOF_annotated)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c FOF_annotated)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c FOF_annotated)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c FOF_annotated)
dataTypeOf :: FOF_annotated -> DataType
$cdataTypeOf :: FOF_annotated -> DataType
toConstr :: FOF_annotated -> Constr
$ctoConstr :: FOF_annotated -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c FOF_annotated
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c FOF_annotated
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> FOF_annotated -> c FOF_annotated
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> FOF_annotated -> c FOF_annotated
$cp1Data :: Typeable FOF_annotated
Data, Typeable)

-- <cnf_annotated>        ::= cnf(<name>,<formula_role>,<cnf_formula>
--                            <annotations>).
data CNF_annotated = CNF_annotated Name Formula_role CNF_formula Annotations
                     deriving (Int -> CNF_annotated -> ShowS
[CNF_annotated] -> ShowS
CNF_annotated -> String
(Int -> CNF_annotated -> ShowS)
-> (CNF_annotated -> String)
-> ([CNF_annotated] -> ShowS)
-> Show CNF_annotated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CNF_annotated] -> ShowS
$cshowList :: [CNF_annotated] -> ShowS
show :: CNF_annotated -> String
$cshow :: CNF_annotated -> String
showsPrec :: Int -> CNF_annotated -> ShowS
$cshowsPrec :: Int -> CNF_annotated -> ShowS
Show, Eq CNF_annotated
Eq CNF_annotated =>
(CNF_annotated -> CNF_annotated -> Ordering)
-> (CNF_annotated -> CNF_annotated -> Bool)
-> (CNF_annotated -> CNF_annotated -> Bool)
-> (CNF_annotated -> CNF_annotated -> Bool)
-> (CNF_annotated -> CNF_annotated -> Bool)
-> (CNF_annotated -> CNF_annotated -> CNF_annotated)
-> (CNF_annotated -> CNF_annotated -> CNF_annotated)
-> Ord CNF_annotated
CNF_annotated -> CNF_annotated -> Bool
CNF_annotated -> CNF_annotated -> Ordering
CNF_annotated -> CNF_annotated -> CNF_annotated
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: CNF_annotated -> CNF_annotated -> CNF_annotated
$cmin :: CNF_annotated -> CNF_annotated -> CNF_annotated
max :: CNF_annotated -> CNF_annotated -> CNF_annotated
$cmax :: CNF_annotated -> CNF_annotated -> CNF_annotated
>= :: CNF_annotated -> CNF_annotated -> Bool
$c>= :: CNF_annotated -> CNF_annotated -> Bool
> :: CNF_annotated -> CNF_annotated -> Bool
$c> :: CNF_annotated -> CNF_annotated -> Bool
<= :: CNF_annotated -> CNF_annotated -> Bool
$c<= :: CNF_annotated -> CNF_annotated -> Bool
< :: CNF_annotated -> CNF_annotated -> Bool
$c< :: CNF_annotated -> CNF_annotated -> Bool
compare :: CNF_annotated -> CNF_annotated -> Ordering
$ccompare :: CNF_annotated -> CNF_annotated -> Ordering
$cp1Ord :: Eq CNF_annotated
Ord, CNF_annotated -> CNF_annotated -> Bool
(CNF_annotated -> CNF_annotated -> Bool)
-> (CNF_annotated -> CNF_annotated -> Bool) -> Eq CNF_annotated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CNF_annotated -> CNF_annotated -> Bool
$c/= :: CNF_annotated -> CNF_annotated -> Bool
== :: CNF_annotated -> CNF_annotated -> Bool
$c== :: CNF_annotated -> CNF_annotated -> Bool
Eq, Typeable CNF_annotated
Constr
DataType
Typeable CNF_annotated =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> CNF_annotated -> c CNF_annotated)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c CNF_annotated)
-> (CNF_annotated -> Constr)
-> (CNF_annotated -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c CNF_annotated))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c CNF_annotated))
-> ((forall b. Data b => b -> b) -> CNF_annotated -> CNF_annotated)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r)
-> (forall u. (forall d. Data d => d -> u) -> CNF_annotated -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> CNF_annotated -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated)
-> Data CNF_annotated
CNF_annotated -> Constr
CNF_annotated -> DataType
(forall b. Data b => b -> b) -> CNF_annotated -> CNF_annotated
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> CNF_annotated -> c CNF_annotated
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c CNF_annotated
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> CNF_annotated -> u
forall u. (forall d. Data d => d -> u) -> CNF_annotated -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c CNF_annotated
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> CNF_annotated -> c CNF_annotated
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c CNF_annotated)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c CNF_annotated)
$cCNF_annotated :: Constr
$tCNF_annotated :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
gmapMp :: (forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
gmapM :: (forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> CNF_annotated -> m CNF_annotated
gmapQi :: Int -> (forall d. Data d => d -> u) -> CNF_annotated -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> CNF_annotated -> u
gmapQ :: (forall d. Data d => d -> u) -> CNF_annotated -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> CNF_annotated -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> CNF_annotated -> r
gmapT :: (forall b. Data b => b -> b) -> CNF_annotated -> CNF_annotated
$cgmapT :: (forall b. Data b => b -> b) -> CNF_annotated -> CNF_annotated
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c CNF_annotated)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c CNF_annotated)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c CNF_annotated)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c CNF_annotated)
dataTypeOf :: CNF_annotated -> DataType
$cdataTypeOf :: CNF_annotated -> DataType
toConstr :: CNF_annotated -> Constr
$ctoConstr :: CNF_annotated -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c CNF_annotated
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c CNF_annotated
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> CNF_annotated -> c CNF_annotated
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> CNF_annotated -> c CNF_annotated
$cp1Data :: Typeable CNF_annotated
Data, Typeable)

name :: Annotated_formula -> Name
name :: Annotated_formula -> Name
name f :: Annotated_formula
f = case Annotated_formula
f of
  AF_THF_Annotated (THF_annotated n :: Name
n _ _ _) -> Name
n
  AF_TFX_Annotated (TFX_annotated n :: Name
n _ _ _) -> Name
n
  AF_TFF_Annotated (TFF_annotated n :: Name
n _ _ _) -> Name
n
  AF_TCF_Annotated (TCF_annotated n :: Name
n _ _ _) -> Name
n
  AF_FOF_Annotated (FOF_annotated n :: Name
n _ _ _) -> Name
n
  AF_CNF_Annotated (CNF_annotated n :: Name
n _ _ _) -> Name
n
  AF_TPI_Annotated (TPI_annotated n :: Name
n _ _ _) -> Name
n

formulaRole :: Annotated_formula -> Formula_role
formulaRole :: Annotated_formula -> Formula_role
formulaRole f :: Annotated_formula
f = case Annotated_formula
f of
  AF_THF_Annotated (THF_annotated _ r :: Formula_role
r _ _) -> Formula_role
r
  AF_TFX_Annotated (TFX_annotated _ r :: Formula_role
r _ _) -> Formula_role
r
  AF_TFF_Annotated (TFF_annotated _ r :: Formula_role
r _ _) -> Formula_role
r
  AF_TCF_Annotated (TCF_annotated _ r :: Formula_role
r _ _) -> Formula_role
r
  AF_FOF_Annotated (FOF_annotated _ r :: Formula_role
r _ _) -> Formula_role
r
  AF_CNF_Annotated (CNF_annotated _ r :: Formula_role
r _ _) -> Formula_role
r
  AF_TPI_Annotated (TPI_annotated _ r :: Formula_role
r _ _) -> Formula_role
r

annotations :: Annotated_formula -> Annotations
annotations :: Annotated_formula -> Annotations
annotations f :: Annotated_formula
f = case Annotated_formula
f of
  AF_THF_Annotated (THF_annotated _ _ _ a :: Annotations
a) -> Annotations
a
  AF_TFX_Annotated (TFX_annotated _ _ _ a :: Annotations
a) -> Annotations
a
  AF_TFF_Annotated (TFF_annotated _ _ _ a :: Annotations
a) -> Annotations
a
  AF_TCF_Annotated (TCF_annotated _ _ _ a :: Annotations
a) -> Annotations
a
  AF_FOF_Annotated (FOF_annotated _ _ _ a :: Annotations
a) -> Annotations
a
  AF_CNF_Annotated (CNF_annotated _ _ _ a :: Annotations
a) -> Annotations
a
  AF_TPI_Annotated (TPI_annotated _ _ _ a :: Annotations
a) -> Annotations
a

-- <annotations>          ::= ,<source><optional_info> | <null>
newtype Annotations = Annotations (Maybe (Source, Optional_info))
                      deriving (Int -> Annotations -> ShowS
[Annotations] -> ShowS
Annotations -> String
(Int -> Annotations -> ShowS)
-> (Annotations -> String)
-> ([Annotations] -> ShowS)
-> Show Annotations
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Annotations] -> ShowS
$cshowList :: [Annotations] -> ShowS
show :: Annotations -> String
$cshow :: Annotations -> String
showsPrec :: Int -> Annotations -> ShowS
$cshowsPrec :: Int -> Annotations -> ShowS
Show, Eq Annotations
Eq Annotations =>
(Annotations -> Annotations -> Ordering)
-> (Annotations -> Annotations -> Bool)
-> (Annotations -> Annotations -> Bool)
-> (Annotations -> Annotations -> Bool)
-> (Annotations -> Annotations -> Bool)
-> (Annotations -> Annotations -> Annotations)
-> (Annotations -> Annotations -> Annotations)
-> Ord Annotations
Annotations -> Annotations -> Bool
Annotations -> Annotations -> Ordering
Annotations -> Annotations -> Annotations
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Annotations -> Annotations -> Annotations
$cmin :: Annotations -> Annotations -> Annotations
max :: Annotations -> Annotations -> Annotations
$cmax :: Annotations -> Annotations -> Annotations
>= :: Annotations -> Annotations -> Bool
$c>= :: Annotations -> Annotations -> Bool
> :: Annotations -> Annotations -> Bool
$c> :: Annotations -> Annotations -> Bool
<= :: Annotations -> Annotations -> Bool
$c<= :: Annotations -> Annotations -> Bool
< :: Annotations -> Annotations -> Bool
$c< :: Annotations -> Annotations -> Bool
compare :: Annotations -> Annotations -> Ordering
$ccompare :: Annotations -> Annotations -> Ordering
$cp1Ord :: Eq Annotations
Ord, Annotations -> Annotations -> Bool
(Annotations -> Annotations -> Bool)
-> (Annotations -> Annotations -> Bool) -> Eq Annotations
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Annotations -> Annotations -> Bool
$c/= :: Annotations -> Annotations -> Bool
== :: Annotations -> Annotations -> Bool
$c== :: Annotations -> Annotations -> Bool
Eq, Typeable Annotations
Constr
DataType
Typeable Annotations =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> Annotations -> c Annotations)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c Annotations)
-> (Annotations -> Constr)
-> (Annotations -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c Annotations))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c Annotations))
-> ((forall b. Data b => b -> b) -> Annotations -> Annotations)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> Annotations -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> Annotations -> r)
-> (forall u. (forall d. Data d => d -> u) -> Annotations -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> Annotations -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> Annotations -> m Annotations)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Annotations -> m Annotations)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Annotations -> m Annotations)
-> Data Annotations
Annotations -> Constr
Annotations -> DataType
(forall b. Data b => b -> b) -> Annotations -> Annotations
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotations -> c Annotations
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotations
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> Annotations -> u
forall u. (forall d. Data d => d -> u) -> Annotations -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Annotations -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Annotations -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Annotations -> m Annotations
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Annotations -> m Annotations
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotations
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotations -> c Annotations
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Annotations)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Annotations)
$cAnnotations :: Constr
$tAnnotations :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> Annotations -> m Annotations
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Annotations -> m Annotations
gmapMp :: (forall d. Data d => d -> m d) -> Annotations -> m Annotations
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Annotations -> m Annotations
gmapM :: (forall d. Data d => d -> m d) -> Annotations -> m Annotations
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Annotations -> m Annotations
gmapQi :: Int -> (forall d. Data d => d -> u) -> Annotations -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Annotations -> u
gmapQ :: (forall d. Data d => d -> u) -> Annotations -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Annotations -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Annotations -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Annotations -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Annotations -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Annotations -> r
gmapT :: (forall b. Data b => b -> b) -> Annotations -> Annotations
$cgmapT :: (forall b. Data b => b -> b) -> Annotations -> Annotations
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Annotations)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Annotations)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Annotations)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Annotations)
dataTypeOf :: Annotations -> DataType
$cdataTypeOf :: Annotations -> DataType
toConstr :: Annotations -> Constr
$ctoConstr :: Annotations -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotations
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Annotations
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotations -> c Annotations
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Annotations -> c Annotations
$cp1Data :: Typeable Annotations
Data, Typeable)

-- Types for problems

-- %----Types for problems.
-- <formula_role>         ::= <lower_word>
-- <formula_role>         :== axiom | hypothesis | definition | assumption |
--                            lemma | theorem | corollary | conjecture |
--                            negated_conjecture | plain | type |
--                            fi_domain | fi_functors | fi_predicates | unknown
data Formula_role = Axiom
                  | Hypothesis
                  | Definition
                  | Assumption
                  | Lemma
                  | Theorem
                  | Corollary
                  | Conjecture
                  | Negated_conjecture
                  | Plain
                  | Type
                  | Fi_domain
                  | Fi_functors
                  | Fi_predicates
                  | Unknown
                  | Other_formula_role Token
                    -- ^ For future updates. Should not be used.
                    deriving (Int -> Formula_role -> ShowS
[Formula_role] -> ShowS
Formula_role -> String
(Int -> Formula_role -> ShowS)
-> (Formula_role -> String)
-> ([Formula_role] -> ShowS)
-> Show Formula_role
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Formula_role] -> ShowS
$cshowList :: [Formula_role] -> ShowS
show :: Formula_role -> String
$cshow :: Formula_role -> String
showsPrec :: Int -> Formula_role -> ShowS
$cshowsPrec :: Int -> Formula_role -> ShowS
Show, Eq Formula_role
Eq Formula_role =>
(Formula_role -> Formula_role -> Ordering)
-> (Formula_role -> Formula_role -> Bool)
-> (Formula_role -> Formula_role -> Bool)
-> (Formula_role -> Formula_role -> Bool)
-> (Formula_role -> Formula_role -> Bool)
-> (Formula_role -> Formula_role -> Formula_role)
-> (Formula_role -> Formula_role -> Formula_role)
-> Ord Formula_role
Formula_role -> Formula_role -> Bool
Formula_role -> Formula_role -> Ordering
Formula_role -> Formula_role -> Formula_role
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Formula_role -> Formula_role -> Formula_role
$cmin :: Formula_role -> Formula_role -> Formula_role
max :: Formula_role -> Formula_role -> Formula_role
$cmax :: Formula_role -> Formula_role -> Formula_role
>= :: Formula_role -> Formula_role -> Bool
$c>= :: Formula_role -> Formula_role -> Bool
> :: Formula_role -> Formula_role -> Bool
$c> :: Formula_role -> Formula_role -> Bool
<= :: Formula_role -> Formula_role -> Bool
$c<= :: Formula_role -> Formula_role -> Bool
< :: Formula_role -> Formula_role -> Bool
$c< :: Formula_role -> Formula_role -> Bool
compare :: Formula_role -> Formula_role -> Ordering
$ccompare :: Formula_role -> Formula_role -> Ordering
$cp1Ord :: Eq Formula_role
Ord, Formula_role -> Formula_role -> Bool
(Formula_role -> Formula_role -> Bool)
-> (Formula_role -> Formula_role -> Bool) -> Eq Formula_role
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Formula_role -> Formula_role -> Bool
$c/= :: Formula_role -> Formula_role -> Bool
== :: Formula_role -> Formula_role -> Bool
$c== :: Formula_role -> Formula_role -> Bool
Eq, Typeable Formula_role
Constr
DataType
Typeable Formula_role =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> Formula_role -> c Formula_role)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c Formula_role)
-> (Formula_role -> Constr)
-> (Formula_role -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c Formula_role))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c Formula_role))
-> ((forall b. Data b => b -> b) -> Formula_role -> Formula_role)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> Formula_role -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> Formula_role -> r)
-> (forall u. (forall d. Data d => d -> u) -> Formula_role -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> Formula_role -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> Formula_role -> m Formula_role)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Formula_role -> m Formula_role)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> Formula_role -> m Formula_role)
-> Data Formula_role
Formula_role -> Constr
Formula_role -> DataType
(forall b. Data b => b -> b) -> Formula_role -> Formula_role
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Formula_role -> c Formula_role
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Formula_role
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> Formula_role -> u
forall u. (forall d. Data d => d -> u) -> Formula_role -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Formula_role -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Formula_role -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Formula_role
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Formula_role -> c Formula_role
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Formula_role)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Formula_role)
$cOther_formula_role :: Constr
$cUnknown :: Constr
$cFi_predicates :: Constr
$cFi_functors :: Constr
$cFi_domain :: Constr
$cType :: Constr
$cPlain :: Constr
$cNegated_conjecture :: Constr
$cConjecture :: Constr
$cCorollary :: Constr
$cTheorem :: Constr
$cLemma :: Constr
$cAssumption :: Constr
$cDefinition :: Constr
$cHypothesis :: Constr
$cAxiom :: Constr
$tFormula_role :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
gmapMp :: (forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
gmapM :: (forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Formula_role -> m Formula_role
gmapQi :: Int -> (forall d. Data d => d -> u) -> Formula_role -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Formula_role -> u
gmapQ :: (forall d. Data d => d -> u) -> Formula_role -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Formula_role -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Formula_role -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Formula_role -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Formula_role -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Formula_role -> r
gmapT :: (forall b. Data b => b -> b) -> Formula_role -> Formula_role
$cgmapT :: (forall b. Data b => b -> b) -> Formula_role -> Formula_role
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Formula_role)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c Formula_role)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Formula_role)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Formula_role)
dataTypeOf :: Formula_role -> DataType
$cdataTypeOf :: Formula_role -> DataType
toConstr :: Formula_role -> Constr
$ctoConstr :: Formula_role -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Formula_role
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Formula_role
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Formula_role -> c Formula_role
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Formula_role -> c Formula_role
$cp1Data :: Typeable Formula_role
Data, Typeable)

-- %----THF formulae.
-- <thf_formula>          ::= <thf_logic_formula> | <thf_sequent>
data THF_formula = THFF_logic THF_logic_formula
                 | THFF_sequent THF_sequent
                   deriving (Int -> THF_formula -> ShowS
[THF_formula] -> ShowS
THF_formula -> String
(Int -> THF_formula -> ShowS)
-> (THF_formula -> String)
-> ([THF_formula] -> ShowS)
-> Show THF_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_formula] -> ShowS
$cshowList :: [THF_formula] -> ShowS
show :: THF_formula -> String
$cshow :: THF_formula -> String
showsPrec :: Int -> THF_formula -> ShowS
$cshowsPrec :: Int -> THF_formula -> ShowS
Show, Eq THF_formula
Eq THF_formula =>
(THF_formula -> THF_formula -> Ordering)
-> (THF_formula -> THF_formula -> Bool)
-> (THF_formula -> THF_formula -> Bool)
-> (THF_formula -> THF_formula -> Bool)
-> (THF_formula -> THF_formula -> Bool)
-> (THF_formula -> THF_formula -> THF_formula)
-> (THF_formula -> THF_formula -> THF_formula)
-> Ord THF_formula
THF_formula -> THF_formula -> Bool
THF_formula -> THF_formula -> Ordering
THF_formula -> THF_formula -> THF_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_formula -> THF_formula -> THF_formula
$cmin :: THF_formula -> THF_formula -> THF_formula
max :: THF_formula -> THF_formula -> THF_formula
$cmax :: THF_formula -> THF_formula -> THF_formula
>= :: THF_formula -> THF_formula -> Bool
$c>= :: THF_formula -> THF_formula -> Bool
> :: THF_formula -> THF_formula -> Bool
$c> :: THF_formula -> THF_formula -> Bool
<= :: THF_formula -> THF_formula -> Bool
$c<= :: THF_formula -> THF_formula -> Bool
< :: THF_formula -> THF_formula -> Bool
$c< :: THF_formula -> THF_formula -> Bool
compare :: THF_formula -> THF_formula -> Ordering
$ccompare :: THF_formula -> THF_formula -> Ordering
$cp1Ord :: Eq THF_formula
Ord, THF_formula -> THF_formula -> Bool
(THF_formula -> THF_formula -> Bool)
-> (THF_formula -> THF_formula -> Bool) -> Eq THF_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_formula -> THF_formula -> Bool
$c/= :: THF_formula -> THF_formula -> Bool
== :: THF_formula -> THF_formula -> Bool
$c== :: THF_formula -> THF_formula -> Bool
Eq, Typeable THF_formula
Constr
DataType
Typeable THF_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_formula -> c THF_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_formula)
-> (THF_formula -> Constr)
-> (THF_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_formula))
-> ((forall b. Data b => b -> b) -> THF_formula -> THF_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_formula -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_formula -> m THF_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_formula -> m THF_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_formula -> m THF_formula)
-> Data THF_formula
THF_formula -> Constr
THF_formula -> DataType
(forall b. Data b => b -> b) -> THF_formula -> THF_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_formula -> c THF_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_formula -> u
forall u. (forall d. Data d => d -> u) -> THF_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_formula -> c THF_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_formula)
$cTHFF_sequent :: Constr
$cTHFF_logic :: Constr
$tTHF_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
gmapMp :: (forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
gmapM :: (forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_formula -> m THF_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_formula -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_formula -> r
gmapT :: (forall b. Data b => b -> b) -> THF_formula -> THF_formula
$cgmapT :: (forall b. Data b => b -> b) -> THF_formula -> THF_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_formula)
dataTypeOf :: THF_formula -> DataType
$cdataTypeOf :: THF_formula -> DataType
toConstr :: THF_formula -> Constr
$ctoConstr :: THF_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_formula -> c THF_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_formula -> c THF_formula
$cp1Data :: Typeable THF_formula
Data, Typeable)

-- <thf_logic_formula>    ::= <thf_binary_formula> | <thf_unitary_formula> |
--                            <thf_type_formula> | <thf_subtype>
data THF_logic_formula = THFLF_binary THF_binary_formula
                       | THFLF_unitary THF_unitary_formula
                       | THFLF_type THF_type_formula
                       | THFLF_subtype THF_subtype
                         deriving (Int -> THF_logic_formula -> ShowS
[THF_logic_formula] -> ShowS
THF_logic_formula -> String
(Int -> THF_logic_formula -> ShowS)
-> (THF_logic_formula -> String)
-> ([THF_logic_formula] -> ShowS)
-> Show THF_logic_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_logic_formula] -> ShowS
$cshowList :: [THF_logic_formula] -> ShowS
show :: THF_logic_formula -> String
$cshow :: THF_logic_formula -> String
showsPrec :: Int -> THF_logic_formula -> ShowS
$cshowsPrec :: Int -> THF_logic_formula -> ShowS
Show, Eq THF_logic_formula
Eq THF_logic_formula =>
(THF_logic_formula -> THF_logic_formula -> Ordering)
-> (THF_logic_formula -> THF_logic_formula -> Bool)
-> (THF_logic_formula -> THF_logic_formula -> Bool)
-> (THF_logic_formula -> THF_logic_formula -> Bool)
-> (THF_logic_formula -> THF_logic_formula -> Bool)
-> (THF_logic_formula -> THF_logic_formula -> THF_logic_formula)
-> (THF_logic_formula -> THF_logic_formula -> THF_logic_formula)
-> Ord THF_logic_formula
THF_logic_formula -> THF_logic_formula -> Bool
THF_logic_formula -> THF_logic_formula -> Ordering
THF_logic_formula -> THF_logic_formula -> THF_logic_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_logic_formula -> THF_logic_formula -> THF_logic_formula
$cmin :: THF_logic_formula -> THF_logic_formula -> THF_logic_formula
max :: THF_logic_formula -> THF_logic_formula -> THF_logic_formula
$cmax :: THF_logic_formula -> THF_logic_formula -> THF_logic_formula
>= :: THF_logic_formula -> THF_logic_formula -> Bool
$c>= :: THF_logic_formula -> THF_logic_formula -> Bool
> :: THF_logic_formula -> THF_logic_formula -> Bool
$c> :: THF_logic_formula -> THF_logic_formula -> Bool
<= :: THF_logic_formula -> THF_logic_formula -> Bool
$c<= :: THF_logic_formula -> THF_logic_formula -> Bool
< :: THF_logic_formula -> THF_logic_formula -> Bool
$c< :: THF_logic_formula -> THF_logic_formula -> Bool
compare :: THF_logic_formula -> THF_logic_formula -> Ordering
$ccompare :: THF_logic_formula -> THF_logic_formula -> Ordering
$cp1Ord :: Eq THF_logic_formula
Ord, THF_logic_formula -> THF_logic_formula -> Bool
(THF_logic_formula -> THF_logic_formula -> Bool)
-> (THF_logic_formula -> THF_logic_formula -> Bool)
-> Eq THF_logic_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_logic_formula -> THF_logic_formula -> Bool
$c/= :: THF_logic_formula -> THF_logic_formula -> Bool
== :: THF_logic_formula -> THF_logic_formula -> Bool
$c== :: THF_logic_formula -> THF_logic_formula -> Bool
Eq, Typeable THF_logic_formula
Constr
DataType
Typeable THF_logic_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_logic_formula
 -> c THF_logic_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_logic_formula)
-> (THF_logic_formula -> Constr)
-> (THF_logic_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_logic_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_logic_formula))
-> ((forall b. Data b => b -> b)
    -> THF_logic_formula -> THF_logic_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_logic_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_logic_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_logic_formula -> m THF_logic_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_logic_formula -> m THF_logic_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_logic_formula -> m THF_logic_formula)
-> Data THF_logic_formula
THF_logic_formula -> Constr
THF_logic_formula -> DataType
(forall b. Data b => b -> b)
-> THF_logic_formula -> THF_logic_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_logic_formula -> c THF_logic_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_logic_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_logic_formula -> u
forall u. (forall d. Data d => d -> u) -> THF_logic_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_logic_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_logic_formula -> c THF_logic_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_logic_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_logic_formula)
$cTHFLF_subtype :: Constr
$cTHFLF_type :: Constr
$cTHFLF_unitary :: Constr
$cTHFLF_binary :: Constr
$tTHF_logic_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
gmapMp :: (forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
gmapM :: (forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_logic_formula -> m THF_logic_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_logic_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_logic_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_logic_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_logic_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_logic_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_logic_formula -> THF_logic_formula
$cgmapT :: (forall b. Data b => b -> b)
-> THF_logic_formula -> THF_logic_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_logic_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_logic_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_logic_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_logic_formula)
dataTypeOf :: THF_logic_formula -> DataType
$cdataTypeOf :: THF_logic_formula -> DataType
toConstr :: THF_logic_formula -> Constr
$ctoConstr :: THF_logic_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_logic_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_logic_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_logic_formula -> c THF_logic_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_logic_formula -> c THF_logic_formula
$cp1Data :: Typeable THF_logic_formula
Data, Typeable)

-- <thf_binary_formula>   ::= <thf_binary_pair> | <thf_binary_tuple>
data THF_binary_formula = THFBF_pair THF_binary_pair
                        | THFBF_tuple THF_binary_tuple
                          deriving (Int -> THF_binary_formula -> ShowS
[THF_binary_formula] -> ShowS
THF_binary_formula -> String
(Int -> THF_binary_formula -> ShowS)
-> (THF_binary_formula -> String)
-> ([THF_binary_formula] -> ShowS)
-> Show THF_binary_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_binary_formula] -> ShowS
$cshowList :: [THF_binary_formula] -> ShowS
show :: THF_binary_formula -> String
$cshow :: THF_binary_formula -> String
showsPrec :: Int -> THF_binary_formula -> ShowS
$cshowsPrec :: Int -> THF_binary_formula -> ShowS
Show, Eq THF_binary_formula
Eq THF_binary_formula =>
(THF_binary_formula -> THF_binary_formula -> Ordering)
-> (THF_binary_formula -> THF_binary_formula -> Bool)
-> (THF_binary_formula -> THF_binary_formula -> Bool)
-> (THF_binary_formula -> THF_binary_formula -> Bool)
-> (THF_binary_formula -> THF_binary_formula -> Bool)
-> (THF_binary_formula -> THF_binary_formula -> THF_binary_formula)
-> (THF_binary_formula -> THF_binary_formula -> THF_binary_formula)
-> Ord THF_binary_formula
THF_binary_formula -> THF_binary_formula -> Bool
THF_binary_formula -> THF_binary_formula -> Ordering
THF_binary_formula -> THF_binary_formula -> THF_binary_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_binary_formula -> THF_binary_formula -> THF_binary_formula
$cmin :: THF_binary_formula -> THF_binary_formula -> THF_binary_formula
max :: THF_binary_formula -> THF_binary_formula -> THF_binary_formula
$cmax :: THF_binary_formula -> THF_binary_formula -> THF_binary_formula
>= :: THF_binary_formula -> THF_binary_formula -> Bool
$c>= :: THF_binary_formula -> THF_binary_formula -> Bool
> :: THF_binary_formula -> THF_binary_formula -> Bool
$c> :: THF_binary_formula -> THF_binary_formula -> Bool
<= :: THF_binary_formula -> THF_binary_formula -> Bool
$c<= :: THF_binary_formula -> THF_binary_formula -> Bool
< :: THF_binary_formula -> THF_binary_formula -> Bool
$c< :: THF_binary_formula -> THF_binary_formula -> Bool
compare :: THF_binary_formula -> THF_binary_formula -> Ordering
$ccompare :: THF_binary_formula -> THF_binary_formula -> Ordering
$cp1Ord :: Eq THF_binary_formula
Ord, THF_binary_formula -> THF_binary_formula -> Bool
(THF_binary_formula -> THF_binary_formula -> Bool)
-> (THF_binary_formula -> THF_binary_formula -> Bool)
-> Eq THF_binary_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_binary_formula -> THF_binary_formula -> Bool
$c/= :: THF_binary_formula -> THF_binary_formula -> Bool
== :: THF_binary_formula -> THF_binary_formula -> Bool
$c== :: THF_binary_formula -> THF_binary_formula -> Bool
Eq, Typeable THF_binary_formula
Constr
DataType
Typeable THF_binary_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_binary_formula
 -> c THF_binary_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_binary_formula)
-> (THF_binary_formula -> Constr)
-> (THF_binary_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_binary_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_binary_formula))
-> ((forall b. Data b => b -> b)
    -> THF_binary_formula -> THF_binary_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_binary_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_binary_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_formula -> m THF_binary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_formula -> m THF_binary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_formula -> m THF_binary_formula)
-> Data THF_binary_formula
THF_binary_formula -> Constr
THF_binary_formula -> DataType
(forall b. Data b => b -> b)
-> THF_binary_formula -> THF_binary_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_binary_formula
-> c THF_binary_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_formula -> u
forall u. (forall d. Data d => d -> u) -> THF_binary_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_binary_formula
-> c THF_binary_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_formula)
$cTHFBF_tuple :: Constr
$cTHFBF_pair :: Constr
$tTHF_binary_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
gmapMp :: (forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
gmapM :: (forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_formula -> m THF_binary_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_binary_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_binary_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_binary_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_binary_formula -> THF_binary_formula
$cgmapT :: (forall b. Data b => b -> b)
-> THF_binary_formula -> THF_binary_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_binary_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_formula)
dataTypeOf :: THF_binary_formula -> DataType
$cdataTypeOf :: THF_binary_formula -> DataType
toConstr :: THF_binary_formula -> Constr
$ctoConstr :: THF_binary_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_binary_formula
-> c THF_binary_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_binary_formula
-> c THF_binary_formula
$cp1Data :: Typeable THF_binary_formula
Data, Typeable)

-- %----Only some binary connectives can be written without ()s.
-- %----There's no precedence among binary connectives
-- <thf_binary_pair>      ::= <thf_unitary_formula> <thf_pair_connective>
--                            <thf_unitary_formula>
data THF_binary_pair = THF_binary_pair THF_pair_connective THF_unitary_formula THF_unitary_formula
                       deriving (Int -> THF_binary_pair -> ShowS
[THF_binary_pair] -> ShowS
THF_binary_pair -> String
(Int -> THF_binary_pair -> ShowS)
-> (THF_binary_pair -> String)
-> ([THF_binary_pair] -> ShowS)
-> Show THF_binary_pair
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_binary_pair] -> ShowS
$cshowList :: [THF_binary_pair] -> ShowS
show :: THF_binary_pair -> String
$cshow :: THF_binary_pair -> String
showsPrec :: Int -> THF_binary_pair -> ShowS
$cshowsPrec :: Int -> THF_binary_pair -> ShowS
Show, Eq THF_binary_pair
Eq THF_binary_pair =>
(THF_binary_pair -> THF_binary_pair -> Ordering)
-> (THF_binary_pair -> THF_binary_pair -> Bool)
-> (THF_binary_pair -> THF_binary_pair -> Bool)
-> (THF_binary_pair -> THF_binary_pair -> Bool)
-> (THF_binary_pair -> THF_binary_pair -> Bool)
-> (THF_binary_pair -> THF_binary_pair -> THF_binary_pair)
-> (THF_binary_pair -> THF_binary_pair -> THF_binary_pair)
-> Ord THF_binary_pair
THF_binary_pair -> THF_binary_pair -> Bool
THF_binary_pair -> THF_binary_pair -> Ordering
THF_binary_pair -> THF_binary_pair -> THF_binary_pair
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_binary_pair -> THF_binary_pair -> THF_binary_pair
$cmin :: THF_binary_pair -> THF_binary_pair -> THF_binary_pair
max :: THF_binary_pair -> THF_binary_pair -> THF_binary_pair
$cmax :: THF_binary_pair -> THF_binary_pair -> THF_binary_pair
>= :: THF_binary_pair -> THF_binary_pair -> Bool
$c>= :: THF_binary_pair -> THF_binary_pair -> Bool
> :: THF_binary_pair -> THF_binary_pair -> Bool
$c> :: THF_binary_pair -> THF_binary_pair -> Bool
<= :: THF_binary_pair -> THF_binary_pair -> Bool
$c<= :: THF_binary_pair -> THF_binary_pair -> Bool
< :: THF_binary_pair -> THF_binary_pair -> Bool
$c< :: THF_binary_pair -> THF_binary_pair -> Bool
compare :: THF_binary_pair -> THF_binary_pair -> Ordering
$ccompare :: THF_binary_pair -> THF_binary_pair -> Ordering
$cp1Ord :: Eq THF_binary_pair
Ord, THF_binary_pair -> THF_binary_pair -> Bool
(THF_binary_pair -> THF_binary_pair -> Bool)
-> (THF_binary_pair -> THF_binary_pair -> Bool)
-> Eq THF_binary_pair
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_binary_pair -> THF_binary_pair -> Bool
$c/= :: THF_binary_pair -> THF_binary_pair -> Bool
== :: THF_binary_pair -> THF_binary_pair -> Bool
$c== :: THF_binary_pair -> THF_binary_pair -> Bool
Eq, Typeable THF_binary_pair
Constr
DataType
Typeable THF_binary_pair =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_binary_pair -> c THF_binary_pair)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_binary_pair)
-> (THF_binary_pair -> Constr)
-> (THF_binary_pair -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_binary_pair))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_binary_pair))
-> ((forall b. Data b => b -> b)
    -> THF_binary_pair -> THF_binary_pair)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_binary_pair -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_binary_pair -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_pair -> m THF_binary_pair)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_pair -> m THF_binary_pair)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_pair -> m THF_binary_pair)
-> Data THF_binary_pair
THF_binary_pair -> Constr
THF_binary_pair -> DataType
(forall b. Data b => b -> b) -> THF_binary_pair -> THF_binary_pair
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_pair -> c THF_binary_pair
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_pair
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_pair -> u
forall u. (forall d. Data d => d -> u) -> THF_binary_pair -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_pair
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_pair -> c THF_binary_pair
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_pair)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_pair)
$cTHF_binary_pair :: Constr
$tTHF_binary_pair :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
gmapMp :: (forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
gmapM :: (forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_pair -> m THF_binary_pair
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_binary_pair -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_pair -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_binary_pair -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_binary_pair -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_pair -> r
gmapT :: (forall b. Data b => b -> b) -> THF_binary_pair -> THF_binary_pair
$cgmapT :: (forall b. Data b => b -> b) -> THF_binary_pair -> THF_binary_pair
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_pair)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_pair)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_binary_pair)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_pair)
dataTypeOf :: THF_binary_pair -> DataType
$cdataTypeOf :: THF_binary_pair -> DataType
toConstr :: THF_binary_pair -> Constr
$ctoConstr :: THF_binary_pair -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_pair
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_pair
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_pair -> c THF_binary_pair
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_pair -> c THF_binary_pair
$cp1Data :: Typeable THF_binary_pair
Data, Typeable)

-- <thf_binary_tuple>     ::= <thf_or_formula> | <thf_and_formula> |
--                            <thf_apply_formula>
data THF_binary_tuple = THFBT_or THF_or_formula
                      | THFBT_and THF_and_formula
                      | THFBT_apply THF_apply_formula
                        deriving (Int -> THF_binary_tuple -> ShowS
[THF_binary_tuple] -> ShowS
THF_binary_tuple -> String
(Int -> THF_binary_tuple -> ShowS)
-> (THF_binary_tuple -> String)
-> ([THF_binary_tuple] -> ShowS)
-> Show THF_binary_tuple
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_binary_tuple] -> ShowS
$cshowList :: [THF_binary_tuple] -> ShowS
show :: THF_binary_tuple -> String
$cshow :: THF_binary_tuple -> String
showsPrec :: Int -> THF_binary_tuple -> ShowS
$cshowsPrec :: Int -> THF_binary_tuple -> ShowS
Show, Eq THF_binary_tuple
Eq THF_binary_tuple =>
(THF_binary_tuple -> THF_binary_tuple -> Ordering)
-> (THF_binary_tuple -> THF_binary_tuple -> Bool)
-> (THF_binary_tuple -> THF_binary_tuple -> Bool)
-> (THF_binary_tuple -> THF_binary_tuple -> Bool)
-> (THF_binary_tuple -> THF_binary_tuple -> Bool)
-> (THF_binary_tuple -> THF_binary_tuple -> THF_binary_tuple)
-> (THF_binary_tuple -> THF_binary_tuple -> THF_binary_tuple)
-> Ord THF_binary_tuple
THF_binary_tuple -> THF_binary_tuple -> Bool
THF_binary_tuple -> THF_binary_tuple -> Ordering
THF_binary_tuple -> THF_binary_tuple -> THF_binary_tuple
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_binary_tuple -> THF_binary_tuple -> THF_binary_tuple
$cmin :: THF_binary_tuple -> THF_binary_tuple -> THF_binary_tuple
max :: THF_binary_tuple -> THF_binary_tuple -> THF_binary_tuple
$cmax :: THF_binary_tuple -> THF_binary_tuple -> THF_binary_tuple
>= :: THF_binary_tuple -> THF_binary_tuple -> Bool
$c>= :: THF_binary_tuple -> THF_binary_tuple -> Bool
> :: THF_binary_tuple -> THF_binary_tuple -> Bool
$c> :: THF_binary_tuple -> THF_binary_tuple -> Bool
<= :: THF_binary_tuple -> THF_binary_tuple -> Bool
$c<= :: THF_binary_tuple -> THF_binary_tuple -> Bool
< :: THF_binary_tuple -> THF_binary_tuple -> Bool
$c< :: THF_binary_tuple -> THF_binary_tuple -> Bool
compare :: THF_binary_tuple -> THF_binary_tuple -> Ordering
$ccompare :: THF_binary_tuple -> THF_binary_tuple -> Ordering
$cp1Ord :: Eq THF_binary_tuple
Ord, THF_binary_tuple -> THF_binary_tuple -> Bool
(THF_binary_tuple -> THF_binary_tuple -> Bool)
-> (THF_binary_tuple -> THF_binary_tuple -> Bool)
-> Eq THF_binary_tuple
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_binary_tuple -> THF_binary_tuple -> Bool
$c/= :: THF_binary_tuple -> THF_binary_tuple -> Bool
== :: THF_binary_tuple -> THF_binary_tuple -> Bool
$c== :: THF_binary_tuple -> THF_binary_tuple -> Bool
Eq, Typeable THF_binary_tuple
Constr
DataType
Typeable THF_binary_tuple =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_binary_tuple -> c THF_binary_tuple)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_binary_tuple)
-> (THF_binary_tuple -> Constr)
-> (THF_binary_tuple -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_binary_tuple))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_binary_tuple))
-> ((forall b. Data b => b -> b)
    -> THF_binary_tuple -> THF_binary_tuple)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_binary_tuple -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_binary_tuple -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_tuple -> m THF_binary_tuple)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_tuple -> m THF_binary_tuple)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_tuple -> m THF_binary_tuple)
-> Data THF_binary_tuple
THF_binary_tuple -> Constr
THF_binary_tuple -> DataType
(forall b. Data b => b -> b)
-> THF_binary_tuple -> THF_binary_tuple
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_tuple -> c THF_binary_tuple
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_tuple
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_tuple -> u
forall u. (forall d. Data d => d -> u) -> THF_binary_tuple -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_tuple
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_tuple -> c THF_binary_tuple
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_tuple)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_tuple)
$cTHFBT_apply :: Constr
$cTHFBT_and :: Constr
$cTHFBT_or :: Constr
$tTHF_binary_tuple :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
gmapMp :: (forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
gmapM :: (forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_tuple -> m THF_binary_tuple
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_binary_tuple -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_tuple -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_binary_tuple -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_binary_tuple -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_tuple -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_binary_tuple -> THF_binary_tuple
$cgmapT :: (forall b. Data b => b -> b)
-> THF_binary_tuple -> THF_binary_tuple
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_tuple)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_tuple)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_binary_tuple)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_tuple)
dataTypeOf :: THF_binary_tuple -> DataType
$cdataTypeOf :: THF_binary_tuple -> DataType
toConstr :: THF_binary_tuple -> Constr
$ctoConstr :: THF_binary_tuple -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_tuple
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_tuple
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_tuple -> c THF_binary_tuple
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_tuple -> c THF_binary_tuple
$cp1Data :: Typeable THF_binary_tuple
Data, Typeable)

-- <thf_or_formula>       ::= <thf_unitary_formula> <vline> <thf_unitary_formula> |
--                            <thf_or_formula> <vline> <thf_unitary_formula>

type THF_or_formula = [THF_unitary_formula]

-- <thf_and_formula>      ::= <thf_unitary_formula> & <thf_unitary_formula> |
--                            <thf_and_formula> & <thf_unitary_formula>
type THF_and_formula = [THF_unitary_formula]

-- <thf_apply_formula>    ::= <thf_unitary_formula> @ <thf_unitary_formula> |
--                            <thf_apply_formula> @ <thf_unitary_formula>
type THF_apply_formula = [THF_unitary_formula]

-- <thf_unitary_formula>  ::= <thf_quantified_formula> | <thf_unary_formula> |
--                            <thf_atom> | <thf_conditional> | <thf_let> |
--                            <thf_tuple> | (<thf_logic_formula>)
data THF_unitary_formula = THFUF_quantified THF_quantified_formula
                         | THFUF_unary THF_unary_formula
                         | THFUF_atom THF_atom
                         | THFUF_conditional THF_conditional
                         | THFUF_let THF_let
                         | THFUF_tuple THF_tuple
                         | THFUF_logic THF_logic_formula
                           deriving (Int -> THF_unitary_formula -> ShowS
[THF_unitary_formula] -> ShowS
THF_unitary_formula -> String
(Int -> THF_unitary_formula -> ShowS)
-> (THF_unitary_formula -> String)
-> ([THF_unitary_formula] -> ShowS)
-> Show THF_unitary_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_unitary_formula] -> ShowS
$cshowList :: [THF_unitary_formula] -> ShowS
show :: THF_unitary_formula -> String
$cshow :: THF_unitary_formula -> String
showsPrec :: Int -> THF_unitary_formula -> ShowS
$cshowsPrec :: Int -> THF_unitary_formula -> ShowS
Show, Eq THF_unitary_formula
Eq THF_unitary_formula =>
(THF_unitary_formula -> THF_unitary_formula -> Ordering)
-> (THF_unitary_formula -> THF_unitary_formula -> Bool)
-> (THF_unitary_formula -> THF_unitary_formula -> Bool)
-> (THF_unitary_formula -> THF_unitary_formula -> Bool)
-> (THF_unitary_formula -> THF_unitary_formula -> Bool)
-> (THF_unitary_formula
    -> THF_unitary_formula -> THF_unitary_formula)
-> (THF_unitary_formula
    -> THF_unitary_formula -> THF_unitary_formula)
-> Ord THF_unitary_formula
THF_unitary_formula -> THF_unitary_formula -> Bool
THF_unitary_formula -> THF_unitary_formula -> Ordering
THF_unitary_formula -> THF_unitary_formula -> THF_unitary_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_unitary_formula -> THF_unitary_formula -> THF_unitary_formula
$cmin :: THF_unitary_formula -> THF_unitary_formula -> THF_unitary_formula
max :: THF_unitary_formula -> THF_unitary_formula -> THF_unitary_formula
$cmax :: THF_unitary_formula -> THF_unitary_formula -> THF_unitary_formula
>= :: THF_unitary_formula -> THF_unitary_formula -> Bool
$c>= :: THF_unitary_formula -> THF_unitary_formula -> Bool
> :: THF_unitary_formula -> THF_unitary_formula -> Bool
$c> :: THF_unitary_formula -> THF_unitary_formula -> Bool
<= :: THF_unitary_formula -> THF_unitary_formula -> Bool
$c<= :: THF_unitary_formula -> THF_unitary_formula -> Bool
< :: THF_unitary_formula -> THF_unitary_formula -> Bool
$c< :: THF_unitary_formula -> THF_unitary_formula -> Bool
compare :: THF_unitary_formula -> THF_unitary_formula -> Ordering
$ccompare :: THF_unitary_formula -> THF_unitary_formula -> Ordering
$cp1Ord :: Eq THF_unitary_formula
Ord, THF_unitary_formula -> THF_unitary_formula -> Bool
(THF_unitary_formula -> THF_unitary_formula -> Bool)
-> (THF_unitary_formula -> THF_unitary_formula -> Bool)
-> Eq THF_unitary_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_unitary_formula -> THF_unitary_formula -> Bool
$c/= :: THF_unitary_formula -> THF_unitary_formula -> Bool
== :: THF_unitary_formula -> THF_unitary_formula -> Bool
$c== :: THF_unitary_formula -> THF_unitary_formula -> Bool
Eq, Typeable THF_unitary_formula
Constr
DataType
Typeable THF_unitary_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_unitary_formula
 -> c THF_unitary_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_unitary_formula)
-> (THF_unitary_formula -> Constr)
-> (THF_unitary_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_unitary_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_unitary_formula))
-> ((forall b. Data b => b -> b)
    -> THF_unitary_formula -> THF_unitary_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_unitary_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_unitary_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_unitary_formula -> m THF_unitary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_unitary_formula -> m THF_unitary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_unitary_formula -> m THF_unitary_formula)
-> Data THF_unitary_formula
THF_unitary_formula -> Constr
THF_unitary_formula -> DataType
(forall b. Data b => b -> b)
-> THF_unitary_formula -> THF_unitary_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_unitary_formula
-> c THF_unitary_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_unitary_formula -> u
forall u.
(forall d. Data d => d -> u) -> THF_unitary_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_unitary_formula
-> c THF_unitary_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_unitary_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unitary_formula)
$cTHFUF_logic :: Constr
$cTHFUF_tuple :: Constr
$cTHFUF_let :: Constr
$cTHFUF_conditional :: Constr
$cTHFUF_atom :: Constr
$cTHFUF_unary :: Constr
$cTHFUF_quantified :: Constr
$tTHF_unitary_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
gmapMp :: (forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
gmapM :: (forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_unitary_formula -> m THF_unitary_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_unitary_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_unitary_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_unitary_formula -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> THF_unitary_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_unitary_formula -> THF_unitary_formula
$cgmapT :: (forall b. Data b => b -> b)
-> THF_unitary_formula -> THF_unitary_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unitary_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unitary_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_unitary_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_unitary_formula)
dataTypeOf :: THF_unitary_formula -> DataType
$cdataTypeOf :: THF_unitary_formula -> DataType
toConstr :: THF_unitary_formula -> Constr
$ctoConstr :: THF_unitary_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_unitary_formula
-> c THF_unitary_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_unitary_formula
-> c THF_unitary_formula
$cp1Data :: Typeable THF_unitary_formula
Data, Typeable)

-- <thf_quantified_formula> ::= <thf_quantification> <thf_unitary_formula>
data THF_quantified_formula = THF_quantified_formula THF_quantification THF_unitary_formula
                              deriving (Int -> THF_quantified_formula -> ShowS
[THF_quantified_formula] -> ShowS
THF_quantified_formula -> String
(Int -> THF_quantified_formula -> ShowS)
-> (THF_quantified_formula -> String)
-> ([THF_quantified_formula] -> ShowS)
-> Show THF_quantified_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_quantified_formula] -> ShowS
$cshowList :: [THF_quantified_formula] -> ShowS
show :: THF_quantified_formula -> String
$cshow :: THF_quantified_formula -> String
showsPrec :: Int -> THF_quantified_formula -> ShowS
$cshowsPrec :: Int -> THF_quantified_formula -> ShowS
Show, Eq THF_quantified_formula
Eq THF_quantified_formula =>
(THF_quantified_formula -> THF_quantified_formula -> Ordering)
-> (THF_quantified_formula -> THF_quantified_formula -> Bool)
-> (THF_quantified_formula -> THF_quantified_formula -> Bool)
-> (THF_quantified_formula -> THF_quantified_formula -> Bool)
-> (THF_quantified_formula -> THF_quantified_formula -> Bool)
-> (THF_quantified_formula
    -> THF_quantified_formula -> THF_quantified_formula)
-> (THF_quantified_formula
    -> THF_quantified_formula -> THF_quantified_formula)
-> Ord THF_quantified_formula
THF_quantified_formula -> THF_quantified_formula -> Bool
THF_quantified_formula -> THF_quantified_formula -> Ordering
THF_quantified_formula
-> THF_quantified_formula -> THF_quantified_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_quantified_formula
-> THF_quantified_formula -> THF_quantified_formula
$cmin :: THF_quantified_formula
-> THF_quantified_formula -> THF_quantified_formula
max :: THF_quantified_formula
-> THF_quantified_formula -> THF_quantified_formula
$cmax :: THF_quantified_formula
-> THF_quantified_formula -> THF_quantified_formula
>= :: THF_quantified_formula -> THF_quantified_formula -> Bool
$c>= :: THF_quantified_formula -> THF_quantified_formula -> Bool
> :: THF_quantified_formula -> THF_quantified_formula -> Bool
$c> :: THF_quantified_formula -> THF_quantified_formula -> Bool
<= :: THF_quantified_formula -> THF_quantified_formula -> Bool
$c<= :: THF_quantified_formula -> THF_quantified_formula -> Bool
< :: THF_quantified_formula -> THF_quantified_formula -> Bool
$c< :: THF_quantified_formula -> THF_quantified_formula -> Bool
compare :: THF_quantified_formula -> THF_quantified_formula -> Ordering
$ccompare :: THF_quantified_formula -> THF_quantified_formula -> Ordering
$cp1Ord :: Eq THF_quantified_formula
Ord, THF_quantified_formula -> THF_quantified_formula -> Bool
(THF_quantified_formula -> THF_quantified_formula -> Bool)
-> (THF_quantified_formula -> THF_quantified_formula -> Bool)
-> Eq THF_quantified_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_quantified_formula -> THF_quantified_formula -> Bool
$c/= :: THF_quantified_formula -> THF_quantified_formula -> Bool
== :: THF_quantified_formula -> THF_quantified_formula -> Bool
$c== :: THF_quantified_formula -> THF_quantified_formula -> Bool
Eq, Typeable THF_quantified_formula
Constr
DataType
Typeable THF_quantified_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_quantified_formula
 -> c THF_quantified_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_quantified_formula)
-> (THF_quantified_formula -> Constr)
-> (THF_quantified_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_quantified_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_quantified_formula))
-> ((forall b. Data b => b -> b)
    -> THF_quantified_formula -> THF_quantified_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> THF_quantified_formula
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> THF_quantified_formula
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_quantified_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_quantified_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_quantified_formula -> m THF_quantified_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_quantified_formula -> m THF_quantified_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_quantified_formula -> m THF_quantified_formula)
-> Data THF_quantified_formula
THF_quantified_formula -> Constr
THF_quantified_formula -> DataType
(forall b. Data b => b -> b)
-> THF_quantified_formula -> THF_quantified_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantified_formula
-> c THF_quantified_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantified_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_quantified_formula -> u
forall u.
(forall d. Data d => d -> u) -> THF_quantified_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_quantified_formula
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_quantified_formula
-> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantified_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantified_formula
-> c THF_quantified_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_quantified_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_quantified_formula)
$cTHF_quantified_formula :: Constr
$tTHF_quantified_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
gmapMp :: (forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
gmapM :: (forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_quantified_formula -> m THF_quantified_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_quantified_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_quantified_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_quantified_formula -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> THF_quantified_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_quantified_formula
-> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_quantified_formula
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_quantified_formula
-> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_quantified_formula
-> r
gmapT :: (forall b. Data b => b -> b)
-> THF_quantified_formula -> THF_quantified_formula
$cgmapT :: (forall b. Data b => b -> b)
-> THF_quantified_formula -> THF_quantified_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_quantified_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_quantified_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_quantified_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_quantified_formula)
dataTypeOf :: THF_quantified_formula -> DataType
$cdataTypeOf :: THF_quantified_formula -> DataType
toConstr :: THF_quantified_formula -> Constr
$ctoConstr :: THF_quantified_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantified_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantified_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantified_formula
-> c THF_quantified_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantified_formula
-> c THF_quantified_formula
$cp1Data :: Typeable THF_quantified_formula
Data, Typeable)

-- <thf_quantification>   ::= <thf_quantifier> [<thf_variable_list>] :
data THF_quantification = THF_quantification THF_quantifier THF_variable_list
                          deriving (Int -> THF_quantification -> ShowS
[THF_quantification] -> ShowS
THF_quantification -> String
(Int -> THF_quantification -> ShowS)
-> (THF_quantification -> String)
-> ([THF_quantification] -> ShowS)
-> Show THF_quantification
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_quantification] -> ShowS
$cshowList :: [THF_quantification] -> ShowS
show :: THF_quantification -> String
$cshow :: THF_quantification -> String
showsPrec :: Int -> THF_quantification -> ShowS
$cshowsPrec :: Int -> THF_quantification -> ShowS
Show, Eq THF_quantification
Eq THF_quantification =>
(THF_quantification -> THF_quantification -> Ordering)
-> (THF_quantification -> THF_quantification -> Bool)
-> (THF_quantification -> THF_quantification -> Bool)
-> (THF_quantification -> THF_quantification -> Bool)
-> (THF_quantification -> THF_quantification -> Bool)
-> (THF_quantification -> THF_quantification -> THF_quantification)
-> (THF_quantification -> THF_quantification -> THF_quantification)
-> Ord THF_quantification
THF_quantification -> THF_quantification -> Bool
THF_quantification -> THF_quantification -> Ordering
THF_quantification -> THF_quantification -> THF_quantification
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_quantification -> THF_quantification -> THF_quantification
$cmin :: THF_quantification -> THF_quantification -> THF_quantification
max :: THF_quantification -> THF_quantification -> THF_quantification
$cmax :: THF_quantification -> THF_quantification -> THF_quantification
>= :: THF_quantification -> THF_quantification -> Bool
$c>= :: THF_quantification -> THF_quantification -> Bool
> :: THF_quantification -> THF_quantification -> Bool
$c> :: THF_quantification -> THF_quantification -> Bool
<= :: THF_quantification -> THF_quantification -> Bool
$c<= :: THF_quantification -> THF_quantification -> Bool
< :: THF_quantification -> THF_quantification -> Bool
$c< :: THF_quantification -> THF_quantification -> Bool
compare :: THF_quantification -> THF_quantification -> Ordering
$ccompare :: THF_quantification -> THF_quantification -> Ordering
$cp1Ord :: Eq THF_quantification
Ord, THF_quantification -> THF_quantification -> Bool
(THF_quantification -> THF_quantification -> Bool)
-> (THF_quantification -> THF_quantification -> Bool)
-> Eq THF_quantification
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_quantification -> THF_quantification -> Bool
$c/= :: THF_quantification -> THF_quantification -> Bool
== :: THF_quantification -> THF_quantification -> Bool
$c== :: THF_quantification -> THF_quantification -> Bool
Eq, Typeable THF_quantification
Constr
DataType
Typeable THF_quantification =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_quantification
 -> c THF_quantification)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_quantification)
-> (THF_quantification -> Constr)
-> (THF_quantification -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_quantification))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_quantification))
-> ((forall b. Data b => b -> b)
    -> THF_quantification -> THF_quantification)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_quantification -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_quantification -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_quantification -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_quantification -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_quantification -> m THF_quantification)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_quantification -> m THF_quantification)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_quantification -> m THF_quantification)
-> Data THF_quantification
THF_quantification -> Constr
THF_quantification -> DataType
(forall b. Data b => b -> b)
-> THF_quantification -> THF_quantification
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantification
-> c THF_quantification
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantification
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_quantification -> u
forall u. (forall d. Data d => d -> u) -> THF_quantification -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_quantification -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_quantification -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantification
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantification
-> c THF_quantification
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_quantification)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_quantification)
$cTHF_quantification :: Constr
$tTHF_quantification :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
gmapMp :: (forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
gmapM :: (forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_quantification -> m THF_quantification
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_quantification -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_quantification -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_quantification -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_quantification -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_quantification -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_quantification -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_quantification -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_quantification -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_quantification -> THF_quantification
$cgmapT :: (forall b. Data b => b -> b)
-> THF_quantification -> THF_quantification
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_quantification)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_quantification)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_quantification)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_quantification)
dataTypeOf :: THF_quantification -> DataType
$cdataTypeOf :: THF_quantification -> DataType
toConstr :: THF_quantification -> Constr
$ctoConstr :: THF_quantification -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantification
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_quantification
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantification
-> c THF_quantification
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_quantification
-> c THF_quantification
$cp1Data :: Typeable THF_quantification
Data, Typeable)

-- <thf_variable_list>    ::= <thf_variable> | <thf_variable>,<thf_variable_list>
type THF_variable_list = [THF_variable]

-- <thf_variable>         ::= <thf_typed_variable> | <variable>
data THF_variable = THFV_typed THF_typed_variable
                  | THFV_variable Variable
                    deriving (Int -> THF_variable -> ShowS
[THF_variable] -> ShowS
THF_variable -> String
(Int -> THF_variable -> ShowS)
-> (THF_variable -> String)
-> ([THF_variable] -> ShowS)
-> Show THF_variable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_variable] -> ShowS
$cshowList :: [THF_variable] -> ShowS
show :: THF_variable -> String
$cshow :: THF_variable -> String
showsPrec :: Int -> THF_variable -> ShowS
$cshowsPrec :: Int -> THF_variable -> ShowS
Show, Eq THF_variable
Eq THF_variable =>
(THF_variable -> THF_variable -> Ordering)
-> (THF_variable -> THF_variable -> Bool)
-> (THF_variable -> THF_variable -> Bool)
-> (THF_variable -> THF_variable -> Bool)
-> (THF_variable -> THF_variable -> Bool)
-> (THF_variable -> THF_variable -> THF_variable)
-> (THF_variable -> THF_variable -> THF_variable)
-> Ord THF_variable
THF_variable -> THF_variable -> Bool
THF_variable -> THF_variable -> Ordering
THF_variable -> THF_variable -> THF_variable
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_variable -> THF_variable -> THF_variable
$cmin :: THF_variable -> THF_variable -> THF_variable
max :: THF_variable -> THF_variable -> THF_variable
$cmax :: THF_variable -> THF_variable -> THF_variable
>= :: THF_variable -> THF_variable -> Bool
$c>= :: THF_variable -> THF_variable -> Bool
> :: THF_variable -> THF_variable -> Bool
$c> :: THF_variable -> THF_variable -> Bool
<= :: THF_variable -> THF_variable -> Bool
$c<= :: THF_variable -> THF_variable -> Bool
< :: THF_variable -> THF_variable -> Bool
$c< :: THF_variable -> THF_variable -> Bool
compare :: THF_variable -> THF_variable -> Ordering
$ccompare :: THF_variable -> THF_variable -> Ordering
$cp1Ord :: Eq THF_variable
Ord, THF_variable -> THF_variable -> Bool
(THF_variable -> THF_variable -> Bool)
-> (THF_variable -> THF_variable -> Bool) -> Eq THF_variable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_variable -> THF_variable -> Bool
$c/= :: THF_variable -> THF_variable -> Bool
== :: THF_variable -> THF_variable -> Bool
$c== :: THF_variable -> THF_variable -> Bool
Eq, Typeable THF_variable
Constr
DataType
Typeable THF_variable =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_variable -> c THF_variable)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_variable)
-> (THF_variable -> Constr)
-> (THF_variable -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_variable))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_variable))
-> ((forall b. Data b => b -> b) -> THF_variable -> THF_variable)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_variable -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_variable -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_variable -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_variable -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_variable -> m THF_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_variable -> m THF_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_variable -> m THF_variable)
-> Data THF_variable
THF_variable -> Constr
THF_variable -> DataType
(forall b. Data b => b -> b) -> THF_variable -> THF_variable
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_variable -> c THF_variable
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_variable
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_variable -> u
forall u. (forall d. Data d => d -> u) -> THF_variable -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_variable -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_variable -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_variable
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_variable -> c THF_variable
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_variable)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_variable)
$cTHFV_variable :: Constr
$cTHFV_typed :: Constr
$tTHF_variable :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
gmapMp :: (forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
gmapM :: (forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_variable -> m THF_variable
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_variable -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_variable -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_variable -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_variable -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_variable -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_variable -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_variable -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_variable -> r
gmapT :: (forall b. Data b => b -> b) -> THF_variable -> THF_variable
$cgmapT :: (forall b. Data b => b -> b) -> THF_variable -> THF_variable
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_variable)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_variable)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_variable)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_variable)
dataTypeOf :: THF_variable -> DataType
$cdataTypeOf :: THF_variable -> DataType
toConstr :: THF_variable -> Constr
$ctoConstr :: THF_variable -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_variable
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_variable
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_variable -> c THF_variable
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_variable -> c THF_variable
$cp1Data :: Typeable THF_variable
Data, Typeable)

-- <thf_typed_variable>   ::= <variable> : <thf_top_level_type>
data THF_typed_variable = THF_typed_variable Variable THF_top_level_type
                          deriving (Int -> THF_typed_variable -> ShowS
[THF_typed_variable] -> ShowS
THF_typed_variable -> String
(Int -> THF_typed_variable -> ShowS)
-> (THF_typed_variable -> String)
-> ([THF_typed_variable] -> ShowS)
-> Show THF_typed_variable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_typed_variable] -> ShowS
$cshowList :: [THF_typed_variable] -> ShowS
show :: THF_typed_variable -> String
$cshow :: THF_typed_variable -> String
showsPrec :: Int -> THF_typed_variable -> ShowS
$cshowsPrec :: Int -> THF_typed_variable -> ShowS
Show, Eq THF_typed_variable
Eq THF_typed_variable =>
(THF_typed_variable -> THF_typed_variable -> Ordering)
-> (THF_typed_variable -> THF_typed_variable -> Bool)
-> (THF_typed_variable -> THF_typed_variable -> Bool)
-> (THF_typed_variable -> THF_typed_variable -> Bool)
-> (THF_typed_variable -> THF_typed_variable -> Bool)
-> (THF_typed_variable -> THF_typed_variable -> THF_typed_variable)
-> (THF_typed_variable -> THF_typed_variable -> THF_typed_variable)
-> Ord THF_typed_variable
THF_typed_variable -> THF_typed_variable -> Bool
THF_typed_variable -> THF_typed_variable -> Ordering
THF_typed_variable -> THF_typed_variable -> THF_typed_variable
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_typed_variable -> THF_typed_variable -> THF_typed_variable
$cmin :: THF_typed_variable -> THF_typed_variable -> THF_typed_variable
max :: THF_typed_variable -> THF_typed_variable -> THF_typed_variable
$cmax :: THF_typed_variable -> THF_typed_variable -> THF_typed_variable
>= :: THF_typed_variable -> THF_typed_variable -> Bool
$c>= :: THF_typed_variable -> THF_typed_variable -> Bool
> :: THF_typed_variable -> THF_typed_variable -> Bool
$c> :: THF_typed_variable -> THF_typed_variable -> Bool
<= :: THF_typed_variable -> THF_typed_variable -> Bool
$c<= :: THF_typed_variable -> THF_typed_variable -> Bool
< :: THF_typed_variable -> THF_typed_variable -> Bool
$c< :: THF_typed_variable -> THF_typed_variable -> Bool
compare :: THF_typed_variable -> THF_typed_variable -> Ordering
$ccompare :: THF_typed_variable -> THF_typed_variable -> Ordering
$cp1Ord :: Eq THF_typed_variable
Ord, THF_typed_variable -> THF_typed_variable -> Bool
(THF_typed_variable -> THF_typed_variable -> Bool)
-> (THF_typed_variable -> THF_typed_variable -> Bool)
-> Eq THF_typed_variable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_typed_variable -> THF_typed_variable -> Bool
$c/= :: THF_typed_variable -> THF_typed_variable -> Bool
== :: THF_typed_variable -> THF_typed_variable -> Bool
$c== :: THF_typed_variable -> THF_typed_variable -> Bool
Eq, Typeable THF_typed_variable
Constr
DataType
Typeable THF_typed_variable =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_typed_variable
 -> c THF_typed_variable)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_typed_variable)
-> (THF_typed_variable -> Constr)
-> (THF_typed_variable -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_typed_variable))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_typed_variable))
-> ((forall b. Data b => b -> b)
    -> THF_typed_variable -> THF_typed_variable)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_typed_variable -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_typed_variable -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_typed_variable -> m THF_typed_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_typed_variable -> m THF_typed_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_typed_variable -> m THF_typed_variable)
-> Data THF_typed_variable
THF_typed_variable -> Constr
THF_typed_variable -> DataType
(forall b. Data b => b -> b)
-> THF_typed_variable -> THF_typed_variable
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typed_variable
-> c THF_typed_variable
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typed_variable
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_typed_variable -> u
forall u. (forall d. Data d => d -> u) -> THF_typed_variable -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typed_variable
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typed_variable
-> c THF_typed_variable
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_typed_variable)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_typed_variable)
$cTHF_typed_variable :: Constr
$tTHF_typed_variable :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
gmapMp :: (forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
gmapM :: (forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_typed_variable -> m THF_typed_variable
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_typed_variable -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_typed_variable -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_typed_variable -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_typed_variable -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typed_variable -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_typed_variable -> THF_typed_variable
$cgmapT :: (forall b. Data b => b -> b)
-> THF_typed_variable -> THF_typed_variable
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_typed_variable)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_typed_variable)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_typed_variable)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_typed_variable)
dataTypeOf :: THF_typed_variable -> DataType
$cdataTypeOf :: THF_typed_variable -> DataType
toConstr :: THF_typed_variable -> Constr
$ctoConstr :: THF_typed_variable -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typed_variable
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typed_variable
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typed_variable
-> c THF_typed_variable
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typed_variable
-> c THF_typed_variable
$cp1Data :: Typeable THF_typed_variable
Data, Typeable)

-- <thf_unary_formula>    ::= <thf_unary_connective> (<thf_logic_formula>)
data THF_unary_formula = THF_unary_formula THF_unary_connective THF_logic_formula
                         deriving (Int -> THF_unary_formula -> ShowS
[THF_unary_formula] -> ShowS
THF_unary_formula -> String
(Int -> THF_unary_formula -> ShowS)
-> (THF_unary_formula -> String)
-> ([THF_unary_formula] -> ShowS)
-> Show THF_unary_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_unary_formula] -> ShowS
$cshowList :: [THF_unary_formula] -> ShowS
show :: THF_unary_formula -> String
$cshow :: THF_unary_formula -> String
showsPrec :: Int -> THF_unary_formula -> ShowS
$cshowsPrec :: Int -> THF_unary_formula -> ShowS
Show, Eq THF_unary_formula
Eq THF_unary_formula =>
(THF_unary_formula -> THF_unary_formula -> Ordering)
-> (THF_unary_formula -> THF_unary_formula -> Bool)
-> (THF_unary_formula -> THF_unary_formula -> Bool)
-> (THF_unary_formula -> THF_unary_formula -> Bool)
-> (THF_unary_formula -> THF_unary_formula -> Bool)
-> (THF_unary_formula -> THF_unary_formula -> THF_unary_formula)
-> (THF_unary_formula -> THF_unary_formula -> THF_unary_formula)
-> Ord THF_unary_formula
THF_unary_formula -> THF_unary_formula -> Bool
THF_unary_formula -> THF_unary_formula -> Ordering
THF_unary_formula -> THF_unary_formula -> THF_unary_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_unary_formula -> THF_unary_formula -> THF_unary_formula
$cmin :: THF_unary_formula -> THF_unary_formula -> THF_unary_formula
max :: THF_unary_formula -> THF_unary_formula -> THF_unary_formula
$cmax :: THF_unary_formula -> THF_unary_formula -> THF_unary_formula
>= :: THF_unary_formula -> THF_unary_formula -> Bool
$c>= :: THF_unary_formula -> THF_unary_formula -> Bool
> :: THF_unary_formula -> THF_unary_formula -> Bool
$c> :: THF_unary_formula -> THF_unary_formula -> Bool
<= :: THF_unary_formula -> THF_unary_formula -> Bool
$c<= :: THF_unary_formula -> THF_unary_formula -> Bool
< :: THF_unary_formula -> THF_unary_formula -> Bool
$c< :: THF_unary_formula -> THF_unary_formula -> Bool
compare :: THF_unary_formula -> THF_unary_formula -> Ordering
$ccompare :: THF_unary_formula -> THF_unary_formula -> Ordering
$cp1Ord :: Eq THF_unary_formula
Ord, THF_unary_formula -> THF_unary_formula -> Bool
(THF_unary_formula -> THF_unary_formula -> Bool)
-> (THF_unary_formula -> THF_unary_formula -> Bool)
-> Eq THF_unary_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_unary_formula -> THF_unary_formula -> Bool
$c/= :: THF_unary_formula -> THF_unary_formula -> Bool
== :: THF_unary_formula -> THF_unary_formula -> Bool
$c== :: THF_unary_formula -> THF_unary_formula -> Bool
Eq, Typeable THF_unary_formula
Constr
DataType
Typeable THF_unary_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_unary_formula
 -> c THF_unary_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_unary_formula)
-> (THF_unary_formula -> Constr)
-> (THF_unary_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_unary_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_unary_formula))
-> ((forall b. Data b => b -> b)
    -> THF_unary_formula -> THF_unary_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_unary_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_unary_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_unary_formula -> m THF_unary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_unary_formula -> m THF_unary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_unary_formula -> m THF_unary_formula)
-> Data THF_unary_formula
THF_unary_formula -> Constr
THF_unary_formula -> DataType
(forall b. Data b => b -> b)
-> THF_unary_formula -> THF_unary_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unary_formula -> c THF_unary_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unary_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_unary_formula -> u
forall u. (forall d. Data d => d -> u) -> THF_unary_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unary_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unary_formula -> c THF_unary_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_unary_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unary_formula)
$cTHF_unary_formula :: Constr
$tTHF_unary_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
gmapMp :: (forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
gmapM :: (forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_unary_formula -> m THF_unary_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_unary_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_unary_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_unary_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_unary_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unary_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_unary_formula -> THF_unary_formula
$cgmapT :: (forall b. Data b => b -> b)
-> THF_unary_formula -> THF_unary_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unary_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unary_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_unary_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_unary_formula)
dataTypeOf :: THF_unary_formula -> DataType
$cdataTypeOf :: THF_unary_formula -> DataType
toConstr :: THF_unary_formula -> Constr
$ctoConstr :: THF_unary_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unary_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unary_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unary_formula -> c THF_unary_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unary_formula -> c THF_unary_formula
$cp1Data :: Typeable THF_unary_formula
Data, Typeable)

-- <thf_atom>             ::= <thf_function> | <variable> | <defined_term> |
--                            <thf_conn_term>
data THF_atom = THF_atom_function THF_function
              | THF_atom_variable Variable
              | THF_atom_defined Defined_term
              | THF_atom_conn THF_conn_term
                deriving (Int -> THF_atom -> ShowS
[THF_atom] -> ShowS
THF_atom -> String
(Int -> THF_atom -> ShowS)
-> (THF_atom -> String) -> ([THF_atom] -> ShowS) -> Show THF_atom
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_atom] -> ShowS
$cshowList :: [THF_atom] -> ShowS
show :: THF_atom -> String
$cshow :: THF_atom -> String
showsPrec :: Int -> THF_atom -> ShowS
$cshowsPrec :: Int -> THF_atom -> ShowS
Show, Eq THF_atom
Eq THF_atom =>
(THF_atom -> THF_atom -> Ordering)
-> (THF_atom -> THF_atom -> Bool)
-> (THF_atom -> THF_atom -> Bool)
-> (THF_atom -> THF_atom -> Bool)
-> (THF_atom -> THF_atom -> Bool)
-> (THF_atom -> THF_atom -> THF_atom)
-> (THF_atom -> THF_atom -> THF_atom)
-> Ord THF_atom
THF_atom -> THF_atom -> Bool
THF_atom -> THF_atom -> Ordering
THF_atom -> THF_atom -> THF_atom
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_atom -> THF_atom -> THF_atom
$cmin :: THF_atom -> THF_atom -> THF_atom
max :: THF_atom -> THF_atom -> THF_atom
$cmax :: THF_atom -> THF_atom -> THF_atom
>= :: THF_atom -> THF_atom -> Bool
$c>= :: THF_atom -> THF_atom -> Bool
> :: THF_atom -> THF_atom -> Bool
$c> :: THF_atom -> THF_atom -> Bool
<= :: THF_atom -> THF_atom -> Bool
$c<= :: THF_atom -> THF_atom -> Bool
< :: THF_atom -> THF_atom -> Bool
$c< :: THF_atom -> THF_atom -> Bool
compare :: THF_atom -> THF_atom -> Ordering
$ccompare :: THF_atom -> THF_atom -> Ordering
$cp1Ord :: Eq THF_atom
Ord, THF_atom -> THF_atom -> Bool
(THF_atom -> THF_atom -> Bool)
-> (THF_atom -> THF_atom -> Bool) -> Eq THF_atom
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_atom -> THF_atom -> Bool
$c/= :: THF_atom -> THF_atom -> Bool
== :: THF_atom -> THF_atom -> Bool
$c== :: THF_atom -> THF_atom -> Bool
Eq, Typeable THF_atom
Constr
DataType
Typeable THF_atom =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_atom -> c THF_atom)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_atom)
-> (THF_atom -> Constr)
-> (THF_atom -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_atom))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_atom))
-> ((forall b. Data b => b -> b) -> THF_atom -> THF_atom)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_atom -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_atom -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_atom -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> THF_atom -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_atom -> m THF_atom)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_atom -> m THF_atom)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_atom -> m THF_atom)
-> Data THF_atom
THF_atom -> Constr
THF_atom -> DataType
(forall b. Data b => b -> b) -> THF_atom -> THF_atom
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_atom -> c THF_atom
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_atom
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_atom -> u
forall u. (forall d. Data d => d -> u) -> THF_atom -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_atom -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_atom -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_atom
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_atom -> c THF_atom
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_atom)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_atom)
$cTHF_atom_conn :: Constr
$cTHF_atom_defined :: Constr
$cTHF_atom_variable :: Constr
$cTHF_atom_function :: Constr
$tTHF_atom :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
gmapMp :: (forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
gmapM :: (forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_atom -> m THF_atom
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_atom -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_atom -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_atom -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_atom -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_atom -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_atom -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_atom -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_atom -> r
gmapT :: (forall b. Data b => b -> b) -> THF_atom -> THF_atom
$cgmapT :: (forall b. Data b => b -> b) -> THF_atom -> THF_atom
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_atom)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_atom)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_atom)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_atom)
dataTypeOf :: THF_atom -> DataType
$cdataTypeOf :: THF_atom -> DataType
toConstr :: THF_atom -> Constr
$ctoConstr :: THF_atom -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_atom
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_atom
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_atom -> c THF_atom
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_atom -> c THF_atom
$cp1Data :: Typeable THF_atom
Data, Typeable)

-- <thf_function>         ::= <atom> | <functor>(<thf_arguments>) |
--                            <defined_functor>(<thf_arguments>) |
--                            <system_functor>(<thf_arguments>)
data THF_function = THFF_atom Atom
                  | THFF_functor TPTP_functor THF_arguments
                  | THFF_defined Defined_functor THF_arguments
                  | THFF_system System_functor THF_arguments
                    deriving (Int -> THF_function -> ShowS
[THF_function] -> ShowS
THF_function -> String
(Int -> THF_function -> ShowS)
-> (THF_function -> String)
-> ([THF_function] -> ShowS)
-> Show THF_function
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_function] -> ShowS
$cshowList :: [THF_function] -> ShowS
show :: THF_function -> String
$cshow :: THF_function -> String
showsPrec :: Int -> THF_function -> ShowS
$cshowsPrec :: Int -> THF_function -> ShowS
Show, Eq THF_function
Eq THF_function =>
(THF_function -> THF_function -> Ordering)
-> (THF_function -> THF_function -> Bool)
-> (THF_function -> THF_function -> Bool)
-> (THF_function -> THF_function -> Bool)
-> (THF_function -> THF_function -> Bool)
-> (THF_function -> THF_function -> THF_function)
-> (THF_function -> THF_function -> THF_function)
-> Ord THF_function
THF_function -> THF_function -> Bool
THF_function -> THF_function -> Ordering
THF_function -> THF_function -> THF_function
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_function -> THF_function -> THF_function
$cmin :: THF_function -> THF_function -> THF_function
max :: THF_function -> THF_function -> THF_function
$cmax :: THF_function -> THF_function -> THF_function
>= :: THF_function -> THF_function -> Bool
$c>= :: THF_function -> THF_function -> Bool
> :: THF_function -> THF_function -> Bool
$c> :: THF_function -> THF_function -> Bool
<= :: THF_function -> THF_function -> Bool
$c<= :: THF_function -> THF_function -> Bool
< :: THF_function -> THF_function -> Bool
$c< :: THF_function -> THF_function -> Bool
compare :: THF_function -> THF_function -> Ordering
$ccompare :: THF_function -> THF_function -> Ordering
$cp1Ord :: Eq THF_function
Ord, THF_function -> THF_function -> Bool
(THF_function -> THF_function -> Bool)
-> (THF_function -> THF_function -> Bool) -> Eq THF_function
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_function -> THF_function -> Bool
$c/= :: THF_function -> THF_function -> Bool
== :: THF_function -> THF_function -> Bool
$c== :: THF_function -> THF_function -> Bool
Eq, Typeable THF_function
Constr
DataType
Typeable THF_function =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_function -> c THF_function)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_function)
-> (THF_function -> Constr)
-> (THF_function -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_function))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_function))
-> ((forall b. Data b => b -> b) -> THF_function -> THF_function)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_function -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_function -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_function -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_function -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_function -> m THF_function)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_function -> m THF_function)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_function -> m THF_function)
-> Data THF_function
THF_function -> Constr
THF_function -> DataType
(forall b. Data b => b -> b) -> THF_function -> THF_function
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_function -> c THF_function
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_function
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_function -> u
forall u. (forall d. Data d => d -> u) -> THF_function -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_function -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_function -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_function -> m THF_function
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_function -> m THF_function
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_function
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_function -> c THF_function
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_function)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_function)
$cTHFF_system :: Constr
$cTHFF_defined :: Constr
$cTHFF_functor :: Constr
$cTHFF_atom :: Constr
$tTHF_function :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_function -> m THF_function
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_function -> m THF_function
gmapMp :: (forall d. Data d => d -> m d) -> THF_function -> m THF_function
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_function -> m THF_function
gmapM :: (forall d. Data d => d -> m d) -> THF_function -> m THF_function
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_function -> m THF_function
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_function -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_function -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_function -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_function -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_function -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_function -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_function -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_function -> r
gmapT :: (forall b. Data b => b -> b) -> THF_function -> THF_function
$cgmapT :: (forall b. Data b => b -> b) -> THF_function -> THF_function
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_function)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_function)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_function)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_function)
dataTypeOf :: THF_function -> DataType
$cdataTypeOf :: THF_function -> DataType
toConstr :: THF_function -> Constr
$ctoConstr :: THF_function -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_function
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_function
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_function -> c THF_function
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_function -> c THF_function
$cp1Data :: Typeable THF_function
Data, Typeable)

-- <thf_conn_term>        ::= <thf_pair_connective> | <assoc_connective> |
--                            <thf_unary_connective>
data THF_conn_term = THFC_pair THF_pair_connective
                   | THFC_assoc Assoc_connective
                   | THFC_unary THF_unary_connective
                     deriving (Int -> THF_conn_term -> ShowS
[THF_conn_term] -> ShowS
THF_conn_term -> String
(Int -> THF_conn_term -> ShowS)
-> (THF_conn_term -> String)
-> ([THF_conn_term] -> ShowS)
-> Show THF_conn_term
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_conn_term] -> ShowS
$cshowList :: [THF_conn_term] -> ShowS
show :: THF_conn_term -> String
$cshow :: THF_conn_term -> String
showsPrec :: Int -> THF_conn_term -> ShowS
$cshowsPrec :: Int -> THF_conn_term -> ShowS
Show, Eq THF_conn_term
Eq THF_conn_term =>
(THF_conn_term -> THF_conn_term -> Ordering)
-> (THF_conn_term -> THF_conn_term -> Bool)
-> (THF_conn_term -> THF_conn_term -> Bool)
-> (THF_conn_term -> THF_conn_term -> Bool)
-> (THF_conn_term -> THF_conn_term -> Bool)
-> (THF_conn_term -> THF_conn_term -> THF_conn_term)
-> (THF_conn_term -> THF_conn_term -> THF_conn_term)
-> Ord THF_conn_term
THF_conn_term -> THF_conn_term -> Bool
THF_conn_term -> THF_conn_term -> Ordering
THF_conn_term -> THF_conn_term -> THF_conn_term
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_conn_term -> THF_conn_term -> THF_conn_term
$cmin :: THF_conn_term -> THF_conn_term -> THF_conn_term
max :: THF_conn_term -> THF_conn_term -> THF_conn_term
$cmax :: THF_conn_term -> THF_conn_term -> THF_conn_term
>= :: THF_conn_term -> THF_conn_term -> Bool
$c>= :: THF_conn_term -> THF_conn_term -> Bool
> :: THF_conn_term -> THF_conn_term -> Bool
$c> :: THF_conn_term -> THF_conn_term -> Bool
<= :: THF_conn_term -> THF_conn_term -> Bool
$c<= :: THF_conn_term -> THF_conn_term -> Bool
< :: THF_conn_term -> THF_conn_term -> Bool
$c< :: THF_conn_term -> THF_conn_term -> Bool
compare :: THF_conn_term -> THF_conn_term -> Ordering
$ccompare :: THF_conn_term -> THF_conn_term -> Ordering
$cp1Ord :: Eq THF_conn_term
Ord, THF_conn_term -> THF_conn_term -> Bool
(THF_conn_term -> THF_conn_term -> Bool)
-> (THF_conn_term -> THF_conn_term -> Bool) -> Eq THF_conn_term
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_conn_term -> THF_conn_term -> Bool
$c/= :: THF_conn_term -> THF_conn_term -> Bool
== :: THF_conn_term -> THF_conn_term -> Bool
$c== :: THF_conn_term -> THF_conn_term -> Bool
Eq, Typeable THF_conn_term
Constr
DataType
Typeable THF_conn_term =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_conn_term -> c THF_conn_term)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_conn_term)
-> (THF_conn_term -> Constr)
-> (THF_conn_term -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_conn_term))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_conn_term))
-> ((forall b. Data b => b -> b) -> THF_conn_term -> THF_conn_term)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_conn_term -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_conn_term -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term)
-> Data THF_conn_term
THF_conn_term -> Constr
THF_conn_term -> DataType
(forall b. Data b => b -> b) -> THF_conn_term -> THF_conn_term
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conn_term -> c THF_conn_term
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conn_term
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_conn_term -> u
forall u. (forall d. Data d => d -> u) -> THF_conn_term -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conn_term
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conn_term -> c THF_conn_term
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_conn_term)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_conn_term)
$cTHFC_unary :: Constr
$cTHFC_assoc :: Constr
$cTHFC_pair :: Constr
$tTHF_conn_term :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
gmapMp :: (forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
gmapM :: (forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_conn_term -> m THF_conn_term
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_conn_term -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_conn_term -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_conn_term -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_conn_term -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conn_term -> r
gmapT :: (forall b. Data b => b -> b) -> THF_conn_term -> THF_conn_term
$cgmapT :: (forall b. Data b => b -> b) -> THF_conn_term -> THF_conn_term
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_conn_term)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_conn_term)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_conn_term)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_conn_term)
dataTypeOf :: THF_conn_term -> DataType
$cdataTypeOf :: THF_conn_term -> DataType
toConstr :: THF_conn_term -> Constr
$ctoConstr :: THF_conn_term -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conn_term
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conn_term
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conn_term -> c THF_conn_term
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conn_term -> c THF_conn_term
$cp1Data :: Typeable THF_conn_term
Data, Typeable)

-- <thf_conditional>      ::= $ite(<thf_logic_formula>,<thf_logic_formula>,
--                             <thf_logic_formula>)
data THF_conditional = THF_conditional THF_logic_formula THF_logic_formula THF_logic_formula --  $ite
                       deriving (Int -> THF_conditional -> ShowS
[THF_conditional] -> ShowS
THF_conditional -> String
(Int -> THF_conditional -> ShowS)
-> (THF_conditional -> String)
-> ([THF_conditional] -> ShowS)
-> Show THF_conditional
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_conditional] -> ShowS
$cshowList :: [THF_conditional] -> ShowS
show :: THF_conditional -> String
$cshow :: THF_conditional -> String
showsPrec :: Int -> THF_conditional -> ShowS
$cshowsPrec :: Int -> THF_conditional -> ShowS
Show, Eq THF_conditional
Eq THF_conditional =>
(THF_conditional -> THF_conditional -> Ordering)
-> (THF_conditional -> THF_conditional -> Bool)
-> (THF_conditional -> THF_conditional -> Bool)
-> (THF_conditional -> THF_conditional -> Bool)
-> (THF_conditional -> THF_conditional -> Bool)
-> (THF_conditional -> THF_conditional -> THF_conditional)
-> (THF_conditional -> THF_conditional -> THF_conditional)
-> Ord THF_conditional
THF_conditional -> THF_conditional -> Bool
THF_conditional -> THF_conditional -> Ordering
THF_conditional -> THF_conditional -> THF_conditional
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_conditional -> THF_conditional -> THF_conditional
$cmin :: THF_conditional -> THF_conditional -> THF_conditional
max :: THF_conditional -> THF_conditional -> THF_conditional
$cmax :: THF_conditional -> THF_conditional -> THF_conditional
>= :: THF_conditional -> THF_conditional -> Bool
$c>= :: THF_conditional -> THF_conditional -> Bool
> :: THF_conditional -> THF_conditional -> Bool
$c> :: THF_conditional -> THF_conditional -> Bool
<= :: THF_conditional -> THF_conditional -> Bool
$c<= :: THF_conditional -> THF_conditional -> Bool
< :: THF_conditional -> THF_conditional -> Bool
$c< :: THF_conditional -> THF_conditional -> Bool
compare :: THF_conditional -> THF_conditional -> Ordering
$ccompare :: THF_conditional -> THF_conditional -> Ordering
$cp1Ord :: Eq THF_conditional
Ord, THF_conditional -> THF_conditional -> Bool
(THF_conditional -> THF_conditional -> Bool)
-> (THF_conditional -> THF_conditional -> Bool)
-> Eq THF_conditional
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_conditional -> THF_conditional -> Bool
$c/= :: THF_conditional -> THF_conditional -> Bool
== :: THF_conditional -> THF_conditional -> Bool
$c== :: THF_conditional -> THF_conditional -> Bool
Eq, Typeable THF_conditional
Constr
DataType
Typeable THF_conditional =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_conditional -> c THF_conditional)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_conditional)
-> (THF_conditional -> Constr)
-> (THF_conditional -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_conditional))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_conditional))
-> ((forall b. Data b => b -> b)
    -> THF_conditional -> THF_conditional)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_conditional -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_conditional -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_conditional -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_conditional -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_conditional -> m THF_conditional)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_conditional -> m THF_conditional)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_conditional -> m THF_conditional)
-> Data THF_conditional
THF_conditional -> Constr
THF_conditional -> DataType
(forall b. Data b => b -> b) -> THF_conditional -> THF_conditional
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conditional -> c THF_conditional
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conditional
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_conditional -> u
forall u. (forall d. Data d => d -> u) -> THF_conditional -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conditional -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conditional -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conditional
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conditional -> c THF_conditional
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_conditional)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_conditional)
$cTHF_conditional :: Constr
$tTHF_conditional :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
gmapMp :: (forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
gmapM :: (forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_conditional -> m THF_conditional
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_conditional -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_conditional -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_conditional -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_conditional -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conditional -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conditional -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conditional -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_conditional -> r
gmapT :: (forall b. Data b => b -> b) -> THF_conditional -> THF_conditional
$cgmapT :: (forall b. Data b => b -> b) -> THF_conditional -> THF_conditional
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_conditional)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_conditional)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_conditional)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_conditional)
dataTypeOf :: THF_conditional -> DataType
$cdataTypeOf :: THF_conditional -> DataType
toConstr :: THF_conditional -> Constr
$ctoConstr :: THF_conditional -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conditional
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_conditional
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conditional -> c THF_conditional
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_conditional -> c THF_conditional
$cp1Data :: Typeable THF_conditional
Data, Typeable)

-- %----The LHS of a term or formula binding must be a non-variable term that
-- %----is flat with pairwise distinct variable arguments, and the variables in
-- %----the LHS must be exactly those bound in the universally quantified variable
-- %----list, in the same order. Let definitions are not recursive: a non-variable
-- %----symbol introduced in the LHS of a let definition cannot occur in the RHS.
-- %----If a symbol with the same signature as the one in the LHS of the binding
-- %----is declared above the let expression (at the top level or in an
-- %----encompassing let) then it can be used in the RHS of the binding, but it is
-- %----not accessible in the term or formula of the let expression. Let
-- %----expressions can be eliminated by a simple definition expansion.
-- <thf_let>              ::= $let(<thf_unitary_formula>,<thf_formula>)
-- <thf_let>              :== $let(<thf_let_defns>,<thf_formula>)
data THF_let = THF_let THF_let_defns THF_formula
               deriving (Int -> THF_let -> ShowS
[THF_let] -> ShowS
THF_let -> String
(Int -> THF_let -> ShowS)
-> (THF_let -> String) -> ([THF_let] -> ShowS) -> Show THF_let
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_let] -> ShowS
$cshowList :: [THF_let] -> ShowS
show :: THF_let -> String
$cshow :: THF_let -> String
showsPrec :: Int -> THF_let -> ShowS
$cshowsPrec :: Int -> THF_let -> ShowS
Show, Eq THF_let
Eq THF_let =>
(THF_let -> THF_let -> Ordering)
-> (THF_let -> THF_let -> Bool)
-> (THF_let -> THF_let -> Bool)
-> (THF_let -> THF_let -> Bool)
-> (THF_let -> THF_let -> Bool)
-> (THF_let -> THF_let -> THF_let)
-> (THF_let -> THF_let -> THF_let)
-> Ord THF_let
THF_let -> THF_let -> Bool
THF_let -> THF_let -> Ordering
THF_let -> THF_let -> THF_let
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_let -> THF_let -> THF_let
$cmin :: THF_let -> THF_let -> THF_let
max :: THF_let -> THF_let -> THF_let
$cmax :: THF_let -> THF_let -> THF_let
>= :: THF_let -> THF_let -> Bool
$c>= :: THF_let -> THF_let -> Bool
> :: THF_let -> THF_let -> Bool
$c> :: THF_let -> THF_let -> Bool
<= :: THF_let -> THF_let -> Bool
$c<= :: THF_let -> THF_let -> Bool
< :: THF_let -> THF_let -> Bool
$c< :: THF_let -> THF_let -> Bool
compare :: THF_let -> THF_let -> Ordering
$ccompare :: THF_let -> THF_let -> Ordering
$cp1Ord :: Eq THF_let
Ord, THF_let -> THF_let -> Bool
(THF_let -> THF_let -> Bool)
-> (THF_let -> THF_let -> Bool) -> Eq THF_let
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_let -> THF_let -> Bool
$c/= :: THF_let -> THF_let -> Bool
== :: THF_let -> THF_let -> Bool
$c== :: THF_let -> THF_let -> Bool
Eq, Typeable THF_let
Constr
DataType
Typeable THF_let =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_let -> c THF_let)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_let)
-> (THF_let -> Constr)
-> (THF_let -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_let))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_let))
-> ((forall b. Data b => b -> b) -> THF_let -> THF_let)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_let -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> THF_let -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_let -> m THF_let)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_let -> m THF_let)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_let -> m THF_let)
-> Data THF_let
THF_let -> Constr
THF_let -> DataType
(forall b. Data b => b -> b) -> THF_let -> THF_let
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let -> c THF_let
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_let -> u
forall u. (forall d. Data d => d -> u) -> THF_let -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_let -> m THF_let
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let -> m THF_let
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let -> c THF_let
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_let)
$cTHF_let :: Constr
$tTHF_let :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_let -> m THF_let
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let -> m THF_let
gmapMp :: (forall d. Data d => d -> m d) -> THF_let -> m THF_let
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let -> m THF_let
gmapM :: (forall d. Data d => d -> m d) -> THF_let -> m THF_let
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_let -> m THF_let
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_let -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_let -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_let -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_let -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let -> r
gmapT :: (forall b. Data b => b -> b) -> THF_let -> THF_let
$cgmapT :: (forall b. Data b => b -> b) -> THF_let -> THF_let
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_let)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_let)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_let)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let)
dataTypeOf :: THF_let -> DataType
$cdataTypeOf :: THF_let -> DataType
toConstr :: THF_let -> Constr
$ctoConstr :: THF_let -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let -> c THF_let
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let -> c THF_let
$cp1Data :: Typeable THF_let
Data, Typeable)

-- <thf_let_defns>        :== <thf_let_defn> | [<thf_let_defn_list>]
data THF_let_defns = THFLD_single THF_let_defn
                   | THFLD_many THF_let_defn_list
                     deriving (Int -> THF_let_defns -> ShowS
[THF_let_defns] -> ShowS
THF_let_defns -> String
(Int -> THF_let_defns -> ShowS)
-> (THF_let_defns -> String)
-> ([THF_let_defns] -> ShowS)
-> Show THF_let_defns
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_let_defns] -> ShowS
$cshowList :: [THF_let_defns] -> ShowS
show :: THF_let_defns -> String
$cshow :: THF_let_defns -> String
showsPrec :: Int -> THF_let_defns -> ShowS
$cshowsPrec :: Int -> THF_let_defns -> ShowS
Show, Eq THF_let_defns
Eq THF_let_defns =>
(THF_let_defns -> THF_let_defns -> Ordering)
-> (THF_let_defns -> THF_let_defns -> Bool)
-> (THF_let_defns -> THF_let_defns -> Bool)
-> (THF_let_defns -> THF_let_defns -> Bool)
-> (THF_let_defns -> THF_let_defns -> Bool)
-> (THF_let_defns -> THF_let_defns -> THF_let_defns)
-> (THF_let_defns -> THF_let_defns -> THF_let_defns)
-> Ord THF_let_defns
THF_let_defns -> THF_let_defns -> Bool
THF_let_defns -> THF_let_defns -> Ordering
THF_let_defns -> THF_let_defns -> THF_let_defns
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_let_defns -> THF_let_defns -> THF_let_defns
$cmin :: THF_let_defns -> THF_let_defns -> THF_let_defns
max :: THF_let_defns -> THF_let_defns -> THF_let_defns
$cmax :: THF_let_defns -> THF_let_defns -> THF_let_defns
>= :: THF_let_defns -> THF_let_defns -> Bool
$c>= :: THF_let_defns -> THF_let_defns -> Bool
> :: THF_let_defns -> THF_let_defns -> Bool
$c> :: THF_let_defns -> THF_let_defns -> Bool
<= :: THF_let_defns -> THF_let_defns -> Bool
$c<= :: THF_let_defns -> THF_let_defns -> Bool
< :: THF_let_defns -> THF_let_defns -> Bool
$c< :: THF_let_defns -> THF_let_defns -> Bool
compare :: THF_let_defns -> THF_let_defns -> Ordering
$ccompare :: THF_let_defns -> THF_let_defns -> Ordering
$cp1Ord :: Eq THF_let_defns
Ord, THF_let_defns -> THF_let_defns -> Bool
(THF_let_defns -> THF_let_defns -> Bool)
-> (THF_let_defns -> THF_let_defns -> Bool) -> Eq THF_let_defns
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_let_defns -> THF_let_defns -> Bool
$c/= :: THF_let_defns -> THF_let_defns -> Bool
== :: THF_let_defns -> THF_let_defns -> Bool
$c== :: THF_let_defns -> THF_let_defns -> Bool
Eq, Typeable THF_let_defns
Constr
DataType
Typeable THF_let_defns =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_let_defns -> c THF_let_defns)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_let_defns)
-> (THF_let_defns -> Constr)
-> (THF_let_defns -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_let_defns))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_let_defns))
-> ((forall b. Data b => b -> b) -> THF_let_defns -> THF_let_defns)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_let_defns -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_let_defns -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns)
-> Data THF_let_defns
THF_let_defns -> Constr
THF_let_defns -> DataType
(forall b. Data b => b -> b) -> THF_let_defns -> THF_let_defns
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defns -> c THF_let_defns
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defns
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_let_defns -> u
forall u. (forall d. Data d => d -> u) -> THF_let_defns -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defns
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defns -> c THF_let_defns
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_defns)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defns)
$cTHFLD_many :: Constr
$cTHFLD_single :: Constr
$tTHF_let_defns :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
gmapMp :: (forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
gmapM :: (forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_let_defns -> m THF_let_defns
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_let_defns -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_let_defns -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_let_defns -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_let_defns -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defns -> r
gmapT :: (forall b. Data b => b -> b) -> THF_let_defns -> THF_let_defns
$cgmapT :: (forall b. Data b => b -> b) -> THF_let_defns -> THF_let_defns
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defns)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defns)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_let_defns)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_defns)
dataTypeOf :: THF_let_defns -> DataType
$cdataTypeOf :: THF_let_defns -> DataType
toConstr :: THF_let_defns -> Constr
$ctoConstr :: THF_let_defns -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defns
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defns
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defns -> c THF_let_defns
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defns -> c THF_let_defns
$cp1Data :: Typeable THF_let_defns
Data, Typeable)

-- <thf_let_defn_list>    :== <thf_let_defn> | <thf_let_defn>,<thf_let_defn_list>
type THF_let_defn_list = [THF_let_defn]

-- <thf_let_defn>         :== <thf_let_quantified_defn> | <thf_let_plain_defn>
data THF_let_defn = THFLD_quantified THF_let_quantified_defn
                  | THFLD_plain THF_let_plain_defn
                    deriving (Int -> THF_let_defn -> ShowS
[THF_let_defn] -> ShowS
THF_let_defn -> String
(Int -> THF_let_defn -> ShowS)
-> (THF_let_defn -> String)
-> ([THF_let_defn] -> ShowS)
-> Show THF_let_defn
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_let_defn] -> ShowS
$cshowList :: [THF_let_defn] -> ShowS
show :: THF_let_defn -> String
$cshow :: THF_let_defn -> String
showsPrec :: Int -> THF_let_defn -> ShowS
$cshowsPrec :: Int -> THF_let_defn -> ShowS
Show, Eq THF_let_defn
Eq THF_let_defn =>
(THF_let_defn -> THF_let_defn -> Ordering)
-> (THF_let_defn -> THF_let_defn -> Bool)
-> (THF_let_defn -> THF_let_defn -> Bool)
-> (THF_let_defn -> THF_let_defn -> Bool)
-> (THF_let_defn -> THF_let_defn -> Bool)
-> (THF_let_defn -> THF_let_defn -> THF_let_defn)
-> (THF_let_defn -> THF_let_defn -> THF_let_defn)
-> Ord THF_let_defn
THF_let_defn -> THF_let_defn -> Bool
THF_let_defn -> THF_let_defn -> Ordering
THF_let_defn -> THF_let_defn -> THF_let_defn
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_let_defn -> THF_let_defn -> THF_let_defn
$cmin :: THF_let_defn -> THF_let_defn -> THF_let_defn
max :: THF_let_defn -> THF_let_defn -> THF_let_defn
$cmax :: THF_let_defn -> THF_let_defn -> THF_let_defn
>= :: THF_let_defn -> THF_let_defn -> Bool
$c>= :: THF_let_defn -> THF_let_defn -> Bool
> :: THF_let_defn -> THF_let_defn -> Bool
$c> :: THF_let_defn -> THF_let_defn -> Bool
<= :: THF_let_defn -> THF_let_defn -> Bool
$c<= :: THF_let_defn -> THF_let_defn -> Bool
< :: THF_let_defn -> THF_let_defn -> Bool
$c< :: THF_let_defn -> THF_let_defn -> Bool
compare :: THF_let_defn -> THF_let_defn -> Ordering
$ccompare :: THF_let_defn -> THF_let_defn -> Ordering
$cp1Ord :: Eq THF_let_defn
Ord, THF_let_defn -> THF_let_defn -> Bool
(THF_let_defn -> THF_let_defn -> Bool)
-> (THF_let_defn -> THF_let_defn -> Bool) -> Eq THF_let_defn
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_let_defn -> THF_let_defn -> Bool
$c/= :: THF_let_defn -> THF_let_defn -> Bool
== :: THF_let_defn -> THF_let_defn -> Bool
$c== :: THF_let_defn -> THF_let_defn -> Bool
Eq, Typeable THF_let_defn
Constr
DataType
Typeable THF_let_defn =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_let_defn -> c THF_let_defn)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_let_defn)
-> (THF_let_defn -> Constr)
-> (THF_let_defn -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_let_defn))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_let_defn))
-> ((forall b. Data b => b -> b) -> THF_let_defn -> THF_let_defn)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_let_defn -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_let_defn -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn)
-> Data THF_let_defn
THF_let_defn -> Constr
THF_let_defn -> DataType
(forall b. Data b => b -> b) -> THF_let_defn -> THF_let_defn
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn -> c THF_let_defn
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_let_defn -> u
forall u. (forall d. Data d => d -> u) -> THF_let_defn -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn -> c THF_let_defn
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_defn)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defn)
$cTHFLD_plain :: Constr
$cTHFLD_quantified :: Constr
$tTHF_let_defn :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
gmapMp :: (forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
gmapM :: (forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_let_defn -> m THF_let_defn
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_let_defn -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_let_defn -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_let_defn -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_let_defn -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn -> r
gmapT :: (forall b. Data b => b -> b) -> THF_let_defn -> THF_let_defn
$cgmapT :: (forall b. Data b => b -> b) -> THF_let_defn -> THF_let_defn
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defn)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defn)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_let_defn)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_defn)
dataTypeOf :: THF_let_defn -> DataType
$cdataTypeOf :: THF_let_defn -> DataType
toConstr :: THF_let_defn -> Constr
$ctoConstr :: THF_let_defn -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn -> c THF_let_defn
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn -> c THF_let_defn
$cp1Data :: Typeable THF_let_defn
Data, Typeable)

-- <thf_let_quantified_defn> :== <thf_quantification> (<thf_let_plain_defn>)
data THF_let_quantified_defn = THF_let_quantified_defn THF_quantification THF_let_plain_defn
                               deriving (Int -> THF_let_quantified_defn -> ShowS
[THF_let_quantified_defn] -> ShowS
THF_let_quantified_defn -> String
(Int -> THF_let_quantified_defn -> ShowS)
-> (THF_let_quantified_defn -> String)
-> ([THF_let_quantified_defn] -> ShowS)
-> Show THF_let_quantified_defn
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_let_quantified_defn] -> ShowS
$cshowList :: [THF_let_quantified_defn] -> ShowS
show :: THF_let_quantified_defn -> String
$cshow :: THF_let_quantified_defn -> String
showsPrec :: Int -> THF_let_quantified_defn -> ShowS
$cshowsPrec :: Int -> THF_let_quantified_defn -> ShowS
Show, Eq THF_let_quantified_defn
Eq THF_let_quantified_defn =>
(THF_let_quantified_defn -> THF_let_quantified_defn -> Ordering)
-> (THF_let_quantified_defn -> THF_let_quantified_defn -> Bool)
-> (THF_let_quantified_defn -> THF_let_quantified_defn -> Bool)
-> (THF_let_quantified_defn -> THF_let_quantified_defn -> Bool)
-> (THF_let_quantified_defn -> THF_let_quantified_defn -> Bool)
-> (THF_let_quantified_defn
    -> THF_let_quantified_defn -> THF_let_quantified_defn)
-> (THF_let_quantified_defn
    -> THF_let_quantified_defn -> THF_let_quantified_defn)
-> Ord THF_let_quantified_defn
THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
THF_let_quantified_defn -> THF_let_quantified_defn -> Ordering
THF_let_quantified_defn
-> THF_let_quantified_defn -> THF_let_quantified_defn
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_let_quantified_defn
-> THF_let_quantified_defn -> THF_let_quantified_defn
$cmin :: THF_let_quantified_defn
-> THF_let_quantified_defn -> THF_let_quantified_defn
max :: THF_let_quantified_defn
-> THF_let_quantified_defn -> THF_let_quantified_defn
$cmax :: THF_let_quantified_defn
-> THF_let_quantified_defn -> THF_let_quantified_defn
>= :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
$c>= :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
> :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
$c> :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
<= :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
$c<= :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
< :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
$c< :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
compare :: THF_let_quantified_defn -> THF_let_quantified_defn -> Ordering
$ccompare :: THF_let_quantified_defn -> THF_let_quantified_defn -> Ordering
$cp1Ord :: Eq THF_let_quantified_defn
Ord, THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
(THF_let_quantified_defn -> THF_let_quantified_defn -> Bool)
-> (THF_let_quantified_defn -> THF_let_quantified_defn -> Bool)
-> Eq THF_let_quantified_defn
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
$c/= :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
== :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
$c== :: THF_let_quantified_defn -> THF_let_quantified_defn -> Bool
Eq, Typeable THF_let_quantified_defn
Constr
DataType
Typeable THF_let_quantified_defn =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_let_quantified_defn
 -> c THF_let_quantified_defn)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_let_quantified_defn)
-> (THF_let_quantified_defn -> Constr)
-> (THF_let_quantified_defn -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_let_quantified_defn))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_let_quantified_defn))
-> ((forall b. Data b => b -> b)
    -> THF_let_quantified_defn -> THF_let_quantified_defn)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> THF_let_quantified_defn
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> THF_let_quantified_defn
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_let_quantified_defn -> [u])
-> (forall u.
    Int
    -> (forall d. Data d => d -> u) -> THF_let_quantified_defn -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_let_quantified_defn -> m THF_let_quantified_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_let_quantified_defn -> m THF_let_quantified_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_let_quantified_defn -> m THF_let_quantified_defn)
-> Data THF_let_quantified_defn
THF_let_quantified_defn -> Constr
THF_let_quantified_defn -> DataType
(forall b. Data b => b -> b)
-> THF_let_quantified_defn -> THF_let_quantified_defn
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_quantified_defn
-> c THF_let_quantified_defn
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_quantified_defn
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_let_quantified_defn -> u
forall u.
(forall d. Data d => d -> u) -> THF_let_quantified_defn -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_let_quantified_defn
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_let_quantified_defn
-> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_quantified_defn
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_quantified_defn
-> c THF_let_quantified_defn
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_quantified_defn)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_quantified_defn)
$cTHF_let_quantified_defn :: Constr
$tTHF_let_quantified_defn :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
gmapMp :: (forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
gmapM :: (forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_let_quantified_defn -> m THF_let_quantified_defn
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_let_quantified_defn -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_let_quantified_defn -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_let_quantified_defn -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> THF_let_quantified_defn -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_let_quantified_defn
-> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_let_quantified_defn
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_let_quantified_defn
-> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> THF_let_quantified_defn
-> r
gmapT :: (forall b. Data b => b -> b)
-> THF_let_quantified_defn -> THF_let_quantified_defn
$cgmapT :: (forall b. Data b => b -> b)
-> THF_let_quantified_defn -> THF_let_quantified_defn
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_quantified_defn)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_quantified_defn)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_let_quantified_defn)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_quantified_defn)
dataTypeOf :: THF_let_quantified_defn -> DataType
$cdataTypeOf :: THF_let_quantified_defn -> DataType
toConstr :: THF_let_quantified_defn -> Constr
$ctoConstr :: THF_let_quantified_defn -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_quantified_defn
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_quantified_defn
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_quantified_defn
-> c THF_let_quantified_defn
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_quantified_defn
-> c THF_let_quantified_defn
$cp1Data :: Typeable THF_let_quantified_defn
Data, Typeable)

-- <thf_let_plain_defn>   :== <thf_let_defn_LHS> <assignment> <thf_formula>
data THF_let_plain_defn = THF_let_plain_defn THF_let_defn_LHS THF_formula
                          deriving (Int -> THF_let_plain_defn -> ShowS
[THF_let_plain_defn] -> ShowS
THF_let_plain_defn -> String
(Int -> THF_let_plain_defn -> ShowS)
-> (THF_let_plain_defn -> String)
-> ([THF_let_plain_defn] -> ShowS)
-> Show THF_let_plain_defn
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_let_plain_defn] -> ShowS
$cshowList :: [THF_let_plain_defn] -> ShowS
show :: THF_let_plain_defn -> String
$cshow :: THF_let_plain_defn -> String
showsPrec :: Int -> THF_let_plain_defn -> ShowS
$cshowsPrec :: Int -> THF_let_plain_defn -> ShowS
Show, Eq THF_let_plain_defn
Eq THF_let_plain_defn =>
(THF_let_plain_defn -> THF_let_plain_defn -> Ordering)
-> (THF_let_plain_defn -> THF_let_plain_defn -> Bool)
-> (THF_let_plain_defn -> THF_let_plain_defn -> Bool)
-> (THF_let_plain_defn -> THF_let_plain_defn -> Bool)
-> (THF_let_plain_defn -> THF_let_plain_defn -> Bool)
-> (THF_let_plain_defn -> THF_let_plain_defn -> THF_let_plain_defn)
-> (THF_let_plain_defn -> THF_let_plain_defn -> THF_let_plain_defn)
-> Ord THF_let_plain_defn
THF_let_plain_defn -> THF_let_plain_defn -> Bool
THF_let_plain_defn -> THF_let_plain_defn -> Ordering
THF_let_plain_defn -> THF_let_plain_defn -> THF_let_plain_defn
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_let_plain_defn -> THF_let_plain_defn -> THF_let_plain_defn
$cmin :: THF_let_plain_defn -> THF_let_plain_defn -> THF_let_plain_defn
max :: THF_let_plain_defn -> THF_let_plain_defn -> THF_let_plain_defn
$cmax :: THF_let_plain_defn -> THF_let_plain_defn -> THF_let_plain_defn
>= :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
$c>= :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
> :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
$c> :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
<= :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
$c<= :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
< :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
$c< :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
compare :: THF_let_plain_defn -> THF_let_plain_defn -> Ordering
$ccompare :: THF_let_plain_defn -> THF_let_plain_defn -> Ordering
$cp1Ord :: Eq THF_let_plain_defn
Ord, THF_let_plain_defn -> THF_let_plain_defn -> Bool
(THF_let_plain_defn -> THF_let_plain_defn -> Bool)
-> (THF_let_plain_defn -> THF_let_plain_defn -> Bool)
-> Eq THF_let_plain_defn
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
$c/= :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
== :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
$c== :: THF_let_plain_defn -> THF_let_plain_defn -> Bool
Eq, Typeable THF_let_plain_defn
Constr
DataType
Typeable THF_let_plain_defn =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_let_plain_defn
 -> c THF_let_plain_defn)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_let_plain_defn)
-> (THF_let_plain_defn -> Constr)
-> (THF_let_plain_defn -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_let_plain_defn))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_let_plain_defn))
-> ((forall b. Data b => b -> b)
    -> THF_let_plain_defn -> THF_let_plain_defn)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_let_plain_defn -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_let_plain_defn -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_let_plain_defn -> m THF_let_plain_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_let_plain_defn -> m THF_let_plain_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_let_plain_defn -> m THF_let_plain_defn)
-> Data THF_let_plain_defn
THF_let_plain_defn -> Constr
THF_let_plain_defn -> DataType
(forall b. Data b => b -> b)
-> THF_let_plain_defn -> THF_let_plain_defn
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_plain_defn
-> c THF_let_plain_defn
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_plain_defn
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_let_plain_defn -> u
forall u. (forall d. Data d => d -> u) -> THF_let_plain_defn -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_plain_defn
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_plain_defn
-> c THF_let_plain_defn
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_plain_defn)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_plain_defn)
$cTHF_let_plain_defn :: Constr
$tTHF_let_plain_defn :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
gmapMp :: (forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
gmapM :: (forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_let_plain_defn -> m THF_let_plain_defn
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_let_plain_defn -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_let_plain_defn -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_let_plain_defn -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_let_plain_defn -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_plain_defn -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_let_plain_defn -> THF_let_plain_defn
$cgmapT :: (forall b. Data b => b -> b)
-> THF_let_plain_defn -> THF_let_plain_defn
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_plain_defn)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_plain_defn)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_let_plain_defn)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_plain_defn)
dataTypeOf :: THF_let_plain_defn -> DataType
$cdataTypeOf :: THF_let_plain_defn -> DataType
toConstr :: THF_let_plain_defn -> Constr
$ctoConstr :: THF_let_plain_defn -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_plain_defn
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_plain_defn
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_plain_defn
-> c THF_let_plain_defn
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_let_plain_defn
-> c THF_let_plain_defn
$cp1Data :: Typeable THF_let_plain_defn
Data, Typeable)

-- <thf_let_defn_LHS>     :== <constant> | <functor>(<fof_arguments>) |
--                            <thf_tuple>
-- %----The <fof_arguments> must all be <variable>s, and the <thf_tuple> may
-- %----contain only <constant>s and <functor>(<fof_arguments>)s
data THF_let_defn_LHS = THFLDL_constant Constant
                      | THFLDL_functor TPTP_functor FOF_arguments
                      | THFLDL_tuple THF_tuple
                        deriving (Int -> THF_let_defn_LHS -> ShowS
[THF_let_defn_LHS] -> ShowS
THF_let_defn_LHS -> String
(Int -> THF_let_defn_LHS -> ShowS)
-> (THF_let_defn_LHS -> String)
-> ([THF_let_defn_LHS] -> ShowS)
-> Show THF_let_defn_LHS
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_let_defn_LHS] -> ShowS
$cshowList :: [THF_let_defn_LHS] -> ShowS
show :: THF_let_defn_LHS -> String
$cshow :: THF_let_defn_LHS -> String
showsPrec :: Int -> THF_let_defn_LHS -> ShowS
$cshowsPrec :: Int -> THF_let_defn_LHS -> ShowS
Show, Eq THF_let_defn_LHS
Eq THF_let_defn_LHS =>
(THF_let_defn_LHS -> THF_let_defn_LHS -> Ordering)
-> (THF_let_defn_LHS -> THF_let_defn_LHS -> Bool)
-> (THF_let_defn_LHS -> THF_let_defn_LHS -> Bool)
-> (THF_let_defn_LHS -> THF_let_defn_LHS -> Bool)
-> (THF_let_defn_LHS -> THF_let_defn_LHS -> Bool)
-> (THF_let_defn_LHS -> THF_let_defn_LHS -> THF_let_defn_LHS)
-> (THF_let_defn_LHS -> THF_let_defn_LHS -> THF_let_defn_LHS)
-> Ord THF_let_defn_LHS
THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
THF_let_defn_LHS -> THF_let_defn_LHS -> Ordering
THF_let_defn_LHS -> THF_let_defn_LHS -> THF_let_defn_LHS
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_let_defn_LHS -> THF_let_defn_LHS -> THF_let_defn_LHS
$cmin :: THF_let_defn_LHS -> THF_let_defn_LHS -> THF_let_defn_LHS
max :: THF_let_defn_LHS -> THF_let_defn_LHS -> THF_let_defn_LHS
$cmax :: THF_let_defn_LHS -> THF_let_defn_LHS -> THF_let_defn_LHS
>= :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
$c>= :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
> :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
$c> :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
<= :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
$c<= :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
< :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
$c< :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
compare :: THF_let_defn_LHS -> THF_let_defn_LHS -> Ordering
$ccompare :: THF_let_defn_LHS -> THF_let_defn_LHS -> Ordering
$cp1Ord :: Eq THF_let_defn_LHS
Ord, THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
(THF_let_defn_LHS -> THF_let_defn_LHS -> Bool)
-> (THF_let_defn_LHS -> THF_let_defn_LHS -> Bool)
-> Eq THF_let_defn_LHS
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
$c/= :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
== :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
$c== :: THF_let_defn_LHS -> THF_let_defn_LHS -> Bool
Eq, Typeable THF_let_defn_LHS
Constr
DataType
Typeable THF_let_defn_LHS =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_let_defn_LHS -> c THF_let_defn_LHS)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_let_defn_LHS)
-> (THF_let_defn_LHS -> Constr)
-> (THF_let_defn_LHS -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_let_defn_LHS))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_let_defn_LHS))
-> ((forall b. Data b => b -> b)
    -> THF_let_defn_LHS -> THF_let_defn_LHS)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_let_defn_LHS -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_let_defn_LHS -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_let_defn_LHS -> m THF_let_defn_LHS)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_let_defn_LHS -> m THF_let_defn_LHS)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_let_defn_LHS -> m THF_let_defn_LHS)
-> Data THF_let_defn_LHS
THF_let_defn_LHS -> Constr
THF_let_defn_LHS -> DataType
(forall b. Data b => b -> b)
-> THF_let_defn_LHS -> THF_let_defn_LHS
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn_LHS -> c THF_let_defn_LHS
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn_LHS
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_let_defn_LHS -> u
forall u. (forall d. Data d => d -> u) -> THF_let_defn_LHS -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn_LHS
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn_LHS -> c THF_let_defn_LHS
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_defn_LHS)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defn_LHS)
$cTHFLDL_tuple :: Constr
$cTHFLDL_functor :: Constr
$cTHFLDL_constant :: Constr
$tTHF_let_defn_LHS :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
gmapMp :: (forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
gmapM :: (forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_let_defn_LHS -> m THF_let_defn_LHS
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_let_defn_LHS -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_let_defn_LHS -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_let_defn_LHS -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_let_defn_LHS -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_let_defn_LHS -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_let_defn_LHS -> THF_let_defn_LHS
$cgmapT :: (forall b. Data b => b -> b)
-> THF_let_defn_LHS -> THF_let_defn_LHS
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defn_LHS)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_let_defn_LHS)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_let_defn_LHS)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_let_defn_LHS)
dataTypeOf :: THF_let_defn_LHS -> DataType
$cdataTypeOf :: THF_let_defn_LHS -> DataType
toConstr :: THF_let_defn_LHS -> Constr
$ctoConstr :: THF_let_defn_LHS -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn_LHS
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_let_defn_LHS
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn_LHS -> c THF_let_defn_LHS
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_let_defn_LHS -> c THF_let_defn_LHS
$cp1Data :: Typeable THF_let_defn_LHS
Data, Typeable)

-- <thf_arguments>        ::= <thf_formula_list>
type THF_arguments = THF_formula_list

-- <thf_type_formula>     ::= <thf_typeable_formula> : <thf_top_level_type>
-- <thf_type_formula>     :== <constant> : <thf_top_level_type>
data THF_type_formula = THFTF_typeable THF_typeable_formula THF_top_level_type
                      | THFTF_constant Constant THF_top_level_type
                        deriving (Int -> THF_type_formula -> ShowS
[THF_type_formula] -> ShowS
THF_type_formula -> String
(Int -> THF_type_formula -> ShowS)
-> (THF_type_formula -> String)
-> ([THF_type_formula] -> ShowS)
-> Show THF_type_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_type_formula] -> ShowS
$cshowList :: [THF_type_formula] -> ShowS
show :: THF_type_formula -> String
$cshow :: THF_type_formula -> String
showsPrec :: Int -> THF_type_formula -> ShowS
$cshowsPrec :: Int -> THF_type_formula -> ShowS
Show, Eq THF_type_formula
Eq THF_type_formula =>
(THF_type_formula -> THF_type_formula -> Ordering)
-> (THF_type_formula -> THF_type_formula -> Bool)
-> (THF_type_formula -> THF_type_formula -> Bool)
-> (THF_type_formula -> THF_type_formula -> Bool)
-> (THF_type_formula -> THF_type_formula -> Bool)
-> (THF_type_formula -> THF_type_formula -> THF_type_formula)
-> (THF_type_formula -> THF_type_formula -> THF_type_formula)
-> Ord THF_type_formula
THF_type_formula -> THF_type_formula -> Bool
THF_type_formula -> THF_type_formula -> Ordering
THF_type_formula -> THF_type_formula -> THF_type_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_type_formula -> THF_type_formula -> THF_type_formula
$cmin :: THF_type_formula -> THF_type_formula -> THF_type_formula
max :: THF_type_formula -> THF_type_formula -> THF_type_formula
$cmax :: THF_type_formula -> THF_type_formula -> THF_type_formula
>= :: THF_type_formula -> THF_type_formula -> Bool
$c>= :: THF_type_formula -> THF_type_formula -> Bool
> :: THF_type_formula -> THF_type_formula -> Bool
$c> :: THF_type_formula -> THF_type_formula -> Bool
<= :: THF_type_formula -> THF_type_formula -> Bool
$c<= :: THF_type_formula -> THF_type_formula -> Bool
< :: THF_type_formula -> THF_type_formula -> Bool
$c< :: THF_type_formula -> THF_type_formula -> Bool
compare :: THF_type_formula -> THF_type_formula -> Ordering
$ccompare :: THF_type_formula -> THF_type_formula -> Ordering
$cp1Ord :: Eq THF_type_formula
Ord, THF_type_formula -> THF_type_formula -> Bool
(THF_type_formula -> THF_type_formula -> Bool)
-> (THF_type_formula -> THF_type_formula -> Bool)
-> Eq THF_type_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_type_formula -> THF_type_formula -> Bool
$c/= :: THF_type_formula -> THF_type_formula -> Bool
== :: THF_type_formula -> THF_type_formula -> Bool
$c== :: THF_type_formula -> THF_type_formula -> Bool
Eq, Typeable THF_type_formula
Constr
DataType
Typeable THF_type_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_type_formula -> c THF_type_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_type_formula)
-> (THF_type_formula -> Constr)
-> (THF_type_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_type_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_type_formula))
-> ((forall b. Data b => b -> b)
    -> THF_type_formula -> THF_type_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_type_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_type_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_type_formula -> m THF_type_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_type_formula -> m THF_type_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_type_formula -> m THF_type_formula)
-> Data THF_type_formula
THF_type_formula -> Constr
THF_type_formula -> DataType
(forall b. Data b => b -> b)
-> THF_type_formula -> THF_type_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_type_formula -> c THF_type_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_type_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_type_formula -> u
forall u. (forall d. Data d => d -> u) -> THF_type_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_type_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_type_formula -> c THF_type_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_type_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_type_formula)
$cTHFTF_constant :: Constr
$cTHFTF_typeable :: Constr
$tTHF_type_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
gmapMp :: (forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
gmapM :: (forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_type_formula -> m THF_type_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_type_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_type_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_type_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_type_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_type_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_type_formula -> THF_type_formula
$cgmapT :: (forall b. Data b => b -> b)
-> THF_type_formula -> THF_type_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_type_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_type_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_type_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_type_formula)
dataTypeOf :: THF_type_formula -> DataType
$cdataTypeOf :: THF_type_formula -> DataType
toConstr :: THF_type_formula -> Constr
$ctoConstr :: THF_type_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_type_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_type_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_type_formula -> c THF_type_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_type_formula -> c THF_type_formula
$cp1Data :: Typeable THF_type_formula
Data, Typeable)

-- <thf_typeable_formula> ::= <thf_atom> | (<thf_logic_formula>)
data THF_typeable_formula = THFTF_atom THF_atom
                          | THFTF_logic THF_logic_formula
                            deriving (Int -> THF_typeable_formula -> ShowS
[THF_typeable_formula] -> ShowS
THF_typeable_formula -> String
(Int -> THF_typeable_formula -> ShowS)
-> (THF_typeable_formula -> String)
-> ([THF_typeable_formula] -> ShowS)
-> Show THF_typeable_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_typeable_formula] -> ShowS
$cshowList :: [THF_typeable_formula] -> ShowS
show :: THF_typeable_formula -> String
$cshow :: THF_typeable_formula -> String
showsPrec :: Int -> THF_typeable_formula -> ShowS
$cshowsPrec :: Int -> THF_typeable_formula -> ShowS
Show, Eq THF_typeable_formula
Eq THF_typeable_formula =>
(THF_typeable_formula -> THF_typeable_formula -> Ordering)
-> (THF_typeable_formula -> THF_typeable_formula -> Bool)
-> (THF_typeable_formula -> THF_typeable_formula -> Bool)
-> (THF_typeable_formula -> THF_typeable_formula -> Bool)
-> (THF_typeable_formula -> THF_typeable_formula -> Bool)
-> (THF_typeable_formula
    -> THF_typeable_formula -> THF_typeable_formula)
-> (THF_typeable_formula
    -> THF_typeable_formula -> THF_typeable_formula)
-> Ord THF_typeable_formula
THF_typeable_formula -> THF_typeable_formula -> Bool
THF_typeable_formula -> THF_typeable_formula -> Ordering
THF_typeable_formula
-> THF_typeable_formula -> THF_typeable_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_typeable_formula
-> THF_typeable_formula -> THF_typeable_formula
$cmin :: THF_typeable_formula
-> THF_typeable_formula -> THF_typeable_formula
max :: THF_typeable_formula
-> THF_typeable_formula -> THF_typeable_formula
$cmax :: THF_typeable_formula
-> THF_typeable_formula -> THF_typeable_formula
>= :: THF_typeable_formula -> THF_typeable_formula -> Bool
$c>= :: THF_typeable_formula -> THF_typeable_formula -> Bool
> :: THF_typeable_formula -> THF_typeable_formula -> Bool
$c> :: THF_typeable_formula -> THF_typeable_formula -> Bool
<= :: THF_typeable_formula -> THF_typeable_formula -> Bool
$c<= :: THF_typeable_formula -> THF_typeable_formula -> Bool
< :: THF_typeable_formula -> THF_typeable_formula -> Bool
$c< :: THF_typeable_formula -> THF_typeable_formula -> Bool
compare :: THF_typeable_formula -> THF_typeable_formula -> Ordering
$ccompare :: THF_typeable_formula -> THF_typeable_formula -> Ordering
$cp1Ord :: Eq THF_typeable_formula
Ord, THF_typeable_formula -> THF_typeable_formula -> Bool
(THF_typeable_formula -> THF_typeable_formula -> Bool)
-> (THF_typeable_formula -> THF_typeable_formula -> Bool)
-> Eq THF_typeable_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_typeable_formula -> THF_typeable_formula -> Bool
$c/= :: THF_typeable_formula -> THF_typeable_formula -> Bool
== :: THF_typeable_formula -> THF_typeable_formula -> Bool
$c== :: THF_typeable_formula -> THF_typeable_formula -> Bool
Eq, Typeable THF_typeable_formula
Constr
DataType
Typeable THF_typeable_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_typeable_formula
 -> c THF_typeable_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_typeable_formula)
-> (THF_typeable_formula -> Constr)
-> (THF_typeable_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_typeable_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_typeable_formula))
-> ((forall b. Data b => b -> b)
    -> THF_typeable_formula -> THF_typeable_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_typeable_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_typeable_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_typeable_formula -> m THF_typeable_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_typeable_formula -> m THF_typeable_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_typeable_formula -> m THF_typeable_formula)
-> Data THF_typeable_formula
THF_typeable_formula -> Constr
THF_typeable_formula -> DataType
(forall b. Data b => b -> b)
-> THF_typeable_formula -> THF_typeable_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typeable_formula
-> c THF_typeable_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typeable_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_typeable_formula -> u
forall u.
(forall d. Data d => d -> u) -> THF_typeable_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typeable_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typeable_formula
-> c THF_typeable_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_typeable_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_typeable_formula)
$cTHFTF_logic :: Constr
$cTHFTF_atom :: Constr
$tTHF_typeable_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
gmapMp :: (forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
gmapM :: (forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_typeable_formula -> m THF_typeable_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_typeable_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_typeable_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_typeable_formula -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> THF_typeable_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_typeable_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_typeable_formula -> THF_typeable_formula
$cgmapT :: (forall b. Data b => b -> b)
-> THF_typeable_formula -> THF_typeable_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_typeable_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_typeable_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_typeable_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_typeable_formula)
dataTypeOf :: THF_typeable_formula -> DataType
$cdataTypeOf :: THF_typeable_formula -> DataType
toConstr :: THF_typeable_formula -> Constr
$ctoConstr :: THF_typeable_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typeable_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_typeable_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typeable_formula
-> c THF_typeable_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_typeable_formula
-> c THF_typeable_formula
$cp1Data :: Typeable THF_typeable_formula
Data, Typeable)

-- <thf_subtype>          ::= <thf_atom> <subtype_sign> <thf_atom>
data THF_subtype = THF_subtype THF_atom THF_atom
                   deriving (Int -> THF_subtype -> ShowS
[THF_subtype] -> ShowS
THF_subtype -> String
(Int -> THF_subtype -> ShowS)
-> (THF_subtype -> String)
-> ([THF_subtype] -> ShowS)
-> Show THF_subtype
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_subtype] -> ShowS
$cshowList :: [THF_subtype] -> ShowS
show :: THF_subtype -> String
$cshow :: THF_subtype -> String
showsPrec :: Int -> THF_subtype -> ShowS
$cshowsPrec :: Int -> THF_subtype -> ShowS
Show, Eq THF_subtype
Eq THF_subtype =>
(THF_subtype -> THF_subtype -> Ordering)
-> (THF_subtype -> THF_subtype -> Bool)
-> (THF_subtype -> THF_subtype -> Bool)
-> (THF_subtype -> THF_subtype -> Bool)
-> (THF_subtype -> THF_subtype -> Bool)
-> (THF_subtype -> THF_subtype -> THF_subtype)
-> (THF_subtype -> THF_subtype -> THF_subtype)
-> Ord THF_subtype
THF_subtype -> THF_subtype -> Bool
THF_subtype -> THF_subtype -> Ordering
THF_subtype -> THF_subtype -> THF_subtype
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_subtype -> THF_subtype -> THF_subtype
$cmin :: THF_subtype -> THF_subtype -> THF_subtype
max :: THF_subtype -> THF_subtype -> THF_subtype
$cmax :: THF_subtype -> THF_subtype -> THF_subtype
>= :: THF_subtype -> THF_subtype -> Bool
$c>= :: THF_subtype -> THF_subtype -> Bool
> :: THF_subtype -> THF_subtype -> Bool
$c> :: THF_subtype -> THF_subtype -> Bool
<= :: THF_subtype -> THF_subtype -> Bool
$c<= :: THF_subtype -> THF_subtype -> Bool
< :: THF_subtype -> THF_subtype -> Bool
$c< :: THF_subtype -> THF_subtype -> Bool
compare :: THF_subtype -> THF_subtype -> Ordering
$ccompare :: THF_subtype -> THF_subtype -> Ordering
$cp1Ord :: Eq THF_subtype
Ord, THF_subtype -> THF_subtype -> Bool
(THF_subtype -> THF_subtype -> Bool)
-> (THF_subtype -> THF_subtype -> Bool) -> Eq THF_subtype
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_subtype -> THF_subtype -> Bool
$c/= :: THF_subtype -> THF_subtype -> Bool
== :: THF_subtype -> THF_subtype -> Bool
$c== :: THF_subtype -> THF_subtype -> Bool
Eq, Typeable THF_subtype
Constr
DataType
Typeable THF_subtype =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_subtype -> c THF_subtype)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_subtype)
-> (THF_subtype -> Constr)
-> (THF_subtype -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_subtype))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_subtype))
-> ((forall b. Data b => b -> b) -> THF_subtype -> THF_subtype)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_subtype -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_subtype -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_subtype -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_subtype -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype)
-> Data THF_subtype
THF_subtype -> Constr
THF_subtype -> DataType
(forall b. Data b => b -> b) -> THF_subtype -> THF_subtype
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_subtype -> c THF_subtype
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_subtype
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_subtype -> u
forall u. (forall d. Data d => d -> u) -> THF_subtype -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_subtype -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_subtype -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_subtype
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_subtype -> c THF_subtype
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_subtype)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_subtype)
$cTHF_subtype :: Constr
$tTHF_subtype :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
gmapMp :: (forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
gmapM :: (forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_subtype -> m THF_subtype
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_subtype -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_subtype -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_subtype -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_subtype -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_subtype -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_subtype -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_subtype -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_subtype -> r
gmapT :: (forall b. Data b => b -> b) -> THF_subtype -> THF_subtype
$cgmapT :: (forall b. Data b => b -> b) -> THF_subtype -> THF_subtype
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_subtype)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_subtype)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_subtype)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_subtype)
dataTypeOf :: THF_subtype -> DataType
$cdataTypeOf :: THF_subtype -> DataType
toConstr :: THF_subtype -> Constr
$ctoConstr :: THF_subtype -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_subtype
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_subtype
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_subtype -> c THF_subtype
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_subtype -> c THF_subtype
$cp1Data :: Typeable THF_subtype
Data, Typeable)


-- %----<thf_top_level_type> appears after ":", where a type is being specified
-- %----for a term or variable. <thf_unitary_type> includes <thf_unitary_formula>,
-- %----so the syntax allows just about any lambda expression with "enough"
-- %----parentheses to serve as a type. The expected use of this flexibility is
-- %----parametric polymorphism in types, expressed with lambda abstraction.
-- %----Mapping is right-associative: o > o > o means o > (o > o).
-- %----Xproduct is left-associative: o * o * o means (o * o) * o.
-- %----Union is left-associative: o + o + o means (o + o) + o.
-- <thf_top_level_type>   ::= <thf_unitary_type> | <thf_mapping_type>
data THF_top_level_type = THFTLT_unitary THF_unitary_type
                        | THFTLT_mapping THF_mapping_type
                          deriving (Int -> THF_top_level_type -> ShowS
[THF_top_level_type] -> ShowS
THF_top_level_type -> String
(Int -> THF_top_level_type -> ShowS)
-> (THF_top_level_type -> String)
-> ([THF_top_level_type] -> ShowS)
-> Show THF_top_level_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_top_level_type] -> ShowS
$cshowList :: [THF_top_level_type] -> ShowS
show :: THF_top_level_type -> String
$cshow :: THF_top_level_type -> String
showsPrec :: Int -> THF_top_level_type -> ShowS
$cshowsPrec :: Int -> THF_top_level_type -> ShowS
Show, Eq THF_top_level_type
Eq THF_top_level_type =>
(THF_top_level_type -> THF_top_level_type -> Ordering)
-> (THF_top_level_type -> THF_top_level_type -> Bool)
-> (THF_top_level_type -> THF_top_level_type -> Bool)
-> (THF_top_level_type -> THF_top_level_type -> Bool)
-> (THF_top_level_type -> THF_top_level_type -> Bool)
-> (THF_top_level_type -> THF_top_level_type -> THF_top_level_type)
-> (THF_top_level_type -> THF_top_level_type -> THF_top_level_type)
-> Ord THF_top_level_type
THF_top_level_type -> THF_top_level_type -> Bool
THF_top_level_type -> THF_top_level_type -> Ordering
THF_top_level_type -> THF_top_level_type -> THF_top_level_type
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_top_level_type -> THF_top_level_type -> THF_top_level_type
$cmin :: THF_top_level_type -> THF_top_level_type -> THF_top_level_type
max :: THF_top_level_type -> THF_top_level_type -> THF_top_level_type
$cmax :: THF_top_level_type -> THF_top_level_type -> THF_top_level_type
>= :: THF_top_level_type -> THF_top_level_type -> Bool
$c>= :: THF_top_level_type -> THF_top_level_type -> Bool
> :: THF_top_level_type -> THF_top_level_type -> Bool
$c> :: THF_top_level_type -> THF_top_level_type -> Bool
<= :: THF_top_level_type -> THF_top_level_type -> Bool
$c<= :: THF_top_level_type -> THF_top_level_type -> Bool
< :: THF_top_level_type -> THF_top_level_type -> Bool
$c< :: THF_top_level_type -> THF_top_level_type -> Bool
compare :: THF_top_level_type -> THF_top_level_type -> Ordering
$ccompare :: THF_top_level_type -> THF_top_level_type -> Ordering
$cp1Ord :: Eq THF_top_level_type
Ord, THF_top_level_type -> THF_top_level_type -> Bool
(THF_top_level_type -> THF_top_level_type -> Bool)
-> (THF_top_level_type -> THF_top_level_type -> Bool)
-> Eq THF_top_level_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_top_level_type -> THF_top_level_type -> Bool
$c/= :: THF_top_level_type -> THF_top_level_type -> Bool
== :: THF_top_level_type -> THF_top_level_type -> Bool
$c== :: THF_top_level_type -> THF_top_level_type -> Bool
Eq, Typeable THF_top_level_type
Constr
DataType
Typeable THF_top_level_type =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> THF_top_level_type
 -> c THF_top_level_type)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_top_level_type)
-> (THF_top_level_type -> Constr)
-> (THF_top_level_type -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_top_level_type))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_top_level_type))
-> ((forall b. Data b => b -> b)
    -> THF_top_level_type -> THF_top_level_type)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_top_level_type -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_top_level_type -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_top_level_type -> m THF_top_level_type)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_top_level_type -> m THF_top_level_type)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_top_level_type -> m THF_top_level_type)
-> Data THF_top_level_type
THF_top_level_type -> Constr
THF_top_level_type -> DataType
(forall b. Data b => b -> b)
-> THF_top_level_type -> THF_top_level_type
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_top_level_type
-> c THF_top_level_type
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_top_level_type
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_top_level_type -> u
forall u. (forall d. Data d => d -> u) -> THF_top_level_type -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_top_level_type
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_top_level_type
-> c THF_top_level_type
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_top_level_type)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_top_level_type)
$cTHFTLT_mapping :: Constr
$cTHFTLT_unitary :: Constr
$tTHF_top_level_type :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
gmapMp :: (forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
gmapM :: (forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_top_level_type -> m THF_top_level_type
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_top_level_type -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_top_level_type -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_top_level_type -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_top_level_type -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_top_level_type -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_top_level_type -> THF_top_level_type
$cgmapT :: (forall b. Data b => b -> b)
-> THF_top_level_type -> THF_top_level_type
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_top_level_type)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_top_level_type)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_top_level_type)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_top_level_type)
dataTypeOf :: THF_top_level_type -> DataType
$cdataTypeOf :: THF_top_level_type -> DataType
toConstr :: THF_top_level_type -> Constr
$ctoConstr :: THF_top_level_type -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_top_level_type
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_top_level_type
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_top_level_type
-> c THF_top_level_type
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> THF_top_level_type
-> c THF_top_level_type
$cp1Data :: Typeable THF_top_level_type
Data, Typeable)

-- <thf_unitary_type>     ::= <thf_unitary_formula> | (<thf_binary_type>)
data THF_unitary_type = THFUT_unitary THF_unitary_formula
                      | THFUT_binary THF_binary_type
                        deriving (Int -> THF_unitary_type -> ShowS
[THF_unitary_type] -> ShowS
THF_unitary_type -> String
(Int -> THF_unitary_type -> ShowS)
-> (THF_unitary_type -> String)
-> ([THF_unitary_type] -> ShowS)
-> Show THF_unitary_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_unitary_type] -> ShowS
$cshowList :: [THF_unitary_type] -> ShowS
show :: THF_unitary_type -> String
$cshow :: THF_unitary_type -> String
showsPrec :: Int -> THF_unitary_type -> ShowS
$cshowsPrec :: Int -> THF_unitary_type -> ShowS
Show, Eq THF_unitary_type
Eq THF_unitary_type =>
(THF_unitary_type -> THF_unitary_type -> Ordering)
-> (THF_unitary_type -> THF_unitary_type -> Bool)
-> (THF_unitary_type -> THF_unitary_type -> Bool)
-> (THF_unitary_type -> THF_unitary_type -> Bool)
-> (THF_unitary_type -> THF_unitary_type -> Bool)
-> (THF_unitary_type -> THF_unitary_type -> THF_unitary_type)
-> (THF_unitary_type -> THF_unitary_type -> THF_unitary_type)
-> Ord THF_unitary_type
THF_unitary_type -> THF_unitary_type -> Bool
THF_unitary_type -> THF_unitary_type -> Ordering
THF_unitary_type -> THF_unitary_type -> THF_unitary_type
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_unitary_type -> THF_unitary_type -> THF_unitary_type
$cmin :: THF_unitary_type -> THF_unitary_type -> THF_unitary_type
max :: THF_unitary_type -> THF_unitary_type -> THF_unitary_type
$cmax :: THF_unitary_type -> THF_unitary_type -> THF_unitary_type
>= :: THF_unitary_type -> THF_unitary_type -> Bool
$c>= :: THF_unitary_type -> THF_unitary_type -> Bool
> :: THF_unitary_type -> THF_unitary_type -> Bool
$c> :: THF_unitary_type -> THF_unitary_type -> Bool
<= :: THF_unitary_type -> THF_unitary_type -> Bool
$c<= :: THF_unitary_type -> THF_unitary_type -> Bool
< :: THF_unitary_type -> THF_unitary_type -> Bool
$c< :: THF_unitary_type -> THF_unitary_type -> Bool
compare :: THF_unitary_type -> THF_unitary_type -> Ordering
$ccompare :: THF_unitary_type -> THF_unitary_type -> Ordering
$cp1Ord :: Eq THF_unitary_type
Ord, THF_unitary_type -> THF_unitary_type -> Bool
(THF_unitary_type -> THF_unitary_type -> Bool)
-> (THF_unitary_type -> THF_unitary_type -> Bool)
-> Eq THF_unitary_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_unitary_type -> THF_unitary_type -> Bool
$c/= :: THF_unitary_type -> THF_unitary_type -> Bool
== :: THF_unitary_type -> THF_unitary_type -> Bool
$c== :: THF_unitary_type -> THF_unitary_type -> Bool
Eq, Typeable THF_unitary_type
Constr
DataType
Typeable THF_unitary_type =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_unitary_type -> c THF_unitary_type)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_unitary_type)
-> (THF_unitary_type -> Constr)
-> (THF_unitary_type -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_unitary_type))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_unitary_type))
-> ((forall b. Data b => b -> b)
    -> THF_unitary_type -> THF_unitary_type)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_unitary_type -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_unitary_type -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_unitary_type -> m THF_unitary_type)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_unitary_type -> m THF_unitary_type)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_unitary_type -> m THF_unitary_type)
-> Data THF_unitary_type
THF_unitary_type -> Constr
THF_unitary_type -> DataType
(forall b. Data b => b -> b)
-> THF_unitary_type -> THF_unitary_type
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unitary_type -> c THF_unitary_type
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_type
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_unitary_type -> u
forall u. (forall d. Data d => d -> u) -> THF_unitary_type -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_type
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unitary_type -> c THF_unitary_type
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_unitary_type)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unitary_type)
$cTHFUT_binary :: Constr
$cTHFUT_unitary :: Constr
$tTHF_unitary_type :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
gmapMp :: (forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
gmapM :: (forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_unitary_type -> m THF_unitary_type
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_unitary_type -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_unitary_type -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_unitary_type -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_unitary_type -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_unitary_type -> r
gmapT :: (forall b. Data b => b -> b)
-> THF_unitary_type -> THF_unitary_type
$cgmapT :: (forall b. Data b => b -> b)
-> THF_unitary_type -> THF_unitary_type
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unitary_type)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_unitary_type)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_unitary_type)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_unitary_type)
dataTypeOf :: THF_unitary_type -> DataType
$cdataTypeOf :: THF_unitary_type -> DataType
toConstr :: THF_unitary_type -> Constr
$ctoConstr :: THF_unitary_type -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_type
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_unitary_type
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unitary_type -> c THF_unitary_type
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_unitary_type -> c THF_unitary_type
$cp1Data :: Typeable THF_unitary_type
Data, Typeable)

-- Each of these binary types has at least two (!) list entries.
-- <thf_binary_type>      ::= <thf_mapping_type> | <thf_xprod_type> |
--                            <thf_union_type>
data THF_binary_type = THFBT_mapping THF_mapping_type
                     | THFBT_xprod THF_xprod_type
                     | THFBT_union THF_union_type
                       deriving (Int -> THF_binary_type -> ShowS
[THF_binary_type] -> ShowS
THF_binary_type -> String
(Int -> THF_binary_type -> ShowS)
-> (THF_binary_type -> String)
-> ([THF_binary_type] -> ShowS)
-> Show THF_binary_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_binary_type] -> ShowS
$cshowList :: [THF_binary_type] -> ShowS
show :: THF_binary_type -> String
$cshow :: THF_binary_type -> String
showsPrec :: Int -> THF_binary_type -> ShowS
$cshowsPrec :: Int -> THF_binary_type -> ShowS
Show, Eq THF_binary_type
Eq THF_binary_type =>
(THF_binary_type -> THF_binary_type -> Ordering)
-> (THF_binary_type -> THF_binary_type -> Bool)
-> (THF_binary_type -> THF_binary_type -> Bool)
-> (THF_binary_type -> THF_binary_type -> Bool)
-> (THF_binary_type -> THF_binary_type -> Bool)
-> (THF_binary_type -> THF_binary_type -> THF_binary_type)
-> (THF_binary_type -> THF_binary_type -> THF_binary_type)
-> Ord THF_binary_type
THF_binary_type -> THF_binary_type -> Bool
THF_binary_type -> THF_binary_type -> Ordering
THF_binary_type -> THF_binary_type -> THF_binary_type
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_binary_type -> THF_binary_type -> THF_binary_type
$cmin :: THF_binary_type -> THF_binary_type -> THF_binary_type
max :: THF_binary_type -> THF_binary_type -> THF_binary_type
$cmax :: THF_binary_type -> THF_binary_type -> THF_binary_type
>= :: THF_binary_type -> THF_binary_type -> Bool
$c>= :: THF_binary_type -> THF_binary_type -> Bool
> :: THF_binary_type -> THF_binary_type -> Bool
$c> :: THF_binary_type -> THF_binary_type -> Bool
<= :: THF_binary_type -> THF_binary_type -> Bool
$c<= :: THF_binary_type -> THF_binary_type -> Bool
< :: THF_binary_type -> THF_binary_type -> Bool
$c< :: THF_binary_type -> THF_binary_type -> Bool
compare :: THF_binary_type -> THF_binary_type -> Ordering
$ccompare :: THF_binary_type -> THF_binary_type -> Ordering
$cp1Ord :: Eq THF_binary_type
Ord, THF_binary_type -> THF_binary_type -> Bool
(THF_binary_type -> THF_binary_type -> Bool)
-> (THF_binary_type -> THF_binary_type -> Bool)
-> Eq THF_binary_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_binary_type -> THF_binary_type -> Bool
$c/= :: THF_binary_type -> THF_binary_type -> Bool
== :: THF_binary_type -> THF_binary_type -> Bool
$c== :: THF_binary_type -> THF_binary_type -> Bool
Eq, Typeable THF_binary_type
Constr
DataType
Typeable THF_binary_type =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_binary_type -> c THF_binary_type)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_binary_type)
-> (THF_binary_type -> Constr)
-> (THF_binary_type -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_binary_type))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_binary_type))
-> ((forall b. Data b => b -> b)
    -> THF_binary_type -> THF_binary_type)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> THF_binary_type -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_binary_type -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_type -> m THF_binary_type)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_type -> m THF_binary_type)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> THF_binary_type -> m THF_binary_type)
-> Data THF_binary_type
THF_binary_type -> Constr
THF_binary_type -> DataType
(forall b. Data b => b -> b) -> THF_binary_type -> THF_binary_type
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_type -> c THF_binary_type
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_type
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_type -> u
forall u. (forall d. Data d => d -> u) -> THF_binary_type -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_type
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_type -> c THF_binary_type
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_type)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_type)
$cTHFBT_union :: Constr
$cTHFBT_xprod :: Constr
$cTHFBT_mapping :: Constr
$tTHF_binary_type :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
gmapMp :: (forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
gmapM :: (forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> THF_binary_type -> m THF_binary_type
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_binary_type -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> THF_binary_type -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_binary_type -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_binary_type -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_binary_type -> r
gmapT :: (forall b. Data b => b -> b) -> THF_binary_type -> THF_binary_type
$cgmapT :: (forall b. Data b => b -> b) -> THF_binary_type -> THF_binary_type
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_type)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_binary_type)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_binary_type)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_binary_type)
dataTypeOf :: THF_binary_type -> DataType
$cdataTypeOf :: THF_binary_type -> DataType
toConstr :: THF_binary_type -> Constr
$ctoConstr :: THF_binary_type -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_type
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_binary_type
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_type -> c THF_binary_type
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_binary_type -> c THF_binary_type
$cp1Data :: Typeable THF_binary_type
Data, Typeable)

-- <thf_mapping_type>     ::= <thf_unitary_type> <arrow> <thf_unitary_type> |
--                            <thf_unitary_type> <arrow> <thf_mapping_type>
type THF_mapping_type = [THF_unitary_type] -- right associative

-- <thf_xprod_type>       ::= <thf_unitary_type> <star> <thf_unitary_type> |
--                            <thf_xprod_type> <star> <thf_unitary_type>
type THF_xprod_type = [THF_unitary_type] -- left associative

-- <thf_union_type>       ::= <thf_unitary_type> <plus> <thf_unitary_type> |
--                            <thf_union_type> <plus> <thf_unitary_type>
type THF_union_type = [THF_unitary_type] -- right associative

-- %----Sequents using the Gentzen arrow
-- <thf_sequent>          ::= <thf_tuple> <gentzen_arrow> <thf_tuple> |
--                            (<thf_sequent>)
data THF_sequent = THFS_plain THF_tuple THF_tuple
                 | THFS_parens THF_sequent
                   deriving (Int -> THF_sequent -> ShowS
[THF_sequent] -> ShowS
THF_sequent -> String
(Int -> THF_sequent -> ShowS)
-> (THF_sequent -> String)
-> ([THF_sequent] -> ShowS)
-> Show THF_sequent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_sequent] -> ShowS
$cshowList :: [THF_sequent] -> ShowS
show :: THF_sequent -> String
$cshow :: THF_sequent -> String
showsPrec :: Int -> THF_sequent -> ShowS
$cshowsPrec :: Int -> THF_sequent -> ShowS
Show, Eq THF_sequent
Eq THF_sequent =>
(THF_sequent -> THF_sequent -> Ordering)
-> (THF_sequent -> THF_sequent -> Bool)
-> (THF_sequent -> THF_sequent -> Bool)
-> (THF_sequent -> THF_sequent -> Bool)
-> (THF_sequent -> THF_sequent -> Bool)
-> (THF_sequent -> THF_sequent -> THF_sequent)
-> (THF_sequent -> THF_sequent -> THF_sequent)
-> Ord THF_sequent
THF_sequent -> THF_sequent -> Bool
THF_sequent -> THF_sequent -> Ordering
THF_sequent -> THF_sequent -> THF_sequent
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_sequent -> THF_sequent -> THF_sequent
$cmin :: THF_sequent -> THF_sequent -> THF_sequent
max :: THF_sequent -> THF_sequent -> THF_sequent
$cmax :: THF_sequent -> THF_sequent -> THF_sequent
>= :: THF_sequent -> THF_sequent -> Bool
$c>= :: THF_sequent -> THF_sequent -> Bool
> :: THF_sequent -> THF_sequent -> Bool
$c> :: THF_sequent -> THF_sequent -> Bool
<= :: THF_sequent -> THF_sequent -> Bool
$c<= :: THF_sequent -> THF_sequent -> Bool
< :: THF_sequent -> THF_sequent -> Bool
$c< :: THF_sequent -> THF_sequent -> Bool
compare :: THF_sequent -> THF_sequent -> Ordering
$ccompare :: THF_sequent -> THF_sequent -> Ordering
$cp1Ord :: Eq THF_sequent
Ord, THF_sequent -> THF_sequent -> Bool
(THF_sequent -> THF_sequent -> Bool)
-> (THF_sequent -> THF_sequent -> Bool) -> Eq THF_sequent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_sequent -> THF_sequent -> Bool
$c/= :: THF_sequent -> THF_sequent -> Bool
== :: THF_sequent -> THF_sequent -> Bool
$c== :: THF_sequent -> THF_sequent -> Bool
Eq, Typeable THF_sequent
Constr
DataType
Typeable THF_sequent =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_sequent -> c THF_sequent)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_sequent)
-> (THF_sequent -> Constr)
-> (THF_sequent -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_sequent))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c THF_sequent))
-> ((forall b. Data b => b -> b) -> THF_sequent -> THF_sequent)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_sequent -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_sequent -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_sequent -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_sequent -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent)
-> Data THF_sequent
THF_sequent -> Constr
THF_sequent -> DataType
(forall b. Data b => b -> b) -> THF_sequent -> THF_sequent
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_sequent -> c THF_sequent
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_sequent
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_sequent -> u
forall u. (forall d. Data d => d -> u) -> THF_sequent -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_sequent -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_sequent -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_sequent
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_sequent -> c THF_sequent
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_sequent)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_sequent)
$cTHFS_parens :: Constr
$cTHFS_plain :: Constr
$tTHF_sequent :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
gmapMp :: (forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
gmapM :: (forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_sequent -> m THF_sequent
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_sequent -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_sequent -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_sequent -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_sequent -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_sequent -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_sequent -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_sequent -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_sequent -> r
gmapT :: (forall b. Data b => b -> b) -> THF_sequent -> THF_sequent
$cgmapT :: (forall b. Data b => b -> b) -> THF_sequent -> THF_sequent
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_sequent)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c THF_sequent)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_sequent)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_sequent)
dataTypeOf :: THF_sequent -> DataType
$cdataTypeOf :: THF_sequent -> DataType
toConstr :: THF_sequent -> Constr
$ctoConstr :: THF_sequent -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_sequent
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_sequent
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_sequent -> c THF_sequent
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_sequent -> c THF_sequent
$cp1Data :: Typeable THF_sequent
Data, Typeable)

-- <thf_tuple>            ::= [] | [<thf_formula_list>]
newtype THF_tuple = THF_tuple THF_formula_list
                    deriving (Int -> THF_tuple -> ShowS
[THF_tuple] -> ShowS
THF_tuple -> String
(Int -> THF_tuple -> ShowS)
-> (THF_tuple -> String)
-> ([THF_tuple] -> ShowS)
-> Show THF_tuple
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [THF_tuple] -> ShowS
$cshowList :: [THF_tuple] -> ShowS
show :: THF_tuple -> String
$cshow :: THF_tuple -> String
showsPrec :: Int -> THF_tuple -> ShowS
$cshowsPrec :: Int -> THF_tuple -> ShowS
Show, Eq THF_tuple
Eq THF_tuple =>
(THF_tuple -> THF_tuple -> Ordering)
-> (THF_tuple -> THF_tuple -> Bool)
-> (THF_tuple -> THF_tuple -> Bool)
-> (THF_tuple -> THF_tuple -> Bool)
-> (THF_tuple -> THF_tuple -> Bool)
-> (THF_tuple -> THF_tuple -> THF_tuple)
-> (THF_tuple -> THF_tuple -> THF_tuple)
-> Ord THF_tuple
THF_tuple -> THF_tuple -> Bool
THF_tuple -> THF_tuple -> Ordering
THF_tuple -> THF_tuple -> THF_tuple
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: THF_tuple -> THF_tuple -> THF_tuple
$cmin :: THF_tuple -> THF_tuple -> THF_tuple
max :: THF_tuple -> THF_tuple -> THF_tuple
$cmax :: THF_tuple -> THF_tuple -> THF_tuple
>= :: THF_tuple -> THF_tuple -> Bool
$c>= :: THF_tuple -> THF_tuple -> Bool
> :: THF_tuple -> THF_tuple -> Bool
$c> :: THF_tuple -> THF_tuple -> Bool
<= :: THF_tuple -> THF_tuple -> Bool
$c<= :: THF_tuple -> THF_tuple -> Bool
< :: THF_tuple -> THF_tuple -> Bool
$c< :: THF_tuple -> THF_tuple -> Bool
compare :: THF_tuple -> THF_tuple -> Ordering
$ccompare :: THF_tuple -> THF_tuple -> Ordering
$cp1Ord :: Eq THF_tuple
Ord, THF_tuple -> THF_tuple -> Bool
(THF_tuple -> THF_tuple -> Bool)
-> (THF_tuple -> THF_tuple -> Bool) -> Eq THF_tuple
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: THF_tuple -> THF_tuple -> Bool
$c/= :: THF_tuple -> THF_tuple -> Bool
== :: THF_tuple -> THF_tuple -> Bool
$c== :: THF_tuple -> THF_tuple -> Bool
Eq, Typeable THF_tuple
Constr
DataType
Typeable THF_tuple =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> THF_tuple -> c THF_tuple)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c THF_tuple)
-> (THF_tuple -> Constr)
-> (THF_tuple -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c THF_tuple))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_tuple))
-> ((forall b. Data b => b -> b) -> THF_tuple -> THF_tuple)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_tuple -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> THF_tuple -> r)
-> (forall u. (forall d. Data d => d -> u) -> THF_tuple -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> THF_tuple -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple)
-> Data THF_tuple
THF_tuple -> Constr
THF_tuple -> DataType
(forall b. Data b => b -> b) -> THF_tuple -> THF_tuple
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_tuple -> c THF_tuple
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_tuple
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> THF_tuple -> u
forall u. (forall d. Data d => d -> u) -> THF_tuple -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_tuple -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_tuple -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_tuple
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_tuple -> c THF_tuple
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_tuple)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_tuple)
$cTHF_tuple :: Constr
$tTHF_tuple :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
gmapMp :: (forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
gmapM :: (forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> THF_tuple -> m THF_tuple
gmapQi :: Int -> (forall d. Data d => d -> u) -> THF_tuple -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> THF_tuple -> u
gmapQ :: (forall d. Data d => d -> u) -> THF_tuple -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> THF_tuple -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_tuple -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> THF_tuple -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_tuple -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> THF_tuple -> r
gmapT :: (forall b. Data b => b -> b) -> THF_tuple -> THF_tuple
$cgmapT :: (forall b. Data b => b -> b) -> THF_tuple -> THF_tuple
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_tuple)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c THF_tuple)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c THF_tuple)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c THF_tuple)
dataTypeOf :: THF_tuple -> DataType
$cdataTypeOf :: THF_tuple -> DataType
toConstr :: THF_tuple -> Constr
$ctoConstr :: THF_tuple -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_tuple
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c THF_tuple
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_tuple -> c THF_tuple
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> THF_tuple -> c THF_tuple
$cp1Data :: Typeable THF_tuple
Data, Typeable)

-- <thf_formula_list>     ::= <thf_logic_formula> |
--                            <thf_logic_formula>,<thf_formula_list>
type THF_formula_list = [THF_logic_formula]

-- NOTE: not used by parser
-- %----New material for modal logic semantics, not integrated yet
-- <logic_defn_rule>      :== <logic_defn_LHS> <assignment> <logic_defn_RHS>-
-- data Logic_defn_rule = Logic_defn_rule Logic_defn_LHS Logic_defn_RHS
--                        deriving (Show, Ord, Eq, Data, Typeable)

-- NOTE: not used by parser
-- <logic_defn_LHS>       :== <logic_defn_value> | <thf_top_level_type>  | <name>
-- <logic_defn_LHS>       :== $constants | $quantification | $consequence |
--                            $modalities
--                            %----The $constants, $quantification, and $consequence apply to all of the
--                            %----$modalities. Each of these may be specified only once, but not necessarily
--                            %----all in a single annotated formula.-
-- data Logic_defn_LHS = Logic_defn_LHS_value Logic_defn_value
--                     | Logic_defn_LHS_THF_Top_level_type THF_top_level_type
--                     | Logic_defn_LHS_name Name
--                     | LDLC_constants
--                     | LDLC_quantification
--                     | LDLC_consequence
--                     | LDLC_modalities
--                       deriving (Show, Ord, Eq, Data, Typeable)

-- NOTE: not used by parser
-- <logic_defn_RHS>       :== <logic_defn_value> | <thf_unitary_formula>-
-- data Logic_defn_RHS = Logic_defn_RHS_value Logic_defn_value
--                     | Logic_defn_RNG_THF_Unitary_forumla THF_unitary_formula
--                       deriving (Show, Ord, Eq, Data, Typeable)

-- NOTE: not used by parser
-- <logic_defn_value>     :== <defined_constant>
-- <logic_defn_value>     :== $rigid | $flexible |
--                            $constant | $varying | $cumulative | $decreasing |
--                            $local | $global |
--                            $modal_system_K | $modal_system_T | $modal_system_D |
--                            $modal_system_S4 | $modal_system_S5 |
--                            $modal_axiom_K | $modal_axiom_T | $modal_axiom_B |
--                            $modal_axiom_D | $modal_axiom_4 | $modal_axiom_5-
-- data Logic_defn_value = Rigid
--                       | Flexible
--                       | Constant
--                       | Varying
--                       | Cumulative
--                       | Decreasing
--                       | Local
--                       | Global
--                       | Modal_system_K
--                       | Modal_system_T
--                       | Modal_system_D
--                       | Modal_system_S4
--                       | Modal_system_S5
--                       | Modal_axiom_K
--                       | Modal_axiom_T
--                       | Modal_axiom_B
--                       | Modal_axiom_D
--                       | Modal_axiom_4
--                       | Modal_axiom_5
--                       deriving (Show, Ord, Eq, Data, Typeable)

-- %----TFX formulae
-- <tfx_formula>          ::= <tfx_logic_formula> | <thf_sequent>
data TFX_formula = TFXF_logic TFX_logic_formula
                 | TFXF_sequent THF_sequent
                   deriving (Int -> TFX_formula -> ShowS
[TFX_formula] -> ShowS
TFX_formula -> String
(Int -> TFX_formula -> ShowS)
-> (TFX_formula -> String)
-> ([TFX_formula] -> ShowS)
-> Show TFX_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFX_formula] -> ShowS
$cshowList :: [TFX_formula] -> ShowS
show :: TFX_formula -> String
$cshow :: TFX_formula -> String
showsPrec :: Int -> TFX_formula -> ShowS
$cshowsPrec :: Int -> TFX_formula -> ShowS
Show, Eq TFX_formula
Eq TFX_formula =>
(TFX_formula -> TFX_formula -> Ordering)
-> (TFX_formula -> TFX_formula -> Bool)
-> (TFX_formula -> TFX_formula -> Bool)
-> (TFX_formula -> TFX_formula -> Bool)
-> (TFX_formula -> TFX_formula -> Bool)
-> (TFX_formula -> TFX_formula -> TFX_formula)
-> (TFX_formula -> TFX_formula -> TFX_formula)
-> Ord TFX_formula
TFX_formula -> TFX_formula -> Bool
TFX_formula -> TFX_formula -> Ordering
TFX_formula -> TFX_formula -> TFX_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFX_formula -> TFX_formula -> TFX_formula
$cmin :: TFX_formula -> TFX_formula -> TFX_formula
max :: TFX_formula -> TFX_formula -> TFX_formula
$cmax :: TFX_formula -> TFX_formula -> TFX_formula
>= :: TFX_formula -> TFX_formula -> Bool
$c>= :: TFX_formula -> TFX_formula -> Bool
> :: TFX_formula -> TFX_formula -> Bool
$c> :: TFX_formula -> TFX_formula -> Bool
<= :: TFX_formula -> TFX_formula -> Bool
$c<= :: TFX_formula -> TFX_formula -> Bool
< :: TFX_formula -> TFX_formula -> Bool
$c< :: TFX_formula -> TFX_formula -> Bool
compare :: TFX_formula -> TFX_formula -> Ordering
$ccompare :: TFX_formula -> TFX_formula -> Ordering
$cp1Ord :: Eq TFX_formula
Ord, TFX_formula -> TFX_formula -> Bool
(TFX_formula -> TFX_formula -> Bool)
-> (TFX_formula -> TFX_formula -> Bool) -> Eq TFX_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFX_formula -> TFX_formula -> Bool
$c/= :: TFX_formula -> TFX_formula -> Bool
== :: TFX_formula -> TFX_formula -> Bool
$c== :: TFX_formula -> TFX_formula -> Bool
Eq, Typeable TFX_formula
Constr
DataType
Typeable TFX_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFX_formula -> c TFX_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFX_formula)
-> (TFX_formula -> Constr)
-> (TFX_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFX_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFX_formula))
-> ((forall b. Data b => b -> b) -> TFX_formula -> TFX_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFX_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFX_formula -> r)
-> (forall u. (forall d. Data d => d -> u) -> TFX_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFX_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula)
-> Data TFX_formula
TFX_formula -> Constr
TFX_formula -> DataType
(forall b. Data b => b -> b) -> TFX_formula -> TFX_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_formula -> c TFX_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TFX_formula -> u
forall u. (forall d. Data d => d -> u) -> TFX_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_formula -> c TFX_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFX_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_formula)
$cTFXF_sequent :: Constr
$cTFXF_logic :: Constr
$tTFX_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
gmapMp :: (forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
gmapM :: (forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFX_formula -> m TFX_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFX_formula -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TFX_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFX_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFX_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_formula -> r
gmapT :: (forall b. Data b => b -> b) -> TFX_formula -> TFX_formula
$cgmapT :: (forall b. Data b => b -> b) -> TFX_formula -> TFX_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFX_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFX_formula)
dataTypeOf :: TFX_formula -> DataType
$cdataTypeOf :: TFX_formula -> DataType
toConstr :: TFX_formula -> Constr
$ctoConstr :: TFX_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_formula -> c TFX_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_formula -> c TFX_formula
$cp1Data :: Typeable TFX_formula
Data, Typeable)

-- <tfx_logic_formula>    ::= <thf_logic_formula>
-- % <tfx_logic_formula>    ::= <thf_binary_formula> | <thf_unitary_formula> |
-- %                            <tff_typed_atom> | <tff_subtype>
data TFX_logic_formula = TFXLF_binary THF_binary_formula
                       | TFXLF_unitary THF_unitary_formula
                       | TFXLF_typed TFF_typed_atom
                       | TFXLF_subtype TFF_subtype
                         deriving (Int -> TFX_logic_formula -> ShowS
[TFX_logic_formula] -> ShowS
TFX_logic_formula -> String
(Int -> TFX_logic_formula -> ShowS)
-> (TFX_logic_formula -> String)
-> ([TFX_logic_formula] -> ShowS)
-> Show TFX_logic_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFX_logic_formula] -> ShowS
$cshowList :: [TFX_logic_formula] -> ShowS
show :: TFX_logic_formula -> String
$cshow :: TFX_logic_formula -> String
showsPrec :: Int -> TFX_logic_formula -> ShowS
$cshowsPrec :: Int -> TFX_logic_formula -> ShowS
Show, Eq TFX_logic_formula
Eq TFX_logic_formula =>
(TFX_logic_formula -> TFX_logic_formula -> Ordering)
-> (TFX_logic_formula -> TFX_logic_formula -> Bool)
-> (TFX_logic_formula -> TFX_logic_formula -> Bool)
-> (TFX_logic_formula -> TFX_logic_formula -> Bool)
-> (TFX_logic_formula -> TFX_logic_formula -> Bool)
-> (TFX_logic_formula -> TFX_logic_formula -> TFX_logic_formula)
-> (TFX_logic_formula -> TFX_logic_formula -> TFX_logic_formula)
-> Ord TFX_logic_formula
TFX_logic_formula -> TFX_logic_formula -> Bool
TFX_logic_formula -> TFX_logic_formula -> Ordering
TFX_logic_formula -> TFX_logic_formula -> TFX_logic_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFX_logic_formula -> TFX_logic_formula -> TFX_logic_formula
$cmin :: TFX_logic_formula -> TFX_logic_formula -> TFX_logic_formula
max :: TFX_logic_formula -> TFX_logic_formula -> TFX_logic_formula
$cmax :: TFX_logic_formula -> TFX_logic_formula -> TFX_logic_formula
>= :: TFX_logic_formula -> TFX_logic_formula -> Bool
$c>= :: TFX_logic_formula -> TFX_logic_formula -> Bool
> :: TFX_logic_formula -> TFX_logic_formula -> Bool
$c> :: TFX_logic_formula -> TFX_logic_formula -> Bool
<= :: TFX_logic_formula -> TFX_logic_formula -> Bool
$c<= :: TFX_logic_formula -> TFX_logic_formula -> Bool
< :: TFX_logic_formula -> TFX_logic_formula -> Bool
$c< :: TFX_logic_formula -> TFX_logic_formula -> Bool
compare :: TFX_logic_formula -> TFX_logic_formula -> Ordering
$ccompare :: TFX_logic_formula -> TFX_logic_formula -> Ordering
$cp1Ord :: Eq TFX_logic_formula
Ord, TFX_logic_formula -> TFX_logic_formula -> Bool
(TFX_logic_formula -> TFX_logic_formula -> Bool)
-> (TFX_logic_formula -> TFX_logic_formula -> Bool)
-> Eq TFX_logic_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFX_logic_formula -> TFX_logic_formula -> Bool
$c/= :: TFX_logic_formula -> TFX_logic_formula -> Bool
== :: TFX_logic_formula -> TFX_logic_formula -> Bool
$c== :: TFX_logic_formula -> TFX_logic_formula -> Bool
Eq, Typeable TFX_logic_formula
Constr
DataType
Typeable TFX_logic_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFX_logic_formula
 -> c TFX_logic_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFX_logic_formula)
-> (TFX_logic_formula -> Constr)
-> (TFX_logic_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFX_logic_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFX_logic_formula))
-> ((forall b. Data b => b -> b)
    -> TFX_logic_formula -> TFX_logic_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFX_logic_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFX_logic_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFX_logic_formula -> m TFX_logic_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFX_logic_formula -> m TFX_logic_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFX_logic_formula -> m TFX_logic_formula)
-> Data TFX_logic_formula
TFX_logic_formula -> Constr
TFX_logic_formula -> DataType
(forall b. Data b => b -> b)
-> TFX_logic_formula -> TFX_logic_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_logic_formula -> c TFX_logic_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_logic_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFX_logic_formula -> u
forall u. (forall d. Data d => d -> u) -> TFX_logic_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_logic_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_logic_formula -> c TFX_logic_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFX_logic_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_logic_formula)
$cTFXLF_subtype :: Constr
$cTFXLF_typed :: Constr
$cTFXLF_unitary :: Constr
$cTFXLF_binary :: Constr
$tTFX_logic_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
gmapMp :: (forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
gmapM :: (forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFX_logic_formula -> m TFX_logic_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFX_logic_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFX_logic_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFX_logic_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFX_logic_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFX_logic_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> TFX_logic_formula -> TFX_logic_formula
$cgmapT :: (forall b. Data b => b -> b)
-> TFX_logic_formula -> TFX_logic_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_logic_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFX_logic_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFX_logic_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFX_logic_formula)
dataTypeOf :: TFX_logic_formula -> DataType
$cdataTypeOf :: TFX_logic_formula -> DataType
toConstr :: TFX_logic_formula -> Constr
$ctoConstr :: TFX_logic_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_logic_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFX_logic_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_logic_formula -> c TFX_logic_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFX_logic_formula -> c TFX_logic_formula
$cp1Data :: Typeable TFX_logic_formula
Data, Typeable)

-- %----TFF formulae.
-- <tff_formula>          ::= <tff_logic_formula> | <tff_typed_atom> |
--                            <tff_sequent>
data TFF_formula = TFFF_logic TFF_logic_formula
                 | TFFF_atom TFF_typed_atom
                 | TFFF_sequent TFF_sequent
                   deriving (Int -> TFF_formula -> ShowS
[TFF_formula] -> ShowS
TFF_formula -> String
(Int -> TFF_formula -> ShowS)
-> (TFF_formula -> String)
-> ([TFF_formula] -> ShowS)
-> Show TFF_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_formula] -> ShowS
$cshowList :: [TFF_formula] -> ShowS
show :: TFF_formula -> String
$cshow :: TFF_formula -> String
showsPrec :: Int -> TFF_formula -> ShowS
$cshowsPrec :: Int -> TFF_formula -> ShowS
Show, Eq TFF_formula
Eq TFF_formula =>
(TFF_formula -> TFF_formula -> Ordering)
-> (TFF_formula -> TFF_formula -> Bool)
-> (TFF_formula -> TFF_formula -> Bool)
-> (TFF_formula -> TFF_formula -> Bool)
-> (TFF_formula -> TFF_formula -> Bool)
-> (TFF_formula -> TFF_formula -> TFF_formula)
-> (TFF_formula -> TFF_formula -> TFF_formula)
-> Ord TFF_formula
TFF_formula -> TFF_formula -> Bool
TFF_formula -> TFF_formula -> Ordering
TFF_formula -> TFF_formula -> TFF_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_formula -> TFF_formula -> TFF_formula
$cmin :: TFF_formula -> TFF_formula -> TFF_formula
max :: TFF_formula -> TFF_formula -> TFF_formula
$cmax :: TFF_formula -> TFF_formula -> TFF_formula
>= :: TFF_formula -> TFF_formula -> Bool
$c>= :: TFF_formula -> TFF_formula -> Bool
> :: TFF_formula -> TFF_formula -> Bool
$c> :: TFF_formula -> TFF_formula -> Bool
<= :: TFF_formula -> TFF_formula -> Bool
$c<= :: TFF_formula -> TFF_formula -> Bool
< :: TFF_formula -> TFF_formula -> Bool
$c< :: TFF_formula -> TFF_formula -> Bool
compare :: TFF_formula -> TFF_formula -> Ordering
$ccompare :: TFF_formula -> TFF_formula -> Ordering
$cp1Ord :: Eq TFF_formula
Ord, TFF_formula -> TFF_formula -> Bool
(TFF_formula -> TFF_formula -> Bool)
-> (TFF_formula -> TFF_formula -> Bool) -> Eq TFF_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_formula -> TFF_formula -> Bool
$c/= :: TFF_formula -> TFF_formula -> Bool
== :: TFF_formula -> TFF_formula -> Bool
$c== :: TFF_formula -> TFF_formula -> Bool
Eq, Typeable TFF_formula
Constr
DataType
Typeable TFF_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFF_formula -> c TFF_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_formula)
-> (TFF_formula -> Constr)
-> (TFF_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_formula))
-> ((forall b. Data b => b -> b) -> TFF_formula -> TFF_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_formula -> r)
-> (forall u. (forall d. Data d => d -> u) -> TFF_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula)
-> Data TFF_formula
TFF_formula -> Constr
TFF_formula -> DataType
(forall b. Data b => b -> b) -> TFF_formula -> TFF_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula -> c TFF_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TFF_formula -> u
forall u. (forall d. Data d => d -> u) -> TFF_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula -> c TFF_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_formula)
$cTFFF_sequent :: Constr
$cTFFF_atom :: Constr
$cTFFF_logic :: Constr
$tTFF_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
gmapMp :: (forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
gmapM :: (forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_formula -> m TFF_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_formula -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TFF_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula -> r
gmapT :: (forall b. Data b => b -> b) -> TFF_formula -> TFF_formula
$cgmapT :: (forall b. Data b => b -> b) -> TFF_formula -> TFF_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_formula)
dataTypeOf :: TFF_formula -> DataType
$cdataTypeOf :: TFF_formula -> DataType
toConstr :: TFF_formula -> Constr
$ctoConstr :: TFF_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula -> c TFF_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula -> c TFF_formula
$cp1Data :: Typeable TFF_formula
Data, Typeable)

-- <tff_logic_formula>    ::= <tff_binary_formula> | <tff_unitary_formula> |
--                            <tff_subtype>
data TFF_logic_formula = TFFLF_binary TFF_binary_formula
                       | TFFLF_unitary TFF_unitary_formula
                       | TFFLF_subtype TFF_subtype
                         deriving (Int -> TFF_logic_formula -> ShowS
[TFF_logic_formula] -> ShowS
TFF_logic_formula -> String
(Int -> TFF_logic_formula -> ShowS)
-> (TFF_logic_formula -> String)
-> ([TFF_logic_formula] -> ShowS)
-> Show TFF_logic_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_logic_formula] -> ShowS
$cshowList :: [TFF_logic_formula] -> ShowS
show :: TFF_logic_formula -> String
$cshow :: TFF_logic_formula -> String
showsPrec :: Int -> TFF_logic_formula -> ShowS
$cshowsPrec :: Int -> TFF_logic_formula -> ShowS
Show, Eq TFF_logic_formula
Eq TFF_logic_formula =>
(TFF_logic_formula -> TFF_logic_formula -> Ordering)
-> (TFF_logic_formula -> TFF_logic_formula -> Bool)
-> (TFF_logic_formula -> TFF_logic_formula -> Bool)
-> (TFF_logic_formula -> TFF_logic_formula -> Bool)
-> (TFF_logic_formula -> TFF_logic_formula -> Bool)
-> (TFF_logic_formula -> TFF_logic_formula -> TFF_logic_formula)
-> (TFF_logic_formula -> TFF_logic_formula -> TFF_logic_formula)
-> Ord TFF_logic_formula
TFF_logic_formula -> TFF_logic_formula -> Bool
TFF_logic_formula -> TFF_logic_formula -> Ordering
TFF_logic_formula -> TFF_logic_formula -> TFF_logic_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_logic_formula -> TFF_logic_formula -> TFF_logic_formula
$cmin :: TFF_logic_formula -> TFF_logic_formula -> TFF_logic_formula
max :: TFF_logic_formula -> TFF_logic_formula -> TFF_logic_formula
$cmax :: TFF_logic_formula -> TFF_logic_formula -> TFF_logic_formula
>= :: TFF_logic_formula -> TFF_logic_formula -> Bool
$c>= :: TFF_logic_formula -> TFF_logic_formula -> Bool
> :: TFF_logic_formula -> TFF_logic_formula -> Bool
$c> :: TFF_logic_formula -> TFF_logic_formula -> Bool
<= :: TFF_logic_formula -> TFF_logic_formula -> Bool
$c<= :: TFF_logic_formula -> TFF_logic_formula -> Bool
< :: TFF_logic_formula -> TFF_logic_formula -> Bool
$c< :: TFF_logic_formula -> TFF_logic_formula -> Bool
compare :: TFF_logic_formula -> TFF_logic_formula -> Ordering
$ccompare :: TFF_logic_formula -> TFF_logic_formula -> Ordering
$cp1Ord :: Eq TFF_logic_formula
Ord, TFF_logic_formula -> TFF_logic_formula -> Bool
(TFF_logic_formula -> TFF_logic_formula -> Bool)
-> (TFF_logic_formula -> TFF_logic_formula -> Bool)
-> Eq TFF_logic_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_logic_formula -> TFF_logic_formula -> Bool
$c/= :: TFF_logic_formula -> TFF_logic_formula -> Bool
== :: TFF_logic_formula -> TFF_logic_formula -> Bool
$c== :: TFF_logic_formula -> TFF_logic_formula -> Bool
Eq, Typeable TFF_logic_formula
Constr
DataType
Typeable TFF_logic_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_logic_formula
 -> c TFF_logic_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_logic_formula)
-> (TFF_logic_formula -> Constr)
-> (TFF_logic_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_logic_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_logic_formula))
-> ((forall b. Data b => b -> b)
    -> TFF_logic_formula -> TFF_logic_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_logic_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_logic_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_logic_formula -> m TFF_logic_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_logic_formula -> m TFF_logic_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_logic_formula -> m TFF_logic_formula)
-> Data TFF_logic_formula
TFF_logic_formula -> Constr
TFF_logic_formula -> DataType
(forall b. Data b => b -> b)
-> TFF_logic_formula -> TFF_logic_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_logic_formula -> c TFF_logic_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_logic_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_logic_formula -> u
forall u. (forall d. Data d => d -> u) -> TFF_logic_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_logic_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_logic_formula -> c TFF_logic_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_logic_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_logic_formula)
$cTFFLF_subtype :: Constr
$cTFFLF_unitary :: Constr
$cTFFLF_binary :: Constr
$tTFF_logic_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
gmapM :: (forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_logic_formula -> m TFF_logic_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_logic_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_logic_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_logic_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_logic_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_logic_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_logic_formula -> TFF_logic_formula
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_logic_formula -> TFF_logic_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_logic_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_logic_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_logic_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_logic_formula)
dataTypeOf :: TFF_logic_formula -> DataType
$cdataTypeOf :: TFF_logic_formula -> DataType
toConstr :: TFF_logic_formula -> Constr
$ctoConstr :: TFF_logic_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_logic_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_logic_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_logic_formula -> c TFF_logic_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_logic_formula -> c TFF_logic_formula
$cp1Data :: Typeable TFF_logic_formula
Data, Typeable)

-- <tff_binary_formula>   ::= <tff_binary_nonassoc> | <tff_binary_assoc>
data TFF_binary_formula = TFFBF_nonassoc TFF_binary_nonassoc
                        | TFFBF_assoc TFF_binary_assoc
                          deriving (Int -> TFF_binary_formula -> ShowS
[TFF_binary_formula] -> ShowS
TFF_binary_formula -> String
(Int -> TFF_binary_formula -> ShowS)
-> (TFF_binary_formula -> String)
-> ([TFF_binary_formula] -> ShowS)
-> Show TFF_binary_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_binary_formula] -> ShowS
$cshowList :: [TFF_binary_formula] -> ShowS
show :: TFF_binary_formula -> String
$cshow :: TFF_binary_formula -> String
showsPrec :: Int -> TFF_binary_formula -> ShowS
$cshowsPrec :: Int -> TFF_binary_formula -> ShowS
Show, Eq TFF_binary_formula
Eq TFF_binary_formula =>
(TFF_binary_formula -> TFF_binary_formula -> Ordering)
-> (TFF_binary_formula -> TFF_binary_formula -> Bool)
-> (TFF_binary_formula -> TFF_binary_formula -> Bool)
-> (TFF_binary_formula -> TFF_binary_formula -> Bool)
-> (TFF_binary_formula -> TFF_binary_formula -> Bool)
-> (TFF_binary_formula -> TFF_binary_formula -> TFF_binary_formula)
-> (TFF_binary_formula -> TFF_binary_formula -> TFF_binary_formula)
-> Ord TFF_binary_formula
TFF_binary_formula -> TFF_binary_formula -> Bool
TFF_binary_formula -> TFF_binary_formula -> Ordering
TFF_binary_formula -> TFF_binary_formula -> TFF_binary_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_binary_formula -> TFF_binary_formula -> TFF_binary_formula
$cmin :: TFF_binary_formula -> TFF_binary_formula -> TFF_binary_formula
max :: TFF_binary_formula -> TFF_binary_formula -> TFF_binary_formula
$cmax :: TFF_binary_formula -> TFF_binary_formula -> TFF_binary_formula
>= :: TFF_binary_formula -> TFF_binary_formula -> Bool
$c>= :: TFF_binary_formula -> TFF_binary_formula -> Bool
> :: TFF_binary_formula -> TFF_binary_formula -> Bool
$c> :: TFF_binary_formula -> TFF_binary_formula -> Bool
<= :: TFF_binary_formula -> TFF_binary_formula -> Bool
$c<= :: TFF_binary_formula -> TFF_binary_formula -> Bool
< :: TFF_binary_formula -> TFF_binary_formula -> Bool
$c< :: TFF_binary_formula -> TFF_binary_formula -> Bool
compare :: TFF_binary_formula -> TFF_binary_formula -> Ordering
$ccompare :: TFF_binary_formula -> TFF_binary_formula -> Ordering
$cp1Ord :: Eq TFF_binary_formula
Ord, TFF_binary_formula -> TFF_binary_formula -> Bool
(TFF_binary_formula -> TFF_binary_formula -> Bool)
-> (TFF_binary_formula -> TFF_binary_formula -> Bool)
-> Eq TFF_binary_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_binary_formula -> TFF_binary_formula -> Bool
$c/= :: TFF_binary_formula -> TFF_binary_formula -> Bool
== :: TFF_binary_formula -> TFF_binary_formula -> Bool
$c== :: TFF_binary_formula -> TFF_binary_formula -> Bool
Eq, Typeable TFF_binary_formula
Constr
DataType
Typeable TFF_binary_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_binary_formula
 -> c TFF_binary_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_binary_formula)
-> (TFF_binary_formula -> Constr)
-> (TFF_binary_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_binary_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_binary_formula))
-> ((forall b. Data b => b -> b)
    -> TFF_binary_formula -> TFF_binary_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_binary_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_binary_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_formula -> m TFF_binary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_formula -> m TFF_binary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_formula -> m TFF_binary_formula)
-> Data TFF_binary_formula
TFF_binary_formula -> Constr
TFF_binary_formula -> DataType
(forall b. Data b => b -> b)
-> TFF_binary_formula -> TFF_binary_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_formula
-> c TFF_binary_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_binary_formula -> u
forall u. (forall d. Data d => d -> u) -> TFF_binary_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_formula
-> c TFF_binary_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_binary_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_formula)
$cTFFBF_assoc :: Constr
$cTFFBF_nonassoc :: Constr
$tTFF_binary_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
gmapM :: (forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_binary_formula -> m TFF_binary_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_binary_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_binary_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_binary_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_binary_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_binary_formula -> TFF_binary_formula
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_binary_formula -> TFF_binary_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_binary_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_binary_formula)
dataTypeOf :: TFF_binary_formula -> DataType
$cdataTypeOf :: TFF_binary_formula -> DataType
toConstr :: TFF_binary_formula -> Constr
$ctoConstr :: TFF_binary_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_formula
-> c TFF_binary_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_formula
-> c TFF_binary_formula
$cp1Data :: Typeable TFF_binary_formula
Data, Typeable)

-- <tff_binary_nonassoc>  ::= <tff_unitary_formula> <binary_connective>
--                            <tff_unitary_formula>
data TFF_binary_nonassoc = TFF_binary_nonassoc Binary_connective TFF_unitary_formula TFF_unitary_formula
                           deriving (Int -> TFF_binary_nonassoc -> ShowS
[TFF_binary_nonassoc] -> ShowS
TFF_binary_nonassoc -> String
(Int -> TFF_binary_nonassoc -> ShowS)
-> (TFF_binary_nonassoc -> String)
-> ([TFF_binary_nonassoc] -> ShowS)
-> Show TFF_binary_nonassoc
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_binary_nonassoc] -> ShowS
$cshowList :: [TFF_binary_nonassoc] -> ShowS
show :: TFF_binary_nonassoc -> String
$cshow :: TFF_binary_nonassoc -> String
showsPrec :: Int -> TFF_binary_nonassoc -> ShowS
$cshowsPrec :: Int -> TFF_binary_nonassoc -> ShowS
Show, Eq TFF_binary_nonassoc
Eq TFF_binary_nonassoc =>
(TFF_binary_nonassoc -> TFF_binary_nonassoc -> Ordering)
-> (TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool)
-> (TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool)
-> (TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool)
-> (TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool)
-> (TFF_binary_nonassoc
    -> TFF_binary_nonassoc -> TFF_binary_nonassoc)
-> (TFF_binary_nonassoc
    -> TFF_binary_nonassoc -> TFF_binary_nonassoc)
-> Ord TFF_binary_nonassoc
TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
TFF_binary_nonassoc -> TFF_binary_nonassoc -> Ordering
TFF_binary_nonassoc -> TFF_binary_nonassoc -> TFF_binary_nonassoc
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> TFF_binary_nonassoc
$cmin :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> TFF_binary_nonassoc
max :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> TFF_binary_nonassoc
$cmax :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> TFF_binary_nonassoc
>= :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
$c>= :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
> :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
$c> :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
<= :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
$c<= :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
< :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
$c< :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
compare :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Ordering
$ccompare :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Ordering
$cp1Ord :: Eq TFF_binary_nonassoc
Ord, TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
(TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool)
-> (TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool)
-> Eq TFF_binary_nonassoc
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
$c/= :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
== :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
$c== :: TFF_binary_nonassoc -> TFF_binary_nonassoc -> Bool
Eq, Typeable TFF_binary_nonassoc
Constr
DataType
Typeable TFF_binary_nonassoc =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_binary_nonassoc
 -> c TFF_binary_nonassoc)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_binary_nonassoc)
-> (TFF_binary_nonassoc -> Constr)
-> (TFF_binary_nonassoc -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_binary_nonassoc))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_binary_nonassoc))
-> ((forall b. Data b => b -> b)
    -> TFF_binary_nonassoc -> TFF_binary_nonassoc)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_binary_nonassoc -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_binary_nonassoc -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_nonassoc -> m TFF_binary_nonassoc)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_nonassoc -> m TFF_binary_nonassoc)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_nonassoc -> m TFF_binary_nonassoc)
-> Data TFF_binary_nonassoc
TFF_binary_nonassoc -> Constr
TFF_binary_nonassoc -> DataType
(forall b. Data b => b -> b)
-> TFF_binary_nonassoc -> TFF_binary_nonassoc
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_nonassoc
-> c TFF_binary_nonassoc
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_nonassoc
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_binary_nonassoc -> u
forall u.
(forall d. Data d => d -> u) -> TFF_binary_nonassoc -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_nonassoc
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_nonassoc
-> c TFF_binary_nonassoc
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_binary_nonassoc)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_nonassoc)
$cTFF_binary_nonassoc :: Constr
$tTFF_binary_nonassoc :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
gmapM :: (forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_binary_nonassoc -> m TFF_binary_nonassoc
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_binary_nonassoc -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_binary_nonassoc -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_binary_nonassoc -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> TFF_binary_nonassoc -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_nonassoc -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_binary_nonassoc -> TFF_binary_nonassoc
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_binary_nonassoc -> TFF_binary_nonassoc
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_nonassoc)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_nonassoc)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_binary_nonassoc)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_binary_nonassoc)
dataTypeOf :: TFF_binary_nonassoc -> DataType
$cdataTypeOf :: TFF_binary_nonassoc -> DataType
toConstr :: TFF_binary_nonassoc -> Constr
$ctoConstr :: TFF_binary_nonassoc -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_nonassoc
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_nonassoc
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_nonassoc
-> c TFF_binary_nonassoc
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_binary_nonassoc
-> c TFF_binary_nonassoc
$cp1Data :: Typeable TFF_binary_nonassoc
Data, Typeable)

-- <tff_binary_assoc>     ::= <tff_or_formula> | <tff_and_formula>
data TFF_binary_assoc = TFFBA_or TFF_or_formula
                      | TFFBA_and TFF_and_formula
                        deriving (Int -> TFF_binary_assoc -> ShowS
[TFF_binary_assoc] -> ShowS
TFF_binary_assoc -> String
(Int -> TFF_binary_assoc -> ShowS)
-> (TFF_binary_assoc -> String)
-> ([TFF_binary_assoc] -> ShowS)
-> Show TFF_binary_assoc
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_binary_assoc] -> ShowS
$cshowList :: [TFF_binary_assoc] -> ShowS
show :: TFF_binary_assoc -> String
$cshow :: TFF_binary_assoc -> String
showsPrec :: Int -> TFF_binary_assoc -> ShowS
$cshowsPrec :: Int -> TFF_binary_assoc -> ShowS
Show, Eq TFF_binary_assoc
Eq TFF_binary_assoc =>
(TFF_binary_assoc -> TFF_binary_assoc -> Ordering)
-> (TFF_binary_assoc -> TFF_binary_assoc -> Bool)
-> (TFF_binary_assoc -> TFF_binary_assoc -> Bool)
-> (TFF_binary_assoc -> TFF_binary_assoc -> Bool)
-> (TFF_binary_assoc -> TFF_binary_assoc -> Bool)
-> (TFF_binary_assoc -> TFF_binary_assoc -> TFF_binary_assoc)
-> (TFF_binary_assoc -> TFF_binary_assoc -> TFF_binary_assoc)
-> Ord TFF_binary_assoc
TFF_binary_assoc -> TFF_binary_assoc -> Bool
TFF_binary_assoc -> TFF_binary_assoc -> Ordering
TFF_binary_assoc -> TFF_binary_assoc -> TFF_binary_assoc
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_binary_assoc -> TFF_binary_assoc -> TFF_binary_assoc
$cmin :: TFF_binary_assoc -> TFF_binary_assoc -> TFF_binary_assoc
max :: TFF_binary_assoc -> TFF_binary_assoc -> TFF_binary_assoc
$cmax :: TFF_binary_assoc -> TFF_binary_assoc -> TFF_binary_assoc
>= :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
$c>= :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
> :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
$c> :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
<= :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
$c<= :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
< :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
$c< :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
compare :: TFF_binary_assoc -> TFF_binary_assoc -> Ordering
$ccompare :: TFF_binary_assoc -> TFF_binary_assoc -> Ordering
$cp1Ord :: Eq TFF_binary_assoc
Ord, TFF_binary_assoc -> TFF_binary_assoc -> Bool
(TFF_binary_assoc -> TFF_binary_assoc -> Bool)
-> (TFF_binary_assoc -> TFF_binary_assoc -> Bool)
-> Eq TFF_binary_assoc
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
$c/= :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
== :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
$c== :: TFF_binary_assoc -> TFF_binary_assoc -> Bool
Eq, Typeable TFF_binary_assoc
Constr
DataType
Typeable TFF_binary_assoc =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFF_binary_assoc -> c TFF_binary_assoc)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_binary_assoc)
-> (TFF_binary_assoc -> Constr)
-> (TFF_binary_assoc -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_binary_assoc))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_binary_assoc))
-> ((forall b. Data b => b -> b)
    -> TFF_binary_assoc -> TFF_binary_assoc)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_binary_assoc -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_binary_assoc -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_assoc -> m TFF_binary_assoc)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_assoc -> m TFF_binary_assoc)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_binary_assoc -> m TFF_binary_assoc)
-> Data TFF_binary_assoc
TFF_binary_assoc -> Constr
TFF_binary_assoc -> DataType
(forall b. Data b => b -> b)
-> TFF_binary_assoc -> TFF_binary_assoc
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_binary_assoc -> c TFF_binary_assoc
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_assoc
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_binary_assoc -> u
forall u. (forall d. Data d => d -> u) -> TFF_binary_assoc -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_assoc
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_binary_assoc -> c TFF_binary_assoc
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_binary_assoc)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_assoc)
$cTFFBA_and :: Constr
$cTFFBA_or :: Constr
$tTFF_binary_assoc :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
gmapM :: (forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_binary_assoc -> m TFF_binary_assoc
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_binary_assoc -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_binary_assoc -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_binary_assoc -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_binary_assoc -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_binary_assoc -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_binary_assoc -> TFF_binary_assoc
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_binary_assoc -> TFF_binary_assoc
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_assoc)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_binary_assoc)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_binary_assoc)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_binary_assoc)
dataTypeOf :: TFF_binary_assoc -> DataType
$cdataTypeOf :: TFF_binary_assoc -> DataType
toConstr :: TFF_binary_assoc -> Constr
$ctoConstr :: TFF_binary_assoc -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_assoc
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_binary_assoc
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_binary_assoc -> c TFF_binary_assoc
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_binary_assoc -> c TFF_binary_assoc
$cp1Data :: Typeable TFF_binary_assoc
Data, Typeable)

-- <tff_or_formula>       ::= <tff_unitary_formula> <vline> <tff_unitary_formula> |
--                            <tff_or_formula> <vline> <tff_unitary_formula>
type TFF_or_formula = [TFF_unitary_formula]

-- <tff_and_formula>      ::= <tff_unitary_formula> & <tff_unitary_formula> |
--                            <tff_and_formula> & <tff_unitary_formula>
type TFF_and_formula = [TFF_unitary_formula]

-- <tff_unitary_formula>  ::= <tff_quantified_formula> | <tff_unary_formula> |
--                            <tff_atomic_formula> | <tff_conditional> |
--                            <tff_let> | (<tff_logic_formula>)
data TFF_unitary_formula = TFFUF_quantified TFF_quantified_formula
                         | TFFUF_unary TFF_unary_formula
                         | TFFUF_atomic TFF_atomic_formula
                         | TFFUF_conditional TFF_conditional
                         | TFFUF_let TFF_let
                         | TFFUF_logic TFF_logic_formula
                           deriving (Int -> TFF_unitary_formula -> ShowS
[TFF_unitary_formula] -> ShowS
TFF_unitary_formula -> String
(Int -> TFF_unitary_formula -> ShowS)
-> (TFF_unitary_formula -> String)
-> ([TFF_unitary_formula] -> ShowS)
-> Show TFF_unitary_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_unitary_formula] -> ShowS
$cshowList :: [TFF_unitary_formula] -> ShowS
show :: TFF_unitary_formula -> String
$cshow :: TFF_unitary_formula -> String
showsPrec :: Int -> TFF_unitary_formula -> ShowS
$cshowsPrec :: Int -> TFF_unitary_formula -> ShowS
Show, Eq TFF_unitary_formula
Eq TFF_unitary_formula =>
(TFF_unitary_formula -> TFF_unitary_formula -> Ordering)
-> (TFF_unitary_formula -> TFF_unitary_formula -> Bool)
-> (TFF_unitary_formula -> TFF_unitary_formula -> Bool)
-> (TFF_unitary_formula -> TFF_unitary_formula -> Bool)
-> (TFF_unitary_formula -> TFF_unitary_formula -> Bool)
-> (TFF_unitary_formula
    -> TFF_unitary_formula -> TFF_unitary_formula)
-> (TFF_unitary_formula
    -> TFF_unitary_formula -> TFF_unitary_formula)
-> Ord TFF_unitary_formula
TFF_unitary_formula -> TFF_unitary_formula -> Bool
TFF_unitary_formula -> TFF_unitary_formula -> Ordering
TFF_unitary_formula -> TFF_unitary_formula -> TFF_unitary_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_unitary_formula -> TFF_unitary_formula -> TFF_unitary_formula
$cmin :: TFF_unitary_formula -> TFF_unitary_formula -> TFF_unitary_formula
max :: TFF_unitary_formula -> TFF_unitary_formula -> TFF_unitary_formula
$cmax :: TFF_unitary_formula -> TFF_unitary_formula -> TFF_unitary_formula
>= :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
$c>= :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
> :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
$c> :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
<= :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
$c<= :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
< :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
$c< :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
compare :: TFF_unitary_formula -> TFF_unitary_formula -> Ordering
$ccompare :: TFF_unitary_formula -> TFF_unitary_formula -> Ordering
$cp1Ord :: Eq TFF_unitary_formula
Ord, TFF_unitary_formula -> TFF_unitary_formula -> Bool
(TFF_unitary_formula -> TFF_unitary_formula -> Bool)
-> (TFF_unitary_formula -> TFF_unitary_formula -> Bool)
-> Eq TFF_unitary_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
$c/= :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
== :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
$c== :: TFF_unitary_formula -> TFF_unitary_formula -> Bool
Eq, Typeable TFF_unitary_formula
Constr
DataType
Typeable TFF_unitary_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_unitary_formula
 -> c TFF_unitary_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_unitary_formula)
-> (TFF_unitary_formula -> Constr)
-> (TFF_unitary_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_unitary_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_unitary_formula))
-> ((forall b. Data b => b -> b)
    -> TFF_unitary_formula -> TFF_unitary_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_unitary_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_unitary_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_unitary_formula -> m TFF_unitary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_unitary_formula -> m TFF_unitary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_unitary_formula -> m TFF_unitary_formula)
-> Data TFF_unitary_formula
TFF_unitary_formula -> Constr
TFF_unitary_formula -> DataType
(forall b. Data b => b -> b)
-> TFF_unitary_formula -> TFF_unitary_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_unitary_formula
-> c TFF_unitary_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unitary_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_unitary_formula -> u
forall u.
(forall d. Data d => d -> u) -> TFF_unitary_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unitary_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_unitary_formula
-> c TFF_unitary_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_unitary_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_unitary_formula)
$cTFFUF_logic :: Constr
$cTFFUF_let :: Constr
$cTFFUF_conditional :: Constr
$cTFFUF_atomic :: Constr
$cTFFUF_unary :: Constr
$cTFFUF_quantified :: Constr
$tTFF_unitary_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
gmapM :: (forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_unitary_formula -> m TFF_unitary_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_unitary_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_unitary_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_unitary_formula -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> TFF_unitary_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unitary_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_unitary_formula -> TFF_unitary_formula
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_unitary_formula -> TFF_unitary_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_unitary_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_unitary_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_unitary_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_unitary_formula)
dataTypeOf :: TFF_unitary_formula -> DataType
$cdataTypeOf :: TFF_unitary_formula -> DataType
toConstr :: TFF_unitary_formula -> Constr
$ctoConstr :: TFF_unitary_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unitary_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unitary_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_unitary_formula
-> c TFF_unitary_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_unitary_formula
-> c TFF_unitary_formula
$cp1Data :: Typeable TFF_unitary_formula
Data, Typeable)

-- <tff_quantified_formula> ::= <fof_quantifier> [<tff_variable_list>] :
--                            <tff_unitary_formula>
data TFF_quantified_formula = TFF_quantified_formula FOF_quantifier TFF_variable_list TFF_unitary_formula
                              deriving (Int -> TFF_quantified_formula -> ShowS
[TFF_quantified_formula] -> ShowS
TFF_quantified_formula -> String
(Int -> TFF_quantified_formula -> ShowS)
-> (TFF_quantified_formula -> String)
-> ([TFF_quantified_formula] -> ShowS)
-> Show TFF_quantified_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_quantified_formula] -> ShowS
$cshowList :: [TFF_quantified_formula] -> ShowS
show :: TFF_quantified_formula -> String
$cshow :: TFF_quantified_formula -> String
showsPrec :: Int -> TFF_quantified_formula -> ShowS
$cshowsPrec :: Int -> TFF_quantified_formula -> ShowS
Show, Eq TFF_quantified_formula
Eq TFF_quantified_formula =>
(TFF_quantified_formula -> TFF_quantified_formula -> Ordering)
-> (TFF_quantified_formula -> TFF_quantified_formula -> Bool)
-> (TFF_quantified_formula -> TFF_quantified_formula -> Bool)
-> (TFF_quantified_formula -> TFF_quantified_formula -> Bool)
-> (TFF_quantified_formula -> TFF_quantified_formula -> Bool)
-> (TFF_quantified_formula
    -> TFF_quantified_formula -> TFF_quantified_formula)
-> (TFF_quantified_formula
    -> TFF_quantified_formula -> TFF_quantified_formula)
-> Ord TFF_quantified_formula
TFF_quantified_formula -> TFF_quantified_formula -> Bool
TFF_quantified_formula -> TFF_quantified_formula -> Ordering
TFF_quantified_formula
-> TFF_quantified_formula -> TFF_quantified_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_quantified_formula
-> TFF_quantified_formula -> TFF_quantified_formula
$cmin :: TFF_quantified_formula
-> TFF_quantified_formula -> TFF_quantified_formula
max :: TFF_quantified_formula
-> TFF_quantified_formula -> TFF_quantified_formula
$cmax :: TFF_quantified_formula
-> TFF_quantified_formula -> TFF_quantified_formula
>= :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
$c>= :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
> :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
$c> :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
<= :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
$c<= :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
< :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
$c< :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
compare :: TFF_quantified_formula -> TFF_quantified_formula -> Ordering
$ccompare :: TFF_quantified_formula -> TFF_quantified_formula -> Ordering
$cp1Ord :: Eq TFF_quantified_formula
Ord, TFF_quantified_formula -> TFF_quantified_formula -> Bool
(TFF_quantified_formula -> TFF_quantified_formula -> Bool)
-> (TFF_quantified_formula -> TFF_quantified_formula -> Bool)
-> Eq TFF_quantified_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
$c/= :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
== :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
$c== :: TFF_quantified_formula -> TFF_quantified_formula -> Bool
Eq, Typeable TFF_quantified_formula
Constr
DataType
Typeable TFF_quantified_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_quantified_formula
 -> c TFF_quantified_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_quantified_formula)
-> (TFF_quantified_formula -> Constr)
-> (TFF_quantified_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_quantified_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_quantified_formula))
-> ((forall b. Data b => b -> b)
    -> TFF_quantified_formula -> TFF_quantified_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> TFF_quantified_formula
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> TFF_quantified_formula
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_quantified_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_quantified_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_quantified_formula -> m TFF_quantified_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_quantified_formula -> m TFF_quantified_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_quantified_formula -> m TFF_quantified_formula)
-> Data TFF_quantified_formula
TFF_quantified_formula -> Constr
TFF_quantified_formula -> DataType
(forall b. Data b => b -> b)
-> TFF_quantified_formula -> TFF_quantified_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_quantified_formula
-> c TFF_quantified_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_quantified_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_quantified_formula -> u
forall u.
(forall d. Data d => d -> u) -> TFF_quantified_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_quantified_formula
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_quantified_formula
-> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_quantified_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_quantified_formula
-> c TFF_quantified_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_quantified_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_quantified_formula)
$cTFF_quantified_formula :: Constr
$tTFF_quantified_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
gmapM :: (forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_quantified_formula -> m TFF_quantified_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_quantified_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_quantified_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_quantified_formula -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> TFF_quantified_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_quantified_formula
-> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_quantified_formula
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_quantified_formula
-> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_quantified_formula
-> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_quantified_formula -> TFF_quantified_formula
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_quantified_formula -> TFF_quantified_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_quantified_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_quantified_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_quantified_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_quantified_formula)
dataTypeOf :: TFF_quantified_formula -> DataType
$cdataTypeOf :: TFF_quantified_formula -> DataType
toConstr :: TFF_quantified_formula -> Constr
$ctoConstr :: TFF_quantified_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_quantified_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_quantified_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_quantified_formula
-> c TFF_quantified_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_quantified_formula
-> c TFF_quantified_formula
$cp1Data :: Typeable TFF_quantified_formula
Data, Typeable)

-- <tff_variable_list>    ::= <tff_variable> | <tff_variable>,<tff_variable_list>
type TFF_variable_list = [TFF_variable]

-- <tff_variable>         ::= <tff_typed_variable> | <variable>
data TFF_variable = TFFV_typed TFF_typed_variable
                  | TFFV_variable Variable
                    deriving (Int -> TFF_variable -> ShowS
[TFF_variable] -> ShowS
TFF_variable -> String
(Int -> TFF_variable -> ShowS)
-> (TFF_variable -> String)
-> ([TFF_variable] -> ShowS)
-> Show TFF_variable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_variable] -> ShowS
$cshowList :: [TFF_variable] -> ShowS
show :: TFF_variable -> String
$cshow :: TFF_variable -> String
showsPrec :: Int -> TFF_variable -> ShowS
$cshowsPrec :: Int -> TFF_variable -> ShowS
Show, Eq TFF_variable
Eq TFF_variable =>
(TFF_variable -> TFF_variable -> Ordering)
-> (TFF_variable -> TFF_variable -> Bool)
-> (TFF_variable -> TFF_variable -> Bool)
-> (TFF_variable -> TFF_variable -> Bool)
-> (TFF_variable -> TFF_variable -> Bool)
-> (TFF_variable -> TFF_variable -> TFF_variable)
-> (TFF_variable -> TFF_variable -> TFF_variable)
-> Ord TFF_variable
TFF_variable -> TFF_variable -> Bool
TFF_variable -> TFF_variable -> Ordering
TFF_variable -> TFF_variable -> TFF_variable
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_variable -> TFF_variable -> TFF_variable
$cmin :: TFF_variable -> TFF_variable -> TFF_variable
max :: TFF_variable -> TFF_variable -> TFF_variable
$cmax :: TFF_variable -> TFF_variable -> TFF_variable
>= :: TFF_variable -> TFF_variable -> Bool
$c>= :: TFF_variable -> TFF_variable -> Bool
> :: TFF_variable -> TFF_variable -> Bool
$c> :: TFF_variable -> TFF_variable -> Bool
<= :: TFF_variable -> TFF_variable -> Bool
$c<= :: TFF_variable -> TFF_variable -> Bool
< :: TFF_variable -> TFF_variable -> Bool
$c< :: TFF_variable -> TFF_variable -> Bool
compare :: TFF_variable -> TFF_variable -> Ordering
$ccompare :: TFF_variable -> TFF_variable -> Ordering
$cp1Ord :: Eq TFF_variable
Ord, TFF_variable -> TFF_variable -> Bool
(TFF_variable -> TFF_variable -> Bool)
-> (TFF_variable -> TFF_variable -> Bool) -> Eq TFF_variable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_variable -> TFF_variable -> Bool
$c/= :: TFF_variable -> TFF_variable -> Bool
== :: TFF_variable -> TFF_variable -> Bool
$c== :: TFF_variable -> TFF_variable -> Bool
Eq, Typeable TFF_variable
Constr
DataType
Typeable TFF_variable =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFF_variable -> c TFF_variable)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_variable)
-> (TFF_variable -> Constr)
-> (TFF_variable -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_variable))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_variable))
-> ((forall b. Data b => b -> b) -> TFF_variable -> TFF_variable)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_variable -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_variable -> r)
-> (forall u. (forall d. Data d => d -> u) -> TFF_variable -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_variable -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable)
-> Data TFF_variable
TFF_variable -> Constr
TFF_variable -> DataType
(forall b. Data b => b -> b) -> TFF_variable -> TFF_variable
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_variable -> c TFF_variable
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_variable
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TFF_variable -> u
forall u. (forall d. Data d => d -> u) -> TFF_variable -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_variable -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_variable -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_variable
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_variable -> c TFF_variable
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_variable)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_variable)
$cTFFV_variable :: Constr
$cTFFV_typed :: Constr
$tTFF_variable :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
gmapMp :: (forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
gmapM :: (forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_variable -> m TFF_variable
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_variable -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TFF_variable -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_variable -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_variable -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_variable -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_variable -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_variable -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_variable -> r
gmapT :: (forall b. Data b => b -> b) -> TFF_variable -> TFF_variable
$cgmapT :: (forall b. Data b => b -> b) -> TFF_variable -> TFF_variable
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_variable)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_variable)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_variable)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_variable)
dataTypeOf :: TFF_variable -> DataType
$cdataTypeOf :: TFF_variable -> DataType
toConstr :: TFF_variable -> Constr
$ctoConstr :: TFF_variable -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_variable
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_variable
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_variable -> c TFF_variable
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_variable -> c TFF_variable
$cp1Data :: Typeable TFF_variable
Data, Typeable)

-- <tff_typed_variable>   ::= <variable> : <tff_atomic_type>
data TFF_typed_variable = TFF_typed_variable Variable TFF_atomic_type
                          deriving (Int -> TFF_typed_variable -> ShowS
[TFF_typed_variable] -> ShowS
TFF_typed_variable -> String
(Int -> TFF_typed_variable -> ShowS)
-> (TFF_typed_variable -> String)
-> ([TFF_typed_variable] -> ShowS)
-> Show TFF_typed_variable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_typed_variable] -> ShowS
$cshowList :: [TFF_typed_variable] -> ShowS
show :: TFF_typed_variable -> String
$cshow :: TFF_typed_variable -> String
showsPrec :: Int -> TFF_typed_variable -> ShowS
$cshowsPrec :: Int -> TFF_typed_variable -> ShowS
Show, Eq TFF_typed_variable
Eq TFF_typed_variable =>
(TFF_typed_variable -> TFF_typed_variable -> Ordering)
-> (TFF_typed_variable -> TFF_typed_variable -> Bool)
-> (TFF_typed_variable -> TFF_typed_variable -> Bool)
-> (TFF_typed_variable -> TFF_typed_variable -> Bool)
-> (TFF_typed_variable -> TFF_typed_variable -> Bool)
-> (TFF_typed_variable -> TFF_typed_variable -> TFF_typed_variable)
-> (TFF_typed_variable -> TFF_typed_variable -> TFF_typed_variable)
-> Ord TFF_typed_variable
TFF_typed_variable -> TFF_typed_variable -> Bool
TFF_typed_variable -> TFF_typed_variable -> Ordering
TFF_typed_variable -> TFF_typed_variable -> TFF_typed_variable
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_typed_variable -> TFF_typed_variable -> TFF_typed_variable
$cmin :: TFF_typed_variable -> TFF_typed_variable -> TFF_typed_variable
max :: TFF_typed_variable -> TFF_typed_variable -> TFF_typed_variable
$cmax :: TFF_typed_variable -> TFF_typed_variable -> TFF_typed_variable
>= :: TFF_typed_variable -> TFF_typed_variable -> Bool
$c>= :: TFF_typed_variable -> TFF_typed_variable -> Bool
> :: TFF_typed_variable -> TFF_typed_variable -> Bool
$c> :: TFF_typed_variable -> TFF_typed_variable -> Bool
<= :: TFF_typed_variable -> TFF_typed_variable -> Bool
$c<= :: TFF_typed_variable -> TFF_typed_variable -> Bool
< :: TFF_typed_variable -> TFF_typed_variable -> Bool
$c< :: TFF_typed_variable -> TFF_typed_variable -> Bool
compare :: TFF_typed_variable -> TFF_typed_variable -> Ordering
$ccompare :: TFF_typed_variable -> TFF_typed_variable -> Ordering
$cp1Ord :: Eq TFF_typed_variable
Ord, TFF_typed_variable -> TFF_typed_variable -> Bool
(TFF_typed_variable -> TFF_typed_variable -> Bool)
-> (TFF_typed_variable -> TFF_typed_variable -> Bool)
-> Eq TFF_typed_variable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_typed_variable -> TFF_typed_variable -> Bool
$c/= :: TFF_typed_variable -> TFF_typed_variable -> Bool
== :: TFF_typed_variable -> TFF_typed_variable -> Bool
$c== :: TFF_typed_variable -> TFF_typed_variable -> Bool
Eq, Typeable TFF_typed_variable
Constr
DataType
Typeable TFF_typed_variable =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_typed_variable
 -> c TFF_typed_variable)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_typed_variable)
-> (TFF_typed_variable -> Constr)
-> (TFF_typed_variable -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_typed_variable))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_typed_variable))
-> ((forall b. Data b => b -> b)
    -> TFF_typed_variable -> TFF_typed_variable)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_typed_variable -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_typed_variable -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_typed_variable -> m TFF_typed_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_typed_variable -> m TFF_typed_variable)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_typed_variable -> m TFF_typed_variable)
-> Data TFF_typed_variable
TFF_typed_variable -> Constr
TFF_typed_variable -> DataType
(forall b. Data b => b -> b)
-> TFF_typed_variable -> TFF_typed_variable
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_typed_variable
-> c TFF_typed_variable
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_typed_variable
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_typed_variable -> u
forall u. (forall d. Data d => d -> u) -> TFF_typed_variable -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_typed_variable
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_typed_variable
-> c TFF_typed_variable
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_typed_variable)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_typed_variable)
$cTFF_typed_variable :: Constr
$tTFF_typed_variable :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
gmapM :: (forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_typed_variable -> m TFF_typed_variable
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_typed_variable -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_typed_variable -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_typed_variable -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_typed_variable -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_typed_variable -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_typed_variable -> TFF_typed_variable
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_typed_variable -> TFF_typed_variable
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_typed_variable)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_typed_variable)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_typed_variable)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_typed_variable)
dataTypeOf :: TFF_typed_variable -> DataType
$cdataTypeOf :: TFF_typed_variable -> DataType
toConstr :: TFF_typed_variable -> Constr
$ctoConstr :: TFF_typed_variable -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_typed_variable
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_typed_variable
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_typed_variable
-> c TFF_typed_variable
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_typed_variable
-> c TFF_typed_variable
$cp1Data :: Typeable TFF_typed_variable
Data, Typeable)

-- <tff_unary_formula>    ::= <unary_connective> <tff_unitary_formula> |
--                            <fof_infix_unary>
data TFF_unary_formula = TFFUF_connective Unary_connective TFF_unitary_formula
                       | TFFUF_infix FOF_infix_unary
                         deriving (Int -> TFF_unary_formula -> ShowS
[TFF_unary_formula] -> ShowS
TFF_unary_formula -> String
(Int -> TFF_unary_formula -> ShowS)
-> (TFF_unary_formula -> String)
-> ([TFF_unary_formula] -> ShowS)
-> Show TFF_unary_formula
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_unary_formula] -> ShowS
$cshowList :: [TFF_unary_formula] -> ShowS
show :: TFF_unary_formula -> String
$cshow :: TFF_unary_formula -> String
showsPrec :: Int -> TFF_unary_formula -> ShowS
$cshowsPrec :: Int -> TFF_unary_formula -> ShowS
Show, Eq TFF_unary_formula
Eq TFF_unary_formula =>
(TFF_unary_formula -> TFF_unary_formula -> Ordering)
-> (TFF_unary_formula -> TFF_unary_formula -> Bool)
-> (TFF_unary_formula -> TFF_unary_formula -> Bool)
-> (TFF_unary_formula -> TFF_unary_formula -> Bool)
-> (TFF_unary_formula -> TFF_unary_formula -> Bool)
-> (TFF_unary_formula -> TFF_unary_formula -> TFF_unary_formula)
-> (TFF_unary_formula -> TFF_unary_formula -> TFF_unary_formula)
-> Ord TFF_unary_formula
TFF_unary_formula -> TFF_unary_formula -> Bool
TFF_unary_formula -> TFF_unary_formula -> Ordering
TFF_unary_formula -> TFF_unary_formula -> TFF_unary_formula
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_unary_formula -> TFF_unary_formula -> TFF_unary_formula
$cmin :: TFF_unary_formula -> TFF_unary_formula -> TFF_unary_formula
max :: TFF_unary_formula -> TFF_unary_formula -> TFF_unary_formula
$cmax :: TFF_unary_formula -> TFF_unary_formula -> TFF_unary_formula
>= :: TFF_unary_formula -> TFF_unary_formula -> Bool
$c>= :: TFF_unary_formula -> TFF_unary_formula -> Bool
> :: TFF_unary_formula -> TFF_unary_formula -> Bool
$c> :: TFF_unary_formula -> TFF_unary_formula -> Bool
<= :: TFF_unary_formula -> TFF_unary_formula -> Bool
$c<= :: TFF_unary_formula -> TFF_unary_formula -> Bool
< :: TFF_unary_formula -> TFF_unary_formula -> Bool
$c< :: TFF_unary_formula -> TFF_unary_formula -> Bool
compare :: TFF_unary_formula -> TFF_unary_formula -> Ordering
$ccompare :: TFF_unary_formula -> TFF_unary_formula -> Ordering
$cp1Ord :: Eq TFF_unary_formula
Ord, TFF_unary_formula -> TFF_unary_formula -> Bool
(TFF_unary_formula -> TFF_unary_formula -> Bool)
-> (TFF_unary_formula -> TFF_unary_formula -> Bool)
-> Eq TFF_unary_formula
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_unary_formula -> TFF_unary_formula -> Bool
$c/= :: TFF_unary_formula -> TFF_unary_formula -> Bool
== :: TFF_unary_formula -> TFF_unary_formula -> Bool
$c== :: TFF_unary_formula -> TFF_unary_formula -> Bool
Eq, Typeable TFF_unary_formula
Constr
DataType
Typeable TFF_unary_formula =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_unary_formula
 -> c TFF_unary_formula)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_unary_formula)
-> (TFF_unary_formula -> Constr)
-> (TFF_unary_formula -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_unary_formula))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_unary_formula))
-> ((forall b. Data b => b -> b)
    -> TFF_unary_formula -> TFF_unary_formula)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_unary_formula -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_unary_formula -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_unary_formula -> m TFF_unary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_unary_formula -> m TFF_unary_formula)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_unary_formula -> m TFF_unary_formula)
-> Data TFF_unary_formula
TFF_unary_formula -> Constr
TFF_unary_formula -> DataType
(forall b. Data b => b -> b)
-> TFF_unary_formula -> TFF_unary_formula
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_unary_formula -> c TFF_unary_formula
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unary_formula
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_unary_formula -> u
forall u. (forall d. Data d => d -> u) -> TFF_unary_formula -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unary_formula
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_unary_formula -> c TFF_unary_formula
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_unary_formula)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_unary_formula)
$cTFFUF_infix :: Constr
$cTFFUF_connective :: Constr
$tTFF_unary_formula :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
gmapM :: (forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_unary_formula -> m TFF_unary_formula
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_unary_formula -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_unary_formula -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_unary_formula -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_unary_formula -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_unary_formula -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_unary_formula -> TFF_unary_formula
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_unary_formula -> TFF_unary_formula
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_unary_formula)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_unary_formula)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_unary_formula)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_unary_formula)
dataTypeOf :: TFF_unary_formula -> DataType
$cdataTypeOf :: TFF_unary_formula -> DataType
toConstr :: TFF_unary_formula -> Constr
$ctoConstr :: TFF_unary_formula -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unary_formula
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_unary_formula
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_unary_formula -> c TFF_unary_formula
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_unary_formula -> c TFF_unary_formula
$cp1Data :: Typeable TFF_unary_formula
Data, Typeable)

-- <tff_atomic_formula>   ::= <fof_atomic_formula>
type TFF_atomic_formula = FOF_atomic_formula

-- <tff_conditional>      ::= $ite_f(<tff_logic_formula>,<tff_logic_formula>,
--                            <tff_logic_formula>)
data TFF_conditional = TFF_conditional TFF_logic_formula TFF_logic_formula TFF_logic_formula --  $ite_f
                       deriving (Int -> TFF_conditional -> ShowS
[TFF_conditional] -> ShowS
TFF_conditional -> String
(Int -> TFF_conditional -> ShowS)
-> (TFF_conditional -> String)
-> ([TFF_conditional] -> ShowS)
-> Show TFF_conditional
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_conditional] -> ShowS
$cshowList :: [TFF_conditional] -> ShowS
show :: TFF_conditional -> String
$cshow :: TFF_conditional -> String
showsPrec :: Int -> TFF_conditional -> ShowS
$cshowsPrec :: Int -> TFF_conditional -> ShowS
Show, Eq TFF_conditional
Eq TFF_conditional =>
(TFF_conditional -> TFF_conditional -> Ordering)
-> (TFF_conditional -> TFF_conditional -> Bool)
-> (TFF_conditional -> TFF_conditional -> Bool)
-> (TFF_conditional -> TFF_conditional -> Bool)
-> (TFF_conditional -> TFF_conditional -> Bool)
-> (TFF_conditional -> TFF_conditional -> TFF_conditional)
-> (TFF_conditional -> TFF_conditional -> TFF_conditional)
-> Ord TFF_conditional
TFF_conditional -> TFF_conditional -> Bool
TFF_conditional -> TFF_conditional -> Ordering
TFF_conditional -> TFF_conditional -> TFF_conditional
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_conditional -> TFF_conditional -> TFF_conditional
$cmin :: TFF_conditional -> TFF_conditional -> TFF_conditional
max :: TFF_conditional -> TFF_conditional -> TFF_conditional
$cmax :: TFF_conditional -> TFF_conditional -> TFF_conditional
>= :: TFF_conditional -> TFF_conditional -> Bool
$c>= :: TFF_conditional -> TFF_conditional -> Bool
> :: TFF_conditional -> TFF_conditional -> Bool
$c> :: TFF_conditional -> TFF_conditional -> Bool
<= :: TFF_conditional -> TFF_conditional -> Bool
$c<= :: TFF_conditional -> TFF_conditional -> Bool
< :: TFF_conditional -> TFF_conditional -> Bool
$c< :: TFF_conditional -> TFF_conditional -> Bool
compare :: TFF_conditional -> TFF_conditional -> Ordering
$ccompare :: TFF_conditional -> TFF_conditional -> Ordering
$cp1Ord :: Eq TFF_conditional
Ord, TFF_conditional -> TFF_conditional -> Bool
(TFF_conditional -> TFF_conditional -> Bool)
-> (TFF_conditional -> TFF_conditional -> Bool)
-> Eq TFF_conditional
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_conditional -> TFF_conditional -> Bool
$c/= :: TFF_conditional -> TFF_conditional -> Bool
== :: TFF_conditional -> TFF_conditional -> Bool
$c== :: TFF_conditional -> TFF_conditional -> Bool
Eq, Typeable TFF_conditional
Constr
DataType
Typeable TFF_conditional =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFF_conditional -> c TFF_conditional)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_conditional)
-> (TFF_conditional -> Constr)
-> (TFF_conditional -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_conditional))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_conditional))
-> ((forall b. Data b => b -> b)
    -> TFF_conditional -> TFF_conditional)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_conditional -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_conditional -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_conditional -> m TFF_conditional)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_conditional -> m TFF_conditional)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_conditional -> m TFF_conditional)
-> Data TFF_conditional
TFF_conditional -> Constr
TFF_conditional -> DataType
(forall b. Data b => b -> b) -> TFF_conditional -> TFF_conditional
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_conditional -> c TFF_conditional
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_conditional
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_conditional -> u
forall u. (forall d. Data d => d -> u) -> TFF_conditional -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_conditional
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_conditional -> c TFF_conditional
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_conditional)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_conditional)
$cTFF_conditional :: Constr
$tTFF_conditional :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
gmapM :: (forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_conditional -> m TFF_conditional
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_conditional -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_conditional -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_conditional -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_conditional -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_conditional -> r
gmapT :: (forall b. Data b => b -> b) -> TFF_conditional -> TFF_conditional
$cgmapT :: (forall b. Data b => b -> b) -> TFF_conditional -> TFF_conditional
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_conditional)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_conditional)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_conditional)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_conditional)
dataTypeOf :: TFF_conditional -> DataType
$cdataTypeOf :: TFF_conditional -> DataType
toConstr :: TFF_conditional -> Constr
$ctoConstr :: TFF_conditional -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_conditional
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_conditional
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_conditional -> c TFF_conditional
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_conditional -> c TFF_conditional
$cp1Data :: Typeable TFF_conditional
Data, Typeable)

-- <tff_let>              ::= $let_tf(<tff_let_term_defns>,<tff_formula>) |
--                            $let_ff(<tff_let_formula_defns>,<tff_formula>)
data TFF_let = TFF_let_term_defns TFF_let_term_defns TFF_formula
             | TFF_let_formula_defns TFF_let_formula_defns TFF_formula
               deriving (Int -> TFF_let -> ShowS
[TFF_let] -> ShowS
TFF_let -> String
(Int -> TFF_let -> ShowS)
-> (TFF_let -> String) -> ([TFF_let] -> ShowS) -> Show TFF_let
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_let] -> ShowS
$cshowList :: [TFF_let] -> ShowS
show :: TFF_let -> String
$cshow :: TFF_let -> String
showsPrec :: Int -> TFF_let -> ShowS
$cshowsPrec :: Int -> TFF_let -> ShowS
Show, Eq TFF_let
Eq TFF_let =>
(TFF_let -> TFF_let -> Ordering)
-> (TFF_let -> TFF_let -> Bool)
-> (TFF_let -> TFF_let -> Bool)
-> (TFF_let -> TFF_let -> Bool)
-> (TFF_let -> TFF_let -> Bool)
-> (TFF_let -> TFF_let -> TFF_let)
-> (TFF_let -> TFF_let -> TFF_let)
-> Ord TFF_let
TFF_let -> TFF_let -> Bool
TFF_let -> TFF_let -> Ordering
TFF_let -> TFF_let -> TFF_let
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_let -> TFF_let -> TFF_let
$cmin :: TFF_let -> TFF_let -> TFF_let
max :: TFF_let -> TFF_let -> TFF_let
$cmax :: TFF_let -> TFF_let -> TFF_let
>= :: TFF_let -> TFF_let -> Bool
$c>= :: TFF_let -> TFF_let -> Bool
> :: TFF_let -> TFF_let -> Bool
$c> :: TFF_let -> TFF_let -> Bool
<= :: TFF_let -> TFF_let -> Bool
$c<= :: TFF_let -> TFF_let -> Bool
< :: TFF_let -> TFF_let -> Bool
$c< :: TFF_let -> TFF_let -> Bool
compare :: TFF_let -> TFF_let -> Ordering
$ccompare :: TFF_let -> TFF_let -> Ordering
$cp1Ord :: Eq TFF_let
Ord, TFF_let -> TFF_let -> Bool
(TFF_let -> TFF_let -> Bool)
-> (TFF_let -> TFF_let -> Bool) -> Eq TFF_let
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_let -> TFF_let -> Bool
$c/= :: TFF_let -> TFF_let -> Bool
== :: TFF_let -> TFF_let -> Bool
$c== :: TFF_let -> TFF_let -> Bool
Eq, Typeable TFF_let
Constr
DataType
Typeable TFF_let =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFF_let -> c TFF_let)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_let)
-> (TFF_let -> Constr)
-> (TFF_let -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_let))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TFF_let))
-> ((forall b. Data b => b -> b) -> TFF_let -> TFF_let)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let -> r)
-> (forall u. (forall d. Data d => d -> u) -> TFF_let -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> TFF_let -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TFF_let -> m TFF_let)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_let -> m TFF_let)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_let -> m TFF_let)
-> Data TFF_let
TFF_let -> Constr
TFF_let -> DataType
(forall b. Data b => b -> b) -> TFF_let -> TFF_let
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let -> c TFF_let
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TFF_let -> u
forall u. (forall d. Data d => d -> u) -> TFF_let -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let -> c TFF_let
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TFF_let)
$cTFF_let_formula_defns :: Constr
$cTFF_let_term_defns :: Constr
$tTFF_let :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
gmapMp :: (forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
gmapM :: (forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_let -> m TFF_let
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_let -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TFF_let -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_let -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_let -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let -> r
gmapT :: (forall b. Data b => b -> b) -> TFF_let -> TFF_let
$cgmapT :: (forall b. Data b => b -> b) -> TFF_let -> TFF_let
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TFF_let)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TFF_let)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_let)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let)
dataTypeOf :: TFF_let -> DataType
$cdataTypeOf :: TFF_let -> DataType
toConstr :: TFF_let -> Constr
$ctoConstr :: TFF_let -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let -> c TFF_let
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let -> c TFF_let
$cp1Data :: Typeable TFF_let
Data, Typeable)

-- %----See the commentary for <thf_let>.
-- <tff_let_term_defns>   ::= <tff_let_term_defn> | [<tff_let_term_list>]
data TFF_let_term_defns = TFFLTD_single TFF_let_term_defn
                        | TFFLTD_many TFF_let_term_list
                          deriving (Int -> TFF_let_term_defns -> ShowS
[TFF_let_term_defns] -> ShowS
TFF_let_term_defns -> String
(Int -> TFF_let_term_defns -> ShowS)
-> (TFF_let_term_defns -> String)
-> ([TFF_let_term_defns] -> ShowS)
-> Show TFF_let_term_defns
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_let_term_defns] -> ShowS
$cshowList :: [TFF_let_term_defns] -> ShowS
show :: TFF_let_term_defns -> String
$cshow :: TFF_let_term_defns -> String
showsPrec :: Int -> TFF_let_term_defns -> ShowS
$cshowsPrec :: Int -> TFF_let_term_defns -> ShowS
Show, Eq TFF_let_term_defns
Eq TFF_let_term_defns =>
(TFF_let_term_defns -> TFF_let_term_defns -> Ordering)
-> (TFF_let_term_defns -> TFF_let_term_defns -> Bool)
-> (TFF_let_term_defns -> TFF_let_term_defns -> Bool)
-> (TFF_let_term_defns -> TFF_let_term_defns -> Bool)
-> (TFF_let_term_defns -> TFF_let_term_defns -> Bool)
-> (TFF_let_term_defns -> TFF_let_term_defns -> TFF_let_term_defns)
-> (TFF_let_term_defns -> TFF_let_term_defns -> TFF_let_term_defns)
-> Ord TFF_let_term_defns
TFF_let_term_defns -> TFF_let_term_defns -> Bool
TFF_let_term_defns -> TFF_let_term_defns -> Ordering
TFF_let_term_defns -> TFF_let_term_defns -> TFF_let_term_defns
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_let_term_defns -> TFF_let_term_defns -> TFF_let_term_defns
$cmin :: TFF_let_term_defns -> TFF_let_term_defns -> TFF_let_term_defns
max :: TFF_let_term_defns -> TFF_let_term_defns -> TFF_let_term_defns
$cmax :: TFF_let_term_defns -> TFF_let_term_defns -> TFF_let_term_defns
>= :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
$c>= :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
> :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
$c> :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
<= :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
$c<= :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
< :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
$c< :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
compare :: TFF_let_term_defns -> TFF_let_term_defns -> Ordering
$ccompare :: TFF_let_term_defns -> TFF_let_term_defns -> Ordering
$cp1Ord :: Eq TFF_let_term_defns
Ord, TFF_let_term_defns -> TFF_let_term_defns -> Bool
(TFF_let_term_defns -> TFF_let_term_defns -> Bool)
-> (TFF_let_term_defns -> TFF_let_term_defns -> Bool)
-> Eq TFF_let_term_defns
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
$c/= :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
== :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
$c== :: TFF_let_term_defns -> TFF_let_term_defns -> Bool
Eq, Typeable TFF_let_term_defns
Constr
DataType
Typeable TFF_let_term_defns =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_let_term_defns
 -> c TFF_let_term_defns)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_let_term_defns)
-> (TFF_let_term_defns -> Constr)
-> (TFF_let_term_defns -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defns))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_let_term_defns))
-> ((forall b. Data b => b -> b)
    -> TFF_let_term_defns -> TFF_let_term_defns)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_let_term_defns -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_let_term_defns -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_defns -> m TFF_let_term_defns)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_defns -> m TFF_let_term_defns)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_defns -> m TFF_let_term_defns)
-> Data TFF_let_term_defns
TFF_let_term_defns -> Constr
TFF_let_term_defns -> DataType
(forall b. Data b => b -> b)
-> TFF_let_term_defns -> TFF_let_term_defns
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_defns
-> c TFF_let_term_defns
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defns
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_term_defns -> u
forall u. (forall d. Data d => d -> u) -> TFF_let_term_defns -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defns
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_defns
-> c TFF_let_term_defns
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defns)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_defns)
$cTFFLTD_many :: Constr
$cTFFLTD_single :: Constr
$tTFF_let_term_defns :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
gmapM :: (forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defns -> m TFF_let_term_defns
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_let_term_defns -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_term_defns -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_let_term_defns -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_let_term_defns -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defns -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_let_term_defns -> TFF_let_term_defns
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_let_term_defns -> TFF_let_term_defns
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_defns)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_defns)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defns)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defns)
dataTypeOf :: TFF_let_term_defns -> DataType
$cdataTypeOf :: TFF_let_term_defns -> DataType
toConstr :: TFF_let_term_defns -> Constr
$ctoConstr :: TFF_let_term_defns -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defns
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defns
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_defns
-> c TFF_let_term_defns
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_defns
-> c TFF_let_term_defns
$cp1Data :: Typeable TFF_let_term_defns
Data, Typeable)

-- <tff_let_term_list>    ::= <tff_let_term_defn> |
--                            <tff_let_term_defn>,<tff_let_term_list>
type TFF_let_term_list = [TFF_let_term_defn]

-- <tff_let_term_defn>    ::= ! [<tff_variable_list>] : <tff_let_term_defn> |
--                            <tff_let_term_binding>
data TFF_let_term_defn = TFFLTD_variable TFF_variable_list TFF_let_term_defn
                       | TFFLTD_binding TFF_let_term_binding
                         deriving (Int -> TFF_let_term_defn -> ShowS
[TFF_let_term_defn] -> ShowS
TFF_let_term_defn -> String
(Int -> TFF_let_term_defn -> ShowS)
-> (TFF_let_term_defn -> String)
-> ([TFF_let_term_defn] -> ShowS)
-> Show TFF_let_term_defn
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_let_term_defn] -> ShowS
$cshowList :: [TFF_let_term_defn] -> ShowS
show :: TFF_let_term_defn -> String
$cshow :: TFF_let_term_defn -> String
showsPrec :: Int -> TFF_let_term_defn -> ShowS
$cshowsPrec :: Int -> TFF_let_term_defn -> ShowS
Show, Eq TFF_let_term_defn
Eq TFF_let_term_defn =>
(TFF_let_term_defn -> TFF_let_term_defn -> Ordering)
-> (TFF_let_term_defn -> TFF_let_term_defn -> Bool)
-> (TFF_let_term_defn -> TFF_let_term_defn -> Bool)
-> (TFF_let_term_defn -> TFF_let_term_defn -> Bool)
-> (TFF_let_term_defn -> TFF_let_term_defn -> Bool)
-> (TFF_let_term_defn -> TFF_let_term_defn -> TFF_let_term_defn)
-> (TFF_let_term_defn -> TFF_let_term_defn -> TFF_let_term_defn)
-> Ord TFF_let_term_defn
TFF_let_term_defn -> TFF_let_term_defn -> Bool
TFF_let_term_defn -> TFF_let_term_defn -> Ordering
TFF_let_term_defn -> TFF_let_term_defn -> TFF_let_term_defn
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_let_term_defn -> TFF_let_term_defn -> TFF_let_term_defn
$cmin :: TFF_let_term_defn -> TFF_let_term_defn -> TFF_let_term_defn
max :: TFF_let_term_defn -> TFF_let_term_defn -> TFF_let_term_defn
$cmax :: TFF_let_term_defn -> TFF_let_term_defn -> TFF_let_term_defn
>= :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
$c>= :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
> :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
$c> :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
<= :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
$c<= :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
< :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
$c< :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
compare :: TFF_let_term_defn -> TFF_let_term_defn -> Ordering
$ccompare :: TFF_let_term_defn -> TFF_let_term_defn -> Ordering
$cp1Ord :: Eq TFF_let_term_defn
Ord, TFF_let_term_defn -> TFF_let_term_defn -> Bool
(TFF_let_term_defn -> TFF_let_term_defn -> Bool)
-> (TFF_let_term_defn -> TFF_let_term_defn -> Bool)
-> Eq TFF_let_term_defn
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
$c/= :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
== :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
$c== :: TFF_let_term_defn -> TFF_let_term_defn -> Bool
Eq, Typeable TFF_let_term_defn
Constr
DataType
Typeable TFF_let_term_defn =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_let_term_defn
 -> c TFF_let_term_defn)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_let_term_defn)
-> (TFF_let_term_defn -> Constr)
-> (TFF_let_term_defn -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defn))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_let_term_defn))
-> ((forall b. Data b => b -> b)
    -> TFF_let_term_defn -> TFF_let_term_defn)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_let_term_defn -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_let_term_defn -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_defn -> m TFF_let_term_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_defn -> m TFF_let_term_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_defn -> m TFF_let_term_defn)
-> Data TFF_let_term_defn
TFF_let_term_defn -> Constr
TFF_let_term_defn -> DataType
(forall b. Data b => b -> b)
-> TFF_let_term_defn -> TFF_let_term_defn
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let_term_defn -> c TFF_let_term_defn
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defn
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_term_defn -> u
forall u. (forall d. Data d => d -> u) -> TFF_let_term_defn -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defn
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let_term_defn -> c TFF_let_term_defn
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defn)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_defn)
$cTFFLTD_binding :: Constr
$cTFFLTD_variable :: Constr
$tTFF_let_term_defn :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
gmapM :: (forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_defn -> m TFF_let_term_defn
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_let_term_defn -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_term_defn -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_let_term_defn -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_let_term_defn -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_defn -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_let_term_defn -> TFF_let_term_defn
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_let_term_defn -> TFF_let_term_defn
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_defn)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_defn)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defn)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_defn)
dataTypeOf :: TFF_let_term_defn -> DataType
$cdataTypeOf :: TFF_let_term_defn -> DataType
toConstr :: TFF_let_term_defn -> Constr
$ctoConstr :: TFF_let_term_defn -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defn
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_defn
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let_term_defn -> c TFF_let_term_defn
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_let_term_defn -> c TFF_let_term_defn
$cp1Data :: Typeable TFF_let_term_defn
Data, Typeable)

-- <tff_let_term_binding> ::= <fof_plain_term> = <fof_term> |
--                            (<tff_let_term_binding>)
data TFF_let_term_binding = TFFLTB_plain FOF_plain_term FOF_term
                          | TFFLTB_binding TFF_let_term_binding
                            deriving (Int -> TFF_let_term_binding -> ShowS
[TFF_let_term_binding] -> ShowS
TFF_let_term_binding -> String
(Int -> TFF_let_term_binding -> ShowS)
-> (TFF_let_term_binding -> String)
-> ([TFF_let_term_binding] -> ShowS)
-> Show TFF_let_term_binding
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_let_term_binding] -> ShowS
$cshowList :: [TFF_let_term_binding] -> ShowS
show :: TFF_let_term_binding -> String
$cshow :: TFF_let_term_binding -> String
showsPrec :: Int -> TFF_let_term_binding -> ShowS
$cshowsPrec :: Int -> TFF_let_term_binding -> ShowS
Show, Eq TFF_let_term_binding
Eq TFF_let_term_binding =>
(TFF_let_term_binding -> TFF_let_term_binding -> Ordering)
-> (TFF_let_term_binding -> TFF_let_term_binding -> Bool)
-> (TFF_let_term_binding -> TFF_let_term_binding -> Bool)
-> (TFF_let_term_binding -> TFF_let_term_binding -> Bool)
-> (TFF_let_term_binding -> TFF_let_term_binding -> Bool)
-> (TFF_let_term_binding
    -> TFF_let_term_binding -> TFF_let_term_binding)
-> (TFF_let_term_binding
    -> TFF_let_term_binding -> TFF_let_term_binding)
-> Ord TFF_let_term_binding
TFF_let_term_binding -> TFF_let_term_binding -> Bool
TFF_let_term_binding -> TFF_let_term_binding -> Ordering
TFF_let_term_binding
-> TFF_let_term_binding -> TFF_let_term_binding
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_let_term_binding
-> TFF_let_term_binding -> TFF_let_term_binding
$cmin :: TFF_let_term_binding
-> TFF_let_term_binding -> TFF_let_term_binding
max :: TFF_let_term_binding
-> TFF_let_term_binding -> TFF_let_term_binding
$cmax :: TFF_let_term_binding
-> TFF_let_term_binding -> TFF_let_term_binding
>= :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
$c>= :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
> :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
$c> :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
<= :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
$c<= :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
< :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
$c< :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
compare :: TFF_let_term_binding -> TFF_let_term_binding -> Ordering
$ccompare :: TFF_let_term_binding -> TFF_let_term_binding -> Ordering
$cp1Ord :: Eq TFF_let_term_binding
Ord, TFF_let_term_binding -> TFF_let_term_binding -> Bool
(TFF_let_term_binding -> TFF_let_term_binding -> Bool)
-> (TFF_let_term_binding -> TFF_let_term_binding -> Bool)
-> Eq TFF_let_term_binding
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
$c/= :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
== :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
$c== :: TFF_let_term_binding -> TFF_let_term_binding -> Bool
Eq, Typeable TFF_let_term_binding
Constr
DataType
Typeable TFF_let_term_binding =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_let_term_binding
 -> c TFF_let_term_binding)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_let_term_binding)
-> (TFF_let_term_binding -> Constr)
-> (TFF_let_term_binding -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_binding))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_let_term_binding))
-> ((forall b. Data b => b -> b)
    -> TFF_let_term_binding -> TFF_let_term_binding)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_let_term_binding -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_let_term_binding -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_binding -> m TFF_let_term_binding)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_binding -> m TFF_let_term_binding)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_term_binding -> m TFF_let_term_binding)
-> Data TFF_let_term_binding
TFF_let_term_binding -> Constr
TFF_let_term_binding -> DataType
(forall b. Data b => b -> b)
-> TFF_let_term_binding -> TFF_let_term_binding
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_binding
-> c TFF_let_term_binding
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_binding
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_term_binding -> u
forall u.
(forall d. Data d => d -> u) -> TFF_let_term_binding -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_binding
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_binding
-> c TFF_let_term_binding
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_binding)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_binding)
$cTFFLTB_binding :: Constr
$cTFFLTB_plain :: Constr
$tTFF_let_term_binding :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
gmapM :: (forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_term_binding -> m TFF_let_term_binding
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_let_term_binding -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_term_binding -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_let_term_binding -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> TFF_let_term_binding -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_term_binding -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_let_term_binding -> TFF_let_term_binding
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_let_term_binding -> TFF_let_term_binding
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_binding)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_term_binding)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_binding)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_term_binding)
dataTypeOf :: TFF_let_term_binding -> DataType
$cdataTypeOf :: TFF_let_term_binding -> DataType
toConstr :: TFF_let_term_binding -> Constr
$ctoConstr :: TFF_let_term_binding -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_binding
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_term_binding
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_binding
-> c TFF_let_term_binding
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_term_binding
-> c TFF_let_term_binding
$cp1Data :: Typeable TFF_let_term_binding
Data, Typeable)

-- <tff_let_formula_defns> ::= <tff_let_formula_defn> | [<tff_let_formula_list>]
data TFF_let_formula_defns = TFFLFD_single TFF_let_formula_defn
                           | TFFLFD_many TFF_let_formula_list
                             deriving (Int -> TFF_let_formula_defns -> ShowS
[TFF_let_formula_defns] -> ShowS
TFF_let_formula_defns -> String
(Int -> TFF_let_formula_defns -> ShowS)
-> (TFF_let_formula_defns -> String)
-> ([TFF_let_formula_defns] -> ShowS)
-> Show TFF_let_formula_defns
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_let_formula_defns] -> ShowS
$cshowList :: [TFF_let_formula_defns] -> ShowS
show :: TFF_let_formula_defns -> String
$cshow :: TFF_let_formula_defns -> String
showsPrec :: Int -> TFF_let_formula_defns -> ShowS
$cshowsPrec :: Int -> TFF_let_formula_defns -> ShowS
Show, Eq TFF_let_formula_defns
Eq TFF_let_formula_defns =>
(TFF_let_formula_defns -> TFF_let_formula_defns -> Ordering)
-> (TFF_let_formula_defns -> TFF_let_formula_defns -> Bool)
-> (TFF_let_formula_defns -> TFF_let_formula_defns -> Bool)
-> (TFF_let_formula_defns -> TFF_let_formula_defns -> Bool)
-> (TFF_let_formula_defns -> TFF_let_formula_defns -> Bool)
-> (TFF_let_formula_defns
    -> TFF_let_formula_defns -> TFF_let_formula_defns)
-> (TFF_let_formula_defns
    -> TFF_let_formula_defns -> TFF_let_formula_defns)
-> Ord TFF_let_formula_defns
TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
TFF_let_formula_defns -> TFF_let_formula_defns -> Ordering
TFF_let_formula_defns
-> TFF_let_formula_defns -> TFF_let_formula_defns
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_let_formula_defns
-> TFF_let_formula_defns -> TFF_let_formula_defns
$cmin :: TFF_let_formula_defns
-> TFF_let_formula_defns -> TFF_let_formula_defns
max :: TFF_let_formula_defns
-> TFF_let_formula_defns -> TFF_let_formula_defns
$cmax :: TFF_let_formula_defns
-> TFF_let_formula_defns -> TFF_let_formula_defns
>= :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
$c>= :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
> :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
$c> :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
<= :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
$c<= :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
< :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
$c< :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
compare :: TFF_let_formula_defns -> TFF_let_formula_defns -> Ordering
$ccompare :: TFF_let_formula_defns -> TFF_let_formula_defns -> Ordering
$cp1Ord :: Eq TFF_let_formula_defns
Ord, TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
(TFF_let_formula_defns -> TFF_let_formula_defns -> Bool)
-> (TFF_let_formula_defns -> TFF_let_formula_defns -> Bool)
-> Eq TFF_let_formula_defns
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
$c/= :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
== :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
$c== :: TFF_let_formula_defns -> TFF_let_formula_defns -> Bool
Eq, Typeable TFF_let_formula_defns
Constr
DataType
Typeable TFF_let_formula_defns =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_let_formula_defns
 -> c TFF_let_formula_defns)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defns)
-> (TFF_let_formula_defns -> Constr)
-> (TFF_let_formula_defns -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defns))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_let_formula_defns))
-> ((forall b. Data b => b -> b)
    -> TFF_let_formula_defns -> TFF_let_formula_defns)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> TFF_let_formula_defns
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> TFF_let_formula_defns
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_let_formula_defns -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defns -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_defns -> m TFF_let_formula_defns)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_defns -> m TFF_let_formula_defns)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_defns -> m TFF_let_formula_defns)
-> Data TFF_let_formula_defns
TFF_let_formula_defns -> Constr
TFF_let_formula_defns -> DataType
(forall b. Data b => b -> b)
-> TFF_let_formula_defns -> TFF_let_formula_defns
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defns
-> c TFF_let_formula_defns
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defns
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defns -> u
forall u.
(forall d. Data d => d -> u) -> TFF_let_formula_defns -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defns -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defns -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defns
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defns
-> c TFF_let_formula_defns
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defns)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_defns)
$cTFFLFD_many :: Constr
$cTFFLFD_single :: Constr
$tTFF_let_formula_defns :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
gmapM :: (forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defns -> m TFF_let_formula_defns
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defns -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defns -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_let_formula_defns -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> TFF_let_formula_defns -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defns -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defns -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defns -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defns -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_let_formula_defns -> TFF_let_formula_defns
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_let_formula_defns -> TFF_let_formula_defns
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_defns)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_defns)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defns)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defns)
dataTypeOf :: TFF_let_formula_defns -> DataType
$cdataTypeOf :: TFF_let_formula_defns -> DataType
toConstr :: TFF_let_formula_defns -> Constr
$ctoConstr :: TFF_let_formula_defns -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defns
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defns
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defns
-> c TFF_let_formula_defns
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defns
-> c TFF_let_formula_defns
$cp1Data :: Typeable TFF_let_formula_defns
Data, Typeable)

-- <tff_let_formula_list> ::= <tff_let_formula_defn> |
--                            <tff_let_formula_defn>,<tff_let_formula_list>
type TFF_let_formula_list = [TFF_let_formula_defn]

-- <tff_let_formula_defn> ::= ! [<tff_variable_list>] : <tff_let_formula_defn> |
--                            <tff_let_formula_binding>
data TFF_let_formula_defn = TFFLFD_variable TFF_variable_list TFF_let_formula_defn
                          | TFFLFD_binding TFF_let_formula_binding
                            deriving (Int -> TFF_let_formula_defn -> ShowS
[TFF_let_formula_defn] -> ShowS
TFF_let_formula_defn -> String
(Int -> TFF_let_formula_defn -> ShowS)
-> (TFF_let_formula_defn -> String)
-> ([TFF_let_formula_defn] -> ShowS)
-> Show TFF_let_formula_defn
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_let_formula_defn] -> ShowS
$cshowList :: [TFF_let_formula_defn] -> ShowS
show :: TFF_let_formula_defn -> String
$cshow :: TFF_let_formula_defn -> String
showsPrec :: Int -> TFF_let_formula_defn -> ShowS
$cshowsPrec :: Int -> TFF_let_formula_defn -> ShowS
Show, Eq TFF_let_formula_defn
Eq TFF_let_formula_defn =>
(TFF_let_formula_defn -> TFF_let_formula_defn -> Ordering)
-> (TFF_let_formula_defn -> TFF_let_formula_defn -> Bool)
-> (TFF_let_formula_defn -> TFF_let_formula_defn -> Bool)
-> (TFF_let_formula_defn -> TFF_let_formula_defn -> Bool)
-> (TFF_let_formula_defn -> TFF_let_formula_defn -> Bool)
-> (TFF_let_formula_defn
    -> TFF_let_formula_defn -> TFF_let_formula_defn)
-> (TFF_let_formula_defn
    -> TFF_let_formula_defn -> TFF_let_formula_defn)
-> Ord TFF_let_formula_defn
TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
TFF_let_formula_defn -> TFF_let_formula_defn -> Ordering
TFF_let_formula_defn
-> TFF_let_formula_defn -> TFF_let_formula_defn
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_let_formula_defn
-> TFF_let_formula_defn -> TFF_let_formula_defn
$cmin :: TFF_let_formula_defn
-> TFF_let_formula_defn -> TFF_let_formula_defn
max :: TFF_let_formula_defn
-> TFF_let_formula_defn -> TFF_let_formula_defn
$cmax :: TFF_let_formula_defn
-> TFF_let_formula_defn -> TFF_let_formula_defn
>= :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
$c>= :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
> :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
$c> :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
<= :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
$c<= :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
< :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
$c< :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
compare :: TFF_let_formula_defn -> TFF_let_formula_defn -> Ordering
$ccompare :: TFF_let_formula_defn -> TFF_let_formula_defn -> Ordering
$cp1Ord :: Eq TFF_let_formula_defn
Ord, TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
(TFF_let_formula_defn -> TFF_let_formula_defn -> Bool)
-> (TFF_let_formula_defn -> TFF_let_formula_defn -> Bool)
-> Eq TFF_let_formula_defn
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
$c/= :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
== :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
$c== :: TFF_let_formula_defn -> TFF_let_formula_defn -> Bool
Eq, Typeable TFF_let_formula_defn
Constr
DataType
Typeable TFF_let_formula_defn =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_let_formula_defn
 -> c TFF_let_formula_defn)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defn)
-> (TFF_let_formula_defn -> Constr)
-> (TFF_let_formula_defn -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defn))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_let_formula_defn))
-> ((forall b. Data b => b -> b)
    -> TFF_let_formula_defn -> TFF_let_formula_defn)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_let_formula_defn -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defn -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_defn -> m TFF_let_formula_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_defn -> m TFF_let_formula_defn)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_defn -> m TFF_let_formula_defn)
-> Data TFF_let_formula_defn
TFF_let_formula_defn -> Constr
TFF_let_formula_defn -> DataType
(forall b. Data b => b -> b)
-> TFF_let_formula_defn -> TFF_let_formula_defn
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defn
-> c TFF_let_formula_defn
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defn
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defn -> u
forall u.
(forall d. Data d => d -> u) -> TFF_let_formula_defn -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defn
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defn
-> c TFF_let_formula_defn
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defn)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_defn)
$cTFFLFD_binding :: Constr
$cTFFLFD_variable :: Constr
$tTFF_let_formula_defn :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
gmapM :: (forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_defn -> m TFF_let_formula_defn
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defn -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_formula_defn -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_let_formula_defn -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> TFF_let_formula_defn -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_let_formula_defn -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_let_formula_defn -> TFF_let_formula_defn
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_let_formula_defn -> TFF_let_formula_defn
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_defn)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_defn)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defn)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_defn)
dataTypeOf :: TFF_let_formula_defn -> DataType
$cdataTypeOf :: TFF_let_formula_defn -> DataType
toConstr :: TFF_let_formula_defn -> Constr
$ctoConstr :: TFF_let_formula_defn -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defn
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_defn
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defn
-> c TFF_let_formula_defn
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_defn
-> c TFF_let_formula_defn
$cp1Data :: Typeable TFF_let_formula_defn
Data, Typeable)

-- <tff_let_formula_binding> ::= <fof_plain_atomic_formula> <=>
--                            <tff_unitary_formula> | (<tff_let_formula_binding>)
data TFF_let_formula_binding = TFFLFB_plain FOF_plain_atomic_formula TFF_unitary_formula
                             | TFFLFB_binding TFF_let_formula_binding
                               deriving (Int -> TFF_let_formula_binding -> ShowS
[TFF_let_formula_binding] -> ShowS
TFF_let_formula_binding -> String
(Int -> TFF_let_formula_binding -> ShowS)
-> (TFF_let_formula_binding -> String)
-> ([TFF_let_formula_binding] -> ShowS)
-> Show TFF_let_formula_binding
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_let_formula_binding] -> ShowS
$cshowList :: [TFF_let_formula_binding] -> ShowS
show :: TFF_let_formula_binding -> String
$cshow :: TFF_let_formula_binding -> String
showsPrec :: Int -> TFF_let_formula_binding -> ShowS
$cshowsPrec :: Int -> TFF_let_formula_binding -> ShowS
Show, Eq TFF_let_formula_binding
Eq TFF_let_formula_binding =>
(TFF_let_formula_binding -> TFF_let_formula_binding -> Ordering)
-> (TFF_let_formula_binding -> TFF_let_formula_binding -> Bool)
-> (TFF_let_formula_binding -> TFF_let_formula_binding -> Bool)
-> (TFF_let_formula_binding -> TFF_let_formula_binding -> Bool)
-> (TFF_let_formula_binding -> TFF_let_formula_binding -> Bool)
-> (TFF_let_formula_binding
    -> TFF_let_formula_binding -> TFF_let_formula_binding)
-> (TFF_let_formula_binding
    -> TFF_let_formula_binding -> TFF_let_formula_binding)
-> Ord TFF_let_formula_binding
TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
TFF_let_formula_binding -> TFF_let_formula_binding -> Ordering
TFF_let_formula_binding
-> TFF_let_formula_binding -> TFF_let_formula_binding
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_let_formula_binding
-> TFF_let_formula_binding -> TFF_let_formula_binding
$cmin :: TFF_let_formula_binding
-> TFF_let_formula_binding -> TFF_let_formula_binding
max :: TFF_let_formula_binding
-> TFF_let_formula_binding -> TFF_let_formula_binding
$cmax :: TFF_let_formula_binding
-> TFF_let_formula_binding -> TFF_let_formula_binding
>= :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
$c>= :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
> :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
$c> :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
<= :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
$c<= :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
< :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
$c< :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
compare :: TFF_let_formula_binding -> TFF_let_formula_binding -> Ordering
$ccompare :: TFF_let_formula_binding -> TFF_let_formula_binding -> Ordering
$cp1Ord :: Eq TFF_let_formula_binding
Ord, TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
(TFF_let_formula_binding -> TFF_let_formula_binding -> Bool)
-> (TFF_let_formula_binding -> TFF_let_formula_binding -> Bool)
-> Eq TFF_let_formula_binding
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
$c/= :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
== :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
$c== :: TFF_let_formula_binding -> TFF_let_formula_binding -> Bool
Eq, Typeable TFF_let_formula_binding
Constr
DataType
Typeable TFF_let_formula_binding =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_let_formula_binding
 -> c TFF_let_formula_binding)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_let_formula_binding)
-> (TFF_let_formula_binding -> Constr)
-> (TFF_let_formula_binding -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_binding))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_let_formula_binding))
-> ((forall b. Data b => b -> b)
    -> TFF_let_formula_binding -> TFF_let_formula_binding)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> TFF_let_formula_binding
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> TFF_let_formula_binding
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_let_formula_binding -> [u])
-> (forall u.
    Int
    -> (forall d. Data d => d -> u) -> TFF_let_formula_binding -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_binding -> m TFF_let_formula_binding)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_binding -> m TFF_let_formula_binding)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_let_formula_binding -> m TFF_let_formula_binding)
-> Data TFF_let_formula_binding
TFF_let_formula_binding -> Constr
TFF_let_formula_binding -> DataType
(forall b. Data b => b -> b)
-> TFF_let_formula_binding -> TFF_let_formula_binding
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_binding
-> c TFF_let_formula_binding
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_binding
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_formula_binding -> u
forall u.
(forall d. Data d => d -> u) -> TFF_let_formula_binding -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_let_formula_binding
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_let_formula_binding
-> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_binding
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_binding
-> c TFF_let_formula_binding
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_binding)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_binding)
$cTFFLFB_binding :: Constr
$cTFFLFB_plain :: Constr
$tTFF_let_formula_binding :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
gmapM :: (forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_let_formula_binding -> m TFF_let_formula_binding
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_let_formula_binding -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_let_formula_binding -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_let_formula_binding -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> TFF_let_formula_binding -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_let_formula_binding
-> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_let_formula_binding
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_let_formula_binding
-> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> TFF_let_formula_binding
-> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_let_formula_binding -> TFF_let_formula_binding
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_let_formula_binding -> TFF_let_formula_binding
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_binding)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_let_formula_binding)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_binding)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_let_formula_binding)
dataTypeOf :: TFF_let_formula_binding -> DataType
$cdataTypeOf :: TFF_let_formula_binding -> DataType
toConstr :: TFF_let_formula_binding -> Constr
$ctoConstr :: TFF_let_formula_binding -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_binding
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_let_formula_binding
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_binding
-> c TFF_let_formula_binding
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> TFF_let_formula_binding
-> c TFF_let_formula_binding
$cp1Data :: Typeable TFF_let_formula_binding
Data, Typeable)

-- <tff_sequent>          ::= <tff_formula_tuple> <gentzen_arrow>
--                            <tff_formula_tuple> | (<tff_sequent>)
data TFF_sequent = TFFS_plain TFF_formula_tuple TFF_formula_tuple
                 | TFFS_parens TFF_sequent
                   deriving (Int -> TFF_sequent -> ShowS
[TFF_sequent] -> ShowS
TFF_sequent -> String
(Int -> TFF_sequent -> ShowS)
-> (TFF_sequent -> String)
-> ([TFF_sequent] -> ShowS)
-> Show TFF_sequent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_sequent] -> ShowS
$cshowList :: [TFF_sequent] -> ShowS
show :: TFF_sequent -> String
$cshow :: TFF_sequent -> String
showsPrec :: Int -> TFF_sequent -> ShowS
$cshowsPrec :: Int -> TFF_sequent -> ShowS
Show, Eq TFF_sequent
Eq TFF_sequent =>
(TFF_sequent -> TFF_sequent -> Ordering)
-> (TFF_sequent -> TFF_sequent -> Bool)
-> (TFF_sequent -> TFF_sequent -> Bool)
-> (TFF_sequent -> TFF_sequent -> Bool)
-> (TFF_sequent -> TFF_sequent -> Bool)
-> (TFF_sequent -> TFF_sequent -> TFF_sequent)
-> (TFF_sequent -> TFF_sequent -> TFF_sequent)
-> Ord TFF_sequent
TFF_sequent -> TFF_sequent -> Bool
TFF_sequent -> TFF_sequent -> Ordering
TFF_sequent -> TFF_sequent -> TFF_sequent
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_sequent -> TFF_sequent -> TFF_sequent
$cmin :: TFF_sequent -> TFF_sequent -> TFF_sequent
max :: TFF_sequent -> TFF_sequent -> TFF_sequent
$cmax :: TFF_sequent -> TFF_sequent -> TFF_sequent
>= :: TFF_sequent -> TFF_sequent -> Bool
$c>= :: TFF_sequent -> TFF_sequent -> Bool
> :: TFF_sequent -> TFF_sequent -> Bool
$c> :: TFF_sequent -> TFF_sequent -> Bool
<= :: TFF_sequent -> TFF_sequent -> Bool
$c<= :: TFF_sequent -> TFF_sequent -> Bool
< :: TFF_sequent -> TFF_sequent -> Bool
$c< :: TFF_sequent -> TFF_sequent -> Bool
compare :: TFF_sequent -> TFF_sequent -> Ordering
$ccompare :: TFF_sequent -> TFF_sequent -> Ordering
$cp1Ord :: Eq TFF_sequent
Ord, TFF_sequent -> TFF_sequent -> Bool
(TFF_sequent -> TFF_sequent -> Bool)
-> (TFF_sequent -> TFF_sequent -> Bool) -> Eq TFF_sequent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_sequent -> TFF_sequent -> Bool
$c/= :: TFF_sequent -> TFF_sequent -> Bool
== :: TFF_sequent -> TFF_sequent -> Bool
$c== :: TFF_sequent -> TFF_sequent -> Bool
Eq, Typeable TFF_sequent
Constr
DataType
Typeable TFF_sequent =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> TFF_sequent -> c TFF_sequent)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_sequent)
-> (TFF_sequent -> Constr)
-> (TFF_sequent -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_sequent))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_sequent))
-> ((forall b. Data b => b -> b) -> TFF_sequent -> TFF_sequent)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r)
-> (forall u. (forall d. Data d => d -> u) -> TFF_sequent -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_sequent -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent)
-> Data TFF_sequent
TFF_sequent -> Constr
TFF_sequent -> DataType
(forall b. Data b => b -> b) -> TFF_sequent -> TFF_sequent
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_sequent -> c TFF_sequent
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_sequent
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> TFF_sequent -> u
forall u. (forall d. Data d => d -> u) -> TFF_sequent -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_sequent
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_sequent -> c TFF_sequent
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_sequent)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_sequent)
$cTFFS_parens :: Constr
$cTFFS_plain :: Constr
$tTFF_sequent :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
gmapMp :: (forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
gmapM :: (forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> TFF_sequent -> m TFF_sequent
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_sequent -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> TFF_sequent -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_sequent -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_sequent -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_sequent -> r
gmapT :: (forall b. Data b => b -> b) -> TFF_sequent -> TFF_sequent
$cgmapT :: (forall b. Data b => b -> b) -> TFF_sequent -> TFF_sequent
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_sequent)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_sequent)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_sequent)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_sequent)
dataTypeOf :: TFF_sequent -> DataType
$cdataTypeOf :: TFF_sequent -> DataType
toConstr :: TFF_sequent -> Constr
$ctoConstr :: TFF_sequent -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_sequent
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_sequent
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_sequent -> c TFF_sequent
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_sequent -> c TFF_sequent
$cp1Data :: Typeable TFF_sequent
Data, Typeable)

-- <tff_formula_tuple>    ::= [] | [<tff_formula_tuple_list>]
newtype TFF_formula_tuple = TFF_formula_tuple TFF_formula_tuple_list
                            deriving (Int -> TFF_formula_tuple -> ShowS
[TFF_formula_tuple] -> ShowS
TFF_formula_tuple -> String
(Int -> TFF_formula_tuple -> ShowS)
-> (TFF_formula_tuple -> String)
-> ([TFF_formula_tuple] -> ShowS)
-> Show TFF_formula_tuple
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TFF_formula_tuple] -> ShowS
$cshowList :: [TFF_formula_tuple] -> ShowS
show :: TFF_formula_tuple -> String
$cshow :: TFF_formula_tuple -> String
showsPrec :: Int -> TFF_formula_tuple -> ShowS
$cshowsPrec :: Int -> TFF_formula_tuple -> ShowS
Show, Eq TFF_formula_tuple
Eq TFF_formula_tuple =>
(TFF_formula_tuple -> TFF_formula_tuple -> Ordering)
-> (TFF_formula_tuple -> TFF_formula_tuple -> Bool)
-> (TFF_formula_tuple -> TFF_formula_tuple -> Bool)
-> (TFF_formula_tuple -> TFF_formula_tuple -> Bool)
-> (TFF_formula_tuple -> TFF_formula_tuple -> Bool)
-> (TFF_formula_tuple -> TFF_formula_tuple -> TFF_formula_tuple)
-> (TFF_formula_tuple -> TFF_formula_tuple -> TFF_formula_tuple)
-> Ord TFF_formula_tuple
TFF_formula_tuple -> TFF_formula_tuple -> Bool
TFF_formula_tuple -> TFF_formula_tuple -> Ordering
TFF_formula_tuple -> TFF_formula_tuple -> TFF_formula_tuple
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TFF_formula_tuple -> TFF_formula_tuple -> TFF_formula_tuple
$cmin :: TFF_formula_tuple -> TFF_formula_tuple -> TFF_formula_tuple
max :: TFF_formula_tuple -> TFF_formula_tuple -> TFF_formula_tuple
$cmax :: TFF_formula_tuple -> TFF_formula_tuple -> TFF_formula_tuple
>= :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
$c>= :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
> :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
$c> :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
<= :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
$c<= :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
< :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
$c< :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
compare :: TFF_formula_tuple -> TFF_formula_tuple -> Ordering
$ccompare :: TFF_formula_tuple -> TFF_formula_tuple -> Ordering
$cp1Ord :: Eq TFF_formula_tuple
Ord, TFF_formula_tuple -> TFF_formula_tuple -> Bool
(TFF_formula_tuple -> TFF_formula_tuple -> Bool)
-> (TFF_formula_tuple -> TFF_formula_tuple -> Bool)
-> Eq TFF_formula_tuple
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
$c/= :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
== :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
$c== :: TFF_formula_tuple -> TFF_formula_tuple -> Bool
Eq, Typeable TFF_formula_tuple
Constr
DataType
Typeable TFF_formula_tuple =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g)
 -> TFF_formula_tuple
 -> c TFF_formula_tuple)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c TFF_formula_tuple)
-> (TFF_formula_tuple -> Constr)
-> (TFF_formula_tuple -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c TFF_formula_tuple))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c TFF_formula_tuple))
-> ((forall b. Data b => b -> b)
    -> TFF_formula_tuple -> TFF_formula_tuple)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> TFF_formula_tuple -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> TFF_formula_tuple -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> TFF_formula_tuple -> m TFF_formula_tuple)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_formula_tuple -> m TFF_formula_tuple)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> TFF_formula_tuple -> m TFF_formula_tuple)
-> Data TFF_formula_tuple
TFF_formula_tuple -> Constr
TFF_formula_tuple -> DataType
(forall b. Data b => b -> b)
-> TFF_formula_tuple -> TFF_formula_tuple
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula_tuple -> c TFF_formula_tuple
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula_tuple
forall a.
Typeable a =>
(forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> TFF_formula_tuple -> u
forall u. (forall d. Data d => d -> u) -> TFF_formula_tuple -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula_tuple
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula_tuple -> c TFF_formula_tuple
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_formula_tuple)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_formula_tuple)
$cTFF_formula_tuple :: Constr
$tTFF_formula_tuple :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
gmapMp :: (forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
gmapM :: (forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> TFF_formula_tuple -> m TFF_formula_tuple
gmapQi :: Int -> (forall d. Data d => d -> u) -> TFF_formula_tuple -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> TFF_formula_tuple -> u
gmapQ :: (forall d. Data d => d -> u) -> TFF_formula_tuple -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> TFF_formula_tuple -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> TFF_formula_tuple -> r
gmapT :: (forall b. Data b => b -> b)
-> TFF_formula_tuple -> TFF_formula_tuple
$cgmapT :: (forall b. Data b => b -> b)
-> TFF_formula_tuple -> TFF_formula_tuple
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_formula_tuple)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c TFF_formula_tuple)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c TFF_formula_tuple)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c TFF_formula_tuple)
dataTypeOf :: TFF_formula_tuple -> DataType
$cdataTypeOf :: TFF_formula_tuple -> DataType
toConstr :: TFF_formula_tuple -> Constr
$ctoConstr :: TFF_formula_tuple -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula_tuple
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c TFF_formula_tuple
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula_tuple -> c TFF_formula_tuple
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> TFF_formula_tuple -> c TFF_formula_tuple
$cp1Data :: Typeable TFF_formula_tuple
Data, Typeable)

-- <tff_formula_tuple_list> ::= <tff_logic_formula> |
--                            <tff_logic_formula>,<tff_formula_tuple_list>
type TFF_formula_tuple_list = [TFF_logic_formula]

-- %----<tff_typed_atom> can appear only at top level
-- <tff_typed_atom>       ::= <untyped_atom> : <tff_top_level_type> |
--                            (<tff_typed_atom>)
data