We doubt that John dropped the milk. Chances are slight that Brian is a swan. It is highly likely that Bernhard is green. It is improbable that if either 'John dropped the milk' or 'Brian is a swan' but not both then Mary got the apple. It is probable that if 'John dropped the milk and Bernhard is green' then Julius is gray. It is impossible that if 'Bernhard is green and John dropped the milk' then Winona is a sheep.
It is probably the case that 'Bernhard is green and Mary got the apple'.
There is almost no chance that 'Bernhard is green and Mary got the apple'.
It is probably the case that 'Bernhard is green and Mary got the apple'.

  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.2::factA.
  0.1::factB.
  0.9::factC.
  %hop1
  0.1::factX:-xor(factA,factB).
  0.7::factY:-and(factA,factC).
  0.0::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Bernhard is green and Mary got the apple'.