Class Program

    • Constructor Detail

      • Program

        public Program()
        Creates a new empty program.
      • Program

        public Program​(Collection<ASPRule> rules)
        Creates a new program with the given rules.
        Parameters:
        rules - a set of rules
      • Program

        public Program​(ASPLiteral query,
                       Set<ASPRule> rules)
        Creates a new program with the given query and rules.
        Parameters:
        query - a query
        rules - a set of rules
      • Program

        public Program​(Program other)
        Copy-Constructor
        Parameters:
        other - another program
    • Method Detail

      • setQuery

        public void setQuery​(ASPLiteral query)
        Sets the query of the program.
        Parameters:
        query - a literal
      • addFact

        public void addFact​(ASPHead fact)
        Specified by:
        addFact in interface net.sf.tweety.logics.commons.syntax.interfaces.LogicProgram<ASPHead,​ASPBodyElement,​ASPRule>
      • addFacts

        public void addFacts​(ASPHead... fact)
        Specified by:
        addFacts in interface net.sf.tweety.logics.commons.syntax.interfaces.LogicProgram<ASPHead,​ASPBodyElement,​ASPRule>
      • getMinimalSignature

        public net.sf.tweety.logics.fol.syntax.FolSignature getMinimalSignature()
        Specified by:
        getMinimalSignature in interface net.sf.tweety.commons.BeliefBase
        Specified by:
        getMinimalSignature in interface net.sf.tweety.logics.commons.syntax.interfaces.LogicProgram<ASPHead,​ASPBodyElement,​ASPRule>
      • isGround

        public boolean isGround()
      • setOutputWhitelist

        public void setOutputWhitelist​(Collection<net.sf.tweety.logics.commons.syntax.Predicate> ps)
        Sets the whitelist of predicates. Solvers that use this option will only show atoms over predicates in this set in their output.
        Parameters:
        ps - set of predicates
      • getOutputWhitelist

        public Set<net.sf.tweety.logics.commons.syntax.Predicate> getOutputWhitelist()
        Returns the whitelist of predicates. Solvers that use this option will only show atoms over predicates in this set in their output.
        Returns:
        set of whitelisted predicates
      • hasQuery

        public boolean hasQuery()
        Returns true if the program contains a query.
        Returns:
        true if the program has a query, false otherwise
      • getQuery

        public ASPLiteral getQuery()
        Returns the query of the program, if there is one.
        Returns:
        a literal, or null if the program has no query
      • reduct

        public Program reduct​(Set<ASPLiteral> state)
        Returns the reduct of this program wrt. the given state, i.e. a program that contains no default negation and only those rules of this program (without all default-negated literals in the body) that do not have a default-negated version of a literal in their body.
        Parameters:
        state - some set of literals
        Returns:
        the reduct of this program
      • defaultification

        public static Program defaultification​(Program p)
        Creates the defaultification p_d of a given program p. A defaultificated program p' of p adds for every Rule r in p a modified rule r_d of the form: 'H(r) :- B(r), not -H(r).' to the program p'.
        Parameters:
        p - The program which is not defaultificated yet
        Returns:
        a program p' which is the defaultificated version of p.
      • addFact

        public void addFact​(ASPLiteral fact)
      • isExtendedProgram

        public boolean isExtendedProgram()
        Checks if the program is an extended program, meaning the heads of the literals do not have more than one literal.
        Returns:
        True if the program is an extended program, false otherwise.
      • add

        public void add​(Program other)
        Adds another program's content to the content of this program.
        Parameters:
        other - Reference to the other program.
      • isSafe

        public boolean isSafe()
        Returns true if the program is safe, i.e. if all of its rules and its query are safe.
        Returns:
        true if the program is safe, false otherwise