There is almost no chance that Bernhard is yellow. It is probably not the case that Brian is a rhino. It is likely that Julius is a lion. It is likely that if either 'Brian is a rhino' or 'Bernhard is yellow' but not both then Fred left the football. Chances are slight that if 'Julius is a lion and Bernhard is yellow' then Lily is white. There is a very good chance that if 'Bernhard is yellow and Brian is a rhino' then John dropped the apple.
It is probably the case that 'Lily is white and Fred left the football'.
It is impossible that 'Lily is white and Fred left the football'.
It is probably the case that 'Lily is white and Fred left the football'.

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

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

  query(conclusion).
  
'Lily is white and Fred left the football'.