Одной из проблем является то,
Одной из проблем является то, что с этими определениями знакомы немногие (и в любом случае, как мне кажется, смысл инжекции и сюръекции трудно запомнить). Другая же проблема – довольно неприятная! – состоит в том, что эти термины не покрывают все случаи. Еще одной проблемой является то, что, по крайней мере, термин функция часто используется в очень неточной манере, несмотря на наличие точного определения, что повышает вероятность неправильного понимания.
Аналогичные замечания применимы к терминам один-к-одному «на» (и «в») и многие-к-одному «на» (и «в»). Я отмечал, что у каждого из терминов соответствие один-к-одному, соответствие многие-к-одному, соответствие один-ко-многим и соответствие многие-ко-многим имеется три неточных интерпретации, а также одна точная интерпретация. Поэтому я думаю, что и этих терминов следует избегать, за исключением тех случаев, где неправильное понимание невозможно (вы можете поразмышлять над тем, существуют ли такие случаи). Конечно, я вообще бы не стал бы использовать такие термины, как «соответствие один-ко-многим Типа 2»! Как и термины типа «случай 3.2» и т.д., я использовал эти термины только потому, что старался в целях анализа наложить на предмет изучения систематическую структуру. Я был очень удивился, если для вас не составило труда запомнить, что все это означает.
Ну и какие же нам термины использовать? Я думаю, что нам следует использовать термины, являющиеся абсолютно явными – формируя такие фразы как «от нуля или одного к одному или большему числу», – если они действительно означают то, что мы имеем в виду, а не использовать аппроксимации типа «один-ко-многим», надеясь при этом, что публике известно, что в данном случае «один» включает случай нуля, а «многие» – нет. Итак, вот термины, которыми я бы рекомендовал пользоваться. Заметим, что они напрямую происходят из аннотации к рис. 2. Замечу также, что в этом списке я использую и терминологию «случая 3.2» и т.д.! – но, надеюсь, это в последний раз.