It is impossible that Greg is a swan. It is likely that Mary grabbed the milk. There is a better than even chance that Brian is yellow. It is probable that if 'Mary grabbed the milk and Brian is yellow' then Bernhard is a swan. It is improbable that if either 'Brian is yellow' or 'Greg is a swan' but not both then Lily is white. It is almost certain that if 'Greg is a swan and Mary grabbed the milk' then Julius is green.
We doubt that 'Brian is yellow' or 'Mary grabbed the milk' or both.
It is highly likely that 'Brian is yellow' or 'Mary grabbed the milk' or both.
We doubt that 'Brian is yellow' or 'Mary grabbed 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.0::factA.
  0.7::factB.
  0.6::factC.
  %hop1
  0.7::factX:-and(factB,factC).
  0.1::factY:-xor(factC,factA).
  0.95::factZ:-and(factA,factB).

  %hop2
  conclusion:-or(factC,factB).

  query(conclusion).
  
'Brian is yellow' or 'Mary grabbed the milk' or both.