It is certain that Mary moved to the garden. It is certain that Daniel got the football. It is likely that John dropped the milk. It is certain that if 'Daniel got the football' or 'Mary moved to the garden' or both then Emily is a mouse. We doubt that if 'Daniel got the football and John dropped the milk' then Brian is a rhino. It is probably not the case that if 'Mary moved to the garden and Daniel got the football' then Jessica is a cat.
It is improbable that 'Jessica is a cat' or 'Emily is a mouse' or both.
It is certain that 'Jessica is a cat' or 'Emily is a mouse' or both.
It is improbable that 'Jessica is a cat' or 'Emily is a mouse' 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
  1.0::factA.
  1.0::factB.
  0.7::factC.
  %hop1
  1.0::factX:-or(factB,factA).
  0.2::factY:-and(factB,factC).
  0.25::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Jessica is a cat' or 'Emily is a mouse' or both.