Chances are slight that Sandra dropped the milk. We doubt that Greg is white. There is almost no chance that Bernhard is a frog. It is probable that if 'Sandra dropped the milk and Greg is white' then Lily is a swan. There is almost no chance that if 'Sandra dropped the milk and Greg is white' then Mary got the football. There is little chance that if 'Greg is white and Sandra dropped the milk' then Jeff moved to the garden.
It is impossible that 'Mary got the football and Lily is a swan'.
It is impossible that 'Mary got the football and Lily is a swan'.
It is probable that 'Mary got the football and Lily is a swan'.

  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.2::factB.
  0.02::factC.
  %hop1
  0.7::factX:-and(factA,factB).
  0.02::factY:-and(factA,factB).
  0.1::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Mary got the football and Lily is a swan'.