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
,?THING
and so forth with inference variables like?var0
,?var1
, etc.