  HEX-programs are an extension of answer set programs (ASP) with external
sources. To this end, external atoms provide a bidirectional interface between
the program and an external source. The traditional evaluation algorithm for
HEX-programs is based on guessing truth values of external atoms and verifying
them by explicit calls of the external source. The approach was optimized by
techniques that reduce the number of necessary verification calls or speed them
up, but the remaining external calls are still expensive. In this paper we
present an alternative evaluation approach based on inlining of external atoms,
motivated by existing but less general approaches for specialized formalisms
such as DL-programs. External atoms are then compiled away such that no
verification calls are necessary. The approach is implemented in the dlvhex
reasoner. Experiments show a significant performance gain. Besides performance
improvements, we further exploit inlining for extending previous (semantic)
characterizations of program equivalence from ASP to HEX-programs, including
those of strong equivalence, uniform equivalence and H, B -equivalence.
Finally, based on these equivalence criteria, we characterize also
inconsistency of programs wrt. extensions. Since well-known ASP extensions
(such as constraint ASP) are special cases of HEX, the results are interesting
beyond the particular formalism. Under consideration in Theory and Practice of
Logic Programming (TPLP).
