#define mut mutable // problem solved
Please don't waste anyone's time by proposing synonyms for keywords.
Now, as to whether "mutable" as the opposite of "const" is a good idea...
I'm sympathetic to the idea that every keyword should have an inverse. We have both `const` and `mutable` to force constness/nonconstness on data members, for example. We have both `signed` and `unsigned` for integer types. And there have definitely been times and places where I've wished I could tag a local variable to say, "Dang it, watch out! This variable can't be `const` because it'll be mutated in the loop on line 357!" Being able to tag that variable as `mutable` would be pretty neat.
But. Given that mutability is the default in C++ (and as Ville said, that won't ever change), the closest analogue I can think of to the `mutable` keyword would be the `auto` keyword in C and C++03. It meant simply "this variable is on the stack", and was the inverse of extern/static. Since it was the default, basically nobody ever wrote it anywhere: `auto int x;` was better written as just `int x;`. The `auto` keyword was so much ignored by working programmers that it was able to be reclaimed in C++11.
Therefore I would hesitate to introduce any new keyword (or even new place for an old keyword, such as `mutable`) whose purpose is just to be the default. If `auto` is any guide, working programmers will ignore it and then it'll just be dead weight in the standard, ready to be ripped out again in 2023.
If you're really interested in point 3 "would allow for additional Core Guideline analysis", then I recommend starting a new thread or document (maybe here, maybe somewhere else) where you write down exactly what kind of static analysis you're hoping for. What new thing could the static analyzer do if it saw "mut" on a variable or parameter? What new thing could it do with variables or parameters that were neither "mut" nor "const"? If it did these things, how would the programmer's life be improved? Once you've got something concrete there, you could try to convince someone to implement "mut" as an attribute or as a template annotation along the lines of owner<T>:
using mut<T> = T; // analyzer knows that this is a deliberately mutable T
But, as I said, I personally don't know what the static analyzer would do with the above information if it had it. Complain if you didn't mutate the variable? :P (Some analyzers/front-ends can do this today anyway: "unmodified local variable could be declared const" and so on.)
–Arthur