DRMacIver's Notebook
Seeking out existence proofs in everyday life
Seeking out existence proofs in everyday life
When trying to solve a problem, it is worth separating out two things:
- Can I solve this problem to a level that is useful?
- Is it even possible to solve this problem at all?
An example that I think of a lot is Hypothesis and the way it integrates test-case reduction into generation. The idea isn’t novel to me, although some of the details and most of the engineering are, but unlike previous attempts at achieving this sort of integrated test-case reduction it actually worked.
The thing that allowed me to do it was that I knew something like it could work, because I had already demonstrated that the thing that it was doing was possible with a previous, much worse, version.
I am slightly embarrassed at having shipped that version to production. It was awful. It was buggy, overcomplicated, and offence against good taste. But it worked, and that gave me both the knowledge that what I was trying to do could be done, and helped me get a rough sense of that.
Another example: Skill development. I was talking to a friend who does climbing, and she was relating an experience she had at practicing jumps during climbs. This was one of the big constraints on her skill growth, because she’s quite short so needed to be able to jump to traverse some routes, and she wasn’t making progress on it. Eventually she realised that part of the problem was that actually she had literally just never jumped and caught something and supported her whole weight on it, and she was worried about it hurting or even dislocating her arms (not a rational fear, which she knew, but an understandable one). So she practiced jumping and grabbing on to a pullup bar. Turns out, arms are pretty robust, and now she knew the thing she was trying to do was possible.
Yet another example: Emotional range is a thing that I’m working on. Mine is quite restricted, and I don’t like it. Turns out “restricted emotional range” is a long way of saying “depression”. So I’m working on the skill of having emotions (yes it’s a skill, shut up). But this is hard if you don’t know what emotions are supposed to feel like, so it’s worth doing a bit of experimenting in order to try to induce specific emotional states. Cuddle a cat and really narrow in on what that’s like to experience contentment, play untitled goose game to experience malicious glee, get really high to experience joy (disclaimer: First travel to somewhere where weed is legal. May I recommend Amsterdam if you’re in Europe? But don’t be a dick about it. They’re bored of high tourists). These are not sustainable ways to experience those emotions all the time, but they’re great for demonstrating to you that it is possible to feel those emotions, which is great for being able to find your way back to them the hard way (and can be refreshed every now and then if you forget what it’s like).
I think of these things as existence proofs, because I’m a maths nerd. They don’t help you construct a specific example, but they let you know that such an example must exist, and that you’re not wasting your time chasing something that is logically impossible.
You can also think of it as looking for feasible solutions in an optimisation problem (or a satisficing problem). First, solve the problem any which way, then worry about improving that solution into one you’d actually be happy to use.