It is unlikely that Gertrude is a sheep. It is highly likely that John went to the garden. Chances are slight that Julius is gray. It is probable that if 'Julius is gray' or 'John went to the garden' or both then Jessica is a sheep. It is probably the case that if 'Gertrude is a sheep' or 'Julius is gray' or both then Greg is a lion. It is highly unlikely that if 'Julius is gray and Gertrude is a sheep' then Mary picked up the apple.
There is little chance that either 'Gertrude is a sheep' or 'Jessica is a sheep' but not both.
There is a better than even chance that either 'Gertrude is a sheep' or 'Jessica is a sheep' but not both.
There is little chance that either 'Gertrude is a sheep' or 'Jessica 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.2::factA.
  0.9::factB.
  0.1::factC.
  %hop1
  0.7::factX:-or(factC,factB).
  0.7::factY:-or(factA,factC).
  0.05::factZ:-and(factC,factA).

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

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