We doubt that Gertrude is a mouse. There is a better than even chance that Julius is a swan. It is unlikely that John dropped the apple. It is unlikely that if 'Julius is a swan' or 'Gertrude is a mouse' or both then Jessica is a sheep. Chances are slight that if 'Julius is a swan' or 'John dropped the apple' or both then Greg is yellow. It is certain that if 'John dropped the apple and Julius is a swan' then Yann is hungry.
It is likely that 'John dropped the apple and Greg is yellow'.
There is almost no chance that 'John dropped the apple and Greg is yellow'.
It is likely that 'John dropped the apple and Greg is yellow'.

  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.2::factA.
  0.6::factB.
  0.2::factC.
  %hop1
  0.2::factX:-or(factB,factA).
  0.1::factY:-or(factB,factC).
  1.0::factZ:-and(factC,factB).

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

  query(conclusion).
  
'John dropped the apple and Greg is yellow'.