First, it hasn't been pointed out yet that the Notation package has the command AddInputAlias which is in principle designed to do what this question requires. There is even a palette for it.
However, if you want to add several aliases all at once, the manual approach of the Notation package is inconvenient. One way to automate the creation of shortcuts is this:
addInputAliases[rules_List] :=
SetOptions[EvaluationNotebook[],
InputAliases ->
DeleteDuplicates@
Join[rules,
InputAliases /.
Quiet[Options[EvaluationNotebook[], InputAliases]] /.
InputAliases -> {}]
]
Here I query the existing options of the EvaluationNotebook and replace the result by an empty list if there was an error getting the InputAliases option. I do this because when I open a new notebook (from an existing one) in Mathematica version 10, the command Options[EvaluationNotebook[], InputAliases] gives an error which has to be caught.
Now to implement the specific shortcuts in the question, I construct the aliases starting from a list of domains, using the fact that Mathematica already knows the corresponding abbreviations. They are used automatically in TraditionalForm output, so I extract them from that in the list symbols, instead of manually entering them. To construct the input aliases, I apply simple arithmetic to the character codes of the double-struck symbols:
domains = {Complexes, Reals, Algebraics, Rationals, Booleans,
Integers, Primes}
(*
==> {Complexes, Reals, Algebraics, Rationals, Booleans, Integers, \
Primes}
*)
symbols =
Cases[ToBoxes[#, TraditionalForm] & /@ domains,
TagBox[x_, __] :> x, Infinity]
(*
==> {"\[DoubleStruckCapitalC]", "\[DoubleStruckCapitalR]", "\
\[DoubleStruckCapitalA]", "\[DoubleStruckCapitalQ]", "\
\[DoubleStruckCapitalB]", "\[DoubleStruckCapitalZ]", "\
\[DoubleStruckCapitalP]"}
*)
aliases =
Map[(# <> # &),
FromCharacterCode[
ToCharacterCode[#] - ToCharacterCode["\[DoubleStruckCapitalA]"] +
ToCharacterCode["A"]] & /@ symbols]
(* ==> {"CC", "RR", "AA", "QQ", "BB", "ZZ", "PP"} *)
rules =
MapThread[
Function[{alias, domain,
symbol}, (alias ->
TemplateBox[{}, domain, DisplayFunction :> (RowBox[{symbol}] &),
InterpretationFunction :> (RowBox[{domain}] &)])],
{aliases, ToString /@ domains, symbols}];
addInputAliases[rules]
Here are some tests, entered as shown in the image:

Here is how they are interpreted:
I ∈ Reals
(* ==> False *)
I ∈ Complexes
(* ==> True *)
Sqrt[2] ∈ Algebraics
(* ==> True *)
7 ∈ Primes
(* ==> True *)
7 ∈ Integers
(* ==> True *)
The way I defined the double-struck symbols using TemplateBox, they can also be copied from an output cell into a new input cell without losing the intended interpretation.
Naturals, because they are simplyIntegersin Mathematica. – night owl Jun 22 '12 at 07:16