There is a very good chance that Lily is green. We believe that John went to the garden. Chances are slight that Winona is a sheep. It is probably the case that if 'Winona is a sheep' or 'John went to the garden' or both then Emily is a cat. There is a better than even chance that if 'Lily is green and Winona is a sheep' then Greg is gray. It is probably the case that if 'John went to the garden and Lily is green' then Jeff moved to the office.
It is probable that 'Jeff moved to the office' or 'Emily is a cat' or both.
It is probable that 'Jeff moved to the office' or 'Emily is a cat' or both.
There is little chance that 'Jeff moved to the office' or 'Emily is a cat' 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.8::factA.
  0.75::factB.
  0.1::factC.
  %hop1
  0.7::factX:-or(factC,factB).
  0.6::factY:-and(factA,factC).
  0.7::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Jeff moved to the office' or 'Emily is a cat' or both.