02.11.2012 Views

Reduction and Elimination in Philosophy and the Sciences

Reduction and Elimination in Philosophy and the Sciences

Reduction and Elimination in Philosophy and the Sciences

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

398<br />

The Calculus of Inductive Constructions as a Foundation for Semantics — Piotr Wilk<strong>in</strong><br />

<strong>the</strong>orem is also available (O’Connor 2005). Indeed, <strong>the</strong><br />

expressive power of CIC is not far from that of ZFC.<br />

There is not enough space here to describe <strong>in</strong> full<br />

extent <strong>the</strong> <strong>the</strong>ory beh<strong>in</strong>d CIC. Suffice it to say, one very<br />

important dist<strong>in</strong>ction between CIC <strong>and</strong> <strong>the</strong> simple-type<br />

<strong>the</strong>ory (STT) is that <strong>the</strong>re is no longer any clear dist<strong>in</strong>ction<br />

between a term <strong>and</strong> a type. Therefore, we can have both<br />

� ϕ : 2+2 = 4 <strong>and</strong> � 2+2 = 4 : Prop - <strong>the</strong> first one states<br />

that ϕ is a proof of 2 + 2 = 4, <strong>the</strong> o<strong>the</strong>r – that 2 + 2 = 4 is a<br />

well-formed proposition. The type hierarchy <strong>in</strong> CIC is<br />

<strong>in</strong>f<strong>in</strong>ite <strong>and</strong> stratified, with two base types: Set be<strong>in</strong>g <strong>the</strong><br />

type of object doma<strong>in</strong>s <strong>and</strong> Prop be<strong>in</strong>g <strong>the</strong> type of<br />

propositions. One example of a proposition we have<br />

already seen, an example of a Set typ<strong>in</strong>g assertion is <strong>and</strong><br />

� Nat : Set, say<strong>in</strong>g that <strong>the</strong> natural numbers form an object<br />

doma<strong>in</strong> (I did not want to use <strong>the</strong> terms “set” or “universe”<br />

s<strong>in</strong>ce <strong>the</strong>y seem to have various connotations, but s<strong>in</strong>ce<br />

<strong>the</strong> term “set” is used as <strong>the</strong> type designation <strong>in</strong>ternally <strong>in</strong><br />

Coq, I will adopt this <strong>and</strong> use <strong>the</strong> name “set” as short for<br />

“object doma<strong>in</strong>” – this is however not to be understood as<br />

a set <strong>in</strong> <strong>the</strong> set-<strong>the</strong>oretic sense). Ano<strong>the</strong>r important<br />

difference is that apart from non-dependent products<br />

(which can be understood as functions <strong>and</strong> thus, via <strong>the</strong><br />

Curry-Howard isomorphism, implications), we now have<br />

dependent products (which can be thought of as<br />

generalized products <strong>and</strong> via <strong>the</strong> Curry-Howard<br />

isomorphism – represented as universal quantification).<br />

For example, <strong>the</strong> assertion � ϕ : (∀n:nat(n ≥ 0)) can be<br />

read as “ϕ is a member of a generalized product over<br />

natural numbers of doma<strong>in</strong>s “n ≥ 0”, which for each n<br />

conta<strong>in</strong> proofs that n ≥ 0”.<br />

Present<strong>in</strong>g this entire concept would have been<br />

po<strong>in</strong>tless without show<strong>in</strong>g why this can be useful for<br />

semantics. Indeed, I can believe that us<strong>in</strong>g this framework<br />

can significantly <strong>in</strong>crease <strong>the</strong> clarity of describ<strong>in</strong>g nonextensional<br />

contexts <strong>in</strong> semantic uses. For one quick<br />

<strong>in</strong>terest<strong>in</strong>g demonstration, note that this approach allows<br />

us to formally expla<strong>in</strong> <strong>the</strong> difference between Frege’s<br />

notion of “function” <strong>and</strong> its “value-range”. In CIC one<br />

cannot generally deduce � f = g from � ∀x.fx = gx;<br />

