# Is there an algorithm to find whether 2 combinators form a Turing-complete system?

It is known that K = (λx.(λy.x)) and S = (λx.(λy.(λz.((x z) (y z))))) define a turing complete system, and we know procedures to map back and forth from lambda calculus to SK calculus. Now, given two arbitrary combinators, A and B in the set of valid lambda terms, is there an algorithm that will answer whether those combinators define a turing-complete system, and what is the corresponding mapping between a lambda term and those combinators? If not, is there such an algorithm with additional restrictions on the shape of A and B (say, its depth), that could be effectively used to find systems that are similar to SK?

• Your question is ill-posed, and once it gets fixed it is not research-level. How are the combinators specified, by equations? If so, then there won't be an algorithm because a special case of what you're asking for will be the undecidable semigroup word problem. – Andrej Bauer Nov 13 '14 at 7:52
• @Viclib: I think you need to fix your manners too. – Dave Clarke Nov 13 '14 at 18:33
• It's a perfectly valid question for cstheory. The word problem for (semi-)groups is probably not known in detail to most theoretical computer scientists and is not usually covered in undergraduate texts on group theory. The applicability of word problems to combinators would also be unclear to most CS folk. – Martin Berger Nov 14 '14 at 8:53
• Isn't this undecidable simply because of Rice's theorem? – Emil Jeřábek Nov 14 '14 at 11:33
• Whether Andrej is right or not about the question, I don't think he was "agressive". There was no emotion in his comment, just a technical opinion about a question not being well-posed. Viclib, if you don't know enough about your question to know if it is research level, you should ask it at CS.stackexchange.com – Sasho Nikolov Nov 16 '14 at 21:59