POPLmark challenge, the Glossary
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
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.
- Automated theorem proving
- 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
- Anti-unification
- Automated reasoning
- Automated theorem proving
- Axiomatic system (logic)
- Burrows–Abadi–Needham logic
- Chaff algorithm
- Computer-assisted proof
- Concolic testing
- DPLL algorithm
- DPLL(T)
- Davis–Putnam algorithm
- F* (programming language)
- Fresh variable
- Geoff Sutcliffe
- Geometry Expert
- Harald Ganzinger
- Hilbert system
- Interactive Theorem Proving (conference)
- IsaPlanner
- LowerUnits
- Method of analytic tableaux
- Model elimination
- Non-surveyable proof
- Nuprl
- Occurs check
- POPLmark challenge
- Proof (truth)
- Proof assistant
- Proof complexity
- Propositional proof system
- Reasoning system
- Resolution (logic)
- Rippling
- Sequent calculus
- Substitution (logic)
- System on TPTP
- Thousands of Problems for Theorem Provers
- Unification (computer science)
- Unit propagation
- WalkSAT
Programming language theory
- Abstract syntax
- Compiler construction
- Dependently typed programming
- Divergence (computer science)
- First-class function
- Function-level programming
- Higher-order abstract syntax
- Lambda calculus
- Logic error
- Logic of Computable Functions
- Non-local variable
- POPLmark challenge
- Program analysis
- Program transformation
- Programming Computable Functions
- Programming language semantics
- Programming language theory
- Programming languages
- Proof-carrying code
- Qualification principle
- Referential transparency
- Side effect (computer science)
- Structured program theorem
- Substitution (logic)
- Syntax error
- Turing completeness
- Type theory
- Typed assembly language
- Variadic
References
[1] https://en.wikipedia.org/wiki/POPLmark_challenge
Also known as POPLMARK.