It is probable that Sandra got the milk. It is unlikely that Julius is white. It is probably the case that John dropped the apple. It is probably not the case that if either 'Sandra got the milk' or 'Julius is white' but not both then Brian is yellow. It is probably the case that if either 'Sandra got the milk' or 'John dropped the apple' but not both then Greg is a swan. It is probably not the case that if 'Sandra got the milk' or 'Julius is white' or both then Bernhard is green.
Chances are slight that 'Bernhard is green' or 'Sandra got the milk' or both.
It is probably the case that 'Bernhard is green' or 'Sandra got the milk' or both.
Chances are slight that 'Bernhard is green' or 'Sandra got the milk' 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.7::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.25::factX:-xor(factA,factB).
  0.7::factY:-xor(factA,factC).
  0.25::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Bernhard is green' or 'Sandra got the milk' or both.