There is almost no chance that Daniel took the apple. There is almost no chance that Brian is white. It is highly likely that John went to the office. It is probably the case that if 'Daniel took the apple and Brian is white' then Bernhard is a rhino. It is improbable that if 'John went to the office' or 'Brian is white' or both then Greg is gray. There is a very good chance that if 'Brian is white' or 'Daniel took the apple' or both then Lily is yellow.
There is almost no chance that 'Lily is yellow and John went to the office'.
There is almost no chance that 'Lily is yellow and John went to the office'.
It is probably the case that 'Lily is yellow and John went to the office'.

  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.02::factB.
  0.9::factC.
  %hop1
  0.7::factX:-and(factA,factB).
  0.1::factY:-or(factC,factB).
  0.8::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Lily is yellow and John went to the office'.