Cicekli, I.2016-02-082016-02-0819980743-1066http://hdl.handle.net/11693/25495A compiler-based meta-level system for MetaProlog language is presented. Since MetaProlog is a meta-level extension of Prolog, the Warren Abstract Machine (WAM) is extended to get an efficient implementation of meta-level facilities; this extension is called the Abstract MetaProlog Engine (AMPE). Since theories and proofs are main meta-level objects in MetaProlog, we discuss their representations and implementations in detail. First, we describe how to efficiently represent theories and derivability relations. At the same time, we present the core part of the AMPE, which supports multiple theories and a fast context switching among theories in the MetaProlog system. Then we describe how to compute proofs, how to shrink the search space of a goal using partially instantiated proofs, and how to represent other control knowledge in a WAM-based system. In addition to computing proofs that are just success branches of search trees, fail branches can also be computed and used in the reasoning process.EnglishDatabase SystemsKnowledge Based SystemsObject Oriented ProgrammingProgram CompilersProgramming TheoryPROLOG (Programming Language)Abstract MetaProlog EngineWarren Abstract MachineLogic ProgrammingAbstract metaprolog engineArticle10.1016/S0743-1066(97)00075-71873-5789