Copyright | (c) Christian Maeder, Uni Bremen 2005-2006 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Christian.Maeder@dfki.de |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe-Inferred |
Replace casts with explicit projection functions
This module replaces Cast(s) with explicit projection functions. Don't do this after simplification since crucial sort information may be missing
Membership test are replaced with Definedness formulas
projection names may be also made unique by appending the source and target sort
Documentation
projRecord :: TermExtension f => OpKind -> (f -> f) -> Record f (FORMULA f) (TERM f)
projTerm :: TermExtension f => OpKind -> (f -> f) -> TERM f -> TERM f
projFormula :: TermExtension f => OpKind -> (f -> f) -> FORMULA f -> FORMULA f
uniqueProjName :: OP_TYPE -> Id
uniqueBotName :: OP_TYPE -> Id
projectUnique :: TermExtension f => OpKind -> Range -> TERM f -> SORT -> TERM f