우리는 함수, 특히 프로그램 의미론(program semantics)의 확장 속성인 추상 리프시츠 연속성(Abstract Lipschitz Continuity, ALC)을 소개합니다. ALC는 두 입력 값의 속성 간에 경계가 있는 차이가 대응하는 출력 값의 속성 간에 비례적으로 경계가 있는 차이를 산출해야 함을 요구합니다.
ALC는 근사화의 두 가지 상호 보완적인 형태를 명시적으로 구별합니다. 첫째, 데이터의 속성을 유지하는 속성 기반(property-based) 또는 질적(qualitative) 근사화는 추상 해석(abstract interpretation)에서와 같이 상부 폐쇄 연산자(upper closure operators)에 의해 공식화됩니다. 둘째, 데이터의 유사성을 측정하며 프로그램 분석에서 발생하는 거리를 포괄하는 메트릭(metrics)의 약화인 프리-메트릭(pre-metrics)에 의해 공식화되는 양적(quantitative) 근사화입니다.
이 두 가지 근사화 형태를 명시적으로 유지하는 것은 두 가지 주요 이점을 가집니다. 첫째, ALC를 확립된 확장 속성들과 정밀하게 연결할 수 있게 합니다. 즉, ALC는 추상 해석에서의 부분 완전성(partial completeness)에 대한 충분 조건이며, 언어 기반 보안(language-based security)에서 부분 추상 비간섭성(partial abstract non-interference)의 충분 조건이고, 널 리프시츠 상수(null Lipschitz constant)를 가질 경우 머신러닝(machine learning)에서의 추상 강건성(abstract robustness)에 대한 충분 조건입니다.
둘째, 프로그램 구문(syntax)에 대한 귀납법을 통해 프로그램 의미론의 ALC에 대한 추론을 지원합니다. 우리는 속성 기반 근사화와 관심 있는 프리-메트릭에 매개변수화된 건전한 연역 시스템(sound deductive system)을 제시하며, 이 시스템은 프로그램에 대한 ALC 증명을 해당 프로그램의 기본 명령어들 및 몇 가지 명시적인 부가 조건(side conditions)에 대한 증명으로 축소합니다. 이러한 부가 조건들은 순차 합성(sequential composition), 비결정적 선택(non-deterministic choice), 반복(iteration)을 가로질러 ALC를 구성적으로 만드는 요소를 격리해 줍니다.