Minh, I think you have got most of it, but likely not quite 100%. For example, whether covered=yes is or isn’t included on a location=roof could go either way, depending on the laziness or vigilance of the author / tagger: don’t make assumptions about the other tag if/as one of these tags is missing.

And, the where and how of indoor=yes is logically explained by you here (in a bit of a hand-wavy, not entirely clear, but intended-to-be-helpful way) but the geometry of how exactly that might be tagged / accomplished in actuality (in our map database) doesn’t seem easy to explain. Except in a “well, you know what I mean” kind of way, which is helpful for a first draft, but could use improvement.

But yes, all in all, I understand @dieterdriest’s ideas about indoor the same ways it seems all three of us do, too. And yes, layer and level must each be used carefully in places like large underground train stations (think Les Halles in Paris); the more subtle aspects of this are documented elsewhere.

With our words, we can often describe things more fully, but it is also often the case we can imagine exceptions. I have found it is not always the case we can describe things “always.” We get close, though, as you have done here. But rules are not always finite or completely describe everything.