=== 1. triangular counterexample (n = m = 3) ===
   case: generic  n = 3  m = 3  w = (1, -2)
   dim S^1_d, d = 0..4 (pieces of degree <= d, exact over Q): [1, 4, 11, 24, 48]
   d = 2: dim = 11, CDS bounds [10, 12]   <-- dim < upper bound
   d = 3: dim = 24, CDS bounds [22, 24]
   d = 4: dim = 48, CDS bounds [46, 48]
   the 10 global monomials of degree <= 2 and z_+^2 satisfy all C^1 conditions: True
   rank of these 11 coefficient vectors: 11

=== 2. generic cells: dim H^1_k (exact) vs Theorem 1.1 ===
   n=3 m=3 rays=[(1, 0), (0, 1), (-1, -1)] up=(0, 0, 1) down=(1, -2, -1)  H=[1, 3, 7, 13, 24, 42, 66] OK
   n=3 m=3 rays=[(1, 0), (0, 1), (-1, -1)] up=(1, 3, 2) down=(-2, 1, -3)  H=[1, 3, 7, 13, 24, 42, 66] OK
   n=4 m=2 rays=[(1, 0), (0, 1), (-1, 0), (0, -1)] up=(0, 0, 1) down=(1, 1, -1)  H=[1, 3, 7, 17, 33, 56, 88] OK
   n=4 m=2 rays=[(3, 1), (-1, 2), (-6, -2), (2, -4)] up=(1, 1, 2) down=(-2, 3, -1)  H=[1, 3, 7, 17, 33, 56, 88] OK
   n=4 m=3 rays=[(1, 0), (0, 1), (-1, 0), (1, -1)] up=(0, 0, 1) down=(2, 1, -1)  H=[1, 3, 7, 15, 30, 54, 86] OK
   n=6 m=3 rays=[(1, 0), (1, 1), (0, 1), (-1, 0), (-1, -1), (0, -1)] up=(0, 0, 1) down=(1, -1, -1)  H=[1, 3, 7, 19, 42, 78, 126] OK
   n=5 m=5 rays=[(2, 0), (1, 2), (-2, 1), (-1, -1), (1, -3)] up=(0, 0, 1) down=(3, 1, -1)  H=[1, 3, 7, 16, 36, 66, 106] OK
   n=8 m=4 rays=[(1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0), (-1, -1), (0, -1), (1, -1)] up=(1, 3, 2) down=(3, -1, -1)  H=[1, 3, 7, 22, 54, 102] OK
   n=3 m=3 rays=[(-2, -2), (9, -3), (3, 5)] up=(-3, -2, 3) down=(4, 1, -1)  H=[1, 3, 7, 13, 24, 42, 66] OK
   n=3 m=3 rays=[(0, -2), (15, -18), (-1, 6)] up=(4, 4, 1) down=(-1, 4, -3)  H=[1, 3, 7, 13, 24, 42, 66] OK
   n=4 m=2 rays=[(-2, -1), (6, -1), (6, 3), (-6, 1)] up=(-2, -4, 2) down=(-4, 3, -3)  H=[1, 3, 7, 17, 33, 56, 88] OK
   n=4 m=2 rays=[(-4, -3), (3, -3), (8, 6), (-1, 1)] up=(-1, 1, 3) down=(0, 1, -1)  H=[1, 3, 7, 17, 33, 56, 88] OK
   n=4 m=3 rays=[(-5, -4), (2, 0), (15, 12), (-1, 3)] up=(4, 0, 2) down=(-3, -4, -2)  H=[1, 3, 7, 15, 30, 54, 86] OK
   n=4 m=3 rays=[(6, -4), (1, 0), (-12, 10), (-1, 0)] up=(-4, 1, 3) down=(1, 1, -1)  H=[1, 3, 7, 15, 30, 54, 86] OK
   n=4 m=4 rays=[(-9, -6), (-4, -10), (6, 1), (-4, 5)] up=(-3, 0, 3) down=(-3, 2, -2)  H=[1, 3, 7, 14, 30, 54, 86] OK
   n=4 m=4 rays=[(12, -10), (3, 4), (-2, 2), (-10, 8)] up=(-1, 4, 1) down=(2, 2, -3)  H=[1, 3, 7, 14, 30, 54, 86] OK
   n=5 m=3 rays=[(-1, -3), (6, -1), (1, 3), (0, 1), (-6, 1)] up=(3, -4, 3) down=(2, 3, -3)  H=[1, 3, 7, 17, 36, 66, 106] OK
   n=5 m=3 rays=[(3, -6), (3, -3), (-2, 6), (-1, 2), (-1, 1)] up=(0, -2, 1) down=(-3, 4, -1)  H=[1, 3, 7, 17, 36, 66, 106] OK
   n=5 m=4 rays=[(-1, -6), (15, 6), (2, 6), (1, 6), (-3, 0)] up=(-1, 4, 3) down=(-3, 1, -1)  H=[1, 3, 7, 16, 36, 66, 106] OK
   n=5 m=4 rays=[(0, -1), (3, -12), (0, 3), (-15, 9), (-18, 3)] up=(-1, 4, 1) down=(-1, -2, -1)  H=[1, 3, 7, 16, 36, 66, 106] OK
   n=5 m=5 rays=[(-6, -8), (2, 0), (9, 6), (0, 3), (-15, 6)] up=(0, 3, 3) down=(-1, 4, -3)  H=[1, 3, 7, 16, 36, 66, 106] OK
   n=5 m=5 rays=[(-6, -4), (12, -9), (3, 3), (5, 6), (-2, 4)] up=(-2, 0, 1) down=(-2, 2, -2)  H=[1, 3, 7, 16, 36, 66, 106] OK
   n=6 m=3 rays=[(-3, -2), (-1, -5), (3, -3), (3, 2), (1, 5), (-1, 1)] up=(4, -3, 2) down=(-3, -3, -2)  H=[1, 3, 7, 19, 42, 78, 126] OK
   n=6 m=3 rays=[(-5, -3), (-1, -1), (3, 0), (15, 9), (3, 3), (-1, 0)] up=(3, -4, 1) down=(3, -4, -3)  H=[1, 3, 7, 19, 42, 78, 126] OK
   n=6 m=4 rays=[(-15, -9), (1, -1), (4, -3), (1, 4), (-1, 1), (-4, 3)] up=(3, 4, 1) down=(4, 3, -2)  H=[1, 3, 7, 18, 42, 78, 126] OK
   n=6 m=4 rays=[(-3, -5), (8, -10), (12, -2), (-4, 6), (-4, 5), (-6, 1)] up=(-3, -3, 3) down=(3, -4, -1)  H=[1, 3, 7, 18, 42, 78, 126] OK
   n=6 m=5 rays=[(-3, -1), (-1, -1), (5, -2), (1, 1), (-12, 9), (-1, 0)] up=(1, 0, 3) down=(0, 2, -3)  H=[1, 3, 7, 18, 42, 78, 126] OK
   n=6 m=5 rays=[(10, -8), (9, 6), (-3, 9), (-4, 6), (-5, 4), (-3, 0)] up=(2, 2, 3) down=(4, 3, -2)  H=[1, 3, 7, 18, 42, 78, 126] OK
   n=6 m=6 rays=[(-2, -4), (-1, -4), (3, -6), (5, 4), (1, 5), (0, 3)] up=(0, 4, 2) down=(-1, 2, -3)  H=[1, 3, 7, 18, 42, 78, 126] OK
   n=6 m=6 rays=[(-2, -2), (-3, -4), (-3, -6), (4, -3), (0, 2), (-3, 5)] up=(0, 0, 3) down=(-2, 3, -2)  H=[1, 3, 7, 18, 42, 78, 126] OK
   n=7 m=4 rays=[(-2, -1), (0, -1), (10, -8), (6, -3), (4, 2), (0, 2), (-2, 1)] up=(2, -1, 3) down=(0, -4, -1)  H=[1, 3, 7, 20, 48, 90] OK
   n=7 m=4 rays=[(-1, -1), (-3, -4), (0, -1), (2, 2), (9, 12), (6, 9), (0, 2)] up=(-2, 1, 3) down=(4, -1, -2)  H=[1, 3, 7, 20, 48, 90] OK
   n=7 m=5 rays=[(-1, -2), (3, -2), (5, 4), (2, 4), (0, 3), (-3, 2), (-3, 0)] up=(-4, 1, 1) down=(-3, -2, -3)  H=[1, 3, 7, 20, 48, 90] OK
   n=7 m=5 rays=[(-2, -3), (-3, -5), (0, -1), (15, 3), (4, 6), (6, 10), (1, 2)] up=(3, 2, 1) down=(-3, -1, -3)  H=[1, 3, 7, 20, 48, 90] OK
   n=7 m=6 rays=[(-3, -3), (-2, -5), (2, 0), (6, 15), (3, 9), (-3, 9), (-3, 5)] up=(-4, -4, 1) down=(-1, 0, -2)  H=[1, 3, 7, 20, 48, 90] OK
   n=7 m=6 rays=[(-4, -2), (-2, -12), (3, -6), (1, -1), (4, 3), (-1, 2), (-3, 0)] up=(-2, 3, 3) down=(4, 3, -3)  H=[1, 3, 7, 20, 48, 90] OK
   n=7 m=7 rays=[(-1, -2), (1, -1), (6, -2), (0, 1), (-2, 8), (-4, 2), (-1, 0)] up=(-4, -2, 1) down=(-3, -4, -2)  H=[1, 3, 7, 20, 48, 90] OK
   n=7 m=7 rays=[(-10, -12), (-2, -3), (12, -15), (15, -6), (8, -2), (3, 3), (-2, 12)] up=(3, 4, 2) down=(-1, 2, -3)  H=[1, 3, 7, 20, 48, 90] OK
   n=8 m=4 rays=[(15, -18), (2, -2), (4, -3), (1, 0), (-5, 6), (-1, 1), (-4, 3), (-1, 0)] up=(2, 3, 2) down=(0, 3, -1)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=4 rays=[(-5, -1), (-5, -3), (0, -1), (8, -10), (5, 1), (15, 9), (0, 3), (-4, 5)] up=(-1, 1, 2) down=(1, 3, -3)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=5 rays=[(-2, -3), (-2, -5), (-1, -3), (6, 4), (2, 3), (6, 15), (2, 6), (-8, 2)] up=(-2, -1, 3) down=(-2, 4, -3)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=5 rays=[(-1, -2), (-1, -3), (6, -8), (6, -4), (2, 4), (2, 6), (0, 2), (-3, 4)] up=(1, 3, 1) down=(-4, 2, -2)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=6 rays=[(-6, -3), (-5, -4), (-3, -6), (-3, -9), (9, -6), (15, -9), (-3, 2), (-5, 3)] up=(0, 1, 2) down=(2, 4, -2)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=6 rays=[(-1, -1), (2, -6), (1, -2), (9, -6), (3, 2), (2, 2), (-1, 2), (-3, 0)] up=(-4, -2, 1) down=(4, 1, -3)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=7 rays=[(-2, -6), (1, -3), (6, -9), (6, 4), (9, 12), (6, 9), (-1, 3), (-6, 15)] up=(-2, -4, 3) down=(3, 0, -2)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=7 rays=[(-3, -1), (-2, -3), (15, -18), (12, -2), (4, 6), (3, 6), (-2, 4), (-6, 3)] up=(4, 4, 2) down=(1, -2, -2)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=8 rays=[(-1, -1), (-9, -12), (-1, -2), (12, -10), (-1, 6), (-15, 12), (-10, 4), (-2, 0)] up=(2, -2, 3) down=(2, -3, -2)  H=[1, 3, 7, 22, 54, 102] OK
   n=8 m=8 rays=[(-5, -2), (-2, -2), (1, -3), (2, -3), (1, 0), (-6, 8), (-3, 2), (-2, 1)] up=(3, 4, 1) down=(4, 1, -1)  H=[1, 3, 7, 22, 54, 102] OK
   generic cells checked: 48, mismatches: 0
   sum_{k<=d} H_k equals the closed form of Theorem 1.1 (n <= 60, d <= 40): True

