Object

sbt.internal.util.logic

Logic

Related Doc: package logic

Permalink

object Logic

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Logic
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. final case class Atoms(inHead: Set[Atom], inFormula: Set[Atom]) extends Product with Serializable

    Permalink

    Represents the set of atoms in the heads of clauses and in the bodies (formulas) of clauses.

  2. final class CyclicNegation extends LogicException

    Permalink
  3. final class InitialContradictions extends LogicException

    Permalink
  4. final class InitialOverlap extends LogicException

    Permalink
  5. sealed abstract class LogicException extends AnyRef

    Permalink
  6. final class Matched extends AnyRef

    Permalink

    Tracks proven atoms in the reverse order they were proved.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object Matched

    Permalink
  5. def applyAll(c: Clause, facts: Set[Literal]): Option[Clause]

    Permalink
  6. def applyAll(cs: Clauses, facts: Set[Literal]): Option[Clauses]

    Permalink

    Applies known facts to clauses, deriving a new, possibly empty list of clauses.

    Applies known facts to clauses, deriving a new, possibly empty list of clauses. 1. If a fact is in the body of a clause, the derived clause has that fact removed from the body. 2. If the negation of a fact is in a body of a clause, that clause fails and is removed. 3. If a fact or its negation is in the head of a clause, the derived clause has that fact (or its negation) removed from the head. 4. If a head is empty, the clause proves nothing and is removed.

    NOTE: empty bodies do not cause a clause to succeed yet. All known facts must be applied before this can be done in order to avoid inconsistencies. Precondition: no contradictions in facts Postcondition: no atom in facts is present in the result Postcondition: No clauses have an empty head

  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def atoms(formula: Formula): Set[Atom]

    Permalink

    Computes the set of all atoms in formula.

  9. def atoms(cs: Clauses): Atoms

    Permalink

    Computes the atoms in the heads and bodies of the clauses in clause.

  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hasNegatedDependency(clauses: Seq[Clause], posDeps: Relation[Atom, Atom], negDeps: Relation[Atom, Atom]): List[Atom]

    Permalink

    Computes the set of atoms in clauses that directly or transitively take a negated atom as input.

    Computes the set of atoms in clauses that directly or transitively take a negated atom as input. For example, for the following clauses, this method would return List(a, d) : a :- b, not c d :- a

    Annotations
    @tailrec()
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. def reduce(clauses: Clauses, initialFacts: Set[Literal]): Either[LogicException, Matched]

    Permalink

    Computes the variables in the unique stable model for the program represented by clauses and initialFacts.

    Computes the variables in the unique stable model for the program represented by clauses and initialFacts. clause may not have any negative feedback (that is, negation is acyclic) and initialFacts cannot be in the head of any clauses in clause. These restrictions ensure that the logic program has a unique minimal model.

  22. def reduceAll(clauses: List[Clause], initialFacts: Set[Literal]): Either[LogicException, Matched]

    Permalink
  23. def substitute(formula: Formula, facts: Set[Literal]): Option[Formula]

    Permalink

    Derives the formula that results from substituting facts into formula.

    Derives the formula that results from substituting facts into formula.

    Annotations
    @tailrec()
  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  25. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped