Class PropositionalMapping

java.lang.Object
org.tweetyproject.arg.adf.reasoner.sat.encodings.PropositionalMapping

public final class PropositionalMapping extends Object
Contains the propositional representation of the arguments and links of some ADF.

This is especially needed if we want to interconnect different sat encodings, since they have to share the same propositional variables.

Since we are dealing with three valued interpretations, in order to represent an undecided argument we need two propositional variables for each argument. One represents satisfied, one unsatisfied and if both are false the argument should be interpreted as undecided. It should be prevented by the encoding that both are true.

Author:
Mathias Hofer
  • Constructor Details

    • PropositionalMapping

      public PropositionalMapping(AbstractDialecticalFramework adf)
      Creates propositional representations for the arguments and links of the provided ADF. It does not compute any links in the process.

      The propositional variables are eagerly computed and not changed anymore. Which makes this class usable in a parallel context.

      It does not store a reference to the provided ADF, therefore it can be reused even by different ADFs as long as they are a subset, in terms of arguments and links, of the provided one.

      Parameters:
      adf - the ADF for which we need a propositional representation
  • Method Details

    • getFalse

      public Literal getFalse(Argument argument)
      Parameters:
      argument - argument
      Returns:
      getFalse
    • getTrue

      public Literal getTrue(Argument argument)
      Parameters:
      argument - argument
      Returns:
      getTrue
    • getLink

      public Literal getLink(Argument from, Argument to)
      Parameters:
      from - from
      to - to
      Returns:
      getLink
    • getArgumentLiterals

      public Collection<Literal> getArgumentLiterals()
      Returns:
      getArgumentLiterals
    • getArguments

      public Set<Argument> getArguments()
      Returns:
      getArguments
    • getLink

      public Literal getLink(Link link)
      Parameters:
      link - link
      Returns:
      getLink