The idea is to generate a lemma based on the left-hand-side provided by the user. This feature is essential for supporting the derived inductive datatype constructors.