It is almost certain that Jessica is a mouse. It is almost certain that John moved to the garden. There is little chance that Lily is green. It is probable that if 'Lily is green' or 'Jessica is a mouse' or both then Julius is a lion. It is probably the case that if either 'Lily is green' or 'Jessica is a mouse' but not both then Greg is yellow. It is certain that if 'John moved to the garden' or 'Lily is green' or both then Mary went to the garden.
It is highly likely that 'Mary went to the garden and Jessica is a mouse'.
It is highly likely that 'Mary went to the garden and Jessica is a mouse'.
It is unlikely that 'Mary went to the garden and Jessica is a mouse'.

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

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

  query(conclusion).
  
'Mary went to the garden and Jessica is a mouse'.