Krivine 표기법의 이점은 무엇입니까?


9

일부 사람들은 -calculus 의 구문을 제시 할 때 함수 응용 프로그램에 Krivine의 표기법을 사용하는 것을 보았습니다 . 예를 들어, term (함수 응용 프로그램이 왼쪽에 연결하는 일반적인 규칙에 따라 실제로는 )는 로 작성 (실제로 와 유사한 규칙 ) 가장 안쪽 주위에 또 다른 괄호 쌍이 있다는 점을 보지 못했습니다 . 사람들은 왜 평소 표기법 대신 Krivine 표기법을 사용합니까?λλλf.λx.λy.f x yλf.λx.λy.((f x) y)λf.λx.λy.(f) x yλf.λx.λy.((f) x) y에프

답변:


13

Lambda Calculus : Types and Models 의 Krivine 표기법을 의미한다고 가정합니다 .

데이터 표현으로 사용되는이 표기법은 람다 용어에 대한 많은 알고리즘을보다 간단하게 구현하고 증명할 수 있도록합니다. 즉, 람다 용어가 주어지면에프이자형1이자형2이자형, 당신은 그것을 머리 로보고 싶어 에프인수 목록 과 함께[이자형1,이자형2,,이자형].

예를 들어 두 용어를 비교한다고 가정합니다. 에프이자형1이자형1. 머리를 비교하는 것이 가장 자연 스럽습니다.에프 먼저, 심지어 보지 (이자형나는,나는)그 비교가 성공하지 않으면 쌍. (이것은 종종 고차 통합의 구현에서 나타납니다.)

이 아이디어의 공식화는 Cervesato and Pfenning의 논문 A Linear Spine Calculus 를 참조하십시오 .


0

한 가지 흥미로운 차이점은 Krivine의 2 장 섹션 2 "대표 가능한 기능"에 나와 있습니다. 교회 인코딩 된 3은 다음과 같이 표준 표기법으로 작성됩니다.λ 엑스. λ 와이. 엑스 (엑스 (엑스 와이)). Krivine의 표기법으로 (마지막으로 올바르게 이해하면!)λ엑스 λ와이 (엑스)(엑스)(엑스)와이.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.