It is impossible that John got the football. It is probably not the case that Mary went to the office. It is highly likely that Brian is a swan. There is almost no chance that if 'Mary went to the office' or 'John got the football' or both then Julius is white. It is probably the case that if either 'John got the football' or 'Mary went to the office' but not both then Gertrude is a wolf. It is almost certain that if either 'Mary went to the office' or 'Brian is a swan' but not both then Greg is a frog.
It is certain that either 'John got the football' or 'Julius is white' but not both.
It is impossible that either 'John got the football' or 'Julius is white' but not both.
It is certain that either 'John got the football' or 'Julius is white' 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.0::factA.
  0.25::factB.
  0.9::factC.
  %hop1
  0.02::factX:-or(factB,factA).
  0.7::factY:-xor(factA,factB).
  0.95::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'John got the football' or 'Julius is white' but not both.