=== 3. collinear and coplanar cells vs CDS Theorems 1-3 (as printed) ===
   collinear  n=3 m=3  dim S^1_d (d=2..5) = [11, 26, 53, 98]  CDS: [11, 26, 53, 98]  OK
   collinear  n=4 m=2  dim S^1_d (d=2..5) = [13, 32, 68, 128]  CDS: [13, 32, 68, 128]  OK
   collinear  n=4 m=3  dim S^1_d (d=2..5) = [12, 30, 64, 122]  CDS: [12, 30, 64, 122]  OK
   collinear  n=4 m=4  dim S^1_d (d=2..5) = [12, 30, 64, 122]  CDS: [12, 30, 64, 122]  OK
   collinear  n=5 m=3  dim S^1_d (d=2..5) = [13, 34, 75, 146]  CDS: [13, 34, 75, 146]  OK
   collinear  n=5 m=4  dim S^1_d (d=2..5) = [13, 34, 75, 146]  CDS: [13, 34, 75, 146]  OK
   collinear  n=5 m=5  dim S^1_d (d=2..5) = [13, 34, 75, 146]  CDS: [13, 34, 75, 146]  OK
   collinear  n=6 m=3  dim S^1_d (d=2..5) = [14, 38, 86, 170]  CDS: [14, 38, 86, 170]  OK
   collinear  n=6 m=4  dim S^1_d (d=2..5) = [14, 38, 86, 170]  CDS: [14, 38, 86, 170]  OK
   collinear  n=6 m=5  dim S^1_d (d=2..5) = [14, 38, 86, 170]  CDS: [14, 38, 86, 170]  OK
   collinear  n=6 m=6  dim S^1_d (d=2..5) = [14, 38, 86, 170]  CDS: [14, 38, 86, 170]  OK
   collinear  n=7 m=4  dim S^1_d (d=2..5) = [15, 42, 97, 194]  CDS: [15, 42, 97, 194]  OK
   collinear  n=7 m=5  dim S^1_d (d=2..5) = [15, 42, 97, 194]  CDS: [15, 42, 97, 194]  OK
   collinear  n=7 m=6  dim S^1_d (d=2..5) = [15, 42, 97, 194]  CDS: [15, 42, 97, 194]  OK
   collinear  n=7 m=7  dim S^1_d (d=2..5) = [15, 42, 97, 194]  CDS: [15, 42, 97, 194]  OK
   coplanarI  n=3 m=3  dim S^1_d (d=2..5) = [11, 24, 49, 92]  CDS: [11, 24, 49, 92]  OK
   coplanarI  n=4 m=3  dim S^1_d (d=2..5) = [11, 26, 57, 112]  CDS: [11, 26, 57, 112]  OK
   coplanarI  n=4 m=4  dim S^1_d (d=2..5) = [11, 26, 57, 112]  CDS: [11, 26, 57, 112]  OK
   coplanarI  n=5 m=3  dim S^1_d (d=2..5) = [11, 28, 65, 132]  CDS: [11, 28, 65, 132]  OK
   coplanarI  n=5 m=4  dim S^1_d (d=2..5) = [11, 28, 65, 132]  CDS: [11, 28, 65, 132]  OK
   coplanarI  n=5 m=5  dim S^1_d (d=2..5) = [11, 28, 65, 132]  CDS: [11, 28, 65, 132]  OK
   coplanarI  n=6 m=4  dim S^1_d (d=2..5) = [11, 30, 73, 152]  CDS: [11, 30, 73, 152]  OK
   coplanarI  n=6 m=5  dim S^1_d (d=2..5) = [11, 30, 73, 152]  CDS: [11, 30, 73, 152]  OK
   coplanarI  n=6 m=6  dim S^1_d (d=2..5) = [11, 30, 73, 152]  CDS: [11, 30, 73, 152]  OK
   coplanarI  n=7 m=4  dim S^1_d (d=2..5) = [11, 32, 81, 172]  CDS: [11, 32, 81, 172]  OK
   coplanarI  n=7 m=5  dim S^1_d (d=2..5) = [11, 32, 81, 172]  CDS: [11, 32, 81, 172]  OK
   coplanarI  n=7 m=6  dim S^1_d (d=2..5) = [11, 32, 81, 172]  CDS: [11, 32, 81, 172]  OK
   coplanarI  n=7 m=7  dim S^1_d (d=2..5) = [11, 32, 81, 172]  CDS: [11, 32, 81, 172]  OK
   coplanarII n=4 m=2  dim S^1_d (d=2..5) = [12, 30, 64, 122]  CDS: [12, 30, 64, 122]  OK
   coplanarII n=4 m=3  dim S^1_d (d=2..5) = [12, 28, 60, 116]  CDS: [12, 28, 60, 116]  OK
   coplanarII n=5 m=3  dim S^1_d (d=2..5) = [12, 30, 68, 136]  CDS: [12, 30, 68, 136]  OK
   coplanarII n=5 m=4  dim S^1_d (d=2..5) = [12, 30, 68, 136]  CDS: [12, 30, 68, 136]  OK
   coplanarII n=6 m=3  dim S^1_d (d=2..5) = [12, 32, 76, 156]  CDS: [12, 32, 76, 156]  OK
   coplanarII n=6 m=4  dim S^1_d (d=2..5) = [12, 32, 76, 156]  CDS: [12, 32, 76, 156]  OK
   coplanarII n=6 m=5  dim S^1_d (d=2..5) = [12, 32, 76, 156]  CDS: [12, 32, 76, 156]  OK
   coplanarII n=7 m=4  dim S^1_d (d=2..5) = [12, 34, 84, 176]  CDS: [12, 34, 84, 176]  OK
   coplanarII n=7 m=5  dim S^1_d (d=2..5) = [12, 34, 84, 176]  CDS: [12, 34, 84, 176]  OK
   coplanarII n=7 m=6  dim S^1_d (d=2..5) = [12, 34, 84, 176]  CDS: [12, 34, 84, 176]  OK
   cells checked: 38, mismatches: 0