extensionality is not assumed. However, this does not<br />

mean that we use some vague notion of identity –<br />

functions are constructive objects <strong>and</strong> <strong>the</strong>y are <strong>the</strong> same if<br />

<strong>the</strong> constructions <strong>the</strong>mselves are <strong>the</strong> same.<br />

Now, here <strong>the</strong> <strong>in</strong>ductive types come <strong>in</strong>. Inductive<br />

types are generally an extension of <strong>the</strong> <strong>in</strong>tuitive notion of<br />

<strong>in</strong>ductive constructions to <strong>the</strong> type system. That is: you<br />

provide ways of construct<strong>in</strong>g base elements of <strong>the</strong> type, as<br />

well as <strong>in</strong>ductively construct<strong>in</strong>g new elements from<br />

previously constructed ones. What <strong>the</strong> type system<br />

guarantees is that <strong>the</strong> construction is unique – objects of<br />

an <strong>in</strong>ductive type cannot be created <strong>in</strong> any o<strong>the</strong>r way than<br />

by <strong>the</strong> respective constructors <strong>and</strong> <strong>the</strong> various constructors<br />

are assumed to be provably different from each o<strong>the</strong>r. For<br />

example, <strong>the</strong> type Nat of natural numbers is def<strong>in</strong>ed as<br />

Nat := O : Nat | S : Nat → Nat. This corresponds to <strong>the</strong><br />

traditional view from Peano Arithmetic: natural numbers<br />

are ei<strong>the</strong>r 0 or an iterated successor of 0. They are also<br />

only that: for example, you can prove <strong>in</strong> <strong>the</strong> system (with<br />

just <strong>the</strong> above def<strong>in</strong>ition) that 0 is different from any<br />

successor.<br />

We can use all of <strong>the</strong> mentioned <strong>in</strong>struments to<br />

illustrate how this framework can help us <strong>in</strong> formaliz<strong>in</strong>g<br />

semantics. For example, we can construct <strong>the</strong> operator<br />

Believes <strong>in</strong> <strong>the</strong> follow<strong>in</strong>g way: Believes := BArith :<br />

∀n:nat, (n = n) → Believes(n = n). This <strong>in</strong>ductive def<strong>in</strong>ition<br />

means that what is “believed” is arithmetical equalities, but<br />

noth<strong>in</strong>g else. Note that <strong>in</strong> this def<strong>in</strong>ition, both <strong>the</strong> truth<br />

value <strong>and</strong> <strong>the</strong> form of <strong>the</strong> expression is used – we accept<br />

only proven expressions, <strong>and</strong> only of <strong>the</strong> form n = n. We<br />

could widen <strong>the</strong> operator, for example, to ignore <strong>the</strong> truth<br />

value: take a def<strong>in</strong>ition of Believes := BArith :<br />

(∀n m:nat),Believes(n = m). This is a correct def<strong>in</strong>ition, but<br />

it no longer takes <strong>in</strong>to account <strong>the</strong> logical validity of <strong>the</strong><br />

equality. Now, we “believe” any arithmetical equality, true<br />

or not.<br />

Note that we are not tak<strong>in</strong>g a model-<strong>the</strong>oretic<br />

approach here – <strong>the</strong>re is no need to construct a specific<br />

<strong>in</strong>tensional model to formalize such a semantics. We ga<strong>in</strong><br />

<strong>the</strong> benefit of a framework especially suited for analyz<strong>in</strong>g<br />

<strong>in</strong>tensional constructions, but one that already possesses<br />

all <strong>the</strong> “st<strong>and</strong>ard” logical concepts built <strong>in</strong>. One can even<br />

add <strong>the</strong> axiom of excluded middle if needed – it is<br />

consistent with CIC. There is, however, no need for <strong>the</strong><br />

tedious task of build<strong>in</strong>g a specific model for formaliz<strong>in</strong>g an<br />

<strong>in</strong>tensional fragment of <strong>the</strong> natural language – one needs<br />

