| Maintainer | Benedikt Schmidt <beschmi@gmail.com> |
|---|---|
| Safe Haskell | Safe-Infered |
Term.Subsumption
Description
Subsumption of terms and substitutions.
- compareTermSubs :: LNTerm -> LNTerm -> WithMaude (Maybe Ordering)
- eqTermSubs :: LNTerm -> LNTerm -> WithMaude Bool
- factorSubstVia :: [LVar] -> LNSubst -> LNSubst -> WithMaude [LNSubst]
- canonizeSubst :: LNSubstVFresh -> LNSubstVFresh
- varOccurences :: LNSubstVFresh -> LVar -> [[Position]]
Documentation
compareTermSubs :: LNTerm -> LNTerm -> WithMaude (Maybe Ordering)Source
Compare terms t1 and t2 with respect to the subsumption order modulo AC.
eqTermSubs :: LNTerm -> LNTerm -> WithMaude BoolSource
Returns True if s1 and s2 are equal with respect to the subsumption order modulo AC.
canonical representations for substitutions
canonizeSubst :: LNSubstVFresh -> LNSubstVFreshSource
Returns a substitution that is equivalent modulo renaming to the given substitution.
for testing only
varOccurences :: LNSubstVFresh -> LVar -> [[Position]]Source
varOccurences v t returns a sorted list of positions where the
variable v occurs in t. The function returns the same result for
terms that are equal modulo AC since the flattened term representation
is used.