I must say that I did not fully understand your question the last time and I might have also answered your question incorrectly. I have re-considered it and have the following.
First of you must understand that the elaboration step is a sub-process leading to the final synthesis. You cannot separate elaborate and synthesis.
Having said that, the following is what happens during the elaboration process:
Elaboration involves various design checking and optimizations and is a necessary step to proceed with synthesis. The elaborate command automatically elaborates the top-level design and all of its references. During elaboration, RTL Compiler performs the following tasks:
1. Builds data structures
2. Infers registers in the design
3. Performs higher-level HDL optimization, such as dead code removal
4. Checks semantics
At the end of elaboration, RTL Compiler displays any unresolved references (immediately after the key words Done elaborating):
Done elaborating '<top_level_module_name>'.
Cannot resolve reference to <ref01>
Cannot resolve reference to <ref02>
Cannot resolve reference to <ref03>
...
After elaboration, RTL Compiler has an internally created a data structure for the whole design so you can apply constraints and perform other operations.
Now the question is why technology library files need to be specified, right?
In real-world designs there are macros within a top-level design which are not defined by RTL (typical e.g. is a memory macro). Assume that a top.v file, has an instance of a module 'sub', but the top.v file does not contain a description of module 'sub'. After top.v is parsed, the elaborate command looks for undefined modules, such as 'sub', in the directories specified through the -libpath option. In such library paths the tech. libs. are mentioned. Thus the reading in of tech. lib. files becomes necessary where definitions of such undefined modules are "most likely" to exist. This also justifies why synthesis scripts contain search paths and library paths.
I might have answered what you are looking for and have mentioned whatever I knew about it, don't have a lot of experience with synthesis. I would recommend you read the Cadence "rc_user.pdf" manual or the other RC manuals if you want to have in-depth understanding. They are very informative and can answer most of your questions.