There is a very good chance that Lily is a rhino. It is probably the case that Julius is gray. It is impossible that Daniel left the apple. It is likely that if 'Lily is a rhino and Daniel left the apple' then Sandra put down the milk. It is impossible that if 'Daniel left the apple and Lily is a rhino' then Brian is a lion. It is probably the case that if 'Lily is a rhino' or 'Daniel left the apple' or both then Fred moved to the office.
It is highly likely that 'Sandra put down the milk and Fred moved to the office'.
It is impossible that 'Sandra put down the milk and Fred moved to the office'.
It is highly likely that 'Sandra put down the milk and Fred moved to the office'.

  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.8::factA.
  0.7::factB.
  0.0::factC.
  %hop1
  0.7::factX:-and(factA,factC).
  0.0::factY:-and(factC,factA).
  0.7::factZ:-or(factA,factC).

  %hop2
  conclusion:-and(factX,factZ).

  query(conclusion).
  
'Sandra put down the milk and Fred moved to the office'.