=== 4. DiPasquale-Villamizar Table 1, column symdim (n = m = 5, generic in the sense of CDS) ===
   cell: rays [(2, 0), (1, 2), (-2, 1), (-1, -1), (1, -3)], up (1, 1, 2), down (2, -1, -1), case generic, m = 5
   r=1  d=2..9  ours=[7, 16, 36, 66, 106, 156, 216, 286]  DV=[7, 16, 36, 66, 106, 156, 216, 286]  MATCH
   r=2  d=3..11  ours=[11, 18, 32, 57, 92, 137, 192, 257, 332]  DV=[11, 18, 32, 57, 92, 137, 192, 257, 332]  MATCH
   r=3  d=4..12  ours=[16, 24, 34, 51, 80, 120, 170, 230, 300]  DV=[16, 24, 34, 51, 80, 120, 170, 230, 300]  MATCH
   r=4  d=5..13  ours=[22, 31, 42, 56, 78, 112, 157, 212, 277]  DV=[22, 31, 42, 56, 78, 112, 157, 212, 277]  MATCH
   Theorem 1.1 for n = m = 5, k = 2..9: [7, 16, 36, 66, 106, 156, 216, 286]

=== 5. Theorem 1.1 vs the bounds of CDS Theorem 4 (as printed), n <= 60, d <= 40 ===
   m=2    d=2   ['bounds equal, dim = UB']
   m=2    d=3   ['bounds differ, dim = UB']
   m=2    d>=4  ['bounds differ, dim = UB']
   m=3    d=2   ['bounds differ, LB < dim < UB']
   m=3    d=3   ['bounds differ, dim = UB']
   m=3    d>=4  ['bounds differ, dim = UB']
   m>=4   d=2   ['bounds differ, dim = UB']
   m>=4   d=3   ['bounds differ, dim = UB']
   m>=4   d>=4  ['bounds differ, dim = UB']

all checks passed
total time 60.3 s
