opinions differ on this matter.
amsthm treats each theorem-class object as a separate unit, beginning and ending with a paragraph break. depending on the
\theoremstyle (three are predefined), there may or may not be extra space above or below. the text that starts immediately after a theorem-class object is always assumed to start a new paragraph, and unless that is overridden, it will be indented; this is true whether or not a blank line is present (but for ease of reading the input file, a blank line is recommended.)
the same paragraphing convention is true for the
proof environment of
amsthm; however, here there is also the extra visual cue of the "tombstone" at the end, as well as extra space above and below.
for details, have a look at the
amsthm user's guide --