We doubt that Julius is white. There is little chance that John dropped the apple. It is unlikely that Mary went to the bedroom. It is probably the case that if 'Julius is white and Mary went to the bedroom' then Sandra got the milk. There is a very good chance that if 'John dropped the apple' or 'Mary went to the bedroom' or both then Jessica is a mouse. It is impossible that if either 'John dropped the apple' or 'Mary went to the bedroom' but not both then Bernhard is white.
We believe that either 'Sandra got the milk' or 'Jessica is a mouse' but not both.
It is unlikely that either 'Sandra got the milk' or 'Jessica is a mouse' but not both.
We believe that either 'Sandra got the milk' or 'Jessica is a mouse' but not 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.2::factC.
  %hop1
  0.7::factX:-and(factA,factC).
  0.8::factY:-or(factB,factC).
  0.0::factZ:-xor(factB,factC).

  %hop2
  conclusion:-xor(factX,factY).

  query(conclusion).
  
Either 'Sandra got the milk' or 'Jessica is a mouse' but not both.