게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

Lambda Calculus 질문입니다

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
유.강민



가입: 2011년 3월 22일
올린 글: 38

올리기올려짐: 2011년4월22일 18:27    주제: Lambda Calculus 질문입니다 인용과 함께 답변

코드:
(λx.(λy.x)) (λz.(z y))

위 식을 맨처음 리듀스하면
코드:
{x-> (λz.(z y))} (λy.x)

와 같은 치환식이 성립되는데
(λy.x)의 y가 치환될 새로운 변수의 조건이
코드:
 {x} U FV (λy.x) U FV (λz.(z y))

의 원소면 안된다는건데
이를 만족하는 z로 치환하면 될까요?
계산하면
코드:

{x-> (λz.(z y))}(λz.{y->z}x)
->λz.(λz.(z y))


근데 w로 치환하면
코드:

{x-> (λz.(z y))}(λw.{y->w}x)
->λw.(λz.(z y))


둘다 조건은 만족하는데 결과의 의미가 다른것 같습니다.

추가질문:
Church Numeral 의 표현방식이 λs.λz.s^n z인데요
reduce (encode X)중 X에 연산을 넣고 실행한다고 할때
예를들어
X가 1+2이면 s와z 변수로 이루어진 람다식이 나오는데
X가 어떤 특정 연산일떄(예 2-1) z가 다른 변수로 치환되서 나와도 괜찮나요?
위로
사용자 정보 보기 비밀 메시지 보내기
정영범



가입: 2005년 9월 5일
올린 글: 167

올리기올려짐: 2011년4월24일 23:15    주제: 인용과 함께 답변

코드:

λz.(λz.(z y))
λw.(λz.(z y))

두 람다식 모두 의미가 같습니다.
이유는 첫번째 람다식에서 처음에 나오는 z와 두번째 세번째 나오는 z는 다르기 때문입니다.
처음에 나오는 z는 y만 아니면 그 어떤 이름으로 바꿔도 의미가 변하지 않습니다.

다음과 같이 의미가 같은 람다식이면 그 변수 이름이 무엇이듯 상관없습니다.
코드:

λs.λz.s^n z
λa.λb.a^n b
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay