Results 1  10
of
11
Metaprogramming in Logic
 Encyclopedia of Computer Science and Technology
, 1994
"... In this review of metaprogramming in logic we pay equal attention to theoretical and practical issues: the contents range from mathematical and logical preliminaries to implementation and applications in, e.g., software engineering and knowledge representation. The area is one in rapid development b ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
In this review of metaprogramming in logic we pay equal attention to theoretical and practical issues: the contents range from mathematical and logical preliminaries to implementation and applications in, e.g., software engineering and knowledge representation. The area is one in rapid development but we have emphasized such issues that are likely to be important for future metaprogramming languages and methodologies. 1 Introduction The term `metaprogramming' relates to `programming' as `metalanguage' relates to `language' and `metalogic' to `logic': programming where the data represent programs. It should be no surprise that metaprogramming with logic programming languages takes advantage of many results from metalogic. In the most general interpretation we would say that `metaprogramming ' refers to any kind of computer programming where the input or output represents programs. We will refer to a program of this kind as a metaprogram and to its data as object programs. Analogousl...
A Basis for a Multilevel Metalogic Programming Language
 Logic Program Synthesis and Transformation – MetaProgramming in Logic. LNCS 883
, 1994
"... We are developing a multilevel metalogic programming language that we call Alloy. It is based on firstorder predicate calculus extended with metalogical constructs. An Alloy program consists of a collection of theories, all in the same language, and a representation relation over these theories. Th ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
We are developing a multilevel metalogic programming language that we call Alloy. It is based on firstorder predicate calculus extended with metalogical constructs. An Alloy program consists of a collection of theories, all in the same language, and a representation relation over these theories. The whole language is selfrepresentable, including names for expressions with variables. A significant difference, as compared with many previous approaches, is that an arbitrary number of metalevels can be employed and that the objectmeta relationship between theories need not be circular. The language is primarily intended for representation of knowledge and metaknowledge and is currently being used in research on hierarchical representation of legal knowledge. We believe that the language allows sophisticated expression and efficient automatic deduction of interesting sets of beliefs of agents. This paper aims to give a preliminary and largely informal definition of the core of the langua...
HIERARCHICAL REPRESENTATION OF LEGAL KNOWLEDGE WITH METAPROGRAMMING IN LOGIC
 J. LOGIC PROGRAMMING
, 1994
"... We present an application of metaprogramming in logic that, unlike most metaprogramming applications, is not primarily concerned with controlling the execution of logic programs. Metalevel computation is used to define theories from schemata that were either given explicitly or obtained by abstracti ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
We present an application of metaprogramming in logic that, unlike most metaprogramming applications, is not primarily concerned with controlling the execution of logic programs. Metalevel computation is used to define theories from schemata that were either given explicitly or obtained by abstraction from other theories. Our main application is a representation of legal knowledge in a metalogic programming language. We argue that legal knowledge is multilayered and therefore a single level representation language lacks the needed expressiveness. We show that legal rules can be partitioned into primary, secondary, tertiary, quaternary, and higher level rules. Our classification enables us to define a multilevel model of legal knowledge and a onetoone correspondence with levels of metaprogramming in logic. We show that this framework has a potential for capturing important legal interpretation principles such as analogia legis, lex specialis Zegi generuli derogut, etc. We have a running example from commercial law that utilizes rules up to the tertiary level, emphasizing unulogiu legis. The example is expressed in a multilevel metalogic programming language that provides a naming convention and employs reflection between levels.
Formal Semantics of Temporal Epistemic Reflection
 Logic Program Synthesis and TransformationMetaProgramming in Logic, Proc. Fourth Int. Workshop on Metaprogramming in Logic, META'94, Lecture Notes in Computer Science
, 1994
"... In this paper we show how a formal semantics can be given to reasoning processes in metalevel architectures that reason about (object level) knowledge states and changes of them. Especially the attention is focused on the upward and downward reflections in these architectures. Temporalized epist ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
In this paper we show how a formal semantics can be given to reasoning processes in metalevel architectures that reason about (object level) knowledge states and changes of them. Especially the attention is focused on the upward and downward reflections in these architectures. Temporalized epistemic logic is used to specify metalevel reasoning processes and the outcomes of these.
SLDResolution with Reflection
, 1995
"... The aim of this thesis is to define a procedural and declarative semantics of SLDresolution with reflection, in the general framework defined by Jaffar et al. This scheme is in fact general enough to constitute a ground work suitable for (i) the possible integration of metaprogramming and constrain ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
The aim of this thesis is to define a procedural and declarative semantics of SLDresolution with reflection, in the general framework defined by Jaffar et al. This scheme is in fact general enough to constitute a ground work suitable for (i) the possible integration of metaprogramming and constraint logic programming, so as to make more flexible and powerful logic languages possible; (ii) a discussion and comparison of various forms of encodings with respect to their impact on the semantic behaviour of extended resolution. To achieve our aim, we employ to a language containing names of expressions and an extension to SLDresolution which allows metalevel computation and interlevel communication through reflection. We present a rewrite system for extended unification for the language, with certain similarities to a constraint solving system over names. Then, we discuss the declarative semantics of the language. In relation to the chosen naming policy and rewrite system for the unification...
OWL vs. Object Orientated Programming
 in International Semantic Web Conference, Workshop1: Semantic Web Enabled Software Engineering. 2005
"... Abstract. The integration of ObjectOriented Programming (OOP) and Description Logic seems to be so desirable that it produces valid, sound, and reusable software on the firm base of Logic. Whereas we believe the possibility of the integration from our experience up to now on SWCLOS, which is a Sem ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Abstract. The integration of ObjectOriented Programming (OOP) and Description Logic seems to be so desirable that it produces valid, sound, and reusable software on the firm base of Logic. Whereas we believe the possibility of the integration from our experience up to now on SWCLOS, which is a Semantic Web description language developed on top of Common Lisp Object System (CLOS), we have still an open issue to establish SWCLOS as not only ontology description language but also OOP language with OWL. In this paper, after an introduction of SWCLOS, we demostrate the possibility of the integration of OWL and OOP, and discuss the open question of the OOP with OWL, that is, the method inheritance for OWL objects in OOP. Several ideas of solutions are addressed. 1
Temporalizing Epistemic Default Logic
 Journal of Logic, Language and Information
, 1994
"... this paper in the Sections 2 to 6 the logic EDL is presented. As compared with earlier publications ([MH9 l a, MH92a, MH93a,b]), the logic is slightly extended in order to cater for downward reflection in subsequent sections. In Section 7 we define a labeled branching time temporalization of this lo ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
this paper in the Sections 2 to 6 the logic EDL is presented. As compared with earlier publications ([MH9 l a, MH92a, MH93a,b]), the logic is slightly extended in order to cater for downward reflection in subsequent sections. In Section 7 we define a labeled branching time temporalization of this logic, in spirit of the approach of [FG92]. In Section 8 we define sceptical and credulous entailment relations based on temporal models
Concurrency in proof normalization and logic programming
 In Internatioinal Joint Conference on Arti Intelligence '85
, 1985
"... Proof normalization manipulates formal proofs. It also provides a computation mechanism which belongs to the logic programming family. Although proof normalization can treat full predicate calculus, it is less practical than the wellknown programming language, Prolog. In this paper, we propose a ne ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Proof normalization manipulates formal proofs. It also provides a computation mechanism which belongs to the logic programming family. Although proof normalization can treat full predicate calculus, it is less practical than the wellknown programming language, Prolog. In this paper, we propose a new technique of attaching proofs to Skolem functions. This technique enables one to nomalize a proof eagerly; that is, one can get a partial answer before the proof is totally normalized. This improves the usability of proof normalization. Partial answers are also useful in normalizing proofs concurrently. We compare our method with computation in Concurrent Prolog. 1.
Hash Tables in Logic Programming
 Logic Programming  Proc. Fourth Intl. Conf
, 1987
"... The paper discusses different aspects of hash tables as a data structure in a Horn clause language such as Prolog, e.g., semantics, implementation and applications. Hash tables are a new concept in Prolog since they can not be efficiently implemented in the language itself. We give informal semantic ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The paper discusses different aspects of hash tables as a data structure in a Horn clause language such as Prolog, e.g., semantics, implementation and applications. Hash tables are a new concept in Prolog since they can not be efficiently implemented in the language itself. We give informal semantics for hash tables as partial functions on logical terms. We are careful to ensure that we can represent the hash tables as logical terms in order to make the ordinary syntactic unification apply. The implementation is a generalisation of the method suggested by Eriksson and Rayner. Their "mutable arrays" are a special case of our multiple version hash tables. The implementation has been used in Tricia, an implementation of Prolog developed at Uppsala University. Hash tables open application areas previously beyond the efficiency limits of Prolog. Application programs taking great benefit from the hash tables have been written in Tricia. An earlier version of this paper was presented at the 4...
Theories and Proofs in Fault Diagnosis
"... Abstract. This paper illustrates how theories (contexts), fail branches, and the ability to control the construction of proofs in MetaProlog play an important role in the expression of the fault diagnosis problem. These facilities of MetaProlog make it easier to represent digital circuits and the fa ..."
Abstract
 Add to MetaCart
Abstract. This paper illustrates how theories (contexts), fail branches, and the ability to control the construction of proofs in MetaProlog play an important role in the expression of the fault diagnosis problem. These facilities of MetaProlog make it easier to represent digital circuits and the fault diagnosis algorithm on them. MetaProlog theories are used both in the representation of digital circuits and in the implementation of the fault diagnosis algorithm. Fail branches and the ability tocontrol their construction play akey role during the construction of hypothesises to explain the fault in a given faulty circuit. 1