section ‹Proof chains› theory Proofchain imports JHelper begin text ‹An (@{typ 'a}, @{typ 'c}) chain is a sequence of alternating @{typ 'a}'s and @{typ 'c}'s, beginning and ending with an @{typ 'a}. Usually @{typ 'a} represents some sort of assertion, and @{typ 'c} represents some sort of command. Proof chains are useful for stating the SMain proof rule, and for conducting the proof of soundness.›