It is likely that Julius is gray. Chances are slight that Sandra left the apple. It is almost certain that Mary moved to the office. It is almost certain that if 'Sandra left the apple and Mary moved to the office' then Brian is a rhino. It is impossible that if 'Mary moved to the office' or 'Sandra left the apple' or both then Bernhard is yellow. There is little chance that if 'Sandra left the apple and Julius is gray' then John got the milk.
It is probable that 'Bernhard is yellow and Julius is gray'.
It is impossible that 'Bernhard is yellow and Julius is gray'.
It is probable that 'Bernhard is yellow and Julius is gray'.

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

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

  query(conclusion).
  
'Bernhard is yellow and Julius is gray'.