It is highly likely that Brian is yellow. We doubt that Bernhard is a lion. It is highly unlikely that John moved to the office. It is impossible that if 'Brian is yellow' or 'Bernhard is a lion' or both then Daniel got the milk. Chances are about even that if either 'Bernhard is a lion' or 'John moved to the office' but not both then Mary left the milk. It is improbable that if 'John moved to the office' or 'Brian is yellow' or both then Lily is a swan.
It is probable that 'Mary left the milk' or 'John moved to the office' or both.
It is improbable that 'Mary left the milk' or 'John moved to the office' or both.
It is probable that 'Mary left the milk' or 'John moved to the office' 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.05::factC.
  %hop1
  0.0::factX:-or(factA,factB).
  0.5::factY:-xor(factB,factC).
  0.1::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Mary left the milk' or 'John moved to the office' or both.