It is highly unlikely that Julius is green. It is unlikely that Sandra got the milk. It is certain that John moved to the office. It is certain that if 'John moved to the office' or 'Sandra got the milk' or both then Bernhard is a frog. It is almost certain that if either 'John moved to the office' or 'Julius is green' but not both then Lily is a lion. There is little chance that if 'John moved to the office and Sandra got the milk' then Greg is yellow.
It is probably not the case that either 'Sandra got the milk' or 'Julius is green' but not both.
It is probably not the case that either 'Sandra got the milk' or 'Julius is green' but not both.
It is likely that either 'Sandra got the milk' or 'Julius is green' 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.2::factB.
  1.0::factC.
  %hop1
  1.0::factX:-or(factC,factB).
  0.95::factY:-xor(factC,factA).
  0.1::factZ:-and(factC,factB).

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

  query(conclusion).
  
Either 'Sandra got the milk' or 'Julius is green' but not both.