Imports
/- Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith -/ module public import Physlib.StringTheory.FTheory.SU5.Fluxes.Basic

Constraints on chiral indices from the condition of no chiral exotics

i. Overview

The chiral indices of each of the standard model representations satisfy certain constraints if there are no chiral exotics in the spectrum. We give prove these constraints in this file.

ii. Key results

Each of the following results holds for each of the standard model representations, we state them for the representation D = (bar 3,1)_{1/3} only:

    Each chiral index is non-negative, FluxesFive.chiralIndicesOfD_noneg_of_noExotics.

    The sum of the chiral indices is equal to three, FluxesFive.chiralIndicesOfD_sum_eq_three_of_noExotics.

    Each chiral index is less then or equal to three, FluxesFive.chiralIndicesOfD_le_three_of_noExotics.

    Each chiral index is 0, 1, 2 or 3, FluxesFive.mem_chiralIndicesOfD_mem_of_noExotics

    The sum of a subset of the chiral indices is less then or equal to three, FluxesFive.chiralIndicesOfD_subset_sum_le_three_of_noExotics.

iii. Table of contents

    A. Positivity of the chiral indices given no exotics

    B. Chiral indices sum to three given no exotics

    C. Each chiral index is less then or equal to three given no exotics

    D. Each chiral index is 0, 1, 2, or 3 given no exotics

    E. Sum of a subset of chiral indices is less then or equal to 3 given no exotics

iv. References

There are no known references for the material in this module.

@[expose] public section

A. Positivity of the chiral indices given no exotics

The chiral indices of all the SM representations are non-negative if there are no chiral exotics.

The chiral indices of the representations D = (bar 3,1)_{1/3} are all non-negative if there are no chiral exotics in the spectrum.

F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfD).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfD).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfD).card * -1False F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfD).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfD).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfD).card * -1h2:0 < (Multiset.filter (fun x => x < 0) F.chiralIndicesOfD).cardFalse All goals completed! 🐙

The chiral indices of the representations L = (1,2)_{-1/2} are all non-negative if there are no chiral exotics in the spectrum.

F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfL).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfL).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfL).card * -1False F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfL).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfL).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfL).card * -1h2:0 < (Multiset.filter (fun x => x < 0) F.chiralIndicesOfL).cardFalse All goals completed! 🐙

The chiral indices of the representations Q = (3,2)_{1/6} are all non-negative if there are no chiral exotics in the spectrum.

F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfQ).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfQ).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfQ).card * -1False F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfQ).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfQ).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfQ).card * -1h2:0 < (Multiset.filter (fun x => x < 0) F.chiralIndicesOfQ).cardFalse All goals completed! 🐙

The chiral indices of the representations U = (bar 3,1)_{-2/3} are all non-negative if there are no chiral exotics in the spectrum.

F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfU).sum = 0 F.numChiralE = 3 F.numAntiChiralE = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfU).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfU).card * -1False F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfU).sum = 0 F.numChiralE = 3 F.numAntiChiralE = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfU).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfU).card * -1h2:0 < (Multiset.filter (fun x => x < 0) F.chiralIndicesOfU).cardFalse All goals completed! 🐙
F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfE).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfE).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfE).card * -1False F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEhn:ci < 0hF1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfE).sum = 0h1:(Multiset.filter (fun x => x < 0) F.chiralIndicesOfE).sum (Multiset.filter (fun x => x < 0) F.chiralIndicesOfE).card * -1h2:0 < (Multiset.filter (fun x => x < 0) F.chiralIndicesOfE).cardFalse All goals completed! 🐙

B. Chiral indices sum to three given no exotics

The sum of the chiral indices of each representation is equal to three if there are no chiral exotics.

The sum of the chiral indices of the representations D = (bar 3,1)_{1/3} is equal to 3 in the presences of no exotics.

F:FluxesFivehF:F.NoExoticsh:3 = F.chiralIndicesOfD.sum - 0F.chiralIndicesOfD.sum = 3 All goals completed! 🐙

The sum of the chiral indices of the representations L = (1,2)_{-1/2} is equal to 3 in the presences of no exotics.

F:FluxesFivehF:F.NoExoticsh:3 = F.chiralIndicesOfL.sum - 0F.chiralIndicesOfL.sum = 3 All goals completed! 🐙

