там конструируется по шагам удобное определение конечности типа и потом поверх этого строится алгоритм перебора, которым можно решать комбинаторные задачи
Кстати вот в статье что выше скинули приведён пример определения именно такой как я в детстве об этом думал. Более умными словами конечно. Целые числа как классы эквивалентности разностей натуральных.