Thank you for the help so far! I would like to assign +/i signs for the function and solution such as (+)(+)(-) and therefore (-). It is working for the first evaluation, λlower, but not for the second evaluation, λupper. I cannot see the difference - has it to do with "λi /. Solve" in both definitions? (* Endogenous *) Clear[μ, ξ, β, γ, ri, si, rj, sj, λCri, λCsi , λlower, λupper, λlowereip, λip]; (* Exogenous *) Clear[ ci, yp, λi, αi, ϵip, ηip, eip]; ri = ϵip*λi + (1 - ηip)*(1 - λi); si = ηip*(1 - λi) + (1 - ϵip)*λi; λCri = (ϵip*λi)/(ϵip*λi + (1 - ηip)*(1 - λi)); λCsi = (ηip*(1 - λi))/(ηip*(1 - λi) + (1 - ϵip)*λi); λlower = λi /. Solve[ri*(yp - eip - ci + αi*λCri) + si*(yp - eip + αi*(1 - λCsi)) == yp + αi*(1 - λi), {λi}]; λupper = λi /.Solve[ri*(yp - eip - ci + αi*λCri) + si*(yp - eip + αi*(1 - λCsi)) == yp + αi*λi - ci, {λi} ]; Simplify[D[λlower, eip]] Simplify[Sign[D[λlower, eip]], αi > 0 && eip > 0 && ci > 0 && 0 < ϵip < 1 && 0 < ci < 1 && 0 < ηip < 1 && αi > ci && αi > ci + eip && ϵip + ηi < 1] Simplify[D[λupper, eip]] Simplify[Sign[D[λupper, eip]], αi > 0 && eip > 0 && ci > 0 && 0 < ϵip < 1 && 0 < ci < 1 && 0 < ηip < 1 && αi > ci && αi > ci + eip && ϵip + ηi < 1]