It is likely that Lily is white. It is certain that Gertrude is a sheep. It is highly likely that Mary went to the garden. There is a better than even chance that if either 'Mary went to the garden' or 'Gertrude is a sheep' but not both then John picked up the milk. It is highly likely that if 'Mary went to the garden and Gertrude is a sheep' then Sandra got the football. It is likely that if 'Lily is white' or 'Gertrude is a sheep' or both then Brian is yellow.
There is a very good chance that 'Mary went to the garden and Sandra got the football'.
There is a very good chance that 'Mary went to the garden and Sandra got the football'.
There is almost no chance that 'Mary went to the garden and Sandra got 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.7::factA.
  1.0::factB.
  0.9::factC.
  %hop1
  0.6::factX:-xor(factC,factB).
  0.9::factY:-and(factC,factB).
  0.7::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Mary went to the garden and Sandra got the football'.