Chances are about even that Mary moved to the office. It is highly unlikely that Brian is yellow. We believe that Greg is gray. There is almost no chance that if 'Mary moved to the office' or 'Greg is gray' or both then Gertrude is a cat. It is improbable that if 'Brian is yellow' or 'Greg is gray' or both then Bill left the milk. There is almost no chance that if 'Brian is yellow' or 'Greg is gray' or both then Emily is a sheep.
There is a very good chance that either 'Gertrude is a cat' or 'Emily is a sheep' but not both.
There is almost no chance that either 'Gertrude is a cat' or 'Emily is a sheep' but not both.
There is a very good chance that either 'Gertrude is a cat' or 'Emily is a sheep' 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.5::factA.
  0.05::factB.
  0.75::factC.
  %hop1
  0.02::factX:-or(factA,factC).
  0.1::factY:-or(factB,factC).
  0.02::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Gertrude is a cat' or 'Emily is a sheep' but not both.