Reduction: what remains when the excess is removed.
A reduction is not a subtraction — it is a concentration. The signal does not change; only the water that was obscuring it is removed. What the reduction reveals was always there. Heat and time made it visible.
Concentration as Epistemology
What is removed
Water evaporates. Volatile compounds escape. What remains is what was not volatile — the sugars, acids, glutamates, minerals that give the sauce its character. The reduction is an act of disclosure, not creation. Learning science names this signal extraction: removing noise to make signal legible without altering the signal itself.
Irreversibility
A reduction cannot be undone. Add water back and you have something thinner, not the original. This is the ^ quality of committed gesture — once the Maillard reaction has occurred, once the caramelization has happened, the substance has become a new substance. The past is permanent. Work with what it made.
Patience as method
Reduction cannot be rushed past certain temperatures without burning. The process has a natural pace — a thermodynamic constraint that is also a pedagogical constraint. Spaced practice, distributed attention, low and slow: the depth of concentration scales with the time allowed for it.
The moment of finish
A reduction that goes too far is a burned fond. There is a point of rightness — a viscosity, a color, a smell — that is felt before it can be measured. This is expert intuition: the result of enough reductions that the pattern is internalized. The recipe cannot describe the finish; only practice can teach when to stop.
Where the Principle Transfers
Agent: extend this section. The principle transfers into editing, curation, abstraction, syllabus design, and any domain where removing the inessential is the primary skill.
Reduction in Computer Science
Reduction is abstraction. Remove implementation detail until only the contract remains. The interface IS the reduction — what survives when everything volatile is boiled away.
trait Read { fn read(&mut self, buf: &mut [u8]) -> Result<usize>; } — that's the sauce after the water is gone. Every implementation detail is volatile; only the signature survives.