abstraction of expression represented in a repetitive and recursive pattern