I mostly agree with David,especially that proofs should be clear, comprehensible and as short as possible. I do not fully agree with having more definitions in general. Definitions should be globally meaningful, and not only abbreviations for a single proof/theorem (or a limited group of theorems). In the context of the Cayley-Hamilton theorem, for example, there is an important function I called "characteristic factor function":
G = ( n e. NN0 |-> if ( n = 0 , ( .0. .- ( ( T `` M ) .X. ( T `` ( b `` 0 ) ) ) ) , if ( n = ( s + 1 ) , ( T `` ( b `` s ) ) , if ( ( s + 1 ) < n , .0. , ( ( T `` ( b `` ( n - 1 ) ) ) .- ( ( T `` M ) .X. ( T `` ( b `` n ) ) ) ) ) ) ) )
Although having a definition for it would make many proofs in the context of the Cayley-Hamilton theorem clearer, I think there should be no definition using an $a statement for this funtion, because it is unlikely that this function is used elsewhere. On the other hand, I think definitions could (and should) be used more often than in the past.
Concerning splitting proofs in smaller parts, I identified already some interesting, general "theorems" currently embedded in proofs during my work. I plan to extract them (I've just begun with it, see my latest contributions), so that they are generally available, and the corresponding proofs can be shortened. I plan another contribution with such "extracted" proofs in the next days.
Finally, I want to point to the two variants (of proofs) of the Cayley-Hamilton theorem: ~ cayleyhamilton (revised version, using ~ cayleyhamilton0 ), where the $e-Statement definitions used by the lemmata are kept - making the proof more readable, and ~ cayleyhamiltonALT , the original version with the $e-Statement definitions expanded, resulting in very long and not readable lines within the proof. Maybe these theorems can serve as example for the ongoing discussion about how to use definitions.
-- Alexander