Φ⁻¹ ∘ Φ = id
ProvedNLogN.KFU.PhiInvD_PhiDΦ⁻¹ ∘ Φ = id.
The following holds (Lean statement, in the scope of module Solutions.KFU2Cover):
theorem NLogN.KFU.PhiInvD_PhiD (H : CrtOK d sF μ) (h : ℕ) (bL : ℕ → Bool) (hst : ∀ j < d, sF j ≤ 2 ^ h)
(xs : List ℤ) (hlen : xs.length = vol (shK d (sP d sF))) :
PhiInvD h d bL sF μ (PhiD h d bL sF μ xs) = xs
Context. The lemma belongs to the part KFU2 §1: coverage of the Φ-addresses and whole-array denotations: Hypotheses (RCRT side): 1 ≤ s_j, pairwise coprime s_j (j < d), μ_j P_j ≡ 1 (mod s_j).
Formalization Note. This lemma belongs to the item-language (IL) layer of the integer-multiplication-kappa campaign: tape-level programs (register programs over 64 item stacks of the NLogN multitape framework, definition bundles IntMul_HvdH_M_Defs1–IntMul_HvdH_M_Defs8) that implement the data-movement primitives of the OpenAI preprint Integer multiplication below (field moves, row split/merge, shifts, the uniform Proposition 11 interchange, Lemma 12 with fine -per-element costs, Gaussian record primitives, Proposition 14 pieces) with exact list denotations from the array-model bundles IntMul_Kappa_K_Defs* and explicit cost bounds. All names refer to the definition bundles up to IntMul_Kappa_K_Defs18.
-- OpenAI-preprint / κ-improvement development (integer-multiplication-kappa), generated by skeleton subtraction.
import Definitions.Def_IntMul_Kappa_K_Defs18
set_option autoImplicit false
set_option relaxedAutoImplicit false
set_option maxHeartbeats 1000000
set_option linter.unusedSimpArgs false
set_option linter.unnecessarySeqFocus false
open NLogN
open NLogN.KFU
open IntMul KFC AModel AModelL12
variable {d : ℕ} {sF μ : ℕ → ℕ}
theorem NLogN.KFU.PhiInvD_PhiD (H : CrtOK d sF μ) (h : ℕ) (bL : ℕ → Bool) (hst : ∀ j < d, sF j ≤ 2 ^ h)
(xs : List ℤ) (hlen : xs.length = vol (shK d (sP d sF))) :
PhiInvD h d bL sF μ (PhiD h d bL sF μ xs) = xs := by sorry