It is certain that Daniel took the milk. We believe that Mary got the football. It is improbable that Lily is green. It is unlikely that if either 'Lily is green' or 'Mary got the football' but not both then Julius is a rhino. It is almost certain that if 'Mary got the football and Lily is green' then Jessica is a sheep. There is little chance that if 'Daniel took the milk' or 'Lily is green' or both then Bernhard is green.
It is highly likely that either 'Jessica is a sheep' or 'Bernhard is green' but not both.
We doubt that either 'Jessica is a sheep' or 'Bernhard is green' but not both.
It is highly likely that either 'Jessica is a sheep' or 'Bernhard is green' 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
  1.0::factA.
  0.75::factB.
  0.1::factC.
  %hop1
  0.2::factX:-xor(factC,factB).
  0.95::factY:-and(factB,factC).
  0.1::factZ:-or(factA,factC).

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

  query(conclusion).
  
Either 'Jessica is a sheep' or 'Bernhard is green' but not both.