Results 1 -
6 of
6
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...
Logic Meta-Programming Facilities in 'LOG
- Meta-Programming in Logic, LNCS 649
, 1992
"... . A meta-level extension of a logic programming language is presented. The resulting language, called 'LOG (read quote-log), provides meta-programming facilities similar to those of Prolog while preserving a declarative logical semantics. It also offers new meta-programming opportunities as compared ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
. A meta-level extension of a logic programming language is presented. The resulting language, called 'LOG (read quote-log), provides meta-programming facilities similar to those of Prolog while preserving a declarative logical semantics. It also offers new meta-programming opportunities as compared with Prolog due to its ability to treat whole programs, i.e. sequences of clauses, as data objects. The extension basically consists in defining a suitable naming scheme. It associates two different but related meta-representations with every syntactic object of the language, from characters to programs. The choice of the double metarepresentation is motivated by both the user and the implementation viewpoints. All Prolog built-in meta-predicates can be redefined as 'LOG programs by exploiting the new naming scheme. Then some syntactic sugar is added to make the language more concrete. Some examples are given, in particular to show the ability of the language to deal with programs as data....
Meta-reasoning: a Survey
- Computational Logic: Logic Programming and Beyond – Essays in Honour of Robert A. Kowalski (LNAI Volumes 2408
, 2002
"... We present the basic principles and possible applications of systems capable of meta-reasoning and reflection. After a discussion of the seminal approaches, we outline our own perception of the state of the art, mainly but not only in computational logic and logic programming. We review relevat succ ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
We present the basic principles and possible applications of systems capable of meta-reasoning and reflection. After a discussion of the seminal approaches, we outline our own perception of the state of the art, mainly but not only in computational logic and logic programming. We review relevat successful...
A Basis for a Multilevel Metalogic Programming Language
- Logic Program Synthesis and Transformation – Meta-Programming in Logic. LNCS 883
, 1994
"... We are developing a multilevel metalogic programming language that we call Alloy. It is based on first-order 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 first-order 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 self-representable, 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 object-meta 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 one-to-one 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.
On the Declarative and Procedural Semantics of Definite Metalogic Programs
- J. Logic and Computation
, 1994
"... We present a declarative and procedural semantics for an amalgamation of object language and metalanguage. We define the class of definite metalogic programs, based on a definite clause language, a binary demonstration predicate, and a naming scheme with both primitive and structured names. The dec ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We present a declarative and procedural semantics for an amalgamation of object language and metalanguage. We define the class of definite metalogic programs, based on a definite clause language, a binary demonstration predicate, and a naming scheme with both primitive and structured names. The declarative semantics is an extension of the semantics of logic programs dealing with multiple theories and names. The procedural semantics uses a resolution rule and a meta-level to object-level reflection rule. Keywords. metalogic, meta-programming, semantics, reflection, demo, names. Contents 1 Introduction 1 2 Metalogic Programming 2 3 Definite Metalogic Programs 5 4 Naming Relations 8 4.1 The Style of Amalgamation : : : : : : : : : : : : : : : : : : : : : : : 8 4.2 The Naming Relation for Definite Metalogic Programs : : : : : : : 8 4.2.1 Constant, Function & Predicate Symbols : : : : : : : : : : : 8 4.2.2 Names : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 4.2.3 Prop...

