It is impossible that Daniel dropped the milk. There is a better than even chance that Mary went to the hallway. It is certain that Greg is yellow. It is improbable that if 'Greg is yellow' or 'Mary went to the hallway' or both then Bernhard is a swan. It is impossible that if either 'Greg is yellow' or 'Daniel dropped the milk' but not both then John left the apple. There is a better than even chance that if 'Daniel dropped the milk and Mary went to the hallway' then Julius is white.
It is almost certain that 'John left the apple' or 'Julius is white' or both.
It is impossible that 'John left the apple' or 'Julius is white' or both.
It is almost certain that 'John left the apple' or 'Julius is white' 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.6::factB.
  1.0::factC.
  %hop1
  0.1::factX:-or(factC,factB).
  0.0::factY:-xor(factC,factA).
  0.6::factZ:-and(factA,factB).

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

  query(conclusion).
  
'John left the apple' or 'Julius is white' or both.