It is impossible that Bernhard is green. We believe that Mary went to the office. Chances are slight that Brian is a lion. There is almost no chance that if either 'Mary went to the office' or 'Brian is a lion' but not both then Fred put down the apple. It is highly likely that if 'Brian is a lion and Mary went to the office' then John moved to the garden. There is little chance that if 'Bernhard is green and Mary went to the office' then Julius is a rhino.
It is almost certain that either 'Julius is a rhino' or 'Brian is a lion' but not both.
It is improbable that either 'Julius is a rhino' or 'Brian is a lion' but not both.
It is almost certain that either 'Julius is a rhino' or 'Brian is a lion' 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.0::factA.
  0.75::factB.
  0.1::factC.
  %hop1
  0.02::factX:-xor(factB,factC).
  0.9::factY:-and(factC,factB).
  0.1::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Julius is a rhino' or 'Brian is a lion' but not both.