Proving a function (provided as an algorithm) is bijective.

505 Views Asked by At

Suppose one has an algorithm which takes an object to produce another. Specifically in my case taking a network (graph) and producing another network through a number of non-trivial processes, i.e., we have a function $f: G_1 \to G_2$ where $G_1$ and $G_2$ are the sets of the different graphs with $G_1 \cap G_2 = \emptyset$.

How can one prove (if possible) that $f$ is bijective? Is it simply sufficient to provide an inverse algorithm? The steps of the algorithm are difficult to formalise mathematically which is where the standard approach of showing $f$ is 1-1 and onto breaks down.

1

There are 1 best solutions below

0
On BEST ANSWER

Assume that the domain of your algorithm $f$ is a clear cut set $G_1$, and that $f$ produces for each $x\in G_1$ an element $f(x)\in{\cal G}$, whereby ${\cal G}$ is a large set of objects having certain properties. This $f$ is then a surjective map of $G_1$ onto the set $G_2:=f(G_1) \subset{\cal G}$. If you can prove that $f$ is also injective, i.e., that $x\ne y$ implies $f(x)\ne f(y)$, then $f$, considered as a map $f:\>G_1\to G_2$, is automatically bijective, and it is not necessary to present an explicit inverse.

If, however, $G_2$ is given in advance independently of $f$, and you only know that $f(x)\in G_2$ for any $x\in G_1$ then you have to prove the surjectivity of $f$ as well. This means that you have to show that you can find for each $y\in G_2$ an $x\in G_1$ with $f(x)=y$.

An important example at hand is the Laplace transform ${\cal L}$: It is defined for functions $f:\>{\mathbb R}_{\geq0}\to{\mathbb C}$ which increase at most exponentially with $t$. Nobody cares about the exact range, let alone image set, and there is no useful "inversion formula", but the fact that this ${\cal L}$ can be proven to be injective is absolutely central to the Laplace-transform-calculus.