It is probable that Bernhard is a lion. It is probably the case that Yann is hungry. It is probably not the case that Mary got the apple. There is a very good chance that if 'Bernhard is a lion and Mary got the apple' then Bill went to the garden. Chances are slight that if either 'Bernhard is a lion' or 'Mary got the apple' but not both then Emily is a wolf. There is a very good chance that if 'Yann is hungry and Bernhard is a lion' then John picked up the milk.
It is certain that 'Yann is hungry and Bill went to the garden'.
It is improbable that 'Yann is hungry and Bill went to the garden'.
It is certain that 'Yann is hungry and Bill went 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.7::factB.
  0.25::factC.
  %hop1
  0.8::factX:-and(factA,factC).
  0.1::factY:-xor(factA,factC).
  0.8::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Yann is hungry and Bill went to the garden'.