Skip to main content

COBOL Migration with PCD

220 billion lines of COBOL run 95% of ATM transactions worldwide. The workforce maintaining it is retiring. PCD provides a mathematically verified migration path.

Pipeline

COBOL → brikc lift → PCD Blueprint → brikc build → Rust / JS / Python / Go / C

Quick Start

brikc lift legacy_system.cob

Example

Original COBOL:
PROCEDURE DIVISION.
    COMPUTE INTEREST = PRINCIPAL * RATE / 100.
    IF INTEREST > MAX-INTEREST
        MOVE MAX-INTEREST TO INTEREST
    END-IF.
    COMPUTE TOTAL = PRINCIPAL + INTEREST.
Lifted PCD:
circuit interest_calc {
    domain principal: Range [0, 1000000];
    domain rate: Range [0, 30];
    domain max_interest: Range [0, 100000];

    let interest = MUL8(principal, DIV8(rate, 100));
    let capped = CLAMP(interest, 0, max_interest);
    let total = ADD8(principal, capped);
    OUTPUT total;
}

What the COBOL Frontend Recognizes

COBOL PatternPCD Mapping
COMPUTE A = B + CADD8(B, C)
COMPUTE A = B * CMUL8(B, C)
COMPUTE A = B / CDIV8(B, C)
IF ... END-IFConditional composition ()
EVALUATE ... END-EVALUATEMulti-branch conditional
PERFORM ... THRUSequential composition ()
MOVE X TO YVariable binding (let)

Migration Strategy

1

Lift incrementally

Start with the most critical COBOL paragraphs — the functions that handle money, control access, or perform calculations. Lift those first.
2

Verify each piece

Each lifted PCD circuit is independently certified. Φ_c = 1 proves the circuit is closed and deterministic.
3

Emit to target language

Compile the verified PCD to Rust, JavaScript, Python, Go, or C. Auto-generated tests are included.
4

Run in parallel

The original COBOL keeps running while migration happens. Zero downtime required.
5

Swap when ready

Replace COBOL modules one at a time. The PCD blueprint is the source of truth if anything goes wrong.

Business Case

MetricTraditionalPCD-Based
Timeline3-5 yearsWeeks to months
Failure rate60%Mathematically verified
TestingManualAuto-generated
RiskExistentialIncremental
Proof of equivalenceNoneΦ_c = 1
The COBOL frontend is part of the BRIK Lifter, which supports 7 languages total: JavaScript, TypeScript, Python, Rust, C, Go, and COBOL.