We believe that Lily is a swan. It is impossible that Sandra got the football. It is probably not the case that Bill moved to the office. There is a very good chance that if 'Lily is a swan and Bill moved to the office' then Greg is yellow. There is little chance that if either 'Lily is a swan' or 'Bill moved to the office' but not both then Bernhard is a lion. It is likely that if 'Lily is a swan and Bill moved to the office' then John discarded the apple.
It is impossible that 'Bill moved to the office and Sandra got the football'.
It is impossible that 'Bill moved to the office and Sandra got the football'.
It is highly likely that 'Bill moved to the office 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.75::factA.
  0.0::factB.
  0.25::factC.
  %hop1
  0.8::factX:-and(factA,factC).
  0.1::factY:-xor(factA,factC).
  0.7::factZ:-and(factA,factC).

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

  query(conclusion).
  
'Bill moved to the office and Sandra got the football'.