tct-2.0.1: A Complexity Analyser for Term Rewrite Systems

Portabilityunportable
Stabilityunstable
MaintainerMartin Avanzini <martin.avanzini@uibk.ac.at>
Safe HaskellSafe-Infered

Tct.Encoding.Precedence

Contents

Description

This module implements a SAT encoding of quasi precedences.

Synopsis

Documentation

validPrecedenceM :: (Eq l, Monad s, Solver s l) => [Symbol] -> SatSolver s l (PropFormula l)

Add this constraint for a valid SAT encoding.

restrictRecDepthM :: (Eq l, Monad s, Solver s l) => [Symbol] -> Int -> SatSolver s l (PropFormula l)

Restrict the recursion depth to a given bound

'f `precGt` g` asserts that f is strictly above g in the precedence

Assert equivalence in the precedence.

The initial argument filtering.

Recursive Symbols

This is used by Tct.Method.PopStar to obtain a more precise complexity certificate

newtype RecursiveSymbols

Constructors

RS (Set Symbol) 

Instances