It is almost certain that John went to the bedroom. There is a very good chance that Julius is white. Chances are slight that Daniel left the football. Chances are slight that if 'John went to the bedroom' or 'Daniel left the football' or both then Gertrude is a sheep. Chances are slight that if 'John went to the bedroom' or 'Julius is white' or both then Sandra took the milk. It is certain that if 'Daniel left the football' or 'Julius is white' or both then Brian is a frog.
There is almost no chance that either 'Julius is white' or 'Brian is a frog' but not both.
There is almost no chance that either 'Julius is white' or 'Brian is a frog' but not both.
There is a very good chance that either 'Julius is white' or 'Brian is a frog' 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.8::factB.
  0.1::factC.
  %hop1
  0.1::factX:-or(factA,factC).
  0.1::factY:-or(factA,factB).
  1.0::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Julius is white' or 'Brian is a frog' but not both.