B
종합 신뢰도 B — 역사·도구·계산 주장은 1차 출처로 확인되고 거짓 판정은 없다. 약한 곳은 FAQ의 산업 사례 문장(출처 없이 '버그를 찾았다'고 한 사례 일부)과 '서로 다른 상태 415,800개'라는 수치(실제로는 전이 누계 34,650×12)다.
검증한 바깥 세계 주장 31개: 사실 22 · 부분 사실 4 · 불확실 5 · 거짓 0. 판정 어휘 — 사실: 1차·준1차 출처가 직접 뒷받침 / 부분 사실: 핵심은 맞고 세부(수치·범위·시점)가 다름 / 불확실: 확인 가능한 독립 출처 없음(저자 본인 사례 포함) / 거짓: 출처가 반박. TLA+ 문법·의미론에 대한 책의 설명은 이 표의 대상이 아니다 — 그것은 각 장 번역의 원문 대조 검수로 확인했다.
부분 사실①b Lamport는 비잔틴 장애 허용(Byzantine fault tolerance)도 만들었다
기초 논문 「Reaching Agreement in the Presence of Faults」(JACM 27권 2호, 1980년 4월)와 「The Byzantine Generals Problem」(ACM TOPLAS, 1982년 7월)은 모두 Lamport·Robert Shostak·Marshall Pease 공저이며, 본인 주석에 따르면 「Byzantine」이라는 용어는 1982년 논문에서 처음 등장했다. Lamport 본인은 출판 목록 주석에서 「I am often unfairly credited with inventing the Byzantine agreement problem」이라고 쓰고, 문제는 그가 SRI에 오기 전 SIFT 프로젝트 사람들이 정식화했으며 4-프로세서 해법과 일반 불가능성 결과는 Shostak, 3n+1 해법은 Pease, 자신의 기여는 디지털 서명을 쓰는 해법이었다고 밝힌다. 즉 기초 논문의 공저자이지 단독 창시자는 아니다.
Leslie Lamport 출판 목록 (본인 사이트 pubs.html) · Leslie Lamport — Wikipedia
원문 위치: 자주 묻는 질문
사실①c Lamport는 Paxos도 만들었다
위키백과 Leslie Lamport 문서는 정보상자의 대표 업적(Known for)에 Paxos 알고리즘을 올리고, 그의 논문들이 분산 시스템의 기본 문제를 푸는 알고리즘으로 Paxos 합의 알고리즘을 기술했다고 쓴다. 같은 문서의 대표 논문 목록에는 Lamport 단독 저자 「The Part-Time Parliament」(ACM Transactions on Computer Systems, 1998년 5월)가 있고, 이 제목은 Lamport 본인 출판 목록에도 2012 ACM SIGOPS Hall of Fame Award 수상작으로 올라 있다(본인 주석 본문은 페이지 절단으로 미확인).
Leslie Lamport 출판 목록 (본인 사이트 pubs.html) · Leslie Lamport — Wikipedia
원문 위치: 자주 묻는 질문
사실①d Lamport는 LaTeX도 만들었다
위키백과 Leslie Lamport 문서는 그를 문서 조판 시스템 LaTeX의 초기 개발자이자 첫 매뉴얼 저자로 소개하고, Knuth의 TeX 위에 얹는 매크로 집합으로 시작해 1984년 9월 v2.06a를 냈으며 1985년 8월의 LaTeX 2.09가 Lamport판의 마지막 버전이라고 적는다. 첫 사용자 매뉴얼 「LaTeX: A Document Preparation System」(Addison-Wesley, 1986)은 Lamport 본인 출판 목록에도 있다. 창시는 사실이나, 밑바탕 조판 엔진 TeX는 Knuth의 작품이다.
Leslie Lamport 출판 목록 (본인 사이트 pubs.html) · Leslie Lamport — Wikipedia
원문 위치: 자주 묻는 질문
사실③b PlusCal은 2009년에 Lamport가 만들었다
위키백과 TLA+ 문서는 PlusCal이 2009년에 만들어졌다(도입됐다)고 적고 근거로 Lamport 단독 저자 논문 「The PlusCal Algorithm Language」(2009)를 인용하며, 이 제목은 Lamport 본인 출판 목록에도 있다. 다만 본인 출판 목록에는 제목에 +CAL이 들어간 별도 논문 「Checking a Multithreaded Algorithm with +CAL」도 있는데, 페이지 절단으로 그 연도와 PlusCal과의 관계를 확인하지 못해 PlusCal의 최초 공개가 2009년보다 이른지는 이번에 확인하지 못했다.
Leslie Lamport 출판 목록 (본인 사이트 pubs.html) · TLA+ — Wikipedia
원문 위치: 스펙 작성하기
부분 사실그 과정에서 모든 테스트와 두 번의 코드 리뷰를 빠져나간 35스텝짜리 버그를 찾았다
DynamoDB 복제·멤버십 명세를 분산 TLC로 검사해 특정 장애·복구 순서에서 데이터 유실이 가능한 버그를 찾았고 최단 오류 트레이스가 35 high-level 스텝이었다는 점은 원문과 일치한다. 다만 원문은 이 버그가 「extensive design reviews, code reviews, and testing」을 빠져나갔다고만 쓰고 두 번이라는 횟수는 없으며, 리뷰를 통과한 다른 사례(B.M.의 버그)도 횟수를 multiple로만 적는다. CACM 2015판 페이지는 403으로 열지 못해 같은 1저자(Newcombe)의 2014-09-29 보고서판으로 대조했고, 두 판의 문구가 같은지는 미확인이다.
Use of Formal Methods at Amazon Web Services (Newcombe, Rath, Zhang, Munteanu, Brooker, Deardeuff, 2014-09-29)
원문 위치: 자주 묻는 질문
부분 사실Azure도 TLA+로 버그를 찾았다(공개 자료 존재 여부)
원문(FAQ 「Does TLA+ actually find bugs?」 절)은 Azure를 MongoDB·Confluent·Elastic·Cockroach Labs와 한 문장에 나열할 뿐 링크·출처를 달지 않았다. 확인된 공개 자료는 arXiv 프리프린트(Hackett·Rowe·Kuppe, 2022-10-24 제출, 원문 작성 기간 중)로, Azure Cosmos DB의 사용자 관점 동작을 TLA+로 명세했으며 그 동작이 잘못 이해돼 의존하는 Microsoft 제품에서 데이터 일관성 오류가 났다고 밝히고, 이 모델로 공개 문서의 핵심 문제 2건을 제기(이후 수정)하고 Cosmos DB에 의존하는 다른 Azure 서비스의 과거 대형 장애에 근본 해법을 제시했다고 적는다. 다만 초록은 Cosmos DB 자체는 설계대로 동작한다고 해 구현 버그 발견은 주장하지 않으므로 「버그를 찾았다」는 문서 결함·의존 서비스 결함 규명 수준으로 좁혀 읽어야 하며(2026-09 현재도 같은 자료로 확인 가능), 다른 Azure 사례는 호출 예산 3회 안에서 확인하지 못했다.
Learn TLA+ — FAQ (Does TLA+ actually find bugs?) · Understanding Inconsistency in Azure Cosmos DB with TLA+ (arXiv:2210.13661)
원문 위치: 자주 묻는 질문
사실MongoDB도 TLA+로 버그를 찾았다(공개 자료 존재 여부)
MongoDB, Inc. 소속 저자 3인(Davis·Hirschhorn·Schvimer)의 PVLDB 13(9) 2020 논문 「eXtreme Modelling in Practice」에 따르면, Realm Sync의 OT 알고리즘을 TLA+로 옮기던 중 TLC가 StackOverflowError를 만나 ArraySwap/ArrayMove 병합이 끝나지 않는 결함을 찾았고, 같은 버그가 성숙한 C++ 구현에도 있음이 확인돼 ArraySwap은 Go 서버에서 빠지고 C++에서 deprecated 처리됐다(모델에서 생성한 C++ 테스트 4,913개는 분기 86개를 100% 커버했지만 새 버그는 찾지 않았다). 서버 쪽에서도 기존 TLA+ 명세 작업이 여러 버그의 재현·수정에 도움이 됐다고 적는다. 2020년 공개 자료라 원문 작성 시점(2022–2023)에 이미 성립했고 2026-09 현재도 유효하나, 원문에는 링크가 없어 저자가 이 자료를 근거로 삼았는지는 알 수 없다.
eXtreme Modelling in Practice (PVLDB 13(9), 2020; arXiv:2006.00915) · Learn TLA+ — FAQ (Does TLA+ actually find bugs?)
원문 위치: 자주 묻는 질문
불확실CrowdStrike는 닷새간의 TLA+ 워크숍만으로 여러 장애 사례(failure cases)를 찾았다.
원문 근거는 유튜브 영상 링크 하나이며, 그 페이지에서는 제목 「Keynote: What can you do with a few days?」와 연사 Mike Lusignan만 확인되고 설명·소속·날짜가 보이지 않아 CrowdStrike 소속 여부와 「5일 워크숍·여러 장애 사례」 내용은 확인하지 못했다. 발표처 후보로 연 TLA+ Conference 2022 프로그램에는 이 키노트가 없다(그해 키노트는 Nikolaj Bjørner의 Formal Methods at Microsoft). 제목의 「a few days」는 원문 서술과 어긋나지 않지만 직접 근거는 아니다(2026-09-28 기준 원문 FAQ의 해당 문장·링크와 영상 페이지 모두 존재).
Learn TLA+ — FAQ · Keynote: What can you do with a few days? - Mike Lusignan · TLA+ Conference 2022
원문 위치: 자주 묻는 질문
불확실Espark Learning(엔지니어 10명 에듀테크)은 저자가 참여한 프로젝트에서 TLA+로 분산 앱 설치 프로그램의 복잡한 버그를 찾아 몇 주의 개발과 연간 수십만(통화 미표기) 매출을 지켰다.
원문 각주에서 저자는 자신이 이 프로젝트에 참여했고 이것이 TLA+를 쓰기 시작한 계기라고 밝히며, 근거 링크는 eSpark 엔지니어링 블로그(Medium) 글 「Formal Methods in Practice」(미개봉: medium.com/espark-engineering-blog/formal-methods-in-practice-8f20d72bce4f) 하나뿐이라 출처가 주장 당사자(저자 본인 사례)에 한정된다. 3회 예산 안에서 그 글을 열지 못해 「엔지니어 10명·몇 주·연간 수십만」 수치를 원 기록과 대조하지 못했고, 원문 FAQ 조회도 요약 모델의 의역이어서 통화 표기 여부는 이 검증으로 확정하지 않았다(2026-09-28 기준 FAQ에 서술·링크·각주 존재).
Learn TLA+ — FAQ
원문 위치: 자주 묻는 질문
사실TLA+ Toolbox는 공식 TLA+ IDE다(원문 기준) — 2026 현재 권장 도구 현황 포함
작성 시점 기준: 공식 tlaplus 저장소가 About에서 「The TLA+Toolbox is an IDE for TLA+」, README에서 CLI 도구와 「Toolbox integrated development environment (IDE)」를 호스팅한다고 밝혀 원문 서술을 뒷받침한다(2022–2023 아카이브 판은 미열람, 현재 페이지 근거). 2026-09 현재: 같은 README가 Eclipse 기반 Toolbox GUI는 「currently unmaintained」라고 적고 그래픽 환경은 「TLA+ VS Code extension」(tlaplus/vscode-tlaplus)을 보라고 안내하므로, 「recommended」라는 단어는 없지만 공식 저장소가 가리키는 GUI 경로는 VS Code 확장이다(확장 저장소 자체는 미열람).
tlaplus/tlaplus — TLC model checker, TLA+ Toolbox (GitHub)
원문 위치: 용어집
사실TLA+의 정리 증명기는 TLAPS다
공식 tlaplus 조직의 tlapm README가 「This repository hosts what is collectively called the TLA+ Proof System, or TLAPS」라고 정의하고, 증명을 해석·관리하는 Proof Manager tlapm과 SMT 솔버(Z3)·Zenon·Isabelle/TLA+·LS4 백엔드 prover 인터페이스로 구성된다고 설명한다 — 공식 명칭은 「증명 시스템」이고 실제 증명은 백엔드 prover가 수행한다는 용어 뉘앙스 차이만 있다. 2026-09 현재 README는 「TLAPS development is managed by the TLA+ Foundation」이라 적고 1.6.0 rolling pre-release를 언급하며(날짜는 캡처에 없음), tlaplus 메인 README도 증명 관리자는 proofs.tlapl.us를 보라고 안내한다; 작성 시점 판은 미열람.
tlaplus/tlapm — The TLA+ Proof Manager (GitHub) · tlaplus/tlaplus (GitHub) — README의 proof manager 안내
원문 위치: 용어집
사실Apalache는 TLA+용 대안 모델 체커(기호적/SMT 기반)다
apalache-mc/apalache 저장소 About이 「symbolic model checker for TLA+ and Quint」, README가 「Apalache translates TLA+ into the logic supported by SMT solvers such as Microsoft Z3 and CVC5」라고 적고 bounded model checking·귀납적 불변식 검사와 「same assumptions as TLC」를 설명해 원문 서술과 일치한다. 작성 시점(2022–2023)은 README의 과거 후원 목록상 Informal Systems 지원 기간(2020-2024)에 해당하고, 2026-09 현재는 「Apalache has moved to TLA+ Foundation, under the Linux Foundation」이며 apalache-mc 조직의 공개 저장소로 유지된다(보관 표시 없음, 최신 릴리스 이름·날짜는 캡처에 없음).
apalache-mc/apalache — symbolic model checker for TLA+ and Quint (GitHub)
원문 위치: 용어집
사실프로세스 3개가 각자 순차 스텝 4개를 병렬 수행하면 가능한 인터리빙은 34,650가지다(= 12!/(4!)^3)
12!/(4!·4!·4!) = 479,001,600/13,824 = 34,650. 5×5×5 격자 경로 DP와 전수 열거(고유 시퀀스 34,650개)로 교차 확인했다. 시점과 무관한 수학적 사실이다.
원문 위치: 자주 묻는 질문
부분 사실같은 시스템에 서로 다른 상태가 415,800개 있다
415,800 = 34,650 × 12로 정확히 재현된다. 행동마다 스텝 후 상태 12개를 중복까지 포함해 모두 더한 누계(= 전체 전이 수)이며, 프로세스 1~6개·스텝 1~8개 공식 탐색에서도 이 형태만 일치했다. 그러나 「서로 다른」 상태 수로는 성립하지 않는다. pc 조합만 두면 5^3 = 125개(생성 301), 실행 이력 전체를 상태에 넣어도 접두 경로 수 110,251개가 결정적 모델의 상한이고, 비원자 증가 경쟁 모델은 2,358개다. 즉 이 수치는 중복 제거 전 누계이고, 중복 상태를 걸러내는 TLC가 실제로 탐색하는 서로 다른 상태 수가 아니다. 영어 원문 문구는 확인하지 못했고, 로컬 digest의 「서로 다른 상태」 표현을 기준으로 판정했다.
원문 위치: 자주 묻는 질문
사실4! = 24
4! = 1·2·3·4 = 24.
원문 위치: 동시성
사실(2+2+2)!/(2!·2!·2!) = 90
6!/(2!)^3 = 720/8 = 90. 스텝 2개짜리 프로세스 3개의 인터리빙 수이며, 격자 경로 DP 값 P(2,2,2) = 90과도 일치한다.
원문 위치: 모델 체킹 최적화
사실(2^7)^3 ≈ 2.1e6
(2^7)^3 = 128^3 = 2^21 = 2,097,152 ≈ 2.1×10^6.
원문 위치: 모델 체킹 최적화
사실(2^3)^2 = 64
(2^3)^2 = 8^2 = 2^6 = 64.
원문 위치: 모델 체킹 최적화
사실3·10·2 = 60
3 × 10 × 2 = 60.
원문 위치: 모델 체킹 최적화