Function Mapping: What does $FunctionName: Domain\rightarrow 2^{something}$ mean?

38 Views Asked by At

I hope you are all doing well!

I am taking two courses in theoretical computer science, and in both courses I have come across a notation that I am unfamiliar with. It is of the form: $FunctionName: Domain\rightarrow 2^{something}$

For example, in this image the function called sat maps from the set of propositional formulas to $2^{Assign}$, where $Assign$ is the set of all assignments.

And in this image, the function $Kill_{LV}$ maps each fragment from the set of all fragments to a set of variables that are affected by the fragment. This image is from a course on Formal methods, where $Var$ is a set containing all input, output and state variables which can all take on numeric, boolean or bit-string values.

I am sorry if this is a very basic question, but it has been a while since I have taken a course on mathematics and notations.

I would be extremely grateful if someone could please explain to me what the $2^{Something}$ (in the pictures as $2^{Assign}$ or $2^{Var}$) part of the notation means.

Thank you very much!

Best Regards

1

There are 1 best solutions below

0
On

Given a set $S$ then $2^S$ usually denotes the powerset of $S$. That is the set of all subsets of $S$. Equivalently it can also mean the set of all functions $S \longrightarrow \{0,1\}$.