Class FOLPropTranslator


  • public class FOLPropTranslator
    extends Translator
    A Translator between the FOL and propositonal logic and vice versa.
    Author:
    Tim Janus
    • Constructor Detail

      • FOLPropTranslator

        public FOLPropTranslator()
        Default-Ctor
    • Method Detail

      • toPropositional

        public Proposition toPropositional​(FolAtom atom)
        Translates the given FOL-Atom into a Proposition
        Parameters:
        atom - FOL-Atom, if the given Atom has arguments an exception is thrown.
        Returns:
        Propositional form of the given Atom
      • toFOL

        public FolAtom toFOL​(Proposition proposition)
        Translates the given proposition into a FOL-Atom
        Parameters:
        proposition - The Proposition
        Returns:
        A FOL-Atom representing the given Proposition in first order logic.
      • toFOL

        public Disjunction toFOL​(Disjunction disjunction)
        Translates the given propositional Disjunction to a FOL Disjunction
        Parameters:
        disjunction - a PL disjunction
        Returns:
        The FOL Disjunction
      • toPropositional

        public Disjunction toPropositional​(Disjunction disjunction)
        Translates the given FOL Disjunction to a propositional Disjunction
        Parameters:
        disjunction - The FOL-Disjunction, if it contains formulas which are not expressible in propositional logic an exception is thrown.
        Returns:
        The propositional Disjunction
      • toFOL

        public Conjunction toFOL​(Conjunction conjunction)
        Translates the given propositional Conjunction to a FOL Conjunction
        Parameters:
        conjunction - a PL conjunction
        Returns:
        The FOL Conjunction
      • toPropositional

        public Conjunction toPropositional​(Conjunction conjunction)
        Translates the given FOL Conjunction to a propositional Conjunction
        Parameters:
        conjunction - The FOL-Conjunction, if it contains formulas which are not expressible in propositional logic an exception is thrown.
        Returns:
        The propositional Conjunction
      • createTranslateMap

        protected java.util.Map<java.lang.Class<?>,​Pair<java.lang.Integer,​java.lang.Class<?>>> createTranslateMap()
        Specified by:
        createTranslateMap in class Translator