It is probably not the case that Brian is gray. Chances are about even that Lily is yellow. There is almost no chance that John went to the office. It is almost certain that if 'Lily is yellow and Brian is gray' then Mary left the milk. It is certain that if 'Brian is gray' or 'John went to the office' or both then Antoine is thirsty. It is impossible that if 'John went to the office' or 'Lily is yellow' or both then Julius is a swan.
It is highly likely that 'Brian is gray and Antoine is thirsty'.
It is probably not the case that 'Brian is gray and Antoine is thirsty'.
It is highly likely that 'Brian is gray and Antoine is thirsty'.

  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.25::factA.
  0.5::factB.
  0.02::factC.
  %hop1
  0.95::factX:-and(factB,factA).
  1.0::factY:-or(factA,factC).
  0.0::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Brian is gray and Antoine is thirsty'.