# Fungrim entry: d2714b

Symbol: UniqueZero $\mathop{\operatorname{zero*}\,}\limits_{x \in S} f(x)$ Unique zero (root) of function
UniqueZero(f(x), ForElement(x, S)), rendered $\mathop{\operatorname{zero*}\,}\limits_{x \in S} f(x)$, represents the unique value $x \in S$ satisfying $f(x) = 0$.
This operation is undefined if such a value does not exist or is not unique.
UniqueZero(f(x), ForElement(x, S), P(x)), rendered $\mathop{\operatorname{zero*}\,}\limits_{x \in S,\,P(x)} f(x)$, represents the unique value $x \in S$ satisfying $P(x)$ and $f(x) = 0$.
UniqueZero(f(x), For(x), P(x)), rendered $\mathop{\operatorname{zero*}\,}\limits_{P(x)} f(x)$, represents the unique value $x$ satisfying $P(x)$ and $f(x) = 0$.
UniqueZero(f(x, y), For(Tuple(x, y)), P(x, y)), rendered $\mathop{\operatorname{zero*}\,}\limits_{P\left(x, y\right)} f\!\left(x, y\right)$, represents the unique tuple $\left(x, y\right)$ such that $P\!\left(x, y\right)$ and $f\!\left(x, y\right) = 0$, and similarly for any number $n \ge 2$ of variables.
The special expression For(x) or ForElement(x, S) declares x as a locally bound variable within the scope of the arguments to this operator. If For(x) is used instead of ForElement(x, S), the corresponding predicate $P(x)$ must define the domain of $x$ unambiguously; that is, it must include a statement such as $x \in S$ where $S$ is a known set. Similarly, For(Tuple(x, y)), For(Tuple(x, y, z)), etc. defines multiple locally bound variables which must be accompanied by a multivariate predicate $P\!\left(x, y\right)$, $P\!\left(x, y, z\right)$, etc.
Definitions:
Fungrim symbol Notation Short description
UniqueZero$\mathop{\operatorname{zero*}\,}\limits_{x \in S} f(x)$ Unique zero (root) of function
Source code for this entry:
Entry(ID("d2714b"),
SymbolDefinition(UniqueZero, UniqueZero(f(x), ForElement(x, S)), "Unique zero (root) of function"),
Description(SourceForm(UniqueZero(f(x), ForElement(x, S))), ", rendered", UniqueZero(f(x), ForElement(x, S)), ", represents the unique value", Element(x, S), "satisfying", Equal(f(x), 0), "."),
Description("This operation is undefined if such a value does not exist or is not unique."),
Description(SourceForm(UniqueZero(f(x), ForElement(x, S), P(x))), ", rendered", UniqueZero(f(x), ForElement(x, S), P(x)), ", represents the unique value", Element(x, S), "satisfying", P(x), "and", Equal(f(x), 0), "."),
Description(SourceForm(UniqueZero(f(x), For(x), P(x))), ", rendered", UniqueZero(f(x), For(x), P(x)), ", represents the unique value", x, "satisfying", P(x), "and", Equal(f(x), 0), "."),
Description(SourceForm(UniqueZero(f(x, y), For(Tuple(x, y)), P(x, y))), ", rendered", UniqueZero(f(x, y), For(Tuple(x, y)), P(x, y)), ", represents the unique tuple", Tuple(x, y), "such that", P(x, y), "and", Equal(f(x, y), 0), ", and similarly for any number", GreaterEqual(n, 2), "of variables."),
Description("The special expression", SourceForm(For(x)), "or", SourceForm(ForElement(x, S)), "declares", SourceForm(x), "as a locally bound variable within the scope of the arguments to this operator. ", "If", SourceForm(For(x)), "is used instead of", SourceForm(ForElement(x, S)), ", the corresponding predicate", P(x), "must define the domain of", x, "unambiguously; that is, it must include a statement such as", Element(x, S), "where", S, "is a known set. Similarly,", SourceForm(For(Tuple(x, y))), ", ", SourceForm(For(Tuple(x, y, z))), ", etc.", "defines multiple locally bound variables which must be accompanied by a multivariate predicate", P(x, y), ", ", P(x, y, z), ", etc."))

## Topics using this entry

Copyright (C) Fredrik Johansson and contributors. Fungrim is provided under the MIT license. The source code is on GitHub.

2021-03-15 19:12:00.328586 UTC