It is highly likely that Emily is a wolf. It is probably not the case that Greg is a lion. It is almost certain that Lily is white. Chances are about even that if 'Greg is a lion and Lily is white' then Daniel got the milk. It is highly unlikely that if either 'Greg is a lion' or 'Lily is white' but not both then Brian is a swan. It is highly unlikely that if 'Emily is a wolf' or 'Lily is white' or both then Mary moved to the garden.
It is almost certain that 'Mary moved to the garden' or 'Lily is white' or both.
It is almost certain that 'Mary moved to the garden' or 'Lily is white' or both.
We doubt that 'Mary moved to the garden' or 'Lily is white' 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.9::factA.
  0.25::factB.
  0.95::factC.
  %hop1
  0.5::factX:-and(factB,factC).
  0.05::factY:-xor(factB,factC).
  0.05::factZ:-or(factA,factC).

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

  query(conclusion).
  
'Mary moved to the garden' or 'Lily is white' or both.