Can anyone give me some good source on how to read proof mode-definitions (an example is given:)
Definition A (ss: FSS) (n:nat)
(s: {s:S | state_is_wf s
/\ RESS.get_element n (proj1_sig ss) = Some s})
: FS.
destruct s. destruct a.
refine (exist _ x _).
apply H.
Defined.
where 'FSS', 'FS' and 'S' are sig types defined earlier. I know what the inidividual tactics 'destruct', 'refine' and 'apply' do, but in a proof term for a definition, I can't read this proof without probably compiling (I cannot compile these files, can only read their source code.) Can anyone either help me with how to read such definitions or point me to some source?