A lot of the functionality of the z3 library depends on it being able to find the z3 executable on $PATH. Hard-coding it here means it will never be unable to find it and z3 doesn't need to pollute $PATH.