Models and resolution principles for logical meta-programming languages

Abstract : Meta-programming extends logic programming with the possibility of having a program to create or analyze other programs represented as data structures and to give queries dynamically to these programs. Thus languages for meta-programming represent a logical formalism in which logical theories can refer to provability in arbitrary other, perhaps dynamically generated, theories. The importance is stressed of allowing variables in the program representation which stand for unknown program fragments, even in the program currently under execution. This can be used, for example, for hypothetical reasoning where a program generates the hypotheses to be tested of for program generation in the sense that an interpreter fills in the missing program parts. It may lead to a more declarative style of, e.g., program generation - the meta-program can specify properties of the desired programs at a higher level of abstraction and the detailed synthesis is put in the hands of an implementation. The declarative semantics is described in terms of Herbrand-models analogous to those normally used for plain logic programs and the well-known fixed-point results generalize immediately. The procedural semantics is given as a resolution method which is shown to be sound and complete. Complete resolution for meta-programming languages is more complicated than usual due to the possibility of uninstantiated variables which stand for unknown parts of the program currently under execution.
Type de document :
Rapport
RR-1594, INRIA. 1992
Liste complète des métadonnées

https://hal.inria.fr/inria-00074966
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 17:05:18
Dernière modification le : vendredi 16 septembre 2016 - 15:11:45
Document(s) archivé(s) le : mardi 12 avril 2011 - 17:52:14

Fichiers

Identifiants

  • HAL Id : inria-00074966, version 1

Collections

Citation

H. Christiansen. Models and resolution principles for logical meta-programming languages. RR-1594, INRIA. 1992. 〈inria-00074966〉

Partager

Métriques

Consultations de la notice

96

Téléchargements de fichiers

61