Question: How to unassign local variable in proc?

I want to compute delta but i do not want to show result for delta. i know i need to put 
delta := unassign('delta');
but i do not know where to put, i try and error so many times but the answer still the same. 
the answer should be in marix form 2x2 
[-δD11   0    ]
[0         D22]



>derivation := proc (A, n)
local i, j, k, t, s1, m, D, sols, eqns, BChange, delta; eqns := {}; D := matrix(n, n); BChange := matrix(n, n);
for i to n do
for j to n do
for m to n do
s1 := sum(0*A[i, j, k]*D[m, k], k = 1 .. n)-(sum(A[k, j, m]*D[k, i]+delta*A[i, k, m]*D[k, j], k = 1 .. n));
eqns := `union`(eqns, {s1})
end do
end do
end do;
sols := [solve(eqns)];
delta := unassign('delta');
t := nops(sols);
for i to t do
for j to n do
for k to n do
BChange[k, j] := subs(sols[i], D[k, j])
end do
end do;
print("BChange:=", BChange)
end do
end proc

> AS1 := array(sparse, 1 .. 2, 1 .. 2, 1 .. 2, [(1, 1, 2) = 1]);
> derivation(AS1, 2);

Please Wait...