It is improbable that Mary discarded the milk. It is certain that Jeff moved to the garden. It is likely that John went to the kitchen. It is probable that if either 'John went to the kitchen' or 'Mary discarded the milk' but not both then Jessica is a mouse. It is probably not the case that if 'Mary discarded the milk' or 'John went to the kitchen' or both then Bernhard is a swan. It is unlikely that if 'John went to the kitchen and Mary discarded the milk' then Bill left the milk.
Chances are about even that 'Jessica is a mouse and Jeff moved to the garden'.
Chances are about even that 'Jessica is a mouse and Jeff moved to the garden'.
It is certain that 'Jessica is a mouse and Jeff moved to the garden'.

  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.1::factA.
  1.0::factB.
  0.7::factC.
  %hop1
  0.7::factX:-xor(factC,factA).
  0.25::factY:-or(factA,factC).
  0.2::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Jessica is a mouse and Jeff moved to the garden'.