Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Construction of a derivation tree
- der :: (Eq a, Eq b, Eq d, Ord c, Freshable c, Freshable d) => Program a b c -> Clause a b c -> DerTree a b c d
- trans :: (Eq a, Eq b, Ord c, Eq d, Freshable c, Freshable d) => Program a b c -> RewTree a b c d -> Vr d -> (RewTree a b c d, Maybe (Int, Subst a b c, Term a b c))
- clauseProj :: (Eq a, Eq b, Ord c) => Program a b c -> Maybe (Int, Subst a b c, Term a b c) -> GuardingContext a b c
- newtype Vr a = Vr {
- unVr :: a
Tree constructions
der :: (Eq a, Eq b, Eq d, Ord c, Freshable c, Freshable d) => Program a b c -> Clause a b c -> DerTree a b c d
Given a program P and a clause C construct derivation tree
der(P, C)
according to definition 3.6
trans :: (Eq a, Eq b, Ord c, Eq d, Freshable c, Freshable d) => Program a b c -> RewTree a b c d -> Vr d -> (RewTree a b c d, Maybe (Int, Subst a b c, Term a b c))
Given a program P, rewriting tree rew(P, C, σ) at position w and rewriting tree variable X_k construct the rewritng tree
Trans(P, D(w), X_k) = rew(P, C, σ'σ)
and return the external resolvent σ, contraction measure, and the
originating clause according to Definition 3.5
clauseProj :: (Eq a, Eq b, Ord c) => Program a b c -> Maybe (Int, Subst a b c, Term a b c) -> GuardingContext a b c
Given program P and external resolvent of a transition with its measure conpute clause projection
π(D(w)) = {P(k), t', v | ... }
accorging to definition 5.4