It is probable that Julius is a rhino. We doubt that Bernhard is yellow. It is probably the case that Mary moved to the garden. There is almost no chance that if 'Mary moved to the garden and Bernhard is yellow' then Lily is green. We doubt that if 'Bernhard is yellow' or 'Julius is a rhino' or both then Brian is a swan. It is impossible that if 'Mary moved to the garden and Julius is a rhino' then John went to the hallway.
It is impossible that 'Lily is green and Mary moved to the garden'.
It is impossible that 'Lily is green and Mary moved to the garden'.
It is highly likely that 'Lily is green and Mary 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.7::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.02::factX:-and(factC,factB).
  0.2::factY:-or(factB,factA).
  0.0::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Lily is green and Mary moved to the garden'.