It is highly likely that Greg is yellow. It is unlikely that Jeff went to the garden. It is probably the case that John took the football. It is improbable that if either 'Greg is yellow' or 'Jeff went to the garden' but not both then Bernhard is green. It is highly unlikely that if either 'John took the football' or 'Jeff went to the garden' but not both then Daniel left the milk. It is almost certain that if either 'Jeff went to the garden' or 'Greg is yellow' but not both then Lily is a lion.
There is little chance that 'Greg is yellow' or 'John took the football' or both.
It is almost certain that 'Greg is yellow' or 'John took the football' or both.
There is little chance that 'Greg is yellow' or 'John took the football' or 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.9::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.1::factX:-xor(factA,factB).
  0.05::factY:-xor(factC,factB).
  0.95::factZ:-xor(factB,factA).

  %hop2
  conclusion:-or(factA,factC).

  query(conclusion).
  
'Greg is yellow' or 'John took the football' or both.