Class ASPBodyElement

  • All Implemented Interfaces:
    Formula, ComplexLogicalFormula, LogicStructure, SimpleLogicalFormula
    Direct Known Subclasses:
    AggregateAtom, ASPLiteral, ComparativeAtom, DefaultNegation

    public abstract class ASPBodyElement
    extends ASPElement
    This class is a common base class for ASP formulas that can be part of an ASP rule body (premise of a rule):
    • Literals (i.e. atoms or strictly negated atoms)
    • Built-in atoms (i.e. terms connected by comparative operators like == and !=)
    • Aggregate atoms
    • Default negations of literals or aggregates (i.e. 'not a' a for a literal or aggregate a)
    Note: In the ASP-Core-2 standard, the formulas represented by this class are also referred to as 'Literals'. In the Tweety ASP library, literals are only atoms or the strict negations of atoms.
    Tim Janus, Anna Gessler
    • Constructor Detail

      • ASPBodyElement

        public ASPBodyElement()
    • Method Detail

      • getLiterals

        public abstract java.util.SortedSet<ASPLiteral> getLiterals()
        Returns all literals in this element in form of a SortedSet. Literals are atoms or strict negations of atoms.
        all the literals used in the rule element
      • substitute

        public abstract ASPBodyElement substitute​(Term<?> t,
                                                  Term<?> v)
        Description copied from interface: ComplexLogicalFormula
        Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.
        Specified by:
        substitute in interface ComplexLogicalFormula
        Specified by:
        substitute in class ASPElement
        t - the term to be substituted.
        v - the term to substitute.
        a formula where every occurrence of "v" is replaced by "t".