It is probably not the case that Bernhard is a lion. It is almost certain that Lily is a swan. It is probable that Julius is white. There is little chance that if 'Bernhard is a lion and Julius is white' then Mary grabbed the milk. It is improbable that if either 'Bernhard is a lion' or 'Lily is a swan' but not both then John got the apple. There is a better than even chance that if 'Julius is white and Bernhard is a lion' then Bill left the football.
It is unlikely that 'John got the apple' or 'Bill left the football' or both.
It is unlikely that 'John got the apple' or 'Bill left the football' or both.
It is certain that 'John got the apple' or 'Bill left 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.25::factA.
  0.95::factB.
  0.7::factC.
  %hop1
  0.1::factX:-and(factA,factC).
  0.1::factY:-xor(factA,factB).
  0.6::factZ:-and(factC,factA).

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

  query(conclusion).
  
'John got the apple' or 'Bill left the football' or both.