$Version
(* "14.0.0 for Mac OS X ARM (64-bit) (December 13, 2023)" *)
Clear["Global`*"]
sum1[n_Integer?Positive] :=
Sum[Binomial[2 n - 1, 2 m - 1]*(L - 2 - 2*(2 m - 1)), {m, 1, n}]
sum1[1]
(* -4 + L *)
Generating a sequence,
seq = sum1 /@ Range[8] // Simplify
(* {-4 + L, 4 (-5 + L), 16 (-7 + L), 64 (-9 + L), 256 (-11 + L), 1024 (-13 + L),
4096 (-15 + L), 16384 (-17 + L)} *)
Using FindSequenceFunction
sum2[n_] = FindSequenceFunction[seq, n]

The result is a DifferenceRoot
sum2[n] // InputForm
(* DifferenceRoot[Function[{[FormalY], [FormalN]},
{16[FormalY][[FormalN]] - 8[FormalY][1 + [FormalN]] +
[FormalY][2 + [FormalN]] == 0, [FormalY][1] == -4 + L,
[FormalY][2] == 4(-5 + L), [FormalY][3] ==
16(-7 + L), [FormalY][4] == 64(-9 + L),
[FormalY][5] == 256(-11 + L),
[FormalY][6] == 1024(-13 + L),
[FormalY][7] == 4096(-15 + L)}]][n] *)
Verifying that the DifferenceRoot works beyond the original sequence:
And @@ (Table[sum1[n] == sum2[n], {n, 1, 50}] // Simplify)
(* True *)
GenerateConditions -> Truegives the same thing along withn >= 1which is a bug, but when you dont add that option i wouldn't say a return that works forn > 1is a bug. – Coolwater Feb 26 '24 at 10:07SumandIntegrateoften give results that whose dependence on parameters is only "generically true" (finite number of exceptions when the parameter is a positive integer). Might always want to check the first couple of values. – Goofy Feb 26 '24 at 17:10