It is likely that Julius is a swan. There is a very good chance that Daniel grabbed the milk. It is highly likely that Bernhard is yellow. There is almost no chance that if 'Bernhard is yellow' or 'Julius is a swan' or both then John went to the kitchen. There is a better than even chance that if either 'Bernhard is yellow' or 'Daniel grabbed the milk' but not both then Brian is white. It is highly unlikely that if either 'Daniel grabbed the milk' or 'Julius is a swan' but not both then Greg is a lion.
There is almost no chance that 'Julius is a swan and Bernhard is yellow'.
There is a better than even chance that 'Julius is a swan and Bernhard is yellow'.
There is almost no chance that 'Julius is a swan and Bernhard 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.7::factA.
  0.8::factB.
  0.9::factC.
  %hop1
  0.02::factX:-or(factC,factA).
  0.6::factY:-xor(factC,factB).
  0.05::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Julius is a swan and Bernhard is yellow'.