Class DelpArgument

  • All Implemented Interfaces:
    Formula

    public class DelpArgument
    extends java.lang.Object
    implements Formula
    This class models a DeLP argument which comprises of a set of defeasible rules (the support) and a literal (the conclusion).
    Author:
    Matthias Thimm
    • Constructor Detail

      • DelpArgument

        public DelpArgument​(FolFormula conclusion)
        constructor; initializes the conclusion of this argument with the given literal
        Parameters:
        conclusion - a literal
      • DelpArgument

        public DelpArgument​(java.util.Set<DefeasibleRule> support,
                            FolFormula conclusion)
        constructor; initializes this argument with the given parameters
        Parameters:
        support - a set of defeasible rules
        conclusion - a literal (must not be NULL)
    • Method Detail

      • isSubargumentOf

        public boolean isSubargumentOf​(DelpArgument argument)
        Checks whether this argument is a subargument of the given argument
        Parameters:
        argument - a DeLP argument
        Returns:
        true iff this argument is a subargument of the given argument
      • isStrongSubargumentOf

        public boolean isStrongSubargumentOf​(DelpArgument argument)
        Checks whether this argument is a strong subargument of the given argument, i.e., if the support of this argument is a strict subset of the support of the given argument
        Parameters:
        argument - a DeLP argument
        Returns:
        true iff this argument is a strong subargument of the given argument
      • getAttackOpportunities

        public java.util.Set<FolFormula> getAttackOpportunities​(DefeasibleLogicProgram delp)
        Computes the set of literals that disagree with the conclusion of a subargument of this argument
        Parameters:
        delp - a defeasible logic program
        Returns:
        the set of literals that disagree with the conclusion of a subargument of this argument
      • getDisagreementSubargument

        public DelpArgument getDisagreementSubargument​(FolFormula lit,
                                                       DefeasibleLogicProgram delp)
        Computes the disagreement subargument of this argument for the given literal
        Parameters:
        lit - a literal
        delp - a defeasible logic program
        Returns:
        the disagreement subargument for lit or null if there is no disagreement subargument
      • getRulesWithHead

        public java.util.Set<DelpRule> getRulesWithHead​(FolFormula l)
        Returns all defeasible rules of the support of this argument with the given literal as head
        Parameters:
        l - a literal
        Returns:
        a set defeasible rules
      • getConclusion

        public FolFormula getConclusion()
        returns the conclusion of this argument
        Returns:
        the conclusion of this argument
      • getSupport

        public java.util.Set<DefeasibleRule> getSupport()
        returns the support of this argument
        Returns:
        the support of this argument
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object