It is highly likely that Jeff put down the milk. It is probably the case that Brian is a rhino. It is probably not the case that Yann is tired. It is probably not the case that if either 'Yann is tired' or 'Jeff put down the milk' but not both then Greg is a frog. It is certain that if 'Yann is tired' or 'Jeff put down the milk' or both then Bernhard is yellow. It is unlikely that if 'Jeff put down the milk' or 'Brian is a rhino' or both then Winona is a sheep.
It is likely that 'Bernhard is yellow and Yann is tired'.
It is probably not the case that 'Bernhard is yellow and Yann is tired'.
It is likely that 'Bernhard is yellow and Yann is tired'.

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

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

  query(conclusion).
  
'Bernhard is yellow and Yann is tired'.