setProbability
Returns a new instance, otherwise equivalent to this one, tagged with value as its probability. value is clamped into the [0.0, 1.0] range before being stored (e.g. 1.5 is stored as 1.0, -1.0 as 0.0), so probability always reads back a valid probability — with the notable exception of Double.NaN, which normalizeProbability's min/max comparisons let through unchanged (used by :solve-problog's ProblogSolver to flag a solution whose probability could not be computed).
As with every it.unibo.tuprolog.utils.Taggable mutator, the receiver itself is left untouched; the new probability is only visible on the returned instance.