The sum of the chiral indices of the representations Q = (3,2)_{1/6} is equal to 3 in the presences of no exotics.

F:FluxesTenhF:F.NoExoticsh:3 = F.chiralIndicesOfQ.sum - 0F.chiralIndicesOfQ.sum = 3 All goals completed! 🐙

The sum of the chiral indices of the representations U = (bar 3,1)_{-2/3} is equal to 3 in the presences of no exotics.

F:FluxesTenhF:F.NoExoticsh:3 = F.chiralIndicesOfU.sum - 0F.chiralIndicesOfU.sum = 3 All goals completed! 🐙

The sum of the chiral indices of the representations E = (1,1)_{1} is equal to 3 in the presences of no exotics.

F:FluxesTenhF:F.NoExoticsh:3 = F.chiralIndicesOfE.sum - 0F.chiralIndicesOfE.sum = 3 All goals completed! 🐙

C. Each chiral index is less then or equal to three given no exotics

The chiral indices of the representation D = (bar 3,1)_{1/3} are less then or equal to 3.

lemma FluxesFive.chiralIndicesOfD_le_three_of_noExotics (F : FluxesFive) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfD) : ci 3 := F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDci 3 F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDhle:ci F.chiralIndicesOfD.sumci 3 rwa [F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDhle:ci 3ci 3F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDhle:ci 3ci 3 at hle

The chiral indices of the representation L = (1,2)_{-1/2} are less then or equal to 3.

lemma FluxesFive.chiralIndicesOfL_le_three_of_noExotics (F : FluxesFive) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfL) : ci 3 := F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLci 3 F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLhle:ci F.chiralIndicesOfL.sumci 3 rwa [F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLhle:ci 3ci 3F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLhle:ci 3ci 3 at hle

The chiral indices of the representation Q = (3,2)_{1/6} are less then or equal to 3.

lemma FluxesTen.chiralIndicesOfQ_le_three_of_noExotics (F : FluxesTen) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfQ) : ci 3 := F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQci 3 F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQhle:ci F.chiralIndicesOfQ.sumci 3 rwa [F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQhle:ci 3ci 3F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQhle:ci 3ci 3 at hle

The chiral indices of the representation U = (bar 3,1)_{-2/3} are less then or equal to 3.

lemma FluxesTen.chiralIndicesOfU_le_three_of_noExotics (F : FluxesTen) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfU) : ci 3 := F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUci 3 F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUhle:ci F.chiralIndicesOfU.sumci 3 rwa [F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUhle:ci 3ci 3F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUhle:ci 3ci 3 at hle

The chiral indices of the representation E = (1,1)_{1} are less then or equal to 3.

lemma FluxesTen.chiralIndicesOfE_le_three_of_noExotics (F : FluxesTen) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfE) : ci 3 := F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEci 3 F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEhle:ci F.chiralIndicesOfE.sumci 3 rwa [F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEhle:ci 3ci 3F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEhle:ci 3ci 3 at hle

D. Each chiral index is 0, 1, 2, or 3 given no exotics

lemma FluxesFive.mem_chiralIndicesOfD_mem_of_noExotics (F : FluxesFive) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfD) : ci ({0, 1, 2, 3} : Finset ) := F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDci {0, 1, 2, 3} F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDh0:ci 3ci {0, 1, 2, 3} F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDh0:ci 3h1:0 cici {0, 1, 2, 3} F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfDh0:ci 3h1:0 cici = 0 ci = 1 ci = 2 ci = 3 All goals completed! 🐙lemma FluxesFive.mem_chiralIndicesOfL_mem_of_noExotics (F : FluxesFive) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfL) : ci ({0, 1, 2, 3} : Finset ) := F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLci {0, 1, 2, 3} F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLh0:ci 3ci {0, 1, 2, 3} F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLh0:ci 3h1:0 cici {0, 1, 2, 3} F:FluxesFivehF:F.NoExoticsci:hci:ci F.chiralIndicesOfLh0:ci 3h1:0 cici = 0 ci = 1 ci = 2 ci = 3 All goals completed! 🐙lemma FluxesTen.mem_chiralIndicesOfQ_mem_of_noExotics (F : FluxesTen) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfQ) : ci ({0, 1, 2, 3} : Finset ) := F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQci {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQh0:ci 3ci {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQh0:ci 3h1:0 cici {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfQh0:ci 3h1:0 cici = 0 ci = 1 ci = 2 ci = 3 All goals completed! 🐙lemma FluxesTen.mem_chiralIndicesOfU_mem_of_noExotics (F : FluxesTen) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfU) : ci ({0, 1, 2, 3} : Finset ) := F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUci {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUh0:ci 3ci {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUh0:ci 3h1:0 cici {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfUh0:ci 3h1:0 cici = 0 ci = 1 ci = 2 ci = 3 All goals completed! 🐙lemma FluxesTen.mem_chiralIndicesOfE_mem_of_noExotics (F : FluxesTen) (hF : NoExotics F) (ci : ) (hci : ci F.chiralIndicesOfE) : ci ({0, 1, 2, 3} : Finset ) := F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEci {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEh0:ci 3ci {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEh0:ci 3h1:0 cici {0, 1, 2, 3} F:FluxesTenhF:F.NoExoticsci:hci:ci F.chiralIndicesOfEh0:ci 3h1:0 cici = 0 ci = 1 ci = 2 ci = 3 All goals completed! 🐙

E. Sum of a subset of chiral indices is less then or equal to 3 given no exotics

F:FluxesFivehF:F.NoExoticsS:Multiset FluxeshSle:S Fhs:Multiset.map (fun x => x.M) S F.chiralIndicesOfDhpos:0 (F.chiralIndicesOfD - Multiset.map (fun x => x.M) S).sumsum_add_compl_eq_three:(Multiset.map (fun x => x.M) S).sum + (F.chiralIndicesOfD - Multiset.map (fun x => x.M) S).sum = 3(Multiset.map (fun x => x.M) S).sum 3 All goals completed! 🐙F:FluxesFivehF:F.NoExoticsS:Multiset FluxeshSle:S Fhs:Multiset.map (fun x => x.M + x.N) S F.chiralIndicesOfLhpos:0 (F.chiralIndicesOfL - Multiset.map (fun x => x.M + x.N) S).sumsum_add_compl_eq_three:(Multiset.map (fun x => x.M + x.N) S).sum + (F.chiralIndicesOfL - Multiset.map (fun x => x.M + x.N) S).sum = 3(Multiset.map (fun x => x.M + x.N) S).sum 3 All goals completed! 🐙F:FluxesTenhF:F.NoExoticsS:Multiset FluxeshSle:S Fhs:Multiset.map (fun x => x.M) S F.chiralIndicesOfQhpos:0 (F.chiralIndicesOfQ - Multiset.map (fun x => x.M) S).sumsum_add_compl_eq_three:(Multiset.map (fun x => x.M) S).sum + (F.chiralIndicesOfQ - Multiset.map (fun x => x.M) S).sum = 3(Multiset.map (fun x => x.M) S).sum 3 All goals completed! 🐙F:FluxesTenhF:F.NoExoticsS:Multiset FluxeshSle:S Fhs:Multiset.map (fun x => x.M - x.N) S F.chiralIndicesOfUhpos:0 (F.chiralIndicesOfU - Multiset.map (fun x => x.M - x.N) S).sumsum_add_compl_eq_three:(Multiset.map (fun x => x.M - x.N) S).sum + (F.chiralIndicesOfU - Multiset.map (fun x => x.M - x.N) S).sum = 3(Multiset.map (fun x => x.M - x.N) S).sum 3 All goals completed! 🐙F:FluxesTenhF:F.NoExoticsS:Multiset FluxeshSle:S Fhs:Multiset.map (fun x => x.M + x.N) S F.chiralIndicesOfEhpos:0 (F.chiralIndicesOfE - Multiset.map (fun x => x.M + x.N) S).sumsum_add_compl_eq_three:(Multiset.map (fun x => x.M + x.N) S).sum + (F.chiralIndicesOfE - Multiset.map (fun x => x.M + x.N) S).sum = 3(Multiset.map (fun x => x.M + x.N) S).sum 3 All goals completed! 🐙