There is little chance that Sandra left the football. It is highly unlikely that Jessica is a sheep. It is probably the case that Greg is a rhino. We believe that if 'Sandra left the football and Jessica is a sheep' then Bernhard is gray. It is probably not the case that if 'Greg is a rhino' or 'Sandra left the football' or both then John got the milk. It is impossible that if either 'Jessica is a sheep' or 'Greg is a rhino' but not both then Yann is hungry.
It is probably not the case that 'Sandra left the football' or 'John got the milk' or both.
It is probably not the case that 'Sandra left the football' or 'John got the milk' or both.
There is a very good chance that 'Sandra left the football' or 'John got the milk' 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.05::factB.
  0.7::factC.
  %hop1
  0.75::factX:-and(factA,factB).
  0.25::factY:-or(factC,factA).
  0.0::factZ:-xor(factB,factC).

  %hop2
  conclusion:-or(factA,factY).

  query(conclusion).
  
'Sandra left the football' or 'John got the milk' or both.