lp.trans
Class DlpTransformer
java.lang.Object
lp.trans.DlpTransformer
public class DlpTransformer
- extends Object
Transforms a dynamic logic program into an equivalent normal logic program.
- Version:
- 0.9.0
- Author:
- Martin Slota
Nested Class Summary |
private class |
DlpTransformer.AtomInfo
A container for metadata about an atom's appearance in the input program. |
Constructor Summary |
DlpTransformer()
Creates a new instance of DlpTransformer . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
atomData
private final Map<LpAtom,DlpTransformer.AtomInfo> atomData
encoder
private final LpBuffer encoder
progCount
private int progCount
DlpTransformer
public DlpTransformer()
- Creates a new instance of
DlpTransformer
.
getData
private DlpTransformer.AtomInfo getData(LpAtom atom)
transform
public TransformedDlp transform(DynamicLogicProgram dlp)
- Constructs the transformational equivalent of
dlp
.
- Parameters:
dlp
- the dynamic logic program that should be transformed
- Returns:
- the normal logic program equivalent to
dlp
- Throws:
IllegalArgumentException
- if dlp.isGround()
returns
false
makeTransformedRule
private LpRule makeTransformedRule(LpRule origRule,
int level)
makeIntroRejection
private LpRule makeIntroRejection(LpRule origRule,
int toLevel)
makeTransformedLiteral
private LpLiteral makeTransformedLiteral(LpLiteral origLit,
boolean positive)
makeRejectionAtom
private LpAtom makeRejectionAtom(LpLiteral lit,
int level)