Filters








45,268 Hits in 6.3 sec

Free theorems for functional logic programs

Jan Christiansen, Daniel Seidel, Janis Voigtländer
2010 Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification - PLPV '10  
Type-based reasoning is popular in functional programming.  ...  Logical features like nondeterminism and free variables cause interesting effects, which we examine based on examples and address by identifying appropriate conditions that guarantee standard free theorems  ...  Acknowledgments We would like to thank Bernd Braßel, Sebastian Fischer, Michael Hanus, Frank Huch, and Fabian Reck for interesting discussions and for comments on a draft of this paper.  ... 
doi:10.1145/1707790.1707797 dblp:conf/plpv/ChristiansenSV10 fatcat:c57wryativdjdlqgscyz6ykj4e

Free theorems for functional logic programs

Jan Christiansen, Daniel Seidel, Janis Voigtländer
2010 SIGPLAN notices  
Type-based reasoning is popular in functional programming.  ...  Logical features like nondeterminism and free variables cause interesting effects, which we examine based on examples and address by identifying appropriate conditions that guarantee standard free theorems  ...  Acknowledgments We would like to thank Bernd Braßel, Sebastian Fischer, Michael Hanus, Frank Huch, and Fabian Reck for interesting discussions and for comments on a draft of this paper.  ... 
doi:10.1145/1816027.1816035 fatcat:4q5jwn3g4fdkhlqiafuo2es56q

Parametricity and Proving Free Theorems for Functional-Logic Languages

Stefan Mehner, Daniel Seidel, Lutz Straßburger, Janis Voigtländer
2014 Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming - PPDP '14  
The goal of this paper is to provide the required foundations for establishing free theorems -statements about program equivalence, guaranteed by polymorphic types -for the functional-logic programming  ...  We show that the standard (logical relations) techniques can be applied to obtain a general parametricity theorem for SaLT and derive free theorems from it.  ...  Acknowledgments We thank all the reviewers involved in the development of this paper for their criticism and advice.  ... 
doi:10.1145/2643135.2643147 dblp:conf/ppdp/MehnerSSV14 fatcat:vnrzefm2fnevpguyti5rvzxqni

A program transformation from equational programs into logic programs

Atsushi Togashi, Shoichi Noguchi
1987 The Journal of Logic Programming  
However, PROLOG, which deals with Horn clauses only, is inadequate for a natural transformation of equational programs into logic programs.  ...  In Algorithm 1 Theorem 1. Let R be an equational program and & the transformed logic program from R.  ... 
doi:10.1016/0743-1066(87)90013-6 fatcat:zua6wcfh65ehtjvmwcfqwyuwki

Programmed Strategies for Program Verification

Richard B. Kieburtz
2007 Electronical Notes in Theoretical Computer Science  
In Programatica, predicate definitions and property assertions written in P-logic, a programming logic for Haskell, can be embedded in the text of a Haskell program module.  ...  Plover is an automated property-verifier for Haskell programs that has been under development for the past three years as a component of the Programatica project.  ...  Roadmap This paper is about the use of generalized, programmed strategies to construct Plover. Section 2 introduces P-logic, a programming logic for Haskell.  ... 
doi:10.1016/j.entcs.2007.02.045 fatcat:3gnit7ab3zd4hilkj7h2ahsjmu

Logic programming beyond Prolog [article]

M.H. van Emden
2015 arXiv   pre-print
A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists.  ...  But such executable specifications are a compromise: the logic is distorted by algorithmic considerations, yet only indirectly executable via an abstract machine.  ...  I am indebted to the reviewers for their insightful remarks and for their suggestions for improvement.  ... 
arXiv:1412.3480v3 fatcat:37iraggwt5brlamhzvonf6ch3e

Using Program Synthesis for Program Analysis [article]

Cristina David and Daniel Kroening and Matt Lewis
2015 arXiv   pre-print
Our program synthesis algorithm is complete for finite state programs, i.e. every function over finite domains is computed by some program that we can synthesise.  ...  We can therefore use our synthesiser as a decision procedure for the synthesis fragment of second-order logic, which in turn allows us to use it as a powerful backend for many program analysis tasks.  ...  Every total, finite function is computed by at least one program in this language Theorem 3.  ... 
arXiv:1508.07829v1 fatcat:vcdkhiea5fa4zmztj4k76rhuue

Programming Inductive Proofs [chapter]

