Charged copies across the producer/consumer boundary #
Main results #
QueriedProduct.exec_copyCall: real argument setup and the unchanged dynamic native copy, with both address orders, equality, complete memory meaning and caller-register frame.
These are internal execution interfaces. Complete product clients derive the numerical fits and separation from the original input and the explicit computed layout.
Each existing 96-register callee has exactly its original register semantics.
theorem Cslib.Algorithms.WordRAM.MatrixMultiplication.Schonhage.QueriedProduct.exec_copyCall {w : ℕ} (x : WordRAM.Data 160) (h1 : WordRAM.Fits w 1) (hs : WordRAM.Fits w (x.regs source + x.regs length)) (hd : WordRAM.Fits w (x.regs destination + x.regs length)) (hsep :
x.regs source + x.regs length ≤ x.regs destination ∨ x.regs destination + x.regs length ≤ x.regs source ∨ x.regs source = x.regs destination) :
Dynamic native argument setup and every copy instruction are charged. The caller's source/destination/length registers, and every register beyond the seven-register callee, are preserved. Source and destination separation is a numerical layout obligation.