It is likely that John left the football. There is almost no chance that Lily is a rhino. It is probably not the case that Bernhard is white. It is probably the case that if either 'Bernhard is white' or 'John left the football' but not both then Julius is gray. It is likely that if either 'Bernhard is white' or 'John left the football' but not both then Greg is a lion. We believe that if 'Lily is a rhino and Bernhard is white' then Brian is gray.
We doubt that either 'John left the football' or 'Lily is a rhino' but not both.
It is probable that either 'John left the football' or 'Lily is a rhino' but not both.
We doubt that either 'John left the football' or 'Lily is a rhino' 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.7::factA.
  0.02::factB.
  0.25::factC.
  %hop1
  0.7::factX:-xor(factC,factA).
  0.7::factY:-xor(factC,factA).
  0.75::factZ:-and(factB,factC).

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

  query(conclusion).
  
Either 'John left the football' or 'Lily is a rhino' but not both.