It's a widely-known fact that any LL(1) grammar is also LR(1), but I can't seem to find a rigorous proof of this anywhere. I've heard some high-level overviews of the proof (for example, that since an LL(1) grammar has its productions determined from just one token at a time while LR(1) grammars can have much more input scanned before a decision is made). However, after consulting two textbooks on compilers and parsing and doing a quick Google search, I can't seem to track down a more formal proof of this fact.
Does anyone know this proof, or at least where to find it?