tip-lib-0.2.2: tons of inductive problems - support library and tools
Tip.Utils.Specialiser
specialise :: forall d c a. (Ord d, Ord c, Ord a) => [(d, [Rule c a])] -> ([(d, Subst a Void c)], [d]) Source
safeRule :: Eq a => Rule c a -> Maybe (Rule c a) Source
data Rule c a Source
Constructors
Fields
The trigger(s).
The action. The variables here must be a subset of those in pre.
Instances
data Expr c a Source
data Void Source
absurd :: Void -> a Source
type Closed c = Expr c Void Source
subtermRules :: Rule c a -> [Rule c a] Source
subterms :: Expr c a -> [Expr c a] Source
type Subst a b c = [(a, Expr c b)] Source
type Inst a c = (Subst a Void c, Closed c) Source