We doubt that Julius is white. It is almost certain that Mary got the football. It is improbable that Lily is a lion. It is likely that if 'Mary got the football and Julius is white' then John discarded the apple. It is almost certain that if 'Julius is white and Mary got the football' then Bernhard is gray. There is little chance that if 'Mary got the football' or 'Lily is a lion' or both then Brian is yellow.
It is highly unlikely that either 'Brian is yellow' or 'Mary got the football' but not both.
It is highly likely that either 'Brian is yellow' or 'Mary got the football' but not both.
It is highly unlikely that either 'Brian is yellow' or 'Mary got 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.2::factA.
  0.95::factB.
  0.1::factC.
  %hop1
  0.7::factX:-and(factB,factA).
  0.95::factY:-and(factA,factB).
  0.1::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Brian is yellow' or 'Mary got the football' but not both.