This is most obvious when learning a second language. If you're eg an English speaker learning German vocabulary, you soon notice that you can look at the German words and know what they mean quite easily, but the other way round is significantly more difficult.<p>After learning some vocab you learn that it's barely ever worth the time to even study German->English as English->German is "real" learning while the former just makes you feel like you are.
I work in technical product support and I find this to be a useful framework that captures some important considerations I've dealt with.<p>When I interview candidates and give them a troubleshooting exercise to test their diagnostic skills, some candidates will use what I call the "shotgun" approach - list out a bunch of tests and things to check, but in such a way that the tests don't build on each other and could be performed in any order. This is the sort of approach that works for "tier 1" style support where you're just running down a checklist.<p>The best candidates will use what I call the "iterative" approach - try a test, understand what the outcome implies, and then try another test based on that new knowledge in an act-learn-repeat loop. This shows me that they will be able to handle <i>novel</i> product issues that haven't been seen before and aren't on any checklist.<p>I knew that the latter approach required a stronger mental model, but now I think a more useful framing is that the shotgun approach is about Recognizing and the iterative approach is about Generating. Having this framing is likely to improve my candidate review process and reports.<p>Also, because we only hire folks who demonstrate the capability to use the iterative approach, when I find someone on my team using the shotgun approach with real customers, my assumption is that their mental model of the product/tech involved is insufficient and my response is to help them build up their understanding. I think now I'm also going to try framing this to them as upgrading from Recognizing to Generating and see if that helps.
I made a similar distinction in high school. We used to have 20-question multiple-choice comprehension quizzes on our readings. It was incredibly easy to get 90-100% scores. This is a test of recognition.<p>However, writing a summary or analysis of a text is much more telling of knowledge/understanding. You have to dig a lot deeper. This is recollection.<p>Today, I try to avoid the trap of false confidence that comes from "recognition". To show you know something, you need to put away all of the source materials and write down what you know and see where that takes you.<p>Sorry, this might be a slightly tangential anecdote, but this article made me think back to that.
It's a distinction in machine learning, too: discriminative approaches vs generative approaches, calculating P(Y | X) "learning to assign a classification to a given thing" vs P(X | Y) "learning common features of things with a given classification".
I would say there's a whole spectrum: understanding a proof ("recognizing") is on one end. Rewriting a proof from scratch lies along the spectrum but it's not the other end in my opinion. Can you prove a variation? Could you come up with the proof on your own in the first place?
Sometimes you don't need to have generative knowledge. I can recognise dog and distinguish it from a cat. Tell me to draw one and you'll get a degenerate outline which only remotely resembles a dog.<p>For all my purposes I don't need to learn how to draw.
With music there are many different ways of generating.<p>Some of them are: hearing the song in your head, muscle memory (singing and with different instruments), remembering the chords, being able to play in one key versus any key.<p>To remember a song robustly, it helps to use these different kinds of memory to reinforce each other.