It is highly likely that Daniel dropped the apple. We doubt that Lily is a rhino. It is likely that Fred went to the office. It is almost certain that if 'Fred went to the office' or 'Daniel dropped the apple' or both then Greg is white. It is improbable that if 'Fred went to the office and Lily is a rhino' then Bernhard is a swan. It is probably not the case that if 'Lily is a rhino and Fred went to the office' then Julius is gray.
There is little chance that either 'Greg is white' or 'Lily is a rhino' but not both.
We believe that either 'Greg is white' or 'Lily is a rhino' but not both.
There is little chance that either 'Greg is white' or 'Lily is a rhino' 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.9::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.95::factX:-or(factC,factA).
  0.1::factY:-and(factC,factB).
  0.25::factZ:-and(factB,factC).

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

  query(conclusion).
  
Either 'Greg is white' or 'Lily is a rhino' but not both.