В математике выражение называется четко определенным или однозначным, если его определение придает ему уникальную интерпретацию или ценность. В противном случае говорят, что выражение не определено четко, нечетко или неоднозначно. Функция считается хорошо определенной, если она дает тот же результат, когда представление ввода изменяется без изменения значения ввода. Например, если f принимает действительные числа в качестве входных данных, и если f (0.5) не равно f (1/2), то f не является четко определенным (и, следовательно, не является функцией). Термин "четко определенная" также может использоваться для обозначения того, что логическое выражение является однозначным или непротиворечивым.
Функция, которая не является четко определенной, не то же самое, что функция, которая является неопределенной. Например, если f (x) = 1 / x, то тот факт, что f (0) не определен, не означает, что f не определен правильно - но что 0 просто не находится в области определения f.
Пусть быть множествами, пусть и "определить" как если и если .
Тогда хорошо определено, если . Например, если и , тогда будет четко определено и равно .
Однако, если , тогда не будет четко определен, потому что "неоднозначно" для . Например, если и , тогда должно быть как 0, так и 1, что делает это неоднозначным. В результате последний не является четко определенным и, следовательно, не является функцией.
Чтобы избежать апострофов вокруг «определить» в предыдущем простом примере, «определение» можно разбить на два простых логических шага:
Хотя определение на шаге 1 сформулировано со свободой любого определения и, безусловно, эффективно (без необходимости классифицировать его как «четко определенное»), утверждение в необходимо доказать шаг 2. То есть, является функционировать тогда и только тогда, когда , и в этом случае - как функция - четко определена. С другой стороны, если , то для , у нас будет и , что делает бинарное отношение не работает (как определено в Бинарное отношение # Специальные типы бинарных отношений ) и, следовательно, не определен как функция. В просторечии «функция» также называется неоднозначной в точке (хотя согласно определению никогда не «неоднозначная функция»), а исходное «определение» бессмысленно. Несмотря на эти тонкие логические проблемы, довольно часто используется предварительное использование термина «определение» (без апострофов) для «определений» такого рода по трем причинам:
Вопрос о корректности определения функции классически возникает, когда определяющее уравнение функции относится не (только) к самим аргументам, но (также) к элементам аргументов. Это иногда неизбежно, если аргументы являются смежными классами, а уравнение относится к представителям смежных классов.
Например, рассмотрим следующую функцию
где и являются целые числа по модулю m и обозначают класс конгруэнтности числа n мод м.
NB: - ссылка на элемент и является аргументом .
Функция четко определена, потому что
В частности, термин хорошо- defined используется в отношении (двоичных) операций на смежных классах. В этом случае можно рассматривать операцию как функцию двух переменных, и свойство быть четко определенным такое же, как и для функции. Например, сложение целых чисел по модулю некоторого n может быть определено естественным образом в терминах сложения целых чисел.
Тот факт, что это хорошо определено, следует из того факта, что мы можем записать любого представителя как , где - целое число. Следовательно,
и аналогично для любого представителя , тем самым делая одинаково независимо от выбора представителя.
Для действительных чисел произведение однозначно, поскольку (и, следовательно, обозначение называется корректно определенным). Это свойство, также известное как ассоциативность умножения, гарантирует, что результат не зависит от последовательности умножений, поэтому спецификацию последовательности можно опустить.
Операция вычитания, с другой стороны, не ассоциативна. Однако существует соглашение (или определение), согласно которому операция понимается как добавление аддитивного обратного, таким образом, совпадает с , и поэтому "четко определен".
Раздел также неассоциативен. Однако в случае соглашение не так хорошо установлено, поэтому это выражение считается плохо определенным .
В отличие от функций, неоднозначности обозначений можно более или менее легко преодолеть с помощью дополнительные определения (например, правила приоритета, ассоциативность оператора). Например, в языке программирования C оператор -
для вычитания является ассоциативным слева направо, что означает, что abc
определяется как (ab) -c
, а оператор =
для присваивания является ассоциативным справа налево, что означает, что a = b = c
определяется как а = (б = с)
. В языке программирования APL есть только одно правило: от справа налево - но сначала скобки.
Решение уравнения в частных производных считается хорошо определенным, если оно определяется граничными условиями непрерывным образом, как граничные условия изменены.