It is unlikely that Winona is a mouse. It is probable that John left the football. It is highly unlikely that Mary went to the hallway. It is probably the case that if 'John left the football' or 'Mary went to the hallway' or both then Fred is in the office. Chances are about even that if 'Winona is a mouse' or 'Mary went to the hallway' or both then Julius is gray. It is highly likely that if 'Winona is a mouse' or 'Mary went to the hallway' or both then Lily is green.
It is probable that either 'Lily is green' or 'Winona is a mouse' but not both.
It is highly unlikely that either 'Lily is green' or 'Winona is a mouse' but not both.
It is probable that either 'Lily is green' or 'Winona is a mouse' 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.7::factB.
  0.05::factC.
  %hop1
  0.7::factX:-or(factB,factC).
  0.5::factY:-or(factA,factC).
  0.9::factZ:-or(factA,factC).

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

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