It is unlikely that Sandra left the apple. It is certain that Mary dropped the milk. It is almost certain that John put down the milk. It is almost certain that if 'Sandra left the apple and John put down the milk' then Greg is gray. It is highly unlikely that if either 'John put down the milk' or 'Sandra left the apple' but not both then Bernhard is yellow. There is almost no chance that if 'Sandra left the apple and John put down the milk' then Julius is a lion.
It is probable that 'Julius is a lion and Mary dropped the milk'.
It is impossible that 'Julius is a lion and Mary dropped the milk'.
It is probable that 'Julius is a lion and Mary dropped 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.2::factA.
  1.0::factB.
  0.95::factC.
  %hop1
  0.95::factX:-and(factA,factC).
  0.05::factY:-xor(factC,factA).
  0.02::factZ:-and(factA,factC).

  %hop2
  conclusion:-and(factZ,factB).

  query(conclusion).
  
'Julius is a lion and Mary dropped the milk'.