Second independent verification run, exact checks in d = 2 (L-grid method)
python 3.13.5

(A) D_1(Pi, B_N(Pi)) for N = 1..16
  N= 1  D_1 = 1/3  = 1/(3N)
  N= 2  D_1 = 1/6  = 1/(3N)
  N= 3  D_1 = 1/9  = 1/(3N)
  N= 4  D_1 = 1/12  = 1/(3N)
  N= 5  D_1 = 1/15  = 1/(3N)
  N= 6  D_1 = 1/18  = 1/(3N)
  N= 7  D_1 = 1/21  = 1/(3N)
  N= 8  D_1 = 1/24  = 1/(3N)
  N= 9  D_1 = 1/27  = 1/(3N)
  N=10  D_1 = 1/30  = 1/(3N)
  N=11  D_1 = 1/33  = 1/(3N)
  N=12  D_1 = 1/36  = 1/(3N)
  N=13  D_1 = 1/39  = 1/(3N)
  N=14  D_1 = 1/42  = 1/(3N)
  N=15  D_1 = 1/45  = 1/(3N)
  N=16  D_1 = 1/48  = 1/(3N)

(B) random rational checkerboard copulas A on M-grids against B_N(A)
  M=1 N= 1 L=  1: ||P_N H_A - H_B||_1 = 1/3, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.333333  ok
  M=1 N= 2 L=  2: ||P_N H_A - H_B||_1 = 1/6, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.166667  ok
  M=1 N= 3 L=  3: ||P_N H_A - H_B||_1 = 1/9, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.111111  ok
  M=1 N= 4 L=  4: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.083333  ok
  M=1 N= 5 L=  5: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.066667  ok
  M=1 N= 6 L=  6: ||P_N H_A - H_B||_1 = 1/18, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.055556  ok
  M=1 N= 7 L=  7: ||P_N H_A - H_B||_1 = 1/21, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.047619  ok
  M=1 N= 8 L=  8: ||P_N H_A - H_B||_1 = 1/24, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.041667  ok
  M=1 N= 9 L=  9: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.037037  ok
  M=1 N=10 L= 10: ||P_N H_A - H_B||_1 = 1/30, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.033333  ok
  M=2 N= 1 L=  2: ||P_N H_A - H_B||_1 = 1/3, ||H_A - P_N H_A||_1 = 0.250000, D_1(A,B_N) = 0.166667  ok
  M=2 N= 2 L=  2: ||P_N H_A - H_B||_1 = 1/6, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.166667  ok
  M=2 N= 3 L=  6: ||P_N H_A - H_B||_1 = 1/9, ||H_A - P_N H_A||_1 = 0.004902, D_1(A,B_N) = 0.108827  ok
  M=2 N= 4 L=  4: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.083333  ok
  M=2 N= 5 L= 10: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.020000, D_1(A,B_N) = 0.083807  ok
  M=2 N= 6 L=  6: ||P_N H_A - H_B||_1 = 1/18, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.055556  ok
  M=2 N= 7 L= 14: ||P_N H_A - H_B||_1 = 1/21, ||H_A - P_N H_A||_1 = 0.028195, D_1(A,B_N) = 0.074166  ok
  M=2 N= 8 L=  8: ||P_N H_A - H_B||_1 = 1/24, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.041667  ok
  M=2 N= 9 L= 18: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.001852, D_1(A,B_N) = 0.038279  ok
  M=3 N= 1 L=  3: ||P_N H_A - H_B||_1 = 1/3, ||H_A - P_N H_A||_1 = 0.244318, D_1(A,B_N) = 0.451178  ok
  M=3 N= 2 L=  6: ||P_N H_A - H_B||_1 = 1/6, ||H_A - P_N H_A||_1 = 0.148148, D_1(A,B_N) = 0.193765  ok
  M=3 N= 4 L= 12: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.048733, D_1(A,B_N) = 0.121581  ok
  M=3 N= 5 L= 15: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.021549, D_1(A,B_N) = 0.065759  ok
  M=3 N= 6 L=  6: ||P_N H_A - H_B||_1 = 1/18, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.055556  ok
  M=3 N= 7 L= 21: ||P_N H_A - H_B||_1 = 1/21, ||H_A - P_N H_A||_1 = 0.063492, D_1(A,B_N) = 0.099161  ok
  M=3 N= 8 L= 24: ||P_N H_A - H_B||_1 = 1/24, ||H_A - P_N H_A||_1 = 0.031680, D_1(A,B_N) = 0.066478  ok
  M=3 N= 9 L=  9: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.037037  ok
  M=3 N=10 L= 30: ||P_N H_A - H_B||_1 = 1/30, ||H_A - P_N H_A||_1 = 0.029630, D_1(A,B_N) = 0.052968  ok
  M=4 N= 1 L=  4: ||P_N H_A - H_B||_1 = 1/3, ||H_A - P_N H_A||_1 = 0.126852, D_1(A,B_N) = 0.410880  ok
  M=4 N= 2 L=  4: ||P_N H_A - H_B||_1 = 1/6, ||H_A - P_N H_A||_1 = 0.187500, D_1(A,B_N) = 0.228165  ok
  M=4 N= 3 L= 12: ||P_N H_A - H_B||_1 = 1/9, ||H_A - P_N H_A||_1 = 0.115625, D_1(A,B_N) = 0.165143  ok
  M=4 N= 4 L=  4: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.083333  ok
  M=4 N= 5 L= 20: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.057396, D_1(A,B_N) = 0.104896  ok
  M=4 N= 6 L= 12: ||P_N H_A - H_B||_1 = 1/18, ||H_A - P_N H_A||_1 = 0.023611, D_1(A,B_N) = 0.069173  ok
  M=4 N= 7 L= 28: ||P_N H_A - H_B||_1 = 1/21, ||H_A - P_N H_A||_1 = 0.020647, D_1(A,B_N) = 0.059717  ok
  M=4 N= 8 L=  8: ||P_N H_A - H_B||_1 = 1/24, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.041667  ok
  M=4 N= 9 L= 36: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.055556, D_1(A,B_N) = 0.079751  ok
  M=5 N= 2 L= 10: ||P_N H_A - H_B||_1 = 1/6, ||H_A - P_N H_A||_1 = 0.262667, D_1(A,B_N) = 0.343253  ok
  M=5 N= 4 L= 20: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.152000, D_1(A,B_N) = 0.175212  ok
  M=5 N= 5 L=  5: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.066667  ok
  M=5 N= 7 L= 35: ||P_N H_A - H_B||_1 = 1/21, ||H_A - P_N H_A||_1 = 0.091584, D_1(A,B_N) = 0.123231  ok
  M=5 N= 8 L= 40: ||P_N H_A - H_B||_1 = 1/24, ||H_A - P_N H_A||_1 = 0.060000, D_1(A,B_N) = 0.089572  ok
  M=5 N= 9 L= 45: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.036182, D_1(A,B_N) = 0.066606  ok
  M=5 N=10 L= 10: ||P_N H_A - H_B||_1 = 1/30, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.033333  ok
  M=6 N= 1 L=  6: ||P_N H_A - H_B||_1 = 1/3, ||H_A - P_N H_A||_1 = 0.305556, D_1(A,B_N) = 0.500000  ok
  M=6 N= 2 L=  6: ||P_N H_A - H_B||_1 = 1/6, ||H_A - P_N H_A||_1 = 0.128270, D_1(A,B_N) = 0.159144  ok
  M=6 N= 3 L=  6: ||P_N H_A - H_B||_1 = 1/9, ||H_A - P_N H_A||_1 = 0.138889, D_1(A,B_N) = 0.187500  ok
  M=6 N= 4 L= 12: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.203704, D_1(A,B_N) = 0.219950  ok
  M=6 N= 5 L= 30: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.065755, D_1(A,B_N) = 0.103755  ok
  M=6 N= 8 L= 24: ||P_N H_A - H_B||_1 = 1/24, ||H_A - P_N H_A||_1 = 0.044077, D_1(A,B_N) = 0.074305  ok
  M=6 N= 9 L= 18: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.025463, D_1(A,B_N) = 0.054856  ok
  M=6 N=10 L= 30: ||P_N H_A - H_B||_1 = 1/30, ||H_A - P_N H_A||_1 = 0.088889, D_1(A,B_N) = 0.110238  ok
  M=7 N= 1 L=  7: ||P_N H_A - H_B||_1 = 1/3, ||H_A - P_N H_A||_1 = 0.193359, D_1(A,B_N) = 0.288331  ok
  M=7 N= 3 L= 21: ||P_N H_A - H_B||_1 = 1/9, ||H_A - P_N H_A||_1 = 0.069752, D_1(A,B_N) = 0.113232  ok
  M=7 N= 4 L= 28: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.183479, D_1(A,B_N) = 0.218083  ok
  M=7 N= 5 L= 35: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.081571, D_1(A,B_N) = 0.109564  ok
  M=7 N= 7 L=  7: ||P_N H_A - H_B||_1 = 1/21, ||H_A - P_N H_A||_1 = 0.000000, D_1(A,B_N) = 0.047619  ok
  M=7 N= 9 L= 63: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.073295, D_1(A,B_N) = 0.097600  ok
  M=8 N= 2 L=  8: ||P_N H_A - H_B||_1 = 1/6, ||H_A - P_N H_A||_1 = 0.168947, D_1(A,B_N) = 0.196466  ok
  M=8 N= 4 L=  8: ||P_N H_A - H_B||_1 = 1/12, ||H_A - P_N H_A||_1 = 0.099027, D_1(A,B_N) = 0.120429  ok
  M=8 N= 5 L= 40: ||P_N H_A - H_B||_1 = 1/15, ||H_A - P_N H_A||_1 = 0.228478, D_1(A,B_N) = 0.245153  ok
  M=8 N= 7 L= 56: ||P_N H_A - H_B||_1 = 1/21, ||H_A - P_N H_A||_1 = 0.200893, D_1(A,B_N) = 0.218956  ok
  M=8 N= 9 L= 72: ||P_N H_A - H_B||_1 = 1/27, ||H_A - P_N H_A||_1 = 0.061109, D_1(A,B_N) = 0.079560  ok
  M=8 N=10 L= 40: ||P_N H_A - H_B||_1 = 1/30, ||H_A - P_N H_A||_1 = 0.071471, D_1(A,B_N) = 0.088942  ok
  64 cases; largest ratio D_1(A,B_N) / (||H_A - P_N H_A||_1 + 1/N) = 0.6370

