The Canonicalizer proper is the main part of the Canonicalization subsystem: the part of the Cyc system that takes in EL expressions and converts them to HL expressions.
- Two different, but logically equivalent, CycL sentences are transformed into the same HL sentence by the Canonicalizer.
 - On its way to being stored in the Cyc KB, a CycL sentence that is asserted passes through the Canonicalizer, which can re-order arguments of commutative relations, re-order the literals of rules, and perform various other rewrites to assure that (1), above, holds.
 - On its way to being processed by the Cyc Inference Engine, a CycL query sentence passes through the Canonicalizer, which performs the rewrites mentioned above and also replaces CycL variables like 
?X,?THINGand so forth with inference variables like?var0,?var1, etc.