only to def<strong>in</strong>e <strong>the</strong> proper <strong>in</strong>ductive types <strong>and</strong> predicates.<br />

All this is coupled with a system for annotat<strong>in</strong>g <strong>the</strong> syntax<br />

much richer than st<strong>and</strong>ard categorial grammars – for<br />

example, we can now assign a type to <strong>the</strong> operator very as<br />

follows: (∀s:Set),(s → Prop) → (s → Prop), which allows us<br />

to uniformly type very for predicates of any object category<br />

(as <strong>in</strong> very young with young : Liv<strong>in</strong>gBe<strong>in</strong>g → Prop <strong>and</strong><br />

very fast with fast : Car → Prop, so that we can both<br />

subdivide <strong>the</strong> object category <strong>and</strong> not worry about hav<strong>in</strong>g<br />

problems with uniformly assign<strong>in</strong>g categories to higher<br />

order operators).<br />

This proof-<strong>the</strong>oretic (or constructive, as you prefer)<br />

approach to natural-language semantics seems to me<br />

more suitable. After all, what we are after when formaliz<strong>in</strong>g<br />

a natural language is be<strong>in</strong>g able to express all <strong>the</strong><br />

constructs from <strong>the</strong> natural language easily <strong>and</strong> not hav<strong>in</strong>g<br />

to worry whe<strong>the</strong>r add<strong>in</strong>g this or that construct will<br />

complicate <strong>the</strong> result<strong>in</strong>g model beyond manageability.<br />

Also, it places more emphasis on <strong>the</strong> functional way of our<br />

language use. I believe that <strong>the</strong> presented framework<br />

might be a viable <strong>and</strong> reasonable alternative to current set<strong>the</strong>oretic<br />

based approaches.<br />

Literature<br />

Ajdukiewicz, Kazimierz 1935 Die syntaktische Konnexität, <strong>in</strong> Studia<br />

Philosophica, I, 1935, pp. 1-27<br />

Church, Alonzo 1940 A Formulation of <strong>the</strong> Simple Theory of Types,<br />

<strong>in</strong> The Journal of Symbolic Logic, Vol. 5, No. 2 (Jun., 1940), pp.<br />

56-68<br />

Curry, Haskell 1934 Functionality <strong>in</strong> Comb<strong>in</strong>atory Logic, <strong>in</strong> Proceed<strong>in</strong>gs<br />

of <strong>the</strong> National Academy of <strong>Sciences</strong>, vol. 20, pp. 584-<br />

590<br />

Herbel<strong>in</strong>, Hugo et al. 2006 The Coq Reference Manual. Chapter 4:<br />

The Calculus of Inductive Constructions, http://coq.<strong>in</strong>ria.fr/doc/<br />

Reference-Manual006.html<br />

Montague, Richard 1974 The Proper Treatment of Quantification <strong>in</strong><br />

Ord<strong>in</strong>ary English, <strong>in</strong> R. Thomason (Ed.), Formal <strong>Philosophy</strong>: Selected<br />

Papers of Richard Montague. New Haven: Yale University<br />

Press.<br />

O’Connor, Russell 2005 Essential Incompleteness of Arithmetic<br />

Verified by Coq, <strong>in</strong> Proceed<strong>in</strong>gs of <strong>the</strong> 18th International Conference<br />

on Theorem Prov<strong>in</strong>g <strong>in</strong> Higher Order Logics (TPHOLs 2005)<br />

Oksanen, Mika 1999 The Russell-Kaplan Paradox <strong>and</strong> O<strong>the</strong>r Modal<br />

Paradoxes: A New Solution, <strong>in</strong> Nordic Journal of Philosophical<br />

Logic, Vol. 4, No. 1, pp. 73-93<br />

Sorensen, Mart<strong>in</strong> He<strong>in</strong>e <strong>and</strong> Urzyczyn, Paweł 2006 Lectures on <strong>the</strong><br />

Curry-Howard Isomorphism, Elsevier

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!