https://jurogrammer.tistory.com/135?category=959000 를 공부하고 정리한 글이다.
- variables v1, v2...
- the abstraction symbols λ (lambda) and . (dot);->추상화 심볼인 lambda and .(dot)
- parentheses() : 소괄호
- If x is a variable, then x ∈ Λ. : x가 변수라면 Λ에 속함.
- If x is a variable and M ∈ Λ, then (λx.M) ∈ Λ. : x가 변수이고, M이 Λ에 속한다면, (λx.M)이 또한 Λ에 속함.
- If M, N ∈ Λ, then (M N) ∈ Λ. : M과 N이 Λ에 속한다면, (M N)도 Λ에 속함.
-> 결론: 람다의 구성요소들은 람다 수식을 application 해도 람다 expression이라 할 수 있음
- Outermost parentheses are dropped: M N instead of (M N): 가장 바깥의 소괄호는 생략한다.
- Applications are assumed to be left associative: M N P may be written instead of ((M N) P). : application은 좌측부터 연산
- The body of an abstraction extends as far right as possible: λx.M N means λx.(M N) and not (λx.M) N. : abstraction의 body(λx.M에서 M 해당하는 부분)은 가장 바깥까지 취급 (중요)
- A sequence of abstractions is contracted: λx.λy.λz.N is abbreviated as λxyz.N : λx.λy.λz.N와 같은 abstraction의 나열은 λxyz.N 으로 축약됨.