It is likely that Brian is yellow. Chances are slight that Mary went to the kitchen. We doubt that Lily is green. Chances are slight that if either 'Mary went to the kitchen' or 'Brian is yellow' but not both then John discarded the milk. It is certain that if 'Brian is yellow' or 'Mary went to the kitchen' or both then Greg is a lion. It is improbable that if either 'Brian is yellow' or 'Mary went to the kitchen' but not both then Sumit is thirsty.
It is probable that either 'John discarded the milk' or 'Mary went to the kitchen' but not both.
We doubt that either 'John discarded the milk' or 'Mary went to the kitchen' but not both.
It is probable that either 'John discarded the milk' or 'Mary went to the kitchen' 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.7::factA.
  0.1::factB.
  0.2::factC.
  %hop1
  0.1::factX:-xor(factB,factA).
  1.0::factY:-or(factA,factB).
  0.1::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'John discarded the milk' or 'Mary went to the kitchen' but not both.