Chances are slight that Emily is a sheep. It is unlikely that Lily is a swan. It is improbable that Greg is gray. Chances are about even that if 'Emily is a sheep' or 'Greg is gray' or both then Julius is white. It is probably not the case that if either 'Lily is a swan' or 'Emily is a sheep' but not both then Brian is yellow. There is almost no chance that if 'Greg is gray' or 'Emily is a sheep' or both then Jeff moved to the office.
It is impossible that 'Greg is gray and Brian is yellow'.
It is impossible that 'Greg is gray and Brian is yellow'.
There is a very good chance that 'Greg is gray and Brian is yellow'.

  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.1::factA.
  0.2::factB.
  0.1::factC.
  %hop1
  0.5::factX:-or(factA,factC).
  0.25::factY:-xor(factB,factA).
  0.02::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Greg is gray and Brian is yellow'.