# Class RelationalProbabilisticConditional

All Implemented Interfaces:
`Formula`, `Rule<FolFormula,FolFormula>`, `ClassicalFormula`, `ComplexLogicalFormula`, `Conjunctable`, `Disjunctable`, `Invertable`, `LogicStructure`, `ProbabilityAware`, `QuantifiedFormula`, `SimpleLogicalFormula`

public class RelationalProbabilisticConditional extends RelationalConditional
This class represents a relational probabilistic conditional, i.e. a structure (B|A)[p] with first-order formulas A and B and a probability p.

Premise and conclusion of this conditional must confirm to a fol language without quantifiers and without functions (@see org.tweetyproject.logics.firstorderlogic.lang.FolLanguageNoQuantifiersNoFunctions)
Author:
Matthias Thimm
• ## Constructor Summary

Constructors
Constructor
Description
```RelationalProbabilisticConditional(FolFormula premise, FolFormula conclusion, Probability probability)```
Creates a new conditional with the given premise, conclusion and probability.
```RelationalProbabilisticConditional(FolFormula conclusion, Probability probability)```
Creates a new conditional with the given conclusion and probability and a tautological premise.
```RelationalProbabilisticConditional(RelationalConditional conditional, Probability probability)```
Creates a new relational probabilistic conditional with the given conditional and probability
• ## Method Summary

Modifier and Type
Method
Description
`RelationalProbabilisticConditional`
`complement()`

`boolean`
`equals(Object obj)`

`Probability`
`getProbability()`
Returns the probability of this conditional.
`int`
`hashCode()`

`RelationalFormula`
```substitute(Term<?> v, Term<?> t)```
Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.
`String`
`toString()`

### Methods inherited from class org.tweetyproject.logics.rcl.syntax.RelationalConditional

`addPremise, addPremises, clone, combineWithAnd, combineWithOr, containsQuantifier, getAtoms, getConclusion, getFunctors, getPredicates, getPremise, getQuantifierVariables, getSignature, getTerms, getTerms, getUnboundVariables, getUniformProbability, isClosed, isClosed, isConstraint, isFact, isLiteral, isWellBound, isWellBound, setConclusion`

### Methods inherited from class org.tweetyproject.logics.commons.syntax.RelationalFormula

`allGroundInstances, allSubstitutions, containsTermsOfType, exchange, getFormula, getPredicateCls, getSatisfactionRatio, isGround, isWellFormed, substitute`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`
• ## Constructor Details

• ### RelationalProbabilisticConditional

public RelationalProbabilisticConditional(FolFormula premise, FolFormula conclusion, Probability probability)
Creates a new conditional with the given premise, conclusion and probability.
Parameters:
`premise` - a fol formula.
`conclusion` - a fol formula.
`probability` - a probability.
• ### RelationalProbabilisticConditional

public RelationalProbabilisticConditional(FolFormula conclusion, Probability probability)
Creates a new conditional with the given conclusion and probability and a tautological premise.
Parameters:
`conclusion` - a fol formula.
`probability` - a probability.
• ### RelationalProbabilisticConditional

public RelationalProbabilisticConditional(RelationalConditional conditional, Probability probability)
Creates a new relational probabilistic conditional with the given conditional and probability
Parameters:
`conditional` - a relational conditional.
`probability` - a probability.
• ## Method Details

• ### getProbability

public Probability getProbability()
Returns the probability of this conditional.
Returns:
the probability of this conditional.
• ### substitute

public RelationalFormula substitute(Term<?> v, Term<?> t) throws IllegalArgumentException
Description copied from class: `RelationalFormula`
Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula. NOTE: if "v" is a variable and bound to a quantifier then "v" is not substituted in that quantifiers inner formula.
Specified by:
`substitute` in interface `ComplexLogicalFormula`
Overrides:
`substitute` in class `RelationalConditional`
Parameters:
`v` - the term to be substituted.
`t` - the term to substitute.
Returns:
a formula where every occurrence of "v" is replaced by "t".
Throws:
`IllegalArgumentException` - if "v" and "t" are of different sorts (NOTE: this exception is only thrown when "v" actually appears in this formula).
• ### toString

public String toString()
Overrides:
`toString` in class `RelationalConditional`
• ### complement

Specified by:
`complement` in interface `Invertable`
Overrides:
`complement` in class `RelationalConditional`
Returns:
the complement of this formula.
• ### hashCode

public int hashCode()
Specified by:
`hashCode` in interface `SimpleLogicalFormula`
Overrides:
`hashCode` in class `RelationalConditional`
• ### equals

public boolean equals(Object obj)
Specified by:
`equals` in interface `SimpleLogicalFormula`
Overrides:
`equals` in class `RelationalConditional`