Derivation of Jacobian for Double Auction two-step equilibrium

The following is our 10-equation system with 12 endogenous variables: 
{\(TraditionalForm\`p\+_\) , (Subscript[a, 0]), ζ , \(TraditionalForm\`v\+_\) , \(TraditionalForm\`c\&_\) , \(TraditionalForm\`v\&^\) , \(TraditionalForm\`c\&^\) , (Subscript[π, B]) , (Subscript[π, S]), S , \(TraditionalForm\`W\&^\_B\) , \(TraditionalForm\`W\&^\_S\) }. We modify the notations below in an obvious manner.

eqns = {
m[ζ]/ζ πS (vlow - 
                    plow) -  κB == 
            0, 
m[ζ] πB (plow + a - 
                    chigh) -  κS == 
            0, 
(1 - τ πS) (vhat - wBhat - 
                    plow - a) - τ πS k a == 
            0, 
(1 - τ πB) (plow - chat - 
                    wShat) - τ πB (1 - k) a == 
            0, 
wBhat - (((vhat - vlow) m[ζ] πS)/((ζ r + m[ζ] πS))) == 
            0, 
wShat - (((chigh - chat) m[ζ] πB)/((r + m[ζ] πB))) == 
            0, 
b (1 - f[vlow]) - 
              capS m[ζ] (πS + πB (1 - τ πS)) == 
            0, 
s g[chigh] - 
              capS m[ζ] (πB + πS (1 - τ πB)) == 
            0, 
b (1 - f[vhat]) - 
              capS m[ζ] πB == 
            0, 
s g[chat] - 
              capS m[ζ] πS == 
            0
};

The followings are the left hand sides of the 10 equations.

lhs = {
m[ζ]/ζ πS (vlow - 
                  plow) -  κB, 
m[ζ] πB (plow + a - 
                  chigh) -  κS, 
(1 - τ πS) (vhat - wBhat - plow - 
                  a) - τ πS k a, 
(1 - τ πB) (plow - chat - wShat) - τ πB (1 - k) 
              a, 
wBhat - (((vhat - vlow) m[ζ] πS)/((ζ r + m[ζ] πS))), 
wShat - (((chigh - chat) m[ζ] πB)/((r + m[ζ] πB))), 
b (1 - f[vlow]) - 
            capS m[ζ] (πS + πB (1 - τ πS)), 
s g[chigh] - 
            capS m[ζ] (πB + πS (1 - τ πB)), 
b (1 - f[vhat]) - 
            capS m[ζ] πB, 
s g[chat] - 
            capS m[ζ] πS
};

Since we have two degree of freedom, we take ζ and (Subscript[a, 0]) as parameters, and let the equations determine vars = {\(TraditionalForm\`p\+_\) , \(TraditionalForm\`v\+_\) , \(TraditionalForm\`c\&_\) , \(TraditionalForm\`v\&^\) , \(TraditionalForm\`c\&^\) , (Subscript[π, B]) , (Subscript[π, S]), S , \(TraditionalForm\`W\&^\_B\) , \(TraditionalForm\`W\&^\_S\) }.

vars = {
plow, 
vlow, 
chigh, 
vhat, 
chat, 
πB, 
πS, 
capS, 
wBhat, 
wShat
};

Solve the equations at (r , τ) = (0 , 0) for vars first.

eqns0 = eqns /. {r -> 0, τ -> 0};

eqns0 // TableForm

The equations at (r , τ) = (0 , 0) can be solved by hand. The unique solution is given in the text of the paper.

solutionparta = {
chigh -> 
            plow, 
vlow -> 
            plow + a, 
πB -> κ(S/(m[ζ] a)), 
πS -> ((κB ζ)/(m[ζ] a)), 
capS -> ((s g[plow] a)/(κB ζ + κS)), 
1 - 
              f[vhat] -> (((1 - f[plow + a]) κS)/(κB ζ + κS)), 
g[
              chat] -> ((g[plow] κB ζ)/(κB ζ + κS)), 
wBhat -> 
            vhat - plow - a, 
wShat -> 
            plow - chat
};
solutionpartb = {
g[plow] -> 
            (b/s) (1 - f[plow + a])
};

One can plug in and verify the above solution:

eqns0 /. solutionparta /. solutionpartb // Simplify

In particular, we will use the following properties:

properties = {chigh -> plow, 
          vlow -> plow + a};

In general, the Jacobian matrix is:

j = 
        Table[
D[lhs[[i]], 
            vars[[j]]], 
{i, 1, 
            10}, 
{j, 1, 
            10}
];

j // TableForm

Evaluate the Jacobian matrix at (r , τ) = (0 , 0).

TableForm[j0 = j /. {r -> 0, τ -> 0}]

Its determinant, after simplification, is:

Δ0 = Det[j0] // FullSimplify

To see its sign, we apply some properties of the solution at (r , τ) = (0 , 0).

Δ0 /. properties // Simplify

This is strictly negative which allows us to apply the Implicit Function Theorem.