It is almost certain that Lily is yellow. It is certain that Julius is gray. Chances are slight that Brian is green. Chances are about even that if 'Lily is yellow' or 'Julius is gray' or both then Mary went to the hallway. We doubt that if 'Lily is yellow and Julius is gray' then Sandra dropped the milk. It is likely that if 'Julius is gray and Brian is green' then John discarded the milk.
It is almost certain that 'Brian is green and Mary went to the hallway'.
It is highly unlikely that 'Brian is green and Mary went to the hallway'.
It is almost certain that 'Brian is green and Mary went to the hallway'.

  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.95::factA.
  1.0::factB.
  0.1::factC.
  %hop1
  0.5::factX:-or(factA,factB).
  0.2::factY:-and(factA,factB).
  0.7::factZ:-and(factB,factC).

  %hop2
  conclusion:-and(factC,factX).

  query(conclusion).
  
'Brian is green and Mary went to the hallway'.