It is almost certain that Jeff discarded the milk. There is almost no chance that Bernhard is gray. It is probably the case that Greg is a frog. It is highly unlikely that if either 'Jeff discarded the milk' or 'Bernhard is gray' but not both then Julius is yellow. There is almost no chance that if 'Greg is a frog' or 'Jeff discarded the milk' or both then John took the apple. Chances are slight that if 'Jeff discarded the milk' or 'Greg is a frog' or both then Brian is a lion.
There is almost no chance that 'John took the apple and Jeff discarded the milk'.
There is almost no chance that 'John took the apple and Jeff discarded the milk'.
It is likely that 'John took the apple and Jeff discarded the milk'.

  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.95::factA.
  0.02::factB.
  0.7::factC.
  %hop1
  0.05::factX:-xor(factA,factB).
  0.02::factY:-or(factC,factA).
  0.1::factZ:-or(factA,factC).

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

  query(conclusion).
  
'John took the apple and Jeff discarded the milk'.