Chances are about even that Mary moved to the garden. It is highly unlikely that John left the football. There is almost no chance that Greg is a frog. We believe that if 'Mary moved to the garden and John left the football' then Jessica is a cat. It is unlikely that if 'John left the football' or 'Greg is a frog' or both then Lily is yellow. Chances are slight that if 'Mary moved to the garden and John left the football' then Daniel dropped the apple.
There is almost no chance that either 'Daniel dropped the apple' or 'Lily is yellow' but not both.
There is almost no chance that either 'Daniel dropped the apple' or 'Lily is yellow' but not both.
It is certain that either 'Daniel dropped the apple' or 'Lily is yellow' but not 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.5::factA.
  0.05::factB.
  0.02::factC.
  %hop1
  0.75::factX:-and(factA,factB).
  0.2::factY:-or(factB,factC).
  0.1::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Daniel dropped the apple' or 'Lily is yellow' but not both.