Подтвердить что ты не робот

Как называется это обобщение идемпотенции?

Множество общедоступных свойств функций имеют краткие имена. Например, ассоциативность, коммутативность, транзитивность и т.д.

Я создаю библиотеку для использования с QuickCheck, которая предоставляет сокращенные определения этих свойств и другие.

У меня есть вопрос о idempotence унарных функций. Функция f является идемпотентной iif ∀x. f x == f (f x).

Существует интересное обобщение этого свойства, для которого я изо всех сил пытаюсь найти такое же краткое имя. Чтобы избежать смещения названий людей, предложив их, я назову его P и дадим следующее определение:

Функция f обладает свойством P относительно g iif ∀x. f x == f (g x). Мы можем рассматривать это как обобщение идемпотентности путем переопределения идемпотентности в терминах P. Функция f является идемпотентной, если она обладает свойством P по отношению к себе.

Чтобы убедиться, что это полезное свойство, обратите внимание, что оно оправдывает правило перезаписи, которое может использоваться для реализации ряда общих оптимизаций. Это часто, но не всегда возникает, когда g является своего рода функцией канонизации. Некоторые примеры:

  • length является P относительно map f (для всех вариантов f)
  • Преобразование в CNF является P относительно преобразования в DNF (и наоборот)
  • Нормализация Unicode для формирования NFC - это P относительно нормализации для формирования NFD (и наоборот)
  • minimum является P относительно nub

Что бы вы назвали этим свойством?

4b9b3361

Ответ 1

Можно сказать, что map f является length -preserving или что length инвариантно относительно map f ing. Итак, как насчет:

  • g является f-сохранением.
  • f инвариантно относительно (применения) g.