P89 n=15: exact-grid refinement of the previous public certificate. The normalized triangle leg grows from 0.353714331 to 0.353714332; the minimized, upward-rounded container side falls from 2.827140187316866164 to 2.827140179324144548. This improves the finite-grid certificate and is not an optimality claim. Method: keep all turns and quarter rotations fixed. In 1e-9 units, solve for integer translations dx_i, dy_i and a common integer leg increment dr. Require every transformed vertex to stay in the unit square. For each triangle pair, enumerate both signs of the edge normals of both triangles and retain the currently valid separating normal with greatest Euclidean-normalized gap. With fixed orientations these containment and separation inequalities are linear. Maximize dr, with |dx_i|,|dy_i| <= L and 1 <= dr <= L, using scipy.optimize.milp/HiGHS (5 seconds, relative MIP gap 0). Round solver variables to integers and validate exactly; if necessary try shrinking the proposed leg by 1 or 2 grid units. Apply L=2,10,100,1000 in order. The accepted leg was 0.353714332 at L=10; later attempts did not improve it. A further sweep L=2,10,100,1000,10000,100000 also gave no exactly valid improvement. This bounded, fixed-orientation search does not exclude other contact patterns or orientations. Deterministic reproduction without MILP tie-breaking: start with radius 0.353714331 and these placement rows [x,y,turn,quarter], in order: ["0.540865254","0.251023197","0.414213519",2] ["0.823142829","0.572573813","-0.000000010",1] ["0.823142816","0.572573815","0.000000007",3] ["0.499773242","0.251023198","0.414213521",0] ["0.499772396","0.749430983","0.414213557",2] ["0.270053285","0.500000674","0.366793329",3] ["0.270066710","0.500163447","0.366793330",1] ["0.250568808","0.000000017","0.414213527",2] ["0.749886610","0.000454703","0.413149044",2] ["0.000227506","0.250113704","0.413680833",1] ["0.469428484","0.572573787","0.000000007",2] ["0.000000001","0.749886197","-0.414213564",2] ["0.250113805","0.999999999","-0.414213562",1] ["0.749886198","0.999556802","-0.414185425",1] ["0.823142803","0.218859438","-0.000000085",2] Add the following integer [dx,dy] rows times 1e-9 to the corresponding centers, preserve turn and quarter, and set radius=0.353714332: [[10,0],[1,-10],[7,-5],[-4,1],[-2,-5],[-7,-7],[-7,-5],[3,-1],[0,3],[-2,-4],[7,3],[0,0],[1,0],[-1,-5],[0,6]] Validation: parse all decimals on the 1e-9 grid. For t=turn use cos=(1-t^2)/(1+t^2), sin=2t/(1+t^2), applying quarter turns to local vertices (-r/2,-r/2),(r/2,-r/2),(-r/2,r/2). Check all vertices in [0,1]^2 and all 105 pairs with exact integer separating axes after clearing denominators. Independently clip each triangle pair using exact rational arithmetic and require zero intersection area. Both checks pass. With R=353714332, stored score=ceil(10^27/R)=2827140179324144548.
P89 · Tans in a square · Discussion