Time-homogeneity at an arbitrary offset: the -shift commutes with one-step extension
ProvedMarkovChainCLT.partialTraj_map_shiftK_succLet be a Markov kernel on , and write for the shift that drops the first coordinates of a partial trajectory, . Then for all and every partial trajectory ,
What it says. Extending a trajectory by one step and then dropping its first coordinates is the same as dropping the first coordinates and then extending. This is the arbitrary-offset form of time-homogeneity; the case is the basic statement that the shift commutes with one-step extension.
Why the offset version is needed separately. The case suffices to prove that the law of the whole trajectory started at a point is shift-covariant, and hence that a chain started from an invariant measure is stationary. It does not suffice for the conditional statements that quantitative mixing estimates require: bounding the dependence between and means comparing a trajectory conditioned on its first coordinates with a chain restarted steps later, and that comparison is indexed by two independent offsets. Iterating the lemma cannot be done painlessly either, because the natural composition identity forces the index arithmetic versus , which is not definitional in — addition recurses on its second argument. Writing the total length as from the outset, as here, makes and definitionally equal and the induction goes through without transport.
Two facts consumed, exactly as in the unit-offset case. The left side extends using the kernel and the right side using ; these agree because — the shift preserves the last coordinate, which is all the transition law depends on (the Markov property) — and because the kernel is the same at both times (time-homogeneity). For a genuinely time-inhomogeneous family the statement is false.
Proof. Rewrite both sides with the explicit pushforward description of a one-step extension, so each is a pushforward of the single measure along a gluing map. After identifying the kernels, the claim reduces to a pointwise identity between the two gluing maps, settled by splitting on whether the index satisfies : the two branch conditions and are equivalent by cancellation, the first branch returns on both sides, and the second returns the newly drawn coordinate on both sides.
import Definitions.Def_MarkovChainPathMeasure open Filter Finset Function MeasurableEquiv MeasurableSpace MeasureTheory Preorder ProbabilityTheory open scoped ENNReal NNReal Topology
theorem MarkovChainCLT.partialTraj_map_shiftK_succ {S : Type*} [MeasurableSpace S]
(P : Kernel S S) [IsMarkovKernel P] (k m : ℕ) (v : Π _i : Finset.Iic (k + m), S) :
(Kernel.partialTraj (X := fun _ : ℕ => S) (BanditAlgorithm.markovChainStep P)
(k + m) (k + m + 1) v).map
(fun u i => u ⟨k + i.1,
Finset.mem_Iic.2 (Nat.add_le_add_left (Finset.mem_Iic.mp i.2) k)⟩)
= Kernel.partialTraj (X := fun _ : ℕ => S) (BanditAlgorithm.markovChainStep P) m (m + 1)
(fun i => v ⟨k + i.1,
Finset.mem_Iic.2 (Nat.add_le_add_left (Finset.mem_Iic.mp i.2) k)⟩) := by sorry