Chances are slight that Sandra took the football. We believe that Mary put down the milk. It is probably not the case that Bernhard is gray. We believe that if either 'Bernhard is gray' or 'Mary put down the milk' but not both then Greg is a swan. There is little chance that if 'Bernhard is gray and Sandra took the football' then Fred discarded the apple. There is little chance that if 'Mary put down the milk' or 'Sandra took the football' or both then Lily is a rhino.
It is certain that 'Lily is a rhino' or 'Bernhard is gray' or both.
It is probably not the case that 'Lily is a rhino' or 'Bernhard is gray' or both.
It is certain that 'Lily is a rhino' or 'Bernhard is gray' or both.

  and(A,B) :- A,B.
  or(A,B) :- A;B.
  nand(A,B) :- not(and(A,B)).
  nor(A,B) :- not(or(A,B)).
  xor(A,B) :- or(A,B), nand(A,B).

  %hop0
  0.1::factA.
  0.75::factB.
  0.25::factC.
  %hop1
  0.75::factX:-xor(factC,factB).
  0.1::factY:-and(factC,factA).
  0.1::factZ:-or(factB,factA).

  %hop2
  conclusion:-or(factZ,factC).

  query(conclusion).
  
'Lily is a rhino' or 'Bernhard is gray' or both.