Complete transfer traces and ranks recover the periodic and zero-block profiles.
Theorem 1.1 (Rank differences recover zero blocks).
∀ Y ∈ T y p e , t a u ∈ Function ( Y , Y ) , zero Bl oc k s ∈ BlockMultiset ( ) , k ∈ Nat ( ) , ( Finite ( Y ) ∧ ( ( ∀ j ∈ Nat ( ) , natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , j ) ) ) , card ( PeriodicCore ( t a u ) ) ) = natSub ( blockProfileDimension ( zero Bl oc k s ) , blockKernelTower ( zero Bl oc k s , j ) ) ) ∧ 0 < k ) ) ⇒ ( natSub ( natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , pred ( k ) ) ) ) , card ( PeriodicCore ( t a u ) ) ) , natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , k ) ) ) , card ( PeriodicCore ( t a u ) ) ) ) = blockCountAtLeast ( zero Bl oc k s , k ) ∧ blockCountExactly ( zero Bl oc k s , k ) = natSub ( natSub ( natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , pred ( k ) ) ) ) , card ( PeriodicCore ( t a u ) ) ) , natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , k ) ) ) , card ( PeriodicCore ( t a u ) ) ) ) , natSub ( natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , pred ( add ( k , 1 ) ) ) ) ) , card ( PeriodicCore ( t a u ) ) ) , natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , add ( k , 1 ) ) ) ) , card ( PeriodicCore ( t a u ) ) ) ) ) )
Proof. Machine-checked in Lean as D5/S3/ObserverMemory/FunctionalGraphs/TraceRankJordanRecovery.rank_difference_recovers_zero_blocks (✓ std3). ∎
Source. Repository-derived.
Commentary.
At every positive index, successive residual ranks count zero blocks of at least that size, and the next difference counts exact size.
Theorem 1.2 (Trace and rank spectra determine the Jordan profile).
∀ Y L e f t ∈ T y p e , Y R i g h t ∈ T y p e , t a u ∈ Function ( Y L e f t , Y L e f t ) , s i g ma ∈ Function ( Y R i g h t , Y R i g h t ) , cyc l e C o u n t s L e f t ∈ Function ( Nat ( ) , Nat ( ) ) , cyc l e C o u n t s R i g h t ∈ Function ( Nat ( ) , Nat ( ) ) , zero Bl oc k s L e f t ∈ BlockMultiset ( ) , zero Bl oc k s R i g h t ∈ BlockMultiset ( ) , ( Finite ( Y L e f t ) ∧ ( Finite ( Y R i g h t ) ∧ ( ( ∀ r ∈ Nat ( ) , 0 < r ⇒ trace ( Complex ( ) , Finsupp ( Y L e f t , Complex ( ) ) , pow ( transferOperator ( t a u ) , r ) ) = trace ( Complex ( ) , Finsupp ( Y R i g h t , Complex ( ) ) , pow ( transferOperator ( s i g ma ) , r ) ) ) ∧ ( ( ∀ k ∈ Nat ( ) , finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , k ) ) ) = finrank ( Complex ( ) , range ( pow ( transferOperator ( s i g ma ) , k ) ) ) ) ∧ ( apply ( cyc l e C o u n t s L e f t , 0 ) = 0 ∧ ( apply ( cyc l e C o u n t s R i g h t , 0 ) = 0 ∧ ( ( ∀ r ∈ Nat ( ) , 0 < r ⇒ trace ( Complex ( ) , Finsupp ( Y L e f t , Complex ( ) ) , pow ( transferOperator ( t a u ) , r ) ) = finsetSum ( divisors ( r ) , lambda ( typed ( d , Nat ( ) ) , natCast ( Complex ( ) , mul ( d , apply ( cyc l e C o u n t s L e f t , d ) ) ) ) ) ) ∧ ( ( ∀ r ∈ Nat ( ) , 0 < r ⇒ trace ( Complex ( ) , Finsupp ( Y R i g h t , Complex ( ) ) , pow ( transferOperator ( s i g ma ) , r ) ) = finsetSum ( divisors ( r ) , lambda ( typed ( d , Nat ( ) ) , natCast ( Complex ( ) , mul ( d , apply ( cyc l e C o u n t s R i g h t , d ) ) ) ) ) ) ∧ ( ( ∀ k ∈ Nat ( ) , natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( t a u ) , k ) ) ) , card ( PeriodicCore ( t a u ) ) ) = natSub ( blockProfileDimension ( zero Bl oc k s L e f t ) , blockKernelTower ( zero Bl oc k s L e f t , k ) ) ) ∧ ( ∀ k ∈ Nat ( ) , natSub ( finrank ( Complex ( ) , range ( pow ( transferOperator ( s i g ma ) , k ) ) ) , card ( PeriodicCore ( s i g ma ) ) ) = natSub ( blockProfileDimension ( zero Bl oc k s R i g h t ) , blockKernelTower ( zero Bl oc k s R i g h t , k ) ) ) ) ) ) ) ) ) ) ) ) ⇒ ( cyc l e C o u n t s L e f t = cyc l e C o u n t s R i g h t ∧ zero Bl oc k s L e f t = zero Bl oc k s R i g h t )
Proof. Machine-checked in Lean as D5/S3/ObserverMemory/FunctionalGraphs/TraceRankJordanRecovery.trace_rank_spectra_determine_jordan_profile (✓ std3). ∎
Source. Repository-derived.
Commentary.
Möbius inversion uniquely recovers periodic cycle counts from traces. Stable-image ranks recover the periodic dimension, after which all residual ranks uniquely recover the nilpotent zero-block multiset.