It is highly likely that Lily is a swan. We believe that John put down the apple. There is a very good chance that Bill went to the bedroom. It is certain that if 'Bill went to the bedroom' or 'Lily is a swan' or both then Jason is thirsty. It is probably the case that if 'John put down the apple and Lily is a swan' then Sandra took the milk. Chances are slight that if 'John put down the apple' or 'Lily is a swan' or both then Julius is yellow.
We doubt that either 'Jason is thirsty' or 'Bill went to the bedroom' but not both.
We doubt that either 'Jason is thirsty' or 'Bill went to the bedroom' but not both.
It is probably the case that either 'Jason is thirsty' or 'Bill went to the bedroom' 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.9::factA.
  0.75::factB.
  0.8::factC.
  %hop1
  1.0::factX:-or(factC,factA).
  0.7::factY:-and(factB,factA).
  0.1::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Jason is thirsty' or 'Bill went to the bedroom' but not both.