FACTOID # 6: Clipperton Island wins our prize for the most unusual looking country.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > System F
Jump to: navigation, search

System F is a typed lambda calculus. It is also known as the second-order or polymorphic lambda calculus. It was discovered independently by the logician Jean-Yves Girard and the computer scientist John C. Reynolds. System F formalizes the notion of parametric polymorphism in programming languages. The lambda calculus is a formal system designed to investigate function definition, function application, and recursion. ... The article titled Logicians treats the ancient Chinese philosophers known by that name (with a capital L). List of logicians (with a lower-case l) treats philosophers, mathematicians, and others whose topic of scholarly study is logic. ... Jean-Yves Girard is a French mathematician working in proof theory. ... Computer science (informally: CS or compsci) is, in its most general sense, the study of computation and information processing, both in hardware and in software. ... John C. Reynolds is a American computer scientist (born June 1, 1935). ... In computer science, polymorphism is the idea of allowing the same definitions to be used with different types of data (specifically, different classes of objects), resulting in more general and abstract implementations. ... A programming language or computer language is a standardized communication technique for expressing instructions to a computer. ...


Just as the lambda calculus has variables ranging over functions, and binders for them, the second-order lambda calculus has variables ranging over types, and binders for them. The lambda calculus is a formal system designed to investigate function definition, function application, and recursion. ...


As an example, the fact that the identity function can have any type of the form A→ A would be formalized in System F as the judgement

where α is a type variable. In computer science and mathematics, a variable is a symbol denoting a quantity or symbolic representation. ...


Under the Curry-Howard isomorphism, System F corresponds to a second-order logic. The Curry-Howard correspondence is the close relationship between computer programs and mathematical proofs; the correspondence is also known as the Curry-Howard isomorphism, or the formulae-as-types correspondence. ... Jump to: navigation, search In mathematical logic, second-order logic is an extension of either propositional logic or first-order logic which contains variables in predicate positions (rather than only in term positions, as in first-order logic), and quantifiers binding them. ...


System F, together with even more expressive lambda calculi, can be seen as part of the lambda cube. In mathematical logic and type theory, the λ-cube is a framework for exploring the axes of refinement in Coquands Calculus of Constructions, starting from the simply typed lambda calculus as the vertex of a (3-D) cube placed at the origin, and the calculus of constructions (= higher order...


Logic and predicates


The Boolean type is defined as: , where α is a type variable. . This produces the following two definitions for the boolean values TRUE and FALSE: In computer science and mathematics, a variable is a symbol denoting a quantity or symbolic representation. ...

TRUE := Λα.λxαλyα.x
FALSE := Λα.λxαλyα.y

Then, with these two λ-terms, we can define some logic operators:

AND := λxBooleanλyBoolean.((x(Boolean))y)FALSE
OR := λxBooleanλyBoolean.((x(Boolean))TRUE)y
NOT := λxBoolean.((x(Boolean))FALSE)TRUE

There really is no need for a IFTHENELSE function as one can just use raw Boolean typed terms as decision functions. However, if one is requested:

IFTHENELSE := Λα.λxBooleanλyαλzα.((x(α))y)z

will do.


A predicate is a function which returns a boolean value. The most fundamental predicate is ISZERO which returns TRUE if and only if its argument is the Church numeral 0:

ISZERO := λ n. nx. FALSE) TRUE

External links

  • Proofs and Types - New link
  • [1]

  Results from FactBites:
 
System F - Wikipedia, the free encyclopedia (491 words)
System F, also known as the polymorphic lambda calculus or the second-order lambda calculus, is a typed lambda calculus.
System F, together with even more expressive lambda calculi, can be seen as part of the lambda cube.
A restriction of System F known as "Hindley-Milner", or simply "HM", does have an easy type inference algorithm and is used for many strongly typed functional programming languages such as Haskell and ML.
System Overview - F.I.G.H.T. to Survive (1022 words)
The Haganah system (and its components) was born out of a need to enable a state (or person) at a disadvantage - such as size or degree of armament - to defeat an adversary with an advantage.
The Haganah system is far from being an ordinary Martial Art; it is the wave of the future in hand-to-hand combat and street fighting methodologies.
KAPAP is the teaching system in use in the Israeli military, where ordinary civilians (all Israelis serve in the military for 3 years) are turned into capable fighters ready to confront life and death engagements in a matter of months.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.