# Today I Learned

Some of the things I've learned every day since Oct 10, 2016

## 202: The XY Problem

The ambiguously-named XY Problem is a meta-problem at the intersection of communication and problem solving, common in places like technical support and Stack Exchange. Essentially, it’s what can happen when you ask how to implement a chosen solution to a problem rather than ask how to solve the problem itself.

Suppose a person A is trying to solve a problem X, and is attempting to solve it via another problem Y. (An equivalent view is that A is trying to do X by doing Y.) To this end, they ask person B for help with solving problem Y, but do not give B the context of why they want to solve Y, i.e. what they intend to use Y for.

Now suppose solving Y is an inefficient or otherwise bad way of going about solving X, or maybe not a valid way at all. B has no idea of this and will nevertheless waste time and possibly other resources helping A solve Y, which may or may not do any good in the end.

[If this is too abstract, there are a lot of good examples in this post.]

Clearly the better meta-solution here is for A to give the context of why they want to solve Y, thereby allowing B to infer that the real problem is X and instead helping A solve that.

Moral of the story: context is important when asking for help. If you’re the asker you should try and provide it, and if you’re the asked you should ask questions to make sure you’re really dealing with the root problem.

Consider $\mathbb{N}$ as an $\mathcal{L}$-structure, where
$\mathcal{L} = \{+, \cdot, 0, 1\}$.
Then the full $\mathcal{L}$-theory of $\mathbb{N}$ — the set of $\mathcal{L}$ sentences satisfied by $\mathbb{N}$ — is undecidable. That is, there’s no algorithm that, given an $\mathcal{L}$ sentence $\varphi$, will always halt and return whether or not $\mathbb{N} \vDash \varphi$.