It is probably not the case that Brian is yellow. It is probably not the case that Lily is white. It is likely that Bernhard is green. It is likely that if 'Brian is yellow and Bernhard is green' then Emily is a mouse. It is improbable that if 'Lily is white and Brian is yellow' then Sandra got the football. It is likely that if 'Lily is white and Brian is yellow' then Greg is a lion.
There is a very good chance that 'Greg is a lion' or 'Brian is yellow' or both.
It is probably not the case that 'Greg is a lion' or 'Brian is yellow' or both.
There is a very good chance that 'Greg is a lion' or 'Brian is yellow' or both.

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

  %hop2
  conclusion:-or(factZ,factA).

  query(conclusion).
  
'Greg is a lion' or 'Brian is yellow' or both.