ProblogLib

The Library contributing ProbLog's probabilistic logic programming vocabulary on top of plain Prolog: the :: annotation Operator (see PROBLOG_SPECIFIC_OPERATORS) plus the internal primitives and rules (prob_*/prob/2) that rewrite an annotated theory into a Prolog-compliant one carrying "explanation" terms, and that drive probabilistic query resolution over them (see it.unibo.tuprolog.solve.problog.ProblogSolver).

This is registered under the Library.alias "problog.lang". Client code normally does not load this library directly: it.unibo.tuprolog.solve.problog.ProblogSolverFactory takes care of loading either DefaultBuiltins or MinimalBuiltins (depending on whether classic Prolog builtins are already present) when building a solver.

Author

Jason Dellaluce

Properties

Link copied to clipboard

Adds ANNOTATION_OPERATOR (the :: probability-annotation operator) on top of the operators already known to the Library this is mixed into.

Link copied to clipboard
open override val alias: String
Link copied to clipboard
override val clauses: List<Clause>
Link copied to clipboard

Functor of the evidence/1/evidence/2 predicate, used in a ProbLog theory to assert facts known for certain (e.g. evidence(alarm, true).), which condition the probability computed for other queries.

Link copied to clipboard

Name used for the internal variable holding a goal's probabilistic "explanation" term while a clause or query is being rewritten (see it.unibo.tuprolog.solve.problog.lib.knowledge.ProbExplanation).

Link copied to clipboard
open override val functions: Map<Signature, LogicFunction>
Link copied to clipboard
open override val operators: OperatorSet
Link copied to clipboard

Common prefix shared by all the internal prob_* primitives and by the prob/2 rule contributed by this library, kept here to avoid repeating the literal across declarations.

Link copied to clipboard
open override val primitives: Map<Signature, Primitive>
Link copied to clipboard

Functions

Link copied to clipboard
open operator fun contains(operator: Operator): Boolean
open operator fun contains(signature: Signature): Boolean
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open fun hasFunction(signature: Signature): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open fun hasPrimitive(signature: Signature): Boolean
Link copied to clipboard
open fun hasProtected(signature: Signature): Boolean
Link copied to clipboard
open override fun hasRule(signature: Signature): Boolean
Link copied to clipboard
open override fun toString(): String