Proofs are Programs

Key Application Filter Key Application topics

Share This
table started by warren for the Proofs are Programs Base
There is no user-contributed description yet.
+

x

 
 
x name x image x How it applied the concept x article
+

Do you know something that's missing from this view? Add it!

If you have a list you can use our wizard to match it with topics that may already be in Freebase.
Go to the import tool »
x ML   ML, short for ‘metalanguage’ was the first programming language to make use of the Hindley-Milner type inference algorithm.
ML is a general-purpose functional programming language developed by Robin Milner and others in the late 1970s at the University of Edinburgh, whose syntax is inspired by ISWIM. Historically, ML stands for metalanguage: it was conceived to develop...
x Standard ML    
Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of theorem...
x Objective Caml /guid/9202a8c04000641f8000000004984f08  
Objective Caml, or OCaml (pronounced /oʊˈkæməl/ oh-KAM-əl) is the main implementation of the Caml programming language, created by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy and others in 1996. OCaml is a free open source project...
x Haskell Haskell The Haskell programming languages continues to explore the power of theorem proving in its type language through the development of type classes.
Haskell (pronounced [ˈhæskəl]) is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. Following the release of Miranda by Research...
x NuPRL   Early theorem prover which utilized correspondence between proofs and programs.
NuPRL is a higher-order proof development system developed at Cornell University. It was founded by Joseph L. Bates and Robert L. Constable in 1979 and, since then, many have contributed to the development of NuPRL.
x Kleisli    
Kleisli is a database language for biomedical data (implemented in Standard ML).
x XDuce    
XDuce ("tranceduce") is an XML transformation language.
x Pi-calculus    
In theoretical computer science, the π-calculus is a process calculus originally developed by Robin Milner, Joachim Parrow and David Walker as a continuation of work on the process calculus CCS (Calculus of Communicating Systems). The aim of the π...
x Join-calculus    
The join-calculus is a process calculus developed at INRIA. The join-calculus was developed to provide a formal basis for the design of distributed programming languages, and therefore intentionally avoids communications constructs found in other...
x HOL theorem prover   Hewlett-Packard applied the HOL (Higher-Order Logic) theorem prover as part of an effort to verify that caching protocol’s in its Runway multiprocessor bus did not deadlock. This approach uncovered errors that had not been revealed by several months of simulation.
HOL (Higher Order Logic) denotes a family of interactive theorem proving systems sharing similar logics and implementation strategies. Systems in this family follow the LCF approach as they are implemented as a library in some programming language....
x LCF theorem prover   ML/LCF exploited two central features of functional languages, higher-order functions and types. A proof tactic is a function taking a goal formula to be proved and returning a list of subgoals paired with a justification. A justification, in turn, is a function from proofs of the subgoals to a proof of the goal. A tactical is a function that combined small tactics into larger tactics. The type system was a great boon in managing the resulting nesting of functions that return functions that accept functions.
LCF (Logic for Computable Functions) is an interactive automated theorem prover developed at the universities of Edinburgh and Stanford by Robin Milner and others. LCF introduced the general-purpose programming language ML to allow users to write...
x Isabelle theorem prover    
The Isabelle theorem prover is an interactive theorem proving framework, a successor of the Higher Order Logic (HOL) theorem prover. It is an LCF-style theorem prover (written in Standard ML), so it is based on a small logical core guaranteeing...
x Coq Coq plus comm screenshot  
In computer science, Coq is a proof application. It allows the expression of mathematical assertions, mechanically checks proofs of these assertions, helps to find formal proofs, and extracts a certified program from the constructive proof of its...
x Miranda File:Miranda logo  
Miranda is a non-strict purely functional programming language designed by David Turner as a successor to his earlier programming languages SASL and KRC, using some concepts from ML and Hope. It was produced by Research Software Ltd. of England ...
x Twelf    
Twelf is an implementation of the logical framework LF. It is used for logic programming and for the formalization of programming language theory. At its simplest, a Twelf program (called a "signature") is a collection of declarations of type...
x Functional programming   In many ways, the entire discipline of functional programming is an outcome of Church's lambda calculus and the Curry-Howard correspondence between proofs and programs. Church and Curry lived to see their abstract theories have an impact on practical programming languages. They were guests of honor at the 1982 conference on Lisp and Functional Programming, both highly bemused by what had been done with their work.
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative...
x Proof-Carrying Code   Proof-carrying code leverages the Curry-Howard correspondence as a means to validate programs for security and operational safety. The first application was to the Berkely Packet Filter, or BPF, a small interpreted language for packet filters built-in to the kernel of Berkeley Unix which enforces the safety policy by run-time checks.
Proof-carrying code (PCC) is a software mechanism that allows a host system to verify properties about an application via a formal proof that accompanies the application's executable code. The host system can quickly verify the validity of the proof...
x Typed Assembly Language    
In computer science, a typed assembly language (TAL) is an assembly language that is extended to include a method of annotating the datatype of each value that is manipulated by the code. These annotations can then be used by a program (type checker...
x Calculus of constructions    
The calculus of constructions (CoC) is a formal language in which both computer programs and mathematical proofs can be expressed. This language forms the basis of theory behind the Coq proof assistant, which implements the derivative calculus of...
x ISWIM    
ISWIM is an abstract computer programming language (or a family of programming languages) devised by Peter J. Landin and first described in his article, The Next 700 Programming Languages, published in the Communications of the ACM in 1966. The...
x Lisp LISP McCarthy's lisp was the first programming language to embrace the lambda calculus as its key computing paradigm.
Lisp (or LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only...
x Lambda cube    
In mathematical logic and type theory, the λ-cube is a framework for exploring the axes of refinement in Coquand's calculus of constructions, starting from the simply typed lambda calculus as the vertex of a cube placed at the origin, and the...
x Java Duke The Java Mascot Generic types in Java were developed by Odersky, Wadler and others to bring the power of parametric polymorphism to this popular programming language.
Java refers to a number of computer software products and specifications from Sun Microsystems that together provide a system for developing application software and deploying it in a cross-platform environment. Java is used in a wide variety of...
Edit Collection Schema
All topics in this collection are typed as Key Application
Use Data from this Collection
Choose a format:

Images and articles are not included in export files, which are limited to 1000 items. Complete data dumps are also available here.

Flag this Collection
Why do you want to flag this collection?