It is certain that John dropped the apple. It is highly likely that Bernhard is yellow. It is likely that Greg is white. We believe that if 'John dropped the apple' or 'Bernhard is yellow' or both then Julius is a swan. It is probable that if either 'Bernhard is yellow' or 'John dropped the apple' but not both then Lily is a lion. There is a very good chance that if 'Bernhard is yellow' or 'Greg is white' or both then Mary got the milk.
We believe that 'Julius is a swan' or 'Lily is a lion' or both.
We believe that 'Julius is a swan' or 'Lily is a lion' or both.
It is highly unlikely that 'Julius is a swan' or 'Lily is a lion' 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
  1.0::factA.
  0.9::factB.
  0.7::factC.
  %hop1
  0.75::factX:-or(factA,factB).
  0.7::factY:-xor(factB,factA).
  0.8::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Julius is a swan' or 'Lily is a lion' or both.