It is unlikely that Bill moved to the office. There is little chance that Daniel dropped the milk. It is highly likely that Yann is hungry. It is impossible that if either 'Daniel dropped the milk' or 'Bill moved to the office' but not both then Mary went to the garden. It is unlikely that if either 'Yann is hungry' or 'Bill moved to the office' but not both then Julius is a rhino. It is certain that if either 'Bill moved to the office' or 'Yann is hungry' but not both then John got the apple.
There is little chance that 'Daniel dropped the milk' or 'Mary went to the garden' or both.
There is little chance that 'Daniel dropped the milk' or 'Mary went to the garden' or both.
It is certain that 'Daniel dropped the milk' or 'Mary went to the garden' 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.2::factA.
  0.1::factB.
  0.9::factC.
  %hop1
  0.0::factX:-xor(factB,factA).
  0.2::factY:-xor(factC,factA).
  1.0::factZ:-xor(factA,factC).

  %hop2
  conclusion:-or(factB,factX).

  query(conclusion).
  
'Daniel dropped the milk' or 'Mary went to the garden' or both.