There is little chance that Bernhard is gray. It is impossible that Daniel left the apple. There is a very good chance that Mary dropped the milk. It is certain that if 'Mary dropped the milk' or 'Bernhard is gray' or both then Greg is yellow. It is likely that if either 'Mary dropped the milk' or 'Bernhard is gray' but not both then Brian is a frog. Chances are about even that if 'Bernhard is gray' or 'Mary dropped the milk' or both then Lily is a swan.
Chances are slight that 'Mary dropped the milk and Bernhard is gray'.
Chances are slight that 'Mary dropped the milk and Bernhard is gray'.
There is a very good chance that 'Mary dropped the milk and Bernhard is gray'.

  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.0::factB.
  0.8::factC.
  %hop1
  1.0::factX:-or(factC,factA).
  0.7::factY:-xor(factC,factA).
  0.5::factZ:-or(factA,factC).

  %hop2
  conclusion:-and(factC,factA).

  query(conclusion).
  
'Mary dropped the milk and Bernhard is gray'.