en.unionpedia.org

POPLmark challenge, the Glossary

Index POPLmark challenge

In programming language theory, the POPLmark challenge (from "Principles of Programming Languages benchmark", formerly Mechanized Metatheory for the Masses!) (Aydemir, 2005) is a set of benchmarks designed to evaluate the state of automated reasoning (or mechanization) in the metatheory of programming languages, and to stimulate discussion and collaboration among a diverse cross section of the formal methods community.[1]

Table of Contents

  1. 29 relations: ATS (programming language), Automated reasoning, Benchmarking, Benjamin C. Pierce, Coq (software), Expression problem, Formal methods, Isabelle (proof assistant), Lecture Notes in Computer Science, Mathematical induction, Matita, Metatheory, Name binding, Normal form (abstract rewriting), Operational semantics, Pattern matching, Programming language theory, QED manifesto, Record (computer science), Simply typed lambda calculus, Stephanie Weirich, Subject reduction, Subtyping, Symposium on Principles of Programming Languages, System F, Transitive relation, Twelf, Type safety, University of Pennsylvania.

  2. Automated theorem proving
  3. Programming language theory

ATS (programming language)

In computing, ATS (Applied Type System) is a multi-paradigm, general-purpose, high-level, functional programming language.

See POPLmark challenge and ATS (programming language)

Automated reasoning

In computer science, in particular in knowledge representation and reasoning and metalogic, the area of automated reasoning is dedicated to understanding different aspects of reasoning. POPLmark challenge and automated reasoning are automated theorem proving.

See POPLmark challenge and Automated reasoning

Benchmarking

Benchmarking is the practice of comparing business processes and performance metrics to industry bests and best practices from other companies.

See POPLmark challenge and Benchmarking

Benjamin C. Pierce

Benjamin Crawford Pierce is the Henry Salvatori Professor of computer science at the University of Pennsylvania.

See POPLmark challenge and Benjamin C. Pierce

Coq (software)

Coq is an interactive theorem prover first released in 1989.

See POPLmark challenge and Coq (software)

Expression problem

The expression problem is a challenging problem in programming languages that concerns the extensibility and modularity of statically typed data abstractions.

See POPLmark challenge and Expression problem

Formal methods

In computer science, formal methods are mathematically rigorous techniques for the specification, development, analysis, and verification of software and hardware systems.

See POPLmark challenge and Formal methods

Isabelle (proof assistant)

The Isabelle automated theorem prover is a higher-order logic (HOL) theorem prover, written in Standard ML and Scala.

See POPLmark challenge and Isabelle (proof assistant)

Lecture Notes in Computer Science

Lecture Notes in Computer Science is a series of computer science books published by Springer Science+Business Media since 1973.

See POPLmark challenge and Lecture Notes in Computer Science

Mathematical induction

Mathematical induction is a method for proving that a statement P(n) is true for every natural number n, that is, that the infinitely many cases P(0), P(1), P(2), P(3), \dots  all hold.

See POPLmark challenge and Mathematical induction

Matita

Matita is an experimental proof assistant under development at the Computer Science Department of the University of Bologna.

See POPLmark challenge and Matita

A metatheory or meta-theory is a theory on a subject matter that is a theory in itself.

See POPLmark challenge and Metatheory

Name binding

In programming languages, name binding is the association of entities (data and/or code) with identifiers.

See POPLmark challenge and Name binding

Normal form (abstract rewriting)

In abstract rewriting, an object is in normal form if it cannot be rewritten any further, i.e. it is irreducible.

See POPLmark challenge and Normal form (abstract rewriting)

Operational semantics

Operational semantics is a category of formal programming language semantics in which certain desired properties of a program, such as correctness, safety or security, are verified by constructing proofs from logical statements about its execution and procedures, rather than by attaching mathematical meanings to its terms (denotational semantics).

See POPLmark challenge and Operational semantics

Pattern matching

In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern.

See POPLmark challenge and Pattern matching

Programming language theory

Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages.

See POPLmark challenge and Programming language theory

QED manifesto

The QED manifesto was a proposal for a computer-based database of all mathematical knowledge, strictly formalized and with all proofs having been checked automatically. POPLmark challenge and QED manifesto are formal methods.

See POPLmark challenge and QED manifesto

Record (computer science)

In computer science, a record (also called a structure, struct, or compound data type) is a composite data structure a collection of fields, possibly of different data types, typically fixed in number and sequence.

See POPLmark challenge and Record (computer science)

Simply typed lambda calculus

The simply typed lambda calculus (\lambda^\to), a form of type theory, is a typed interpretation of the lambda calculus with only one type constructor (\to) that builds function types.

See POPLmark challenge and Simply typed lambda calculus

Stephanie Weirich

Stephanie Weirich is an American computer scientist specializing in type theory, type inference, dependent types, and functional programming.

See POPLmark challenge and Stephanie Weirich

Subject reduction

In type theory, a type system has the property of subject reduction (also subject evaluation, type preservation or simply preservation) if evaluation of expressions does not cause their type to change.

See POPLmark challenge and Subject reduction

Subtyping

In programming language theory, subtyping (also called subtype polymorphism or inclusion polymorphism) is a form of type polymorphism.

See POPLmark challenge and Subtyping

Symposium on Principles of Programming Languages

The annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) is an academic conference in the field of computer science, with focus on fundamental principles in the design, definition, analysis, and implementation of programming languages, programming systems, and programming interfaces.

See POPLmark challenge and Symposium on Principles of Programming Languages

System F

System F (also polymorphic lambda calculus or second-order lambda calculus) is a typed lambda calculus that introduces, to simply typed lambda calculus, a mechanism of universal quantification over types.

See POPLmark challenge and System F

Transitive relation

In mathematics, a binary relation on a set is transitive if, for all elements,, in, whenever relates to and to, then also relates to.

See POPLmark challenge and Transitive relation

Twelf

Twelf is an implementation of the logical framework LF developed by Frank Pfenning and Carsten Schürmann at Carnegie Mellon University.

See POPLmark challenge and Twelf

Type safety

In computer science, type safety and type soundness are the extent to which a programming language discourages or prevents type errors.

See POPLmark challenge and Type safety

University of Pennsylvania

The University of Pennsylvania, commonly referenced as Penn or UPenn, is a private Ivy League research university in Philadelphia, Pennsylvania, United States.

See POPLmark challenge and University of Pennsylvania

See also

Automated theorem proving

Programming language theory

References

[1] https://en.wikipedia.org/wiki/POPLmark_challenge

Also known as POPLMARK.