proof by cases and induction on types and sets (used to be specific for HOL);
(*<*)theory fakenat = Main:;(*>*)text{*\noindentThe type \tydx{nat} of naturalnumbers is predefined to have the constructors \cdx{0} and~\cdx{Suc}. It behaves as if it were declared like this:*}datatype nat = 0 | Suc nat(*<*)end(*>*)