Thinning lemma in simply typed lambda calculus
$begingroup$
From "Type Theory and Formal Proof" by Rob Nederpelt and Herman Geuvers:
Definition 2.4.2
(1) A statement is of the form $M : alpha$, where $M in
Lambda_{mathbb{T}}$ and $sigma in mathbb{T}$. In such a
statement, $M$ is called the subject and $alpha$ the type.
(2) A declaration is a statement with a variable as subject.
(3) A context is a list of declarations with different subjects.
Definition 2.4.5 (Derivation rules for $lambda to$)
(var) $Gamma vdash x : alpha$ if $x : alpha in Gamma$
(appl) $Gamma vdash M : alpha to tau quad Gamma vdash N
: alpha implies Gamma vdash M N : tau$
(abst) $Gamma, x : alpha vdash M : tau implies Gamma vdash
lambda x : alpha . M : alpha to tau$
Definition 2.10.1
(2) Context $Gamma'$ is a subcontext of context $Gamma$, or $Gamma'
subseteq Gamma$, if all declarations occurring in $Gamma'$ also
occur in $Gamma$, in the same order.
Lemma 2.10.5
(1) (Thinning) Let $Gamma'$ and $Gamma''$ be contexts such that
$Gamma' subseteq Gamma''$. If $Gamma' vdash M : alpha$, then
also $Gamma'' vdash M : alpha$.
Note: I replaced the horizontal bar between the premisses and conclusion in the derivation rules with $implies$ since I could not get the bar to typeset as intended.
Suppose I assign the following in Lemma 2.10.5:
$Gamma' = y : B$
$Gamma'' = x : C, y : B$
$M = lambda x : A . y$
$alpha = A to B$
Then
$Gamma' vdash M : alpha = y : B vdash lambda x : A . y : A to B$
$Gamma'' vdash M : alpha = x : C, y : B vdash lambda x : A . y : A to B$.
For a derivation of the first I have:
(i) $y : B, x : A vdash y : B$ (var)
(ii) $y : B vdash lambda x : A . y : A to B$ (abst on i)
I am unable to find a derivation for the second as the lemma implies. Is there a derivation, or am I missing something else?
lambda-calculus
$endgroup$
add a comment |
$begingroup$
From "Type Theory and Formal Proof" by Rob Nederpelt and Herman Geuvers:
Definition 2.4.2
(1) A statement is of the form $M : alpha$, where $M in
Lambda_{mathbb{T}}$ and $sigma in mathbb{T}$. In such a
statement, $M$ is called the subject and $alpha$ the type.
(2) A declaration is a statement with a variable as subject.
(3) A context is a list of declarations with different subjects.
Definition 2.4.5 (Derivation rules for $lambda to$)
(var) $Gamma vdash x : alpha$ if $x : alpha in Gamma$
(appl) $Gamma vdash M : alpha to tau quad Gamma vdash N
: alpha implies Gamma vdash M N : tau$
(abst) $Gamma, x : alpha vdash M : tau implies Gamma vdash
lambda x : alpha . M : alpha to tau$
Definition 2.10.1
(2) Context $Gamma'$ is a subcontext of context $Gamma$, or $Gamma'
subseteq Gamma$, if all declarations occurring in $Gamma'$ also
occur in $Gamma$, in the same order.
Lemma 2.10.5
(1) (Thinning) Let $Gamma'$ and $Gamma''$ be contexts such that
$Gamma' subseteq Gamma''$. If $Gamma' vdash M : alpha$, then
also $Gamma'' vdash M : alpha$.
Note: I replaced the horizontal bar between the premisses and conclusion in the derivation rules with $implies$ since I could not get the bar to typeset as intended.
Suppose I assign the following in Lemma 2.10.5:
$Gamma' = y : B$
$Gamma'' = x : C, y : B$
$M = lambda x : A . y$
$alpha = A to B$
Then
$Gamma' vdash M : alpha = y : B vdash lambda x : A . y : A to B$
$Gamma'' vdash M : alpha = x : C, y : B vdash lambda x : A . y : A to B$.
For a derivation of the first I have:
(i) $y : B, x : A vdash y : B$ (var)
(ii) $y : B vdash lambda x : A . y : A to B$ (abst on i)
I am unable to find a derivation for the second as the lemma implies. Is there a derivation, or am I missing something else?
lambda-calculus
$endgroup$
add a comment |
$begingroup$
From "Type Theory and Formal Proof" by Rob Nederpelt and Herman Geuvers:
Definition 2.4.2
(1) A statement is of the form $M : alpha$, where $M in
Lambda_{mathbb{T}}$ and $sigma in mathbb{T}$. In such a
statement, $M$ is called the subject and $alpha$ the type.
(2) A declaration is a statement with a variable as subject.
(3) A context is a list of declarations with different subjects.
Definition 2.4.5 (Derivation rules for $lambda to$)
(var) $Gamma vdash x : alpha$ if $x : alpha in Gamma$
(appl) $Gamma vdash M : alpha to tau quad Gamma vdash N
: alpha implies Gamma vdash M N : tau$
(abst) $Gamma, x : alpha vdash M : tau implies Gamma vdash
lambda x : alpha . M : alpha to tau$
Definition 2.10.1
(2) Context $Gamma'$ is a subcontext of context $Gamma$, or $Gamma'
subseteq Gamma$, if all declarations occurring in $Gamma'$ also
occur in $Gamma$, in the same order.
Lemma 2.10.5
(1) (Thinning) Let $Gamma'$ and $Gamma''$ be contexts such that
$Gamma' subseteq Gamma''$. If $Gamma' vdash M : alpha$, then
also $Gamma'' vdash M : alpha$.
Note: I replaced the horizontal bar between the premisses and conclusion in the derivation rules with $implies$ since I could not get the bar to typeset as intended.
Suppose I assign the following in Lemma 2.10.5:
$Gamma' = y : B$
$Gamma'' = x : C, y : B$
$M = lambda x : A . y$
$alpha = A to B$
Then
$Gamma' vdash M : alpha = y : B vdash lambda x : A . y : A to B$
$Gamma'' vdash M : alpha = x : C, y : B vdash lambda x : A . y : A to B$.
For a derivation of the first I have:
(i) $y : B, x : A vdash y : B$ (var)
(ii) $y : B vdash lambda x : A . y : A to B$ (abst on i)
I am unable to find a derivation for the second as the lemma implies. Is there a derivation, or am I missing something else?
lambda-calculus
$endgroup$
From "Type Theory and Formal Proof" by Rob Nederpelt and Herman Geuvers:
Definition 2.4.2
(1) A statement is of the form $M : alpha$, where $M in
Lambda_{mathbb{T}}$ and $sigma in mathbb{T}$. In such a
statement, $M$ is called the subject and $alpha$ the type.
(2) A declaration is a statement with a variable as subject.
(3) A context is a list of declarations with different subjects.
Definition 2.4.5 (Derivation rules for $lambda to$)
(var) $Gamma vdash x : alpha$ if $x : alpha in Gamma$
(appl) $Gamma vdash M : alpha to tau quad Gamma vdash N
: alpha implies Gamma vdash M N : tau$
(abst) $Gamma, x : alpha vdash M : tau implies Gamma vdash
lambda x : alpha . M : alpha to tau$
Definition 2.10.1
(2) Context $Gamma'$ is a subcontext of context $Gamma$, or $Gamma'
subseteq Gamma$, if all declarations occurring in $Gamma'$ also
occur in $Gamma$, in the same order.
Lemma 2.10.5
(1) (Thinning) Let $Gamma'$ and $Gamma''$ be contexts such that
$Gamma' subseteq Gamma''$. If $Gamma' vdash M : alpha$, then
also $Gamma'' vdash M : alpha$.
Note: I replaced the horizontal bar between the premisses and conclusion in the derivation rules with $implies$ since I could not get the bar to typeset as intended.
Suppose I assign the following in Lemma 2.10.5:
$Gamma' = y : B$
$Gamma'' = x : C, y : B$
$M = lambda x : A . y$
$alpha = A to B$
Then
$Gamma' vdash M : alpha = y : B vdash lambda x : A . y : A to B$
$Gamma'' vdash M : alpha = x : C, y : B vdash lambda x : A . y : A to B$.
For a derivation of the first I have:
(i) $y : B, x : A vdash y : B$ (var)
(ii) $y : B vdash lambda x : A . y : A to B$ (abst on i)
I am unable to find a derivation for the second as the lemma implies. Is there a derivation, or am I missing something else?
lambda-calculus
lambda-calculus
asked Jan 14 at 4:13
user695931user695931
17511
17511
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
This may just be a consequence of Convention 1.7.2 From now on, we identify α-convertible λ-terms.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3072837%2fthinning-lemma-in-simply-typed-lambda-calculus%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
This may just be a consequence of Convention 1.7.2 From now on, we identify α-convertible λ-terms.
$endgroup$
add a comment |
$begingroup$
This may just be a consequence of Convention 1.7.2 From now on, we identify α-convertible λ-terms.
$endgroup$
add a comment |
$begingroup$
This may just be a consequence of Convention 1.7.2 From now on, we identify α-convertible λ-terms.
$endgroup$
This may just be a consequence of Convention 1.7.2 From now on, we identify α-convertible λ-terms.
answered Jan 14 at 4:29
user695931user695931
17511
17511
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3072837%2fthinning-lemma-in-simply-typed-lambda-calculus%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown