Filters








8,084 Hits in 6.0 sec

The Metalanguage λprolog and Its Implementation [chapter]

Gopalan Nadathur
2001 Lecture Notes in Computer Science  
unification • Provides an explicit representation for unification problems that supports sharing • Has efficient mechanisms for realizing branching in unification Higher-Order Pattern Unification Decidability  ...  of binding structure and substitutionHigher-order unification is a useful tool for examining program structure • Scoping devices support recursion over binding structure Pattern Recognition through  ...  Bringing it All Together The Teyjus system embodies a solution to all the problems and comprises three parts: • An abstract machine that supports, low-level, λProlog relevant operations • A compiler for  ... 
doi:10.1007/3-540-44716-4_1 fatcat:iq3a6msg3bc53f7qgtmb4dpsui

Higher-order equational logic programming

Zhenyu Qian
1994 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '94  
Higher-order equational logic programming is a paradigm which combines first-order equational and  ...  In the higher-order setting, unification pairs may contain patterns, thus higher-order unification is needed.  ...  notion of higher-order patterns is the key to connect first- order equational and higher-order logic programming.  ... 
doi:10.1145/174675.177889 dblp:conf/popl/Qian94 fatcat:ivdtzvd7yncv5geskwqqxvxuhe

A modal foundation for meta-variables

Aleksandar Nanevski, Brigitte Pientka, Frank Pfenning
2003 Proceedings of the 2003 workshop on Mechanized reasoning about languages with variable binding - MERLIN '03  
We report on work in progress regarding a foundation for the notion of meta-variable in logical frameworks and type theories.  ...  Our proposal is to treat meta-variables as modal variables in a modal type theory, which is logically clean and justifies several low-level implementation techniques for meta-variables.  ...  In related work we have shown [10, 8] that the presented framework provides insight into several important optimizations and implementation techniques such as higher-order pattern unification and higher-order  ... 
doi:10.1145/976571.976582 dblp:conf/icfp/NanevskiPP03 fatcat:j5avipv5angovdghjekeuetaoe

An Implementation of the Language Lambda Prolog Organized around Higher-Order Pattern Unification [article]

Xiaochu Qi
2009 arXiv   pre-print
Lambda Prolog achieves its functionality by extending a Prolog-like language by using typed lambda terms as data structures that it then manipulates via higher-order unification and some new program-level  ...  A key idea is the orientation of the computation model of Lambda Prolog around a restricted version of higher-order unification with nice algorithmic properties and appearing to encompass most interesting  ...  of a higher-order pattern unification procedure and, if this does not succeed, it then falls back to full higher-order unification.  ... 
arXiv:0911.5203v1 fatcat:6d2kzgj6b5d5th6dhiijcv4mqe

Abstract Syntax for Variable Binders: An Overview [chapter]

Dale Miller
2000 Lecture Notes in Computer Science  
, substitution, etc., are not addressed naturally by the structure of first-order terms (labeled trees).  ...  In particular, we shall focus on a representation of syntax called higher-order abstract syntax and on a more primitive version of that representation called λ-tree syntax.  ...  This work was supported in part by NSF Grants INT-9815645 and CCR-9803971.  ... 
doi:10.1007/3-540-44957-4_16 fatcat:z56auyjhu5dxnhmx5lcvg3xpay

An insider's look at LF type reconstruction: everything you (n)ever wanted to know

BRIGITTE PIENTKA
2012 Journal of functional programming  
Detailed descriptions of the issues around it are hard to find and formal descriptions together with correctness proofs are non-existing.  ...  In this paper, we discuss a one-pass type reconstruction for objects in the logical framework LF, describe formally the type reconstruction process using the framework of contextual modal types, and prove  ...  Acknowledgements I would like to thank Andreas Abel, Mathieu Boespflug, Joshua Dunfield, Renaud Germain, Stefan Monnier, and Jason Reed for their discussions and comments on earlier drafts.  ... 
doi:10.1017/s0956796812000408 fatcat:bsn2sqsjqfcc3fcvybk257tx4q

Programming with proofs and explicit contexts

Brigitte Pientka, Jana Dunfield
2008 Proceedings of the 10th international ACM SIGPLAN symposium on Principles and practice of declarative programming - PPDP '08  
In addition, we present an operational semantics for this language based on higher-order pattern matching for dependently typed objects. Based on this development, we prove progress and preservation.  ...  This allows us to program with proofs as higher-order data. We present a decidable bidirectional type system that distinguishes between dependentlytyped data and computations.  ...  Higher-order pattern unification is decidable, so unification of the contexts and types is decidable.  ... 
doi:10.1145/1389449.1389469 dblp:conf/ppdp/PientkaD08 fatcat:oz4q4kbldvcyzjdstkdrsv5bfa

Foundational aspects of syntax

Dale Miller, Catuscia Palmidessi
1999 ACM Computing Surveys  
Matching and unification of simply typed λ-terms modulo αβη-conversion are complex operations. For example, matching at second order is NP-complete and unification at higher-types is undecidable.  ...  Because substitution does not allow the capturing of free variables, all instances of this pattern would be expressions in which the universally quantified variable is vacuous.  ... 
doi:10.1145/333580.333590 fatcat:v4vvuvdumzcdpcwmdd3v6dbeua

Logic Column 14: Nominal Logic and Abstract Syntax [article]

James Cheney
2005 arXiv   pre-print
We also discuss applications of nominal techniques to programming, automated reasoning, and identify some future directions.  ...  After an overview of other approaches, we describe nominal abstract syntax and nominal logic, a logic for reasoning about nominal abstract syntax.  ...  The chief difference seems to be the handling of binding via a higher-order function encoding rather than an explicit axiomatization.  ... 
arXiv:cs/0511025v1 fatcat:sro6jwwv65f2jnmxlzsulzr7r4

Higher-Order Rewriting: Framework, Confluence and Termination [chapter]

Jean-Pierre Jouannaud
2005 Lecture Notes in Computer Science  
Acknowledgments: This paper would not exist without the pionneering work of Klop on higher-order rewriting and the work I have done myself with my coauthors Femke van Raamsdonk and Albert Rubio, my colleague  ...  Mitsuhiro Okada with who I started getting into that subject, and my students Maribel Fernandez, Frederic Blanqui and Daria Walukiewicz who investigated some of these questions within the framework of  ...  His (local) confluence results rely on the computation of higher-order critical pairs -because higher-order pattern matching is used for searching redexes-via higher-order unification.  ... 
doi:10.1007/11601548_14 fatcat:iwdbwyqmbre2bkbza545hxkjfu

Nonuniform Coercions via Unification Hints

Claudio Sacerdoti Coen, Enrico Tassi
2011 Electronic Proceedings in Theoretical Computer Science  
Nonuniform coercions are a generalization of the (uniform) coercions known in the literature and they arise naturally when formalizing mathematics in an higher order interactive theorem prover using convenient  ...  devices like canonical structures, type classes or unification hints.  ...  Locked reduction and lockpicking via hints In order to solve the problem, we need to change our definition of k (and force) again in order to produce in a similar way a new unification problem whose solution  ... 
doi:10.4204/eptcs.53.2 fatcat:y3wwa5eypnd4rk5htbtdxphjly

Unification: a multidisciplinary survey

Kevin Knight
1989 ACM Computing Surveys  
Other topics covered are resolution, higher order logic, the occur check, infinite terms, feature structures, equational theories, inheritance, parallel algorithms, generalization, lattices, and other  ...  The unification problem and several variants are presented. Various algorithms and data structures are discussed.  ...  My thanks also go to the reviewers for making many suggestions relating to both accuracy and clarity.  ... 
doi:10.1145/62029.62030 fatcat:u4ieq3eekzg25fgpxsaebyktkm

Higher-Order Unification: A structural relation between Huet's method and the one based on explicit substitutions

Flávio L.C. de Moura, Mauricio Ayala-Rincón, Fairouz Kamareddine
2008 Journal of Applied Logic  
We compare two different styles of Higher-Order Unification (HOU): the classical HOU algorithm of Huet for the simply typed λ-calculus and HOU based on the λσ-calculus of explicit substitutions.  ...  The unification tree notation will be important for the comparison between Huet's algorithm and unification in the λσ-calculus whose derivations are presented into a structure called derivation tree.  ...  Acknowledgements We would like to thank the careful reading, constructive corrections and detailed suggestions of one of the referees.  ... 
doi:10.1016/j.jal.2006.10.001 fatcat:3ym4njp7wnfkbd4dm4virhbh5m

Functional Programming With Higher-order Abstract Syntax and Explicit Substitutions

Brigitte Pientka
2007 Electronical Notes in Theoretical Computer Science  
This paper sketches a foundation for programming with higher-order abstract syntax and explicit substitutions based on contextual modal type theory [9] .  ...  In this paper, we extend these ideas even further by adding first-class contexts and substitutions so that a program can pass and access code with free variables and an explicit environment, and link them  ...  The distinction between contextual meta-variables and ordinary bound variables has already provided interesting insights into higher-order proof search, higher-order unification and logical frameworks  ... 
doi:10.1016/j.entcs.2006.10.037 fatcat:dwyffkssurg7pg6fxkx56vkyh4

Moebius: Metaprogramming using Contextual Types – The stage where System F can pattern match on itself (Long Version) [article]

Junyoung Jang and Samuel Gélineau and Stefan Monnier and Brigitte Pientka
2021 arXiv   pre-print
We describe the foundation of the metaprogramming language, Moebius, which supports the generation of polymorphic code and, more importantly the analysis of polymorphic code via pattern matching.  ...  pattern matching on code.  ...  Further, to ensure that unification falls into the decidable higher-order pattern fragment (see Miller [1991] ), pattern variables must be associated with a variable substitution.  ... 
arXiv:2111.08099v1 fatcat:owfkxensy5av3hj5627653l7k4
« Previous Showing results 1 — 15 out of 8,084 results