패턴 람다 미적분에서의 이타 확장


12

Klop, van Oostrom 및 de Vrijer에는 람다 미적분학에 패턴이있는 종이가 있습니다.

http://www.sciencedirect.com/science/article/pii/S0304397508000571

어떤 의미에서 패턴은 변수의 트리입니다.하지만 ((x, y), z), (t, s))와 같이 중첩 된 변수의 튜플이라고 생각합니다.

논문에서 그들은 패턴이 선형 적이라면 패턴의 변수가 반복되지 않는다는 의미에서 규칙을 보여 주었다.

(\p . m) n = m [n/p]

여기서 p는 가변 패턴이고 n은 p와 정확히 동일한 모양을 가진 항의 튜플입니다.

패턴과 추가 에타 규칙 (확장, 축소 또는 평등)을 가진 람다 미적분학에 대한 문헌에서 비슷한 발전이 있는지 궁금합니다.

특히, 에타, 나는 의미

m = \lambda p . m p

더 직접적으로, 나는 그러한 람다 미적분이 어떤 속성을 가질 지 궁금합니다. 예를 들어, 합류합니까?

분류 범주를 강제로 닫습니다.

m p = n p implies m = n 

사이에 \ xi-rule을 사용합니다. 그러나 아마도 뭔가 잘못 될 수 있습니까?


당신이 의미하는 에타 규칙을 쓰시겠습니까? 매우 이상하지 않으면 합계를 사용하여 인코딩하고 시뮬레이션 인수를 만들 수 있어야합니다.
Max New

2
@MaxNew : 형식화되지 않은 미적분에 대해 묻는 것 같습니다. 패턴에 관한 모든 것이 유형과 완벽하게 작동합니다 (나는 패턴 매칭에 초점을 맞추고 있습니다 ). 그러나 유형화되지 않은 람다 미적분학은 증거를하지 않고 감히 대답 할 수없는 유형화 된 LC (특히 wrt eta)와 충분히 다릅니다. .
Neel Krishnaswami

@MaxNew : 합계로 인코딩하면 무엇이 필요합니까?
Jonathan Gallagher

@NeelKrishnaswami : 나는 실제로 둘 다에 관심이 있습니다. 나는 에타 규칙과 함께 제품 유형의 변수를 갖는 것에 대해 불안하다고 생각합니다. 나는 이것이 dicosmo.org/Articles/JFP96.pdf 와 같은 것이라고 생각합니다 . 그러나 내가 틀렸다면 정정하십시오. 그러면 \ lambda x .mx = m = \ lambda (p, q)와 같은 항등이 있습니다. 예를 들어 m (p, q). 논문 링크를 보내 주셔서 감사합니다!
Jonathan Gallagher

답변:


7

이것은 완전한 대답이 아닙니다. 너무 큰 주석입니다.

프로젝션 제거기가 포함 된 제품 (예 : 제품 제거기 fst(e)snd(e))을 사용 하여 유형이 지정된 람다 미적분을 확장하면 기본적으로 문제가 없습니다. 계산에 오랜 시간이 걸리는 이유 는 에타 축소 보다는 에타 확장 을 수행하는 것이 더 자연 스럽기 때문 입니다. 배리 제이의 Eta 확장의 미덕 참조 .

제품에 패턴 스타일 제거기를 설치하려는 경우

let (a,b) = e in t 

그러면 문제는 더 복잡합니다. 패턴 일치의 주요 어려움은 통근 변환 입니다. 즉,이 미적분학은

C[let (a,b) = e in t] === let (a,b) = e in C[t]

(a) 어떤 문맥 C[-]을 사용해야하는지 (b)이 방정식의 방향을 정하는 방법은 까다로울 수 있습니다. 스타일을 재 작성하는 방식에 대한 최신 기술인 IMO는 Sam Lindley의 Sum을 사용한 확장 재 작성 과 Gabriel Scherer의 Sum을 사용한 동등성 결정 및 빈 유형으로 , 둘 다 제품과 합계가 모두 포함 된 람다 미적분을 고려합니다.

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