There is little chance that Mary went to the hallway. It is unlikely that John dropped the milk. It is probable that Greg is white. We believe that if either 'Greg is white' or 'John dropped the milk' but not both then Lily is a rhino. Chances are slight that if 'John dropped the milk' or 'Mary went to the hallway' or both then Winona is a mouse. It is impossible that if 'Mary went to the hallway' or 'John dropped the milk' or both then Bernhard is yellow.
It is probably the case that either 'Winona is a mouse' or 'Greg is white' but not both.
It is probably the case that either 'Winona is a mouse' or 'Greg is white' but not both.
Chances are slight that either 'Winona is a mouse' or 'Greg is white' 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.1::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.75::factX:-xor(factC,factB).
  0.1::factY:-or(factB,factA).
  0.0::factZ:-or(factA,factB).

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

  query(conclusion).
  
Either 'Winona is a mouse' or 'Greg is white' but not both.