Documentation

Transfer.Translate.ParamTranslateFull

The integrated term-level translator ⟦·⟧ (capstone) #

Combines the three extensions into one parametricity translation:

translateAll is the single function with all rules; #transfer t runs it against the ambient registry. This is the term-level ⟦·⟧ for the first-order fragment (const/var/app/lam/operators, registry-driven, with change-of-representation binders). The remaining case — dependent Π/recursors and the Type-valued motive — is the univalence cap, which UnivalenceStatus.univalence_inconsistent proves is unreachable in Lean by necessity.

The integrated translation: operator-spine, registry const, app, the type-translating lam, and var. opdb is the operator database, tdb the type-relation database, db the (registry-materialised) constant database.

Registered witnesses (downstream of ParamDB, so @[param] works here) #

Nat.succ related to itself (diagonal), registered in the @[param] database.

Nat.mul related to itself, curried through the function relation (for the operator rule on *).

The demo operator database: HMul.hMul (4 leading type/instance args) ↦ Nat.mul with witness mulWitFull.

Equations
Instances For

    #transfer t — the integrated translation against the ambient @[param] registry (constants) + the demo operator database, logging the transferred term and the relatedness proof's type.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Demonstrations — all rules together, registry-driven #

      The constant Nat.succ is resolved from the registry, * via the operator rule, under a lam; no explicit database at any call site.