It is probably the case that Brian is yellow. It is probably not the case that Lily is a lion. It is highly unlikely that Jessica is a cat. It is probable that if 'Jessica is a cat' or 'Brian is yellow' or both then Bill left the milk. It is almost certain that if 'Brian is yellow' or 'Lily is a lion' or both then Mary dropped the apple. It is almost certain that if 'Lily is a lion' or 'Jessica is a cat' or both then John moved to the garden.
It is almost certain that 'John moved to the garden and Bill left the milk'.
Chances are slight that 'John moved to the garden and Bill left the milk'.
It is almost certain that 'John moved to the garden and Bill left the milk'.

  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.7::factA.
  0.25::factB.
  0.05::factC.
  %hop1
  0.7::factX:-or(factC,factA).
  0.95::factY:-or(factA,factB).
  0.95::factZ:-or(factB,factC).

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

  query(conclusion).
  
'John moved to the garden and Bill left the milk'.