There is a better than even chance that Brian is yellow. It is unlikely that Sandra dropped the milk. It is certain that Bernhard is a swan. It is likely that if either 'Brian is yellow' or 'Sandra dropped the milk' but not both then Julius is gray. It is probably not the case that if either 'Sandra dropped the milk' or 'Brian is yellow' but not both then Emily is a wolf. It is probably the case that if 'Bernhard is a swan and Sandra dropped the milk' then Lily is white.
Chances are slight that 'Lily is white and Brian is yellow'.
Chances are slight that 'Lily is white and Brian is yellow'.
It is certain that 'Lily is white and Brian is yellow'.

  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.6::factA.
  0.2::factB.
  1.0::factC.
  %hop1
  0.7::factX:-xor(factA,factB).
  0.25::factY:-xor(factB,factA).
  0.7::factZ:-and(factC,factB).

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

  query(conclusion).
  
'Lily is white and Brian is yellow'.