It is certain that John dropped the milk. It is highly unlikely that Julius is white. It is almost certain that Mary went to the office. There is a better than even chance that if 'Mary went to the office and John dropped the milk' then Greg is gray. Chances are slight that if 'John dropped the milk' or 'Mary went to the office' or both then Bernhard is a frog. It is highly unlikely that if either 'Julius is white' or 'John dropped the milk' but not both then Winona is a wolf.
There is a better than even chance that 'Bernhard is a frog and Mary went to the office'.
It is improbable that 'Bernhard is a frog and Mary went to the office'.
There is a better than even chance that 'Bernhard is a frog and Mary went to the office'.

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

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

  query(conclusion).
  
'Bernhard is a frog and Mary went to the office'.