Class MlHerbrandInterpretation

  • All Implemented Interfaces:
    Iterable<net.sf.tweety.logics.fol.syntax.FolAtom>, Collection<net.sf.tweety.logics.fol.syntax.FolAtom>, net.sf.tweety.commons.Interpretation<net.sf.tweety.logics.fol.syntax.FolBeliefSet,​net.sf.tweety.logics.fol.syntax.FolFormula>

    public class MlHerbrandInterpretation
    extends net.sf.tweety.commons.InterpretationSet<net.sf.tweety.logics.fol.syntax.FolAtom,​net.sf.tweety.logics.fol.syntax.FolBeliefSet,​net.sf.tweety.logics.fol.syntax.FolFormula>
    Modified version of HerbrandInterpretation that allows for modal formulas. A Herbrand interpretation is an interpretation for a first-order signature, stating all ground atoms that are true in the interpretation.
    NOTE: We only allow Herbrand interpretations for signatures without function symbols.
    Author:
    Matthias Thimm, Anna Gessler
    See Also:
    HerbrandInterpretation
    • Constructor Summary

      Constructors 
      Constructor Description
      MlHerbrandInterpretation()
      Creates a new empty Herbrand interpretation
      MlHerbrandInterpretation​(Collection<? extends net.sf.tweety.logics.fol.syntax.FolAtom> atoms)
      Creates a new Herbrand interpretation with the given set of atoms
    • Method Summary

      Modifier and Type Method Description
      MlHerbrandInterpretation exchange​(Map<net.sf.tweety.logics.commons.syntax.interfaces.Term<?>,​net.sf.tweety.logics.commons.syntax.interfaces.Term<?>> mapping)
      For every mapping t1 -> t2, this method substitutes every occurrence of "t1" by "t2" and vice versa and returns the new interpretation
      MlHerbrandInterpretation exchange​(net.sf.tweety.logics.commons.syntax.interfaces.Term<?> t1, net.sf.tweety.logics.commons.syntax.interfaces.Term<?> t2)
      Substitutes every occurrence of "t1" by "t2" and vice versa and returns the new interpretation.
      boolean isSyntacticallyEquivalent​(MlHerbrandInterpretation other, Collection<? extends Collection<? extends net.sf.tweety.logics.commons.syntax.Constant>> equivalenceClasses)
      Checks whether this interpretation is syntactically equivalent to the given interpretation and the given equivalence classes, i.e.
      boolean satisfies​(Set<net.sf.tweety.logics.fol.syntax.FolFormula> formulas)
      Checks whether this Herbrand interpretation satisfies each of the formulas in the given set of first-order formulas.
      boolean satisfies​(net.sf.tweety.commons.Formula formula, Set<net.sf.tweety.commons.Interpretation<net.sf.tweety.logics.fol.syntax.FolBeliefSet,​net.sf.tweety.logics.fol.syntax.FolFormula>> successors)
      Checks whether this Herbrand interpretation satisfies the given formula.
      boolean satisfies​(net.sf.tweety.logics.fol.syntax.FolBeliefSet beliefBase)  
      boolean satisfies​(net.sf.tweety.logics.fol.syntax.FolFormula formula)  
      String toString()  
      • Methods inherited from class net.sf.tweety.commons.InterpretationSet

        add, add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
      • Methods inherited from class net.sf.tweety.commons.AbstractInterpretation

        satisfies
    • Constructor Detail

      • MlHerbrandInterpretation

        public MlHerbrandInterpretation()
        Creates a new empty Herbrand interpretation
      • MlHerbrandInterpretation

        public MlHerbrandInterpretation​(Collection<? extends net.sf.tweety.logics.fol.syntax.FolAtom> atoms)
        Creates a new Herbrand interpretation with the given set of atoms
        Parameters:
        atoms - the set of true atoms in this Herbrand interpretation.
    • Method Detail

      • satisfies

        public boolean satisfies​(net.sf.tweety.commons.Formula formula,
                                 Set<net.sf.tweety.commons.Interpretation<net.sf.tweety.logics.fol.syntax.FolBeliefSet,​net.sf.tweety.logics.fol.syntax.FolFormula>> successors)
                          throws IllegalArgumentException
        Checks whether this Herbrand interpretation satisfies the given formula.
        Parameters:
        formula - a formula.
        successors - the successors
        Returns:
        "true" if this interpretation satisfies "f".
        Throws:
        IllegalArgumentException - if "f" is not closed.
      • isSyntacticallyEquivalent

        public boolean isSyntacticallyEquivalent​(MlHerbrandInterpretation other,
                                                 Collection<? extends Collection<? extends net.sf.tweety.logics.commons.syntax.Constant>> equivalenceClasses)
        Checks whether this interpretation is syntactically equivalent to the given interpretation and the given equivalence classes, i.e. whether this interpretation can be translated to the other one by substituting constants from the same equivalence classes
        Parameters:
        other - a Herbrand interpretation.
        equivalenceClasses - a set of sets of constants.
        Returns:
        "true" iff the two interpretations are syntactically equivalent.
      • satisfies

        public boolean satisfies​(Set<net.sf.tweety.logics.fol.syntax.FolFormula> formulas)
                          throws IllegalArgumentException
        Checks whether this Herbrand interpretation satisfies each of the formulas in the given set of first-order formulas.
        Parameters:
        formulas - a set of first-order formulas.
        Returns:
        "true" if this interpretation satisfies the given set of formulas.
        Throws:
        IllegalArgumentException - if at least one formula does not correspond to the expected language.
      • exchange

        public MlHerbrandInterpretation exchange​(net.sf.tweety.logics.commons.syntax.interfaces.Term<?> t1,
                                                 net.sf.tweety.logics.commons.syntax.interfaces.Term<?> t2)
        Substitutes every occurrence of "t1" by "t2" and vice versa and returns the new interpretation.
        Parameters:
        t1 - a term.
        t2 - a term.
        Returns:
        a Herbrand interpretation
      • exchange

        public MlHerbrandInterpretation exchange​(Map<net.sf.tweety.logics.commons.syntax.interfaces.Term<?>,​net.sf.tweety.logics.commons.syntax.interfaces.Term<?>> mapping)
        For every mapping t1 -> t2, this method substitutes every occurrence of "t1" by "t2" and vice versa and returns the new interpretation
        Parameters:
        mapping - a mapping of terms.
        Returns:
        a Herbrand interpretation.
      • toString

        public String toString()
        Overrides:
        toString in class net.sf.tweety.commons.InterpretationSet<net.sf.tweety.logics.fol.syntax.FolAtom,​net.sf.tweety.logics.fol.syntax.FolBeliefSet,​net.sf.tweety.logics.fol.syntax.FolFormula>