@Spike e @Liverpool,
\let non è una definizione, ma crea solo un alias fotografando l’altro token nel momento in cui viene eseguito \let stesso; e serve solo per frare equivalenza fra token;
`
\let\n=10
`
per esempio, rende \n equivalente a 1 e lo zero resta fra i token da leggere.
Nel caso di
`
\let\y\pgfmathresult
`
\y viene reso equivalente alla control sequence \pgfmathresult in quel momento; se \addtoplot ridefinsice \pgfmathresult, \y continua a valere il valore di prima, mentre \def gli assegnerebbe il compito di eseguire \pgfmathresult che, se è stato ridefinito ha una latro sviluppo.
Tutti abbiamo avuto difficoltà iniziali a capire la differenza fra \let e \def, ma una volta capita questa differenza, la si apprezza perché consente di fare cose che con il solo \def non si possono fare, e non si possono fare nemmeno con \edef.