Class NLPProgram

    • Constructor Summary

      Constructors 
      Constructor Description
      NLPProgram()  
    • Method Summary

      Modifier and Type Method Description
      void addFact​(FolFormula fact)
      Adds the given fact to the program
      void addFacts​(FolFormula... facts)
      Adds the given facts to the program
      NLPProgram exchange​(Term<?> v, Term<?> t)
      Substitutes all occurrences of term "v" in this formula by term "t" and at the same time replaces all occurrences of term "t" by term "v" and eventually returns the new formula.
      java.util.Set<FolFormula> getFacts()  
      FolSignature getMinimalSignature()
      Returns the signature of the language of this knowledge base.
      NLPProgram substitute​(java.util.Map<? extends Term<?>,​? extends Term<?>> map)
      Substitutes all occurrences of all terms "v" in map.keyset() in this formula by map.get(v) and returns the new formula.
      NLPProgram substitute​(Term<?> t, Term<?> v)
      Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.
      • Methods inherited from class java.util.HashSet

        add, clear, clone, contains, isEmpty, iterator, remove, size, spliterator
      • Methods inherited from class java.util.AbstractSet

        equals, hashCode, removeAll
      • Methods inherited from class java.util.AbstractCollection

        addAll, containsAll, retainAll, toArray, toArray, toString
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.Set

        addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray
    • Constructor Detail

      • NLPProgram

        public NLPProgram()
    • Method Detail

      • getFacts

        public java.util.Set<FolFormula> getFacts()
        Returns:
        A set of facts as FOL formulas
      • substitute

        public NLPProgram substitute​(Term<?> t,
                                     Term<?> v)
        Description copied from interface: LogicProgram
        Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.
        Specified by:
        substitute in interface LogicProgram<FolFormula,​FolFormula,​NLPRule>
        Parameters:
        t - the term to be substituted.
        v - the term to substitute.
        Returns:
        a formula where every occurrence of "v" is replaced by "t".
      • substitute

        public NLPProgram substitute​(java.util.Map<? extends Term<?>,​? extends Term<?>> map)
                              throws java.lang.IllegalArgumentException
        Description copied from interface: LogicProgram
        Substitutes all occurrences of all terms "v" in map.keyset() in this formula by map.get(v) and returns the new formula.
        Specified by:
        substitute in interface LogicProgram<FolFormula,​FolFormula,​NLPRule>
        Parameters:
        map - a mapping defining which terms to be substituted.
        Returns:
        a formula where every term in map.keyset() has been replaced by map.get(v).
        Throws:
        java.lang.IllegalArgumentException - if any term and its mapping are of different sorts
      • exchange

        public NLPProgram exchange​(Term<?> v,
                                   Term<?> t)
                            throws java.lang.IllegalArgumentException
        Description copied from interface: LogicProgram
        Substitutes all occurrences of term "v" in this formula by term "t" and at the same time replaces all occurrences of term "t" by term "v" and eventually returns the new formula.
        Specified by:
        exchange in interface LogicProgram<FolFormula,​FolFormula,​NLPRule>
        Parameters:
        v - a term.
        t - a term.
        Returns:
        a new logical formula with both "v" and "t" exchanged.
        Throws:
        java.lang.IllegalArgumentException - if "v" and "t" are of different sorts