Term.Narrowing.Variants.Compute

tamarin-prover-term-1.2.2: Term manipulation library for the tamarin prover.

Copyright | (c) 2010-2012 Benedikt Schmidt
License | GPL v3 (see LICENSE)
Maintainer | Benedikt Schmidt <beschmi@gmail.com>
Safe Haskell | None
Language | Haskell98

Term.Narrowing.Variants.Compute

Contents

- for testing

Description

Computing the variants of a term.

Synopsis

- computeVariantsBound :: LNTerm -> Maybe Int -> WithMaude (Maybe [LNSubstVFresh])
- computeVariants :: LNTerm -> WithMaude [LNSubstVFresh]
- compareSubstVariant :: LNTerm -> LNSubstVFresh -> LNSubstVFresh -> WithMaude (Maybe Ordering)

# Documentation

computeVariantsBound :: LNTerm -> Maybe Int -> WithMaude (Maybe [LNSubstVFresh]) #

`computeVariants t d` compute the variants of term `t` with bound `d`. The rewriting rules are taken from the Maude context.

computeVariants :: LNTerm -> WithMaude [LNSubstVFresh] #

`variantsList ts` computes all variants of `ts` considered as a single term without a bound or symmetry substitution. The rewriting rules are taken from the Maude context.

# for testing

compareSubstVariant :: LNTerm -> LNSubstVFresh -> LNSubstVFresh -> WithMaude (Maybe Ordering) #

`substCompareVariant t s1 t2` compares two substitutions using the variant order with respect to `t`.