Skip to main content
QUICK REVIEW

[논문 리뷰] anthem: Transforming gringo Programs into First-Order Theories (Preliminary Report)

Vladimir Lifschitz, Patrick Lühne|arXiv (Cornell University)|2018. 09. 30.
Logic, Reasoning, and Knowledge참고 문헌 7인용 수 5
한 줄 요약

anthem은 비분할적 gringo 프로그램을 간소화되고 인간이 읽기 쉬운 일阶 논리 공식으로 변환하는 번역기입니다. 프로그램 완성도를 생성하고 단순화함으로써 프로그램 이해를 향상시키고, 형식적 검증을 가능하게 합니다. 논리 프로그래밍 구조를 기호, 변수, 산술 표현식을 포함한 표준 논리 표기법으로 변환함으로써 보조 술어 기호를 제거하고 정수형 타입 제약 조건을 도입합니다.

ABSTRACT

In a recent paper by Harrison et al., the concept of program completion is extended to a large class of programs in the input language of the ASP grounder gringo. We would like to automate the process of generating and simplifying completion formulas for programs in that language, because examining the output produced by this kind of software may help programmers to see more clearly what their program does and to what degree its set of stable models conforms with their intentions. If a formal specification for the program is available, then it may be possible to use this software, in combination with automated reasoning tools, to verify that the program is correct. This note is a preliminary report on a project motivated by this idea.

연구 동기 및 목표

  • 비분할적 gringo 프로그램에 대한 완성도 공식의 자동 생성 및 단순화를 통해 프로그램 이해를 향상시키기.
  • gringo의 논리 프로그래밍 표기법과 수학적 추론에서 사용하는 표준 일阶 논리 표기법 사이의 문법적 격차를 메우기.
  • 논리적으로 동일한 간소화된 일阶 이론을 생성함으로써 gringo 프로그램의 형식적 검증을 지원하기.
  • 보조 술어 기호를 제거하고 그 정의를 완성된 형태로 대체함으로써 출력의 명확성을 향상시키기.
  • 출력에서 산술, 구간, 정수형 변수를 지원함으로써 표현력과 정확성을 향상시키기.

제안 방법

  • 도구는 gringo의 AST 인터페이스를 사용해 입력의 추상 구문 트리를 추출합니다.
  • 논리적 함의를 술어 정의를 이용해 이항조건으로 변환함으로써 각 규칙의 완성도를 구성합니다.
  • 기호, 변수, 논리 기호를 포함한 표준 일阶 논리 표기법으로 재구성함으로써 결과 공식을 단순화하여 인간의 가독성을 향상시킵니다.
  • 보조 술어를 그 완성된 정의로 대체하며, 무한 치환을 방지하기 위해 순환 의존성 탐지를 수행합니다.
  • 정수형 타입 제약 조건을 도입하기 위해 `int(p/n@k)` 문법을 사용하여 n-항 술어 p의 k번째 인자가 정수임을 표현합니다.
  • 복잡한 논리적 구조를 더 직관적인 형태로 대체하는 문법적 단순화를 적용합니다. 예를 들어, `∃x∀y(P(y)→Q(x))`를 `∃xP(x)→∃xQ(x)`로 변환합니다.

실험 결과

연구 질문

  • RQ1비분할적 gringo 프로그램의 완성도가 자동으로 생성되고 인간이 읽기 쉬운 일阶 논리 공식으로 단순화될 수 있는가?
  • RQ2gringo의 논리 프로그래밍 표기법과 표준 일阶 논리 표기법 사이의 문법적 차이를 번역기에서 효과적으로 보완할 수 있는가?
  • RQ3보조 술어 기호가 프로그램의 논리적 의미를 변경하지 않으면서 출력에서 안전하게 제거될 수 있는 정도는 어느 정도인가?
  • RQ4유도된 일阶 공식이 자동 추론 도구와 조합되어 형식적 프로그램 검증에 효과적으로 활용될 수 있는가?
  • RQ5gringo의 정수 제약 조건과 산술 표현식이 타입 주석을 포함한 일阶 논리로 의미론적이고 문법적으로 어떻게 번역될 수 있는가?

주요 결과

  • anthem은 프로그램의 의미를 유지하면서도 더 읽기 쉽고 표준 수학적 표기법에 가까운 일阶 논리 공식으로 gringo 프로그램을 성공적으로 변환합니다.
  • 도구는 보조 술어를 그 완성된 정의로 대체함으로써 프로그램 분석에서 명확성을 향상시키고 인지 부담을 줄입니다.
  • n-항 술어의 k번째 인자가 정수임을 표현하기 위해 새로운 문법 `int(p/n@k)`를 도입하여 타입 안정성과 표현력을 향상시켰습니다.
  • 도구는 술어 정의 간 순환 의존성을 탐지하고 무한 치환을 방지하기 위해 경고를 발생시킵니다.
  • 예를 들어, 순열 프로그램은 기호, 구간, 논리 기호를 포함한 일阶 공식 집합으로 변환되며 원래 의미를 유지합니다.
  • anthem의 출력은 논리적으로 동일하고 간소화되며 의미적으로 투명한 표현을 생성함으로써 자동 정리 증명기와의 통합에 적합한 형식적 검증을 가능하게 합니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.