It is probably not the case that Winona is a wolf. It is probably not the case that Jason is thirsty. It is unlikely that Mary went to the hallway. It is probable that if 'Jason is thirsty and Winona is a wolf' then Lily is green. Chances are about even that if either 'Jason is thirsty' or 'Mary went to the hallway' but not both then Daniel left the milk. We doubt that if either 'Mary went to the hallway' or 'Winona is a wolf' but not both then Bernhard is a rhino.
It is probably the case that either 'Winona is a wolf' or 'Lily is green' but not both.
We doubt that either 'Winona is a wolf' or 'Lily is green' but not both.
It is probably the case that either 'Winona is a wolf' or 'Lily is green' 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.25::factA.
  0.25::factB.
  0.2::factC.
  %hop1
  0.7::factX:-and(factB,factA).
  0.5::factY:-xor(factB,factC).
  0.2::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'Winona is a wolf' or 'Lily is green' but not both.