It is unlikely that Greg is a lion. There is a very good chance that Bernhard is white. It is unlikely that John went to the bedroom. We believe that if 'Greg is a lion and John went to the bedroom' then Brian is a frog. It is highly unlikely that if 'Greg is a lion' or 'John went to the bedroom' or both then Lily is white. It is certain that if 'Greg is a lion and Bernhard is white' then Daniel grabbed the apple.
It is impossible that 'Lily is white and Daniel grabbed the apple'.
It is impossible that 'Lily is white and Daniel grabbed the apple'.
It is highly likely that 'Lily is white and Daniel grabbed the apple'.

  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.2::factA.
  0.8::factB.
  0.2::factC.
  %hop1
  0.75::factX:-and(factA,factC).
  0.05::factY:-or(factA,factC).
  1.0::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Lily is white and Daniel grabbed the apple'.