lp.trans
Class DlpTransformer

java.lang.Object
  extended by 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.
 
Field Summary
private  Map<LpAtom,DlpTransformer.AtomInfo> atomData
           
private  LpBuffer encoder
           
private  int progCount
           
 
Constructor Summary
DlpTransformer()
          Creates a new instance of DlpTransformer.
 
Method Summary
private  DlpTransformer.AtomInfo getData(LpAtom atom)
           
private  LpRule makeIntroRejection(LpRule origRule, int toLevel)
           
private  LpAtom makeRejectionAtom(LpLiteral lit, int level)
           
private  LpLiteral makeTransformedLiteral(LpLiteral origLit, boolean positive)
           
private  LpRule makeTransformedRule(LpRule origRule, int level)
           
 TransformedDlp transform(DynamicLogicProgram dlp)
          Constructs the transformational equivalent of dlp.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

atomData

private final Map<LpAtom,DlpTransformer.AtomInfo> atomData

encoder

private final LpBuffer encoder

progCount

private int progCount
Constructor Detail

DlpTransformer

public DlpTransformer()
Creates a new instance of DlpTransformer.

Method Detail

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)