How to Validate a Problem Lineage
Validation is how you avoid wasting time on misproblems—perceived problems that lack genuine desire. By checking that your lineage is logically coherent and confirming that each desire is real, you ensure your efforts are directed at problems that truly matter. Validation also transforms potential problems (solutions) into actual problems when the sentient entity’s desire is confirmed.
- Validate a Problem’s structure.
- Validate a Problem Lineage’s logical coherence.
- Validate a Problem Lineage's desires.
How to Validate a Problem’s Structure
A Problem is valid for logical coherence only if it’s structured atomically and does not conflate Problems.
The atomic Problem test
All Problems should be atomic: one sentient entity, one thing, and one potential state.
If any component is compound, split it into multiple Problems.
- Compound sentient entity: e.g., “parents and kids”
- Compound thing: e.g., “receipts and spending data”
- Compound potential state: e.g., “clear and consent-based”, “private and secure”
A quick check is whether you can naturally insert “and/or” into any component. If you can, you likely need multiple Problems.
The no embedded Parent Problem test
A Problem should not be embedded inside another Problem.
If a Problem includes purpose language such as:
- “so that…”
- “so we can…”
- “in order to…”
- “to be able to…”
- “which allows…”
...then it likely contains an embedded Parent Problem.
To fix this, remove the purpose clause from the Problem and rewrite it as a Parent Problem.
How to Validate a Problem Lineage’s Logical Coherence
A lineage’s logical coherence is the degree to which each Child Problem is a means to its Parent Problems’ ends, rather than merely conceptually related.
To validate this, every Child-to-Parent Problem Lineage connection should pass the following tests:
The means-to-ends test
Write the connection as a single statement using this formula:
[child problem’s sentient entity] want(s) [child problem’s thing] [child problem’s potential state] because [parent problem’s sentient entity] want(s) [parent problem’s thing] [parent problem’s potential state], so that [parent problem’s thing] [parent problem’s potential state] becomes more likely.
If you can’t make this read naturally as a true reason, the connection is likely incorrect, inverted, or missing intermediate Problems.
The counterfactual dependency test
Test whether the Child Problem truly depends on the Parent Problem by writing—and then answering—this question using this formula:
If [parent problem’s sentient entity] did not want [parent problem’s thing] [parent problem’s potential state], would [child problem’s sentient entity] still want [child problem’s thing] [child problem’s potential state]?
- If no (or “much less”), the Parent Problem is likely a valid reason.
- If yes, the Child Problem likely belongs under a different Parent Problem, is a separate Root Problem, or the lineage is missing intermediate Problems that connect the two.
How to Validate a Problem Lineage's Desires
Validating a Problem Lineage's desires is how you avoid wasting time. It is also the activity that turns potential problems (solutions) into problems because the sentient entity’s desires go from potential to real.
To validate a Problem Lineage's Desires:
- Write a question for each problem or potential problem using this formula:
Does/Do [sentient entity] truly want [thing] [potential state]? - Answer each by gathering evidence—likely through interviewing the sentient entity (an individual or someone with authority to speak on behalf of a group of people).
- If you invalidate the desire, the problem no longer exists and can be removed from the lineage.
Problem Lineage Example
- Sally wants John's car to run smoothly.
Does Sally truly want John’s car to run smoothly? Yes
Icon Reference:
- = Initially Identified Problem
- = Validated Problem
- = Question
