Hello,
Theoretically, RTs can be used without RDs.
However, RT is not a simple number. It is usually a list. In addition, RT is a route attribute and is not placed together with the IP prefix. Therefore, it is difficult to compare RTs. Especially, the Routewithdraw message of BGP does not carry any attribute. In this case, the received route does not have the RT. As a result, two identical routes are withdrawn.
Similarly, in theory, it is possible to use only RDs without RTs.
The RD can implement the RT function, but the RD is not flexible. (When two VRFs of the same PE need to communicate with each other, only using RD cannot implement the function.)