It is probable that Greg is a lion. It is impossible that Sandra left the milk. It is improbable that Mary moved to the office. It is improbable that if 'Mary moved to the office and Sandra left the milk' then Jason is tired. There is a very good chance that if either 'Mary moved to the office' or 'Greg is a lion' but not both then Lily is white. It is impossible that if 'Sandra left the milk and Greg is a lion' then Brian is green.
It is impossible that 'Lily is white' or 'Mary moved to the office' or both.
There is a better than even chance that 'Lily is white' or 'Mary moved to the office' or both.
It is impossible that 'Lily is white' or 'Mary moved to the office' 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.7::factA.
  0.0::factB.
  0.1::factC.
  %hop1
  0.1::factX:-and(factC,factB).
  0.8::factY:-xor(factC,factA).
  0.0::factZ:-and(factB,factA).

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

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