We doubt that Julius is gray. There is a very good chance that Jeff moved to the office. It is almost certain that Greg is yellow. It is unlikely that if 'Jeff moved to the office' or 'Greg is yellow' or both then Brian is yellow. It is improbable that if 'Greg is yellow and Jeff moved to the office' then Lily is white. It is almost certain that if either 'Jeff moved to the office' or 'Greg is yellow' but not both then Mary left the milk.
It is highly unlikely that 'Mary left the milk and Julius is gray'.
It is highly unlikely that 'Mary left the milk and Julius is gray'.
It is almost certain that 'Mary left the milk and Julius is gray'.

  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.2::factA.
  0.8::factB.
  0.95::factC.
  %hop1
  0.2::factX:-or(factB,factC).
  0.1::factY:-and(factC,factB).
  0.95::factZ:-xor(factB,factC).

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

  query(conclusion).
  
'Mary left the milk and Julius is gray'.