There is almost no chance that Lily is a rhino. There is a very good chance that Mary left the football. It is highly unlikely that Gertrude is a mouse. Chances are about even that if 'Lily is a rhino and Mary left the football' then Fred moved to the office. There is a very good chance that if 'Lily is a rhino' or 'Gertrude is a mouse' or both then Greg is yellow. Chances are slight that if either 'Gertrude is a mouse' or 'Mary left the football' but not both then Bernhard is gray.
It is impossible that 'Fred moved to the office and Bernhard is gray'.
It is impossible that 'Fred moved to the office and Bernhard is gray'.
There is a better than even chance that 'Fred moved to the office and Bernhard 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.02::factA.
  0.8::factB.
  0.05::factC.
  %hop1
  0.5::factX:-and(factA,factB).
  0.8::factY:-or(factA,factC).
  0.1::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Fred moved to the office and Bernhard is gray'.