# Release v0.5.18: Conditional Shor order recovery via LCM/GCD Private proof snapshot: `5e714619c1455a47bc58d0f87d8cfe8a94db0c7b`. Previous public main: `367dc9fcadea3ca709130e24c6ccf9ce293becba`. ## Proven scope and assumptions listLCM is executable structural recursion over a finite list of natural-number candidates. Neither the unknown order nor spectral numerators are inputs. The empty LCM is one; append and membership invariance cover incremental use, reordering and duplicates. No time or bit-complexity bound is asserted. For r>0 and a nonempty list with every q dividing r, L=listLCM(qs) divides r and L=r iff foldr (fun q acc => gcd(r/q,acc)) 0 qs = 1. Nonemptiness is necessary for this unanchored GCD criterion. For spectral denominators q=r/gcd(s,r), the exact identity is L=r/gcd(r,foldr gcd 0 ss); thus L=r iff the anchored GCD is one. This version includes empty ss: empty input recovers only order one. At r=6, ss=[3,2] gives denominators [2,3] and recovers six without any individual q=r. The bridge reuses module 119's canonical reduced denominators and the existing Shor Parameters (N>=2, coprime a,N, positive actual order and padded target register). Given Q=2^n>=N² and each observed y