There is almost no chance that Emily is a wolf. It is improbable that Mary got the milk. It is probable that Greg is a swan. It is probable that if 'Mary got the milk and Greg is a swan' then Lily is yellow. It is impossible that if 'Mary got the milk' or 'Greg is a swan' or both then Fred is in the school. There is a very good chance that if 'Emily is a wolf and Mary got the milk' then Sandra dropped the apple.
Chances are about even that 'Lily is yellow' or 'Fred is in the school' or both.
It is highly unlikely that 'Lily is yellow' or 'Fred is in the school' or both.
Chances are about even that 'Lily is yellow' or 'Fred is in the school' 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.02::factA.
  0.1::factB.
  0.7::factC.
  %hop1
  0.7::factX:-and(factB,factC).
  0.0::factY:-or(factB,factC).
  0.8::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Lily is yellow' or 'Fred is in the school' or both.