Archive for the ‘Computation’ Category

Propositions as Types

February 14, 2016

sq_propositions_as_types3For almost 100 years, there have been linkages forged between certain notions of logic and of computation. As more associations have been discovered, the bonds between the two have grown stronger and richer.

  • Propositions in logic can be considered equivalent to types in programming languages.
  • Proofs of propositions in logic can be considered equivalent to programs of given type in computation.
  • The simplification of proofs of propositions in logic can be considered equivalent to the evaluation of programs of types in computation.

The separate work of various logicians and computer scientists (and their precursors) can be paired:

  • Gerhard Gertzen’s work on proofs in intuitionistic natural deduction and Alonzo Church’s work on the simply typed lambda calculus.
  • J. Roger Hindley and Robin Milner’s work on type systems for combinatory logic and programming languages, respectively.
  • J. Y. Girard and John Reynold’s work on the second order lambda calculus and parametric polymorphic programs, respectively.
  • Haskell Curry’s and W. A. Howard’s work on the overall correspondence between these notions of proofs as programs or positions as types.

Logic and computation are the sequential chains of efficient causation and actions. Propositions and types are the abstract grids of formal causation and structures. Proofs and programs are the normative cycles of final causation and functions. Simplification and evaluation are the reductive solids of material causation and parts.

References:

Philip Wadler / Propositions as Types, in Communications of the ACM, Vol. 58 No. 12 (Dec 2015) Pages 75-85.

http://cacm.acm.org/magazines/2015/12/194626-propositions-as-types/fulltext

Preprint at

http://homepages.inf.ed.ac.uk/wadler/papers/propositions-as-types/propositions-as-types.pdf

Also see:

http://www.drdobbs.com/old-ideas-form-the-basis-of-advancements/184404384

https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system

https://en.wikipedia.org/wiki/System_F

https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence

[*9.92-9.94]

<>

 

The Duality of Time and Information, V2

May 2, 2013

The states of a computing system bear information and change time, while its events bear time and change information.

from The Duality of Time and Information by Vaughn Pratt

The most promising transformational logic seems to us to be Girard’s linear logic.

— from Rational Mechanics and Natural Mathematics by Vaughn Pratt

Here we have three duals: information – time, state – event, and bear – change.

References:

Vaughan Pratt / The Duality of Time and Information http://boole.stanford.edu/pub/dti.pdf

Vaughan Pratt / Time and Information in Sequential and Concurrent Computation http://boole.stanford.edu/pub/tppp.pdf

Vaughan Pratt / Rational Mechanics and Natural Mathematics http://chu.stanford.edu/guide.html#ratmech

[*5.170]

<>

The Curry-Howard Correspondence

August 21, 2012

The Curry-Howard Correspondence reveals a close correspondence between the constituents of Logic and of Programming. Also known as the Formulas as Types and the Proofs as Programs interpretations.

Existential Quantification (∃) of Logic corresponds to the Generalized Cartesian Product type (∑) of Programming. Universal Quantification (∀) of Logic corresponds to the Generalized Function Space type (∏) of Programming. Conjunction (⋀) of Logic corresponds to the Product type (×) of Programming. Disjunction (⋁) of Logic corresponds to the Sum type (+) of Programming.

There are associations between the Curry-Howard Correspondence and the fourfolds of the Square of Opposition, Attraction and Repulsion, and of course Linear Logic.

http://en.wikipedia.org/wiki/Curry-Howard_correspondence

<>

A Digital Universe

April 12, 2012

A digital universe – whether 5 kilobytes or the entire Internet – consists of two species of bits: differences in space, and differences in time. Digital computers translate between these two forms of information – structure and sequence – according to definite rules. Bits that are embodied as structure (varying in space, invariant across time) we perceive as memory, and bits that are embodied as sequence (varying in time, invariant across space) we perceive as code. Gates are the intersections where bits span both worlds at the moments of transition from one instant to the next.

— George Dyson, from Turing’s Cathedral

George Dyson / Turing’s Cathedral: the origins of the digital universe

[*7.82, *7.83, *7.153]

<>

The Four Basic Electronic Components

June 10, 2011

A fourfold has recently been in the news. The physical realization of the memristor completes the four basic electronic components, along with the resistor, capacitor, and inductor. Theorized to exist since 1971, the memristor may revolutionize computational devices.

References:

http://en.wikipedia.org/wiki/Memristor

[*6.126-*6.128]

<>

The Duality of Time and Information

August 26, 2010

The states of a computing system bear information and change time, while its events bear time and change information.

from The Duality of Time and Information by Vaughn Pratt

The most promising transformational logic seems to us to be Girard’s linear logic.

— from Rational Mechanics and Natural Mathematics by Vaughn Pratt

References:

Vaughan Pratt / The Duality of Time and Information http://boole.stanford.edu/pub/dti.pdf

Vaughan Pratt / Time and Information in Sequential and Concurrent Computation http://boole.stanford.edu/pub/tppp.pdf

Vaughan Pratt / Rational Mechanics and Natural Mathematics http://chu.stanford.edu/guide.html#ratmech

 [*5.170]

<>