(C) A = M, A = W, A = (M + Pi)/2
  N=1: D_1(M,B_N(M)) = 0, D_1(W,B_N(W)) = 1/2, ||P_N H_W - H_B||_1 = 1/3, ||H_W - P_N H_W||_1 = 1/3, D_1((M+Pi)/2, B_N) = 1/6
  N=2: D_1(M,B_N(M)) = 0, D_1(W,B_N(W)) = 1/4, ||P_N H_W - H_B||_1 = 1/6, ||H_W - P_N H_W||_1 = 1/6, D_1((M+Pi)/2, B_N) = 1/12
  N=3: D_1(M,B_N(M)) = 0, D_1(W,B_N(W)) = 1/6, ||P_N H_W - H_B||_1 = 1/9, ||H_W - P_N H_W||_1 = 1/9, D_1((M+Pi)/2, B_N) = 1/18
  N=4: D_1(M,B_N(M)) = 0, D_1(W,B_N(W)) = 1/8, ||P_N H_W - H_B||_1 = 1/12, ||H_W - P_N H_W||_1 = 1/12, D_1((M+Pi)/2, B_N) = 1/24
  N=5: D_1(M,B_N(M)) = 0, D_1(W,B_N(W)) = 1/10, ||P_N H_W - H_B||_1 = 1/15, ||H_W - P_N H_W||_1 = 1/15, D_1((M+Pi)/2, B_N) = 1/30
  N=8: D_1(M,B_N(M)) = 0, D_1(W,B_N(W)) = 1/16, ||P_N H_W - H_B||_1 = 1/24, ||H_W - P_N H_W||_1 = 1/24, D_1((M+Pi)/2, B_N) = 1/48

(D) Lemma 3.1 (d = 2): d_inf(A,B)^2 <= 8 D_1(A,B) on random pairs
  70 pairs with A != B; largest d_inf^2 / D_1 = 0.5000 (bound 8)

(E) Remark 3.6(d): D_1(B^q, B^q') <= sum |q - q'| for diagonal checkerboards
  50 pairs; largest ratio D_1 / sum|q - q'| = 0.3333 (bound 1)

(F) deliberately wrong inputs
  transposed cell masses (M=5, N=4): ||P_N H_A - H_B||_1 = 0.259433 != 1/(3N): detected
  the wrong value D_1(Pi,B_4) = 1/8 is rejected (exact value 1/12)
  a mass array with non-uniform margins is rejected by the margin check

TOTAL failures: 0
