I want to know if it's possible to add some sort of label to a theorem such that I can cite it in the future. I know I can do this by writing explicitly the theorem's number every time I need it, but if you move the theorem to another section then you have to manually correct each reference you have made to that theorem, and this becomes very time consuming and, even, confusing. I want something that does this for me so I don't have to worry about it.
Also, if this is possible I would like to know how to do it with definitions and notes also.