What returns under a shear: the torsion circles #
Category: 1-Mathlib (CSD-free; staged for upstream). BACKLOG #181 (out of #19, #153, #177).
The t-th iterate of the horizontal shear (x, y) ↦ (x + y, y) is (x, y) ↦ (x + t·y, y), so a
point returns after t strokes iff t·y = 0: the return set is the union of the t circles over
the t-torsion points of the read coordinate, infinite at every stroke. So a shear fails the return
criterion (#177) at every stroke, not merely at one — the finite clause never holds.
MeasureTheory.shearX_iterate,shearY_iterate— the iterates in closed form;- ★★
MeasureTheory.shearX_iterate_fixed_iff,shearY_iterate_fixed_iff— a point returns iff its read coordinate ist-torsion; - ★
MeasureTheory.infinite_fixedPoints_shearX_iterate,infinite_fixedPoints_shearY_iterate— the return set at every stroke is infinite (it contains a whole circle); - ★★
MeasureTheory.not_hasReturnGrowth_shearX,not_hasReturnGrowth_shearY.
Honest scope #
- The count of
t-torsion points of the circle (tof them) is not used: onlyt • y = 0is, which is the definition oft-torsion. - Both shears are elements of
SL₂(ℤ)with trace2, so #179 already gives "no return growth" abstractly; this file says which configurations return, and that the failure is at every stroke.
References: Mathlib/Dynamics/CatMapShears.lean (#153, shearX, shearY,
cat_eq_shearX_comp_shearY), Mathlib/Dynamics/ReturnCriterion.lean (#177);
specs/BACKLOG.md #181, #19.
The iterates #
What returns: the torsion circles #
The return sets are infinite at every stroke #
★★ A shear has no return growth: its finite clause fails at every stroke.