It is highly unlikely that Mary left the milk. It is highly unlikely that John went to the garden. There is a better than even chance that Lily is a frog. It is improbable that if either 'Mary left the milk' or 'Lily is a frog' but not both then Greg is gray. It is likely that if 'Lily is a frog' or 'Mary left the milk' or both then Fred moved to the office. We doubt that if 'John went to the garden and Lily is a frog' then Julius is yellow.
It is likely that either 'Mary left the milk' or 'Julius is yellow' but not both.
It is highly unlikely that either 'Mary left the milk' or 'Julius is yellow' but not both.
It is likely that either 'Mary left the milk' or 'Julius is yellow' 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.05::factA.
  0.05::factB.
  0.6::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.7::factY:-or(factC,factA).
  0.2::factZ:-and(factB,factC).

  %hop2
  conclusion:-xor(factA,factZ).

  query(conclusion).
  
Either 'Mary left the milk' or 'Julius is yellow' but not both.