“…For example, a number of data structures, such as the String and the Tree data structures, as well as regular expressions, context-free grammars, and programming languages are usually defined recursively [17,24], and to prove their properties, proof by induction is needed. Regular expressions, context-free grammars, and the Tree data structure have a wide variety of applications in computer science, two of which are compiler construction and text-search applications [2,6,17]. Furthermore, recursive/inductive definitions and proofs by induction are also central to many other areas of computer science, such as program verification [8,16], program efficiencytime complexity [10], and correctness of algorithms-be they recursive or non-recursive [4,10,19,24].…”