Do engines remember previous analysis? Suppose I let the engine analyze a given position (let's say for simplicity the starting position), and then I execute the move suggested by the engine (let's say 1. e4). Then I let the engine analyze the upcoming position (black to move after 1. e4), and after a while I take the move back and let the engine again analyze the original position (the starting position, white to move again), will it:   


utilize the analysis done on this position last time and look wider at each PLY?   
utilize the analysis done on the upcoming position (after I played 1. e4) and possibly reevaluate 1. e4 based on that?
Yes. This is what hash is: it stores previous analysis.


  Hash is a database that stores information about positions previously searched, how deeply they were searched, and what was concluded about them. See also https://www.chessprogramming.org/Hash_Table