Is the Inverse Image of a Computable Function Recursively Enumerable?

In summary, the sets ƒ(A) and ƒ-1(A) can both be recursively enumerable if ƒ-1 is a computable function. Examples of computable functions that prove this are the functions that deliver the result of max(0,x-1), x+1, x, and 0. However, if ƒ-1 is not computable, then the second set will not be recursively enumerable. There is still debate on whether all functions from ℕ → ℕ have computable inverses, but having a computable inverse is the same as the image of the inverse being RE.
  • #1
Bedrich
6
1
Hello, I am stuck on deciding if given sets are recursive or recursively enumerable and why. Those sets are:
set ƒ(A) = {y, ∃ x ∈ A ƒ(x) = y}
and the second is
set ƒ-1(A) = {x, ƒ(x) ∈ A}
where A is a recursive set and ƒ : ℕ → ℕ is a computable function.

I am new to computability theory and any advice would be highly appreciated.
 
Physics news on Phys.org
  • #2
They can both be recursively enumerable, for instance if ##f^{-1}## is a computable function (note that, strictly speaking, ##f^{-1}## is a function from N to the power set of N, ie the set of subsets of N). Examples are the functions that deliver result ##\max(0,x-1), x+1, x## and ##0##.

But if ##f^{-1}## is not computable, the second set will not be RE. Do all functions from N to N have computable inverses?
 
  • Like
Likes berkeman
  • #3
andrewkirk said:
They can both be recursively enumerable, for instance if ##f^{-1}## is a computable function (note that, strictly speaking, ##f^{-1}## is a function from N to the power set of N, ie the set of subsets of N). Examples are the functions that deliver result ##\max(0,x-1), x+1, x## and ##0##.

But if ##f^{-1}## is not computable, the second set will not be RE. Do all functions from N to N have computable inverses?
Thank you for your answer. Can you please clarify the examples of functions. I can't really imagine how they could prove that ƒ-1 is recursively enumerable. There is nothing said about that functions from ℕ → ℕ have computable inverses.
 
  • #4
Bedrich said:
Thank you for your answer. Can you please clarify the examples of functions. I can't really imagine how they could prove that ƒ-1 is recursively enumerable. There is nothing said about that functions from ℕ → ℕ have computable inverses.
Having a computable inverse is the same as the image of the inverse being RE.

Consider the function ##f:\mathbb N\to\mathbb N## such that ##f(x)=x+1##. The inverse function is ##f^{-1}:\mathbb N\to 2^\mathbb N## such that ##f^{-1}(x)=\{x-1\}## if ##x>0##, and ##f^{-1}(0)=\{0\}##.

The image of function ##f^{-1}## is ##S=\{\{x\}\ :\ x\in \mathbb N\}##. This is recursively enumerable if there exists an algorithm that enumerates the members of ##S##. Such an algorithm is:

x:=0;
while TRUE do
print(cat("{",x,"}"));
x := x+1;
end;​

where 'cat' is the string concatenation function.

Hence ##S## is RE.
 

What is recursion?

Recursion is a programming technique where a function calls itself until a specific condition is met. This allows for repetitive tasks to be solved in a more elegant and concise manner.

How do you determine if a set is recursive?

To determine if a set is recursive, you can look for patterns within the set and see if there is a repetitive structure. If the set can be defined in terms of itself, it is likely recursive.

What is the difference between recursive and iterative solutions?

Recursive solutions involve a function calling itself until a base case is reached, while iterative solutions use loops to repeat a set of instructions until a condition is met. Recursive solutions are often more concise but can be less efficient compared to iterative solutions.

What are the advantages of using recursive functions?

Recursive functions can solve complex problems more easily and concisely compared to iterative solutions. They also make use of the call stack, which can be useful for certain applications.

What are some common pitfalls when working with recursive functions?

One common pitfall is creating an infinite loop within the function, leading to a stack overflow error. It can also be difficult to debug and understand the flow of a recursive function, so careful planning and testing is necessary.

Similar threads

  • Set Theory, Logic, Probability, Statistics
Replies
3
Views
1K
  • Calculus and Beyond Homework Help
Replies
7
Views
2K
  • Programming and Computer Science
Replies
1
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
14
Views
3K
  • Set Theory, Logic, Probability, Statistics
Replies
6
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
27
Views
3K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
11
Views
4K
  • Precalculus Mathematics Homework Help
Replies
10
Views
880
Back
Top