TL;DR
형식 증명에서 LLM 성능이 낮은 원인으로 소스 텍스트의 표면적 잡음을 지목하고, Maith는 Lean의 elaborated Expr 트리에서 직접 IR을 추출해 이를 정규화한 뒤 토큰화하는 방식을 구현했다. 초기 실험에서 Mathlib.Algebra.Group.Defs의 1,129개 선언 중 792개(70%)를 성공적으로 추출했고 337개(30%)는 주로 HOF 적용과 projection 관련 실패로 분류되었다. mul_assoc나 DivisionMonoid.mk 같은 비단순 선언은 잘 처리되어 의미론적 구조 보존 가능성이 확인되었으나 아직 LM 훈련이나 raw-source 토큰화와의 비교 실험은 이루어지지 않았다. 따라서 다음 단계로 모델 학습과 직접 비교를 통해 정규화된 IR의 실효성과 elaboration 의존성으로 인한 비용 대비 효과를 평가할 필요가 있다.
실용적 조언
- 실험적 비교를 위해 동일 구조의 모델과 동일한 학습 설정으로 raw-source 토큰화와 Expr 기반 토큰화를 직접 비교하는 실험 설계를 우선할 필요가 있다.
- 실패 사례(HOF, projection 등)를 재현 가능한 소형 테스트셋으로 분류하고 각 케이스에 대해 canonicalization 규칙을 단계적으로 추가해 커버리지 개선 효과를 측정해야 한다.
- Elaboration 의존성으로 인한 설치·운영 비용을 줄이기 위해 추출 파이프라인을 독립 실행형으로 패키징하거나 실패 시 graceful fallback으로 소스 기반 토큰화를 병행하는 전략을 고려할 수 있다.
섹션별 상세
용어 해설
- 전개(elaboration)(Elaboration)
- — Lean에서 표면 문법에 포함된 암시적 인수와 매크로 등이 구체적인 표현식으로 변환되는 과정으로, 소스 텍스트에 남지 않는 의미적 정보를 생성하며 이 정보를 이용하면 모델 입력에서 잡음을 줄일 수 있다.
- Expr 트리(Expr tree)
- — Lean 내부에서 표현식을 계층적 노드 구조로 표현한 자료구조로서 식별자, 응용(application), 람다, 타입 정보 등이 구조적으로 보존되어 모델에 더 직접적이고 의미론적 입력을 제공할 수 있다.
- 정규화(정형화)(Canonicalization)
- — 구문적 변형과 등가 표현을 일관된 표준 형태로 바꾸는 처리로서, 다양한 표기법과 매크로를 동일한 내부 표현으로 통일해 토큰 분포를 단순화하고 모델 학습 안정성을 높이는 목적이 있다.
- 토큰화(Tokenization)
- — 소스나 내부 표현을 모델이 처리할 단위로 분할하는 과정으로, 어떤 단위를 토큰으로 삼느냐에 따라 입력의 잡음 수준과 학습 효율이 크게 달라지며 본 게시물에서는 소스 텍스트 기반 대신 Expr 기반 토큰화를 실험하고 있다.
- Mathlib
- — Lean 생태계의 표준 수학 라이브러리로서 대규모 정리들과 선언들을 포함하며, 자동화 및 추출 파이프라인의 범위와 난이도를 평가하는 실제 코퍼스 역할을 한다.
언급된 도구
Lean의 elaborated Expr 트리에서 IR을 추출하고 이를 정규화·토큰화하는 실험적 도구
형식화된 정리와 증명을 작성하는 정리증명기이며 elaboration 단계에서 표현식 트리를 생성하는 역할
Lean 생태계의 표준 수학 라이브러리로서 추출 파이프라인의 실험 대상 코퍼스를 제공
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
