30.07.2013 Views

Lambda-Calculus and Combinators, an Introduction

Lambda-Calculus and Combinators, an Introduction

Lambda-Calculus and Combinators, an Introduction

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

15B Syntax-free definitions 241<br />

Conversely, if we take a syntax-free λ-model 〈D, •, Λ〉 <strong><strong>an</strong>d</strong> let e be<br />

<strong>an</strong>y representative of Λ, then 〈D, •,e〉 is a loose Scott–Meyer model. So<br />

the loose Scott–Meyer definition of model is essentially equivalent to the<br />

earlier definitions, 15.3 <strong><strong>an</strong>d</strong> 15.19.<br />

However, one mapping Λ may have m<strong>an</strong>y representatives, so one<br />

model in the sense of 15.19 may give rise to m<strong>an</strong>y loose Scott–Meyer<br />

models. But only one of these is strict. To find it, choose<br />

e0 = [[1]] = [[λxy.xy]], (4)<br />

where [[ ]] is defined from Λ by 15.20(a)–(c). This e0 represents Λ, by<br />

the end of Discussion 15.18, <strong><strong>an</strong>d</strong> we also have<br />

e0 • e0 = [[1]]• [[ 1]] = [[1 1]] = [[1]] = e0, (5)<br />

so 〈D, •,e0〉 is a strict model.<br />

No other representative of Λ gives a strict model. Because if e ′ represents<br />

Λ <strong><strong>an</strong>d</strong> 〈D, •,e ′ 〉 is a strict model, we get e ′ = e0. In detail:<br />

e ′ = e ′ • e ′ by 15.22(d) for e ′ ,<br />

= Λ(e ′ ) since e ′ represents Λ,<br />

= e0 • e ′ since e0 represents Λ,<br />

= e0 • e0 by 15.22(c) for e0 since e ′ ∼ e0,<br />

= e0 by 15.22(d) for e0.<br />

This discussion c<strong>an</strong> be summed up as follows.<br />

Theorem 15.24 The constructions Λ=Fun(e) <strong><strong>an</strong>d</strong> e0 =[[1]]are<br />

mutual inverses. That is: if 〈D, •, Λ〉 is a syntax-free λ-model in the<br />

sense of Definition 15.19, <strong><strong>an</strong>d</strong> e0 = [[ 1 ]], then 〈D, •,e0〉 is a strict<br />

Scott–Meyer λ-model <strong><strong>an</strong>d</strong> Fun(e0) =Λ;<strong><strong>an</strong>d</strong>,conversely,if〈D, •,e〉 is a<br />

strict Scott–Meyer λ-model <strong><strong>an</strong>d</strong> Λ=Fun(e), then 〈D, •, Λ〉 is a syntaxfree<br />

λ-model <strong><strong>an</strong>d</strong> [[ 1]]=e.<br />

Remark 15.25 The Scott–Meyer definition of model is clearly simpler<br />

th<strong>an</strong> both the previous definitions, in fact it is almost as simple as the<br />

definition of ‘combinatory algebra’ in 14.9. All its clauses except (c) c<strong>an</strong><br />

be expressed in the form<br />

(∃x1,...,xm )(∀y1,...,yn)(P = Q) (m, n ≥ 0). (6)<br />

But the exception is very import<strong>an</strong>t. If every clause had form (6), then<br />

<strong>an</strong> <strong>an</strong>alogue of the submodel theorem could be proved (Theorem 14.23),

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

Saved successfully!

Ooh no, something went wrong!