Documentation

LeanPool.VirasoroProject.CentralChargeCalc

Central charge calculations for Sugawara constructions #

This file contains the crucial auxiliary calculations leading to the values of the central charge in various Sugawara constructions. The calculations make use of "discrete integration" on .

Main definitions #

Main statements #

TODO #

Tags #

central charge, Sugawara construction

def VirasoroProject.zPrimitive {R : Type u_1} [AddCommGroup R] (f : R) (n : ) :
R

A discrete integral of a function on .

Equations
Instances For
    @[simp]
    theorem VirasoroProject.zPrimitive_zero {R : Type u_1} [AddCommGroup R] (f : R) :
    @[simp]
    theorem VirasoroProject.zPrimitive_apply_of_nonneg {R : Type u_1} [AddCommGroup R] (f : R) {n : } (hn : 0 n) :
    zPrimitive f n = jFinset.range n.toNat, f j
    @[simp]
    theorem VirasoroProject.zPrimitive_apply_of_nonpos {R : Type u_1} [AddCommGroup R] (f : R) {n : } (hn : n 0) :
    zPrimitive f n = -jFinset.range n.natAbs, f (-j - 1)
    @[simp]
    theorem VirasoroProject.zPrimitive_succ {R : Type u_1} [AddCommGroup R] (f : R) (n : ) :
    zPrimitive f (n + 1) = zPrimitive f n + f n
    theorem VirasoroProject.eq_zPrimitive_of_eq_zero_of_forall_eq_add {R : Type u_1} [AddCommGroup R] {f F : R} (h0 : F 0 = 0) (h1 : ∀ (n : ), F (n + 1) = F n + f n) :
    theorem VirasoroProject.zPrimitive_smul {R : Type u_1} {S : Type u_2} [AddCommGroup R] [DistribSMul S R] (c : S) (f : R) :
    theorem VirasoroProject.zPrimitive_mul_left {R : Type u_1} [Ring R] (c : R) (f : R) :
    (zPrimitive fun (n : ) => c * f n) = fun (n : ) => c * zPrimitive f n
    theorem VirasoroProject.zPrimitive_mul_right {R : Type u_1} [Ring R] (c : R) (f : R) :
    (zPrimitive fun (n : ) => f n * c) = fun (n : ) => zPrimitive f n * c
    def VirasoroProject.zMonomialF (R : Type u_1) [AddCommGroup R] [One R] (d : ) :
    R

    A discrete monomial function of degree d, obtained recursively by starting from the unit function 1 and taking the discrete primitive d times. (Note: The resulting normalization is such that this monomial approximately x ↦ 1/d! * x^d.)

    Equations
    Instances For
      theorem VirasoroProject.zMonomialF_eq (R : Type u_1) [Field R] [CharZero R] (d : ) :
      zMonomialF R d = fun (n : ) => (∏ jFinset.range d, (n - j)) / d.factorial
      theorem VirasoroProject.zMonomialF_zero_eq (R : Type u_1) [Field R] (n : ) :
      zMonomialF R 0 n = 1
      theorem VirasoroProject.zMonomialF_one_eq (R : Type u_1) [Field R] [CharZero R] (n : ) :
      zMonomialF R 1 n = n
      theorem VirasoroProject.zMonomialF_two_eq (R : Type u_1) [Field R] [CharZero R] (n : ) :
      zMonomialF R 2 n = n * (n - 1) / 2
      theorem VirasoroProject.zMonomialF_three_eq (R : Type u_1) [Field R] [CharZero R] (n : ) :
      zMonomialF R 3 n = n * (n - 1) * (n - 2) / 6
      theorem VirasoroProject.zMonomialF_four_eq (R : Type u_1) [Field R] [CharZero R] (n : ) :
      zMonomialF R 4 n = n * (n - 1) * (n - 2) * (n - 3) / 24
      theorem VirasoroProject.zMonomialF_five_eq (R : Type u_1) [Field R] [CharZero R] (n : ) :
      zMonomialF R 5 n = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) / 120
      theorem VirasoroProject.zMonomialF_apply_eq_zero_of_of_nonneg_lt (R : Type u_1) [Field R] [CharZero R] (d : ) {n : } (n_lt : n < d) :
      zMonomialF R d n = 0
      theorem VirasoroProject.bosonic_sugawara_cc_calc (R : Type u_1) [Field R] [CharZero R] (n : ) :
      zPrimitive (fun (l : ) => l * (n - l)) n = (n ^ 3 - n) / 6
      theorem VirasoroProject.bosonic_sugawara_cc_calc_nonneg (n : ) :
      lFinset.range n, l * (n - l) = (n ^ 3 - n) / 6