It is almost certain that Brian is yellow. It is impossible that Mary went to the office. We believe that Daniel got the apple. It is improbable that if either 'Brian is yellow' or 'Daniel got the apple' but not both then Lily is a lion. It is probable that if 'Mary went to the office' or 'Brian is yellow' or both then John put down the milk. It is highly likely that if 'Mary went to the office and Brian is yellow' then Bernhard is green.
There is little chance that either 'Lily is a lion' or 'Brian is yellow' but not both.
It is almost certain that either 'Lily is a lion' or 'Brian is yellow' but not both.
There is little chance that either 'Lily is a lion' or 'Brian 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.95::factA.
  0.0::factB.
  0.75::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.7::factY:-or(factB,factA).
  0.9::factZ:-and(factB,factA).

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

  query(conclusion).
  
Either 'Lily is a lion' or 'Brian is yellow' but not both.