It is impossible that Sandra dropped the apple. It is probably the case that Jeff went to the bedroom. It is likely that John moved to the garden. It is likely that if 'John moved to the garden' or 'Jeff went to the bedroom' or both then Bernhard is a frog. There is almost no chance that if 'Sandra dropped the apple' or 'Jeff went to the bedroom' or both then Lily is a lion. It is highly likely that if 'John moved to the garden and Sandra dropped the apple' then Fred is in the school.
It is probably the case that 'Lily is a lion' or 'Jeff went to the bedroom' or both.
It is probably the case that 'Lily is a lion' or 'Jeff went to the bedroom' or both.
It is unlikely that 'Lily is a lion' or 'Jeff went to the bedroom' 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.0::factA.
  0.7::factB.
  0.7::factC.
  %hop1
  0.7::factX:-or(factC,factB).
  0.02::factY:-or(factA,factB).
  0.9::factZ:-and(factC,factA).

  %hop2
  conclusion:-or(factY,factB).

  query(conclusion).
  
'Lily is a lion' or 'Jeff went to the bedroom' or both.