There is little chance that Brian is white. It is probably the case that John dropped the milk. It is probably not the case that Mary went to the kitchen. There is a very good chance that if 'Mary went to the kitchen and Brian is white' then Lily is a lion. It is certain that if either 'John dropped the milk' or 'Brian is white' but not both then Bernhard is yellow. There is a better than even chance that if 'Brian is white and John dropped the milk' then Sumit is thirsty.
It is highly unlikely that 'Lily is a lion' or 'John dropped the milk' or both.
It is probable that 'Lily is a lion' or 'John dropped the milk' or both.
It is highly unlikely that 'Lily is a lion' or 'John dropped the milk' 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.1::factA.
  0.7::factB.
  0.25::factC.
  %hop1
  0.8::factX:-and(factC,factA).
  1.0::factY:-xor(factB,factA).
  0.6::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Lily is a lion' or 'John dropped the milk' or both.