Perform a base change, so that U = S×T becomes a T module. At the same time, let g be f tensored with the identity map on T. Thus g is an endomorphism on U.
Assume S is finite flat over R. After the base change, U is finite flat over T. The trace makes sense in S/R, and in U/T.
Since projective modules are confusing, let's start with S a free R module. Build the matrix M that defines the endomorphism f. Remember that g is f tensored with 1. This is true across all of S, and on each basis element. Therefore the matrix that defines g is M tensored with 1. Take the trace, or the norm, and 1 goes along for the ride. The result lies in R, and can be passed over to T via h. Therefore trace(g) = h(trace(f)), and norm(g) = h(norm(f)).
If x is an element of S, x*S is the associated endomorphism that establishes trace(x) and norm(x). Tensor x with 1 and multiply by U to find an endomorphism of U. This is the same as x*S tensored with the identity map on T. Either way g(x,z) becomes f(x),z. Combine this with the previous result and trace(x×1) = h(trace(x)), and similarly for norm.
Brave souls can continue on with the projective definition of trace.
Remember that the endomorphisms of U map onto the tensor product of hom(U,T)×U. We know that f has its counterpart in hom(S,R)×R. For each pair generator in this sum, tensor the function in dual S with the identity map on T, giving a function in hom(U,T), and tensor the element of S with 1 to get an element of U. this produces the image of g in hom(U,T)×U. No, I'm not going to prove that. I guess it follows from the natural map from the endomorphisms of U onto hom(U,T)×U, when U is S×T.
To find the trace, evaluate each function on its paired element and add them up. Within the tensored function, 1 (in T) maps to 1, and 1 remains in the second component as we add up the first components. The result is the trace of f tensored with 1. Move this into S via h(trace(f)) as we did before.
Since I didn't fully define norm for projective modules, I'm not going to prove the corresponding statement norm(g) = h(norm(f)), but it's true.
Remember that zero is a local property. The trace of an endomorphism is 0 iff it is 0 locally. Subtracting, the trace of two endomorphisms is the same iff it is the same locally.
Norm also commutes with localization, so the norm of an endomorphism is 0 iff it is 0 under all maximal localizations.
0 → 0 → S → S′ → 0
Tensor this exact sequence with T. By definition, S×T = U. Since S is projective, tensor and dual commute. Thus S′×T = U′. The tensored sequence builds an isomorphism between U and U′.
There are really two functions here. The original function φ is tensored with the identity map on T to build an isomorphism from U onto S′×T, and this is followed by an isomorphism from S′×T onto U′. Call this composite function θ. Then there is φ, based on the trace, from U into U′. If θ and φ agree, then φ is indeed an isomorphism.
Both functions are T linear. Thus we only need show they aagree on x tensor 1, for an arbitrary x in S.
Remember that φ(x) takes y to trace(xy). Tensor this function with 1, and θ takes x,1 to a function in U′ that maps each y,1 to trace(xy),1. Since trace and base change commute, as shown above, the right side becomes trace(xy,1), or trace((x,1)*(y,1)). This is precisely the definition of φ(U). Therefore U is finite atol over T.
For the converse, assume the homomorphism φ fails to be an isomorphism. This is a local property, hence there is some localization that fails to yield an isomorphism. Being finite atol is a local property.
Since U is finitely generated over T, and T is finitely generated over R, U is finitely generated over R. The set of pair generators x,y in S×T is finitely generated. Establish a set of generators g1 through gn. Given an arbitrary x in S, write x,1 as a linear combination of these generators. The generators need only span some a,b equivalent to x,1 in the tensor product. If c in T is taken out of b, and applyed to a, to get x, multiply the coefficients on the generators by c, and the first components of the generators span x. If c is taken out of a and multiplied by b to get 1, then c is a unit in T that lives in R. Since T is finitely generated over R it is integral over R, hence c is a unit in R. Divide the coefficients on the generators by c, and the first components of the generators span x. Therefore S is finitely generated over R.
Now show S is projective by showing it is projective over every localization. This only works if S is finitely presented over R. (If R is noetherian then S is finitely presented.)
With T projective over R and U projective over T, U is projective over R. Localize about P, and T and U become free R modules. Thus U is a direct sum of n copies of S, where T has rank n. This makes S the summand of a free R module, whence S is projective. This holds for all localizations, hence S is projective over R.
We either knew at the outset, or we have determined, that S is a finite flat extension of R. With S finite flat, trace is well defined. The map φ, from S into dual S, is based on trace(xy), and is also well defined. We only need show it is an isomorphism.
Tensor with the identity map on T to get φ from U into dual U, which is an isomorphism. Since T is faithfully flat, we can pull back to an isomorphism φ from S to S′. Therefore S is finite atol over R.