There is a better than even chance that Yann is hungry. It is almost certain that Greg is gray. It is almost certain that Emily is a wolf. It is impossible that if 'Greg is gray and Emily is a wolf' then Bernhard is a frog. We doubt that if either 'Yann is hungry' or 'Greg is gray' but not both then Jason is thirsty. It is probably the case that if 'Yann is hungry' or 'Emily is a wolf' or both then Brian is yellow.
It is impossible that 'Jason is thirsty and Yann is hungry'.
It is impossible that 'Jason is thirsty and Yann is hungry'.
It is almost certain that 'Jason is thirsty and Yann is hungry'.

  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.6::factA.
  0.95::factB.
  0.95::factC.
  %hop1
  0.0::factX:-and(factB,factC).
  0.2::factY:-xor(factA,factB).
  0.7::factZ:-or(factA,factC).

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

  query(conclusion).
  
'Jason is thirsty and Yann is hungry'.