Brigitte Pientka
2010 Lecture Notes in Computer Science  
What distinguishes Beluga from other frameworks is that it not only represents binders using higher-order abstract syntax, but directly supports reasoning with contexts and contextual objects.  ...  In this paper, we present an overview to programming with proofs in the reasoning framework, Beluga.  ...  Beluga is however not only a reasoning environment, but may also serve as an experimental framework for programming with dependent types and proof objects, useful for certified programming and proof-carrying  ... 
doi:10.1007/978-3-642-17172-7_1 fatcat:qgrw2gtpz5dsnnv7tctph42gzq

Nominal logic programming

James Cheney, Christian Urban
2008 ACM Transactions on Programming Languages and Systems  
Nominal logic is an extension of first-order logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, alpha-equivalence  ...  Besides being of interest for ensuring the correct behavior of implementations, these results provide a rigorous foundation for techniques for analysis and reasoning about nominal logic programs, as we  ...  His support for me and this work has been unyielding. My other committee members, Robert Constable and Geri Gay, have also been very supportive.  ... 
doi:10.1145/1387673.1387675 fatcat:longqgnr75aktkwdy56eeyu4ne

Abstract syntax and logic programming [chapter]

Dale Miller
1992 Lecture Notes in Computer Science  
A model theoretic semantics for this logic programming language is also presented.  ...  Incorporating this notion of abstract syntax into programming languages is an interesting challenge.  ...  The following theorem provides an abstract justification for referring to M as a logic programming language. This theorem says that goal-directed search for proofs in M is a complete search method.  ... 
doi:10.1007/3-540-55460-2_24 fatcat:lglpzoezwnagndxrc6u2kgyfem

Institutions for logic programming

Fernando Orejas, Elvira Pino, Hartmut Ehrig
1997 Theoretical Computer Science  
Finally, a similar solution is sketched for other classes of logic programs.  ...  This is done in detail for the class of definite logic programs with respect to three kinds of composition operations: R-union, standard union and module composition.  ...  semantics Theorem 4 .2. 7 ( 47 Full abstraction [14]).  ... 
doi:10.1016/s0304-3975(96)00164-8 fatcat:be5gfayhbnbyjnuhl65uclxxla

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  ...  A logic programming language with lambda-abstraction, function variables, and sim- ple unification. Jou?'nal of Logic and Computa- tion, 1(4):497 -536, 1991. [21] J.  ...  BABEL: A functional and logic programming language based on constructor discipline and narrowing. In PTOC. 2th Int. Conf. on Alge- braic and Logic Programming, pages 223-232.  ... 
doi:10.1145/174675.177889 dblp:conf/popl/Qian94 fatcat:ivdtzvd7yncv5geskwqqxvxuhe

Imperative LF Meta-Programming

Aaron Stump
2008 Electronical Notes in Theoretical Computer Science  
While the techniques for representing object languages in logical frameworks are relatively well understood, languages and techniques for meta-programming with them are much less so.  ...  An important contribution is an approach for soundly combining imperative features with higher-order abstract syntax.  ...  The Delphin language of Schürmann is a pure functional language for meta-programming with LF encodings [17] .  ... 
doi:10.1016/j.entcs.2007.11.017 fatcat:db34p5uyvrgzzhba65a4ehafge

Operational Semantics and Program Equivalence [chapter]

Andrew M. Pitts
2002 Lecture Notes in Computer Science  
We restrict attention to contextual equivalence of expressions in the ML family of programming languages, concentrating on functions involving local state.  ...  equivalence of programs.  ...  -True for ML function expressions in canonical form (i.e. lambda abstractions), if we take 'equal' to mean contextually equivalent. -True for pure functional programming languages (see [11] ).  ... 
doi:10.1007/3-540-45699-6_8 fatcat:ulredi64afazralfmng365z7zq

Programming and Proving with Classical Types [chapter]

Cristina Matache, Victor B. F. Gomes, Dominic P. Mulligan
2017 Lecture Notes in Computer Science  
Atop our proof terms, we build a prototype LCF-style interactive theorem prover-called µTPfor classical first-order logic, capable of synthesising µML programs from completed tactic-driven proofs.  ...  In this work, we use the λµ-calculus as the foundation for a system of proof terms for classical first-order logic.  ...  Gomes and Mulligan acknowledge funding from EPSRC grant EP/K008528 ('REMS: Rigorous Engineering for Mainstream Systems'). We thank the anonymous referees and Peter Sewell for their helpful comments.  ... 
doi:10.1007/978-3-319-71237-6_11 fatcat:2dz6qias4vbmpp3qggznclk3ee
« Previous Showing results 1 — 15 out of 45,268 results