It is almost certain that John took the football. We doubt that Mary is in the bathroom. It is highly likely that Lily is a swan. It is likely that if 'John took the football' or 'Lily is a swan' or both then Julius is a lion. It is certain that if either 'Lily is a swan' or 'John took the football' but not both then Fred discarded the apple. There is almost no chance that if 'John took the football and Mary is in the bathroom' then Greg is yellow.
It is probably not the case that either 'Julius is a lion' or 'John took the football' but not both.
It is probably not the case that either 'Julius is a lion' or 'John took the football' but not both.
It is almost certain that either 'Julius is a lion' or 'John took the football' 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.95::factA.
  0.2::factB.
  0.9::factC.
  %hop1
  0.7::factX:-or(factA,factC).
  1.0::factY:-xor(factC,factA).
  0.02::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Julius is a lion' or 'John took the football' but not both.