Ответ 1
Можно сказать, что map f
является length
-preserving или что length
инвариантно относительно map f
ing. Итак, как насчет:
- g является f-сохранением.
- f инвариантно относительно (применения) g.
Множество общедоступных свойств функций имеют краткие имена. Например, ассоциативность, коммутативность, транзитивность и т.д.
Я создаю библиотеку для использования с 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)minimum
является P относительно nubЧто бы вы назвали этим свойством?
Можно сказать, что map f
является length
-preserving или что length
инвариантно относительно map f
ing. Итак, как насчет: