Domaine 0 — jāti / svara-roles structural
Synthèse 6c.3 du Brihaddesi (Sharma 1992, vols I & II) depuis :
- 207 règles génératives 6b sur 170 concepts du domaine 0
- 488 affirmations sourcées
- partition Leiden domain_id=0
Concepts modelés (top-8 par poids opérationnel) :
- aṁśa (svara prédominant), graha (svara de départ), nyāsa (svara de conclusion),
apanyāsa (cadence intermédiaire), aniśa (non-aṁśa)
- jāti (abstraction mélodique, 18 jātis = 7 ṣaḍjagrāma + 11 madhyamagrāma)
- ṣāḍava (hexatonique par omission), auduvita (pentatonique par omission)
- kākalī (niṣāda altéré), antara (gāndhāra altéré)
- śuddhā / vikṛtā (formes pure / altérée)
Anti-fabrication : chaque type, opération et contrainte cite son evidence
(rule_id 6b ou affirmation_id). Aucune valeur non sourcée n'est introduite.
Les concepts mentionnés mais non formellement épinglés sont listés dans
UNRESOLVED en bas de fichier.
Python 3.10+. Importable directement, sans dépendance externe.
Operations (8)
Pure functions derived from the rules: given input types, return outputs. Each cites the rule(s) that justify it.
§cardinality_of
map svara count to ScaleCardinality
Sourced by
Sampūrṇa = a combination employing all seven svaras
FUNCTION is_sampurna(svara_set):
IF count(distinct(svara_set)) == 7: RETURN TRUE
RETURN FALSE
Ṣāḍava is the rāga/jāti type sung with six svaras (hexatonic)
DEFINE ṣāḍava: cardinality(svaras) = 6; status = hexatonic_scale_type
enthat which is sung with six svaras is ṣāḍavāvol_I_p036 Auḍava = scale with 5 svaras
DEFINE auḍava AS scale WHERE count(svaras) == 5
enauḍavā is to be known with five svarasvol_I_p038 §is_suddha_jati
test that graha=apanyāsa=aniśa and sampūrṇa
Sourced by
Śuddhā jāti has identical graha, apanyāsa, aniśa; nyāsa in mandra; complete
DEFINE is_suddha_jati(j):
RETURN j.graha == j.apanyasa == j.anisa
AND j.nyasa.register == mandra
AND j.is_complete == TRUE
enWhen a jāti has the same graha, the same apanyāsa and the same aniśa, has nyāsa in the mandra and is complete, then it is known as śuddhā jāti.vol_II_p030 Śuddhā jātis have no omitted svaras and have aṁśa, graha, nyāsa and apanyāsa on their own svara; śuddhā is the first gīti in both Matanga's and Durgaśakti's classifications.
suddha_jati(J) := no_omission(J) AND {amsa, graha, nyasa, apanyasa}(J) ⊆ own_svara(J); giti_rank(suddha) := 1
sktशुद्धा अन्यूनस्वरा*स्वस्वरांशग्रहन्यासापन्यासाश्चvol_II_p011 §is_valid_omission_for_sadava
test if a svara can be omitted to form ṣāḍava
Sourced by
ṣāḍava = forme hexatonique (6 svaras) dérivée par omission d'un svara, sous contrainte de non-omission du saṃvādī de l'aṃśa
FUNCTION form_sadava(jati, amsa):
forbidden := {samvadi(amsa)}
candidates := jati.svaras \ forbidden
IF |candidates| < 6: RETURN NULL # cannot form sadava
omit := select_one(candidates, NOT IN {amsa}) # e.g. nisada in sadji
sadava_form := jati.svaras \ {omit}
ASSERT |sadava_form| == 6
RETURN sadava_form # 14 varieties, 47 amsa-applications attested
sktषर्स्वरं षाडवं चतुर्दशविधं सप्तचत्वारिंशत्प्रकारम्vol_II_p018 enIts ṣāḍava (form) is (made) through (the omission of) niṣāda.vol_II_p020 + 10 more verbatim
The samvādī of an aṁśa cannot be omitted within a jāti.
for jati J with amsa A: samvadi(A) MUST be present_in(J)
enbecause of the negation of the omission of the samvādī of the aṁśavol_II_p027 Jāti is destroyed by improper use of vivādin svaras in place of vādin or anuvādin svaras
IF svara.role == vivadin AND used_as(vadin|anuvadin) THEN jati = DESTROYED
§is_valid_omission_for_auduva
test if a pair of svaras can be omitted to form auduva
Sourced by
Auduvita is the pentatonic form devoid of ṛṣabha and dhaivata, formed only with permitted aṁśa svaras
DEFINE auduvita = jati_form WHERE rsabha IS absent AND dhaivata IS absent; ALLOWED iff amsa IN permitted_30_amsas
enauduvita obtained on account of precription alone is prohibitedvol_II_p027 + 7 more verbatim
Auḍuvita state is reached by reducing 6-svara jātis to 5 svaras; in auḍuvita state, all svaras present are abundant (none sparse)
TRANSFORM jati[6_svaras] -> auduvita[5_svaras]; IN auduvita: alpatva(svara)=none, bahutva(all)=true
enare sometimes made ṣāḍavita (with six svaras) and in some cases they are made auḍuvitavol_II_p013 §derive_sadava_form
return 6-svara form by single omission
Sourced by
ṣāḍava = forme hexatonique (6 svaras) dérivée par omission d'un svara, sous contrainte de non-omission du saṃvādī de l'aṃśa
FUNCTION form_sadava(jati, amsa):
forbidden := {samvadi(amsa)}
candidates := jati.svaras \ forbidden
IF |candidates| < 6: RETURN NULL # cannot form sadava
omit := select_one(candidates, NOT IN {amsa}) # e.g. nisada in sadji
sadava_form := jati.svaras \ {omit}
ASSERT |sadava_form| == 6
RETURN sadava_form # 14 varieties, 47 amsa-applications attested
sktषर्स्वरं षाडवं चतुर्दशविधं सप्तचत्वारिंशत्प्रकारम्vol_II_p018 enIts ṣāḍava (form) is (made) through (the omission of) niṣāda.vol_II_p020 + 10 more verbatim
Ṣāḍava is the rāga/jāti type sung with six svaras (hexatonic)
DEFINE ṣāḍava: cardinality(svaras) = 6; status = hexatonic_scale_type
enthat which is sung with six svaras is ṣāḍavāvol_I_p036 Ṣāḍava state is defined as devoid of ṛṣabha (six-note structure with ṛṣabha omitted).
def is_shadava(svara_set):
return 'rsabha' not in svara_set and len(svara_set) == 6
§derive_auduva_form
return 5-svara form by pair omission
Sourced by
Auduvita is the pentatonic form devoid of ṛṣabha and dhaivata, formed only with permitted aṁśa svaras
DEFINE auduvita = jati_form WHERE rsabha IS absent AND dhaivata IS absent; ALLOWED iff amsa IN permitted_30_amsas
enauduvita obtained on account of precription alone is prohibitedvol_II_p027 + 7 more verbatim
Auḍuvita state is reached by reducing 6-svara jātis to 5 svaras; in auḍuvita state, all svaras present are abundant (none sparse)
TRANSFORM jati[6_svaras] -> auduvita[5_svaras]; IN auduvita: alpatva(svara)=none, bahutva(all)=true
enare sometimes made ṣāḍavita (with six svaras) and in some cases they are made auḍuvitavol_II_p013 auduva of dhaivatī is formed by omitting pañcama and ṣaḍja
DEFINE auduva(dhaivati) := svaras(dhaivati) \ {pancama, sadja}
enthe auduva formation is devoid of pañcama, șadja.vol_II_p033 §assign_kakali_role
decide kākalī/antara role for a svara in a sādhāraṇakṛtā jāti
Sourced by
Kākalī designates the altered (vikṛta) niṣāda; in many grāma-rāgas niṣāda (and sometimes gāndhāra as antara) functions as kākalī
IF svara == 'niṣāda' AND raga IN {śuddhaṣāḍava, śuddhakaiśikamadhyama, śuddhakaiśika, bhinna-ṣaḍja, bhinna-pañcama, bhinnakaiśikamadhyama, bhinnakaiśika, bhinnatāna, sauvīraka, vesaraṣāḍava, ṭakkakaiśika, pañcamaṣāḍava} THEN role(niṣāda) = kākalī; IF antara_gāndhāra_present THEN role(gāndhāra) = antara
enNiṣāda and gāndhāra are kākalī and antara (here).vol_II_p053 + 3 more verbatim
Kākali = niṣāda; reached after antara (gandhāra) in ascending pattern
IDENTIFY kākali AS niṣāda; ORDER ascend(antara_gandhāra) -> ascend(kākali_niṣāda) -> reach(sthāyi_svara)
enhaving ascended to the antara (gandhāra) and in the same order having ascended to the kākali (niṣāda) the sthāyi-svara is reachedvol_I_p057 Antara is identified with gāndhāra, used in ascending krama patterns; in Ṭakkakaiśika gāndhāra functions as antara along with niṣāda as kākalī
DEFINE antara = gandhara_variant USED_IN ascending(krama, target=kakali)
enhaving ascended to the antara (gandhāra) and in the same order having ascended to the kākali (niṣāda)vol_I_p057 §amsa_predecessor
svara below an aṁśa is the mandra start
Sourced by
The svara preceding the aṁśa is the mandra.
mandra(R) := predecessor_of(amsa(R))
enThe svara that comes before that (aṁśa), is mandra.vol_II_p017 L'amśa est la forme par laquelle un lakṣaṇa particulier se manifeste; mandra commence avec le svara immédiatement en dessous de l'amśa.
DEFINE amsa := form_through_which(special_laksana); mandra.start := svara_below(amsa)
enand the special is (in the form of) amisa and the like.vol_II_p047 enIt is notable that mandra begins with the svara immediately below the amsa.vol_II_p157 Constraints (4)
Validators that raise on configurations forbidden by the rules. Each cites the rule(s) it enforces.
§validate_sadjamadhyama_amsa
forbid Ṣaḍjamadhyamā 6-svara when niṣāda is aṁśa
Sourced by
Şadjamadhyamā is not allowed to be sextonic (six svaras) when niṣāda is the aṁśa.
forbid(sadava_form(Şadjamadhyamā), amsa=niṣāda)
enŞadjamadhyamā is not desired to be with six svaras when the seventh (niṣāda) is the aṁśavol_II_p029 §validate_amsa_samvadi_present
saṃvādī of aṁśa must be present in jāti
Sourced by
The samvādī of an aṁśa cannot be omitted within a jāti.
for jati J with amsa A: samvadi(A) MUST be present_in(J)
enbecause of the negation of the omission of the samvādī of the aṁśavol_II_p027 ṣāḍava = forme hexatonique (6 svaras) dérivée par omission d'un svara, sous contrainte de non-omission du saṃvādī de l'aṃśa
FUNCTION form_sadava(jati, amsa):
forbidden := {samvadi(amsa)}
candidates := jati.svaras \ forbidden
IF |candidates| < 6: RETURN NULL # cannot form sadava
omit := select_one(candidates, NOT IN {amsa}) # e.g. nisada in sadji
sadava_form := jati.svaras \ {omit}
ASSERT |sadava_form| == 6
RETURN sadava_form # 14 varieties, 47 amsa-applications attested
sktषर्स्वरं षाडवं चतुर्दशविधं सप्तचत्वारिंशत्प्रकारम्vol_II_p018 enIts ṣāḍava (form) is (made) through (the omission of) niṣāda.vol_II_p020 + 10 more verbatim
§validate_jati_count_per_grama
check 7 (ṣaḍja) / 11 (madhyama) jāti counts
Sourced by
Seven jātis pertain to sadjagrāma.
n_jatis(sadjagrama) := 7
Eleven jātis are based on madhyamagrāma.
jatis_based_on(madhyamagrama) := 11
The remaining eleven jātis (after ṣaḍja grāma jātis) belong to madhyama grāma
madhyama_grama_jatis = remaining_eleven_jatis; count=11
enthe remaining (eleven) are the jātis of madhyama (grāma).vol_II_p021 §validate_vikrta_invariants
vikṛtā derivation preserves nyāsa and alpatva/bahutva
Sourced by
Vikṛtā jāti is derived from śuddhā by altering characteristics; aṁśa/apanyāsa/completeness can change but alpatva-bahutva and nyāsa cannot
DERIVE vikrta FROM suddha BY altering [amsa, apanyasa, completeness]; INVARIANTS = [alpatva_bahutva, nyasa]
sktद्वाभ्या बहुभिर्वा...लक्षणैर्विकृतिमुपगता न्यासवर्ज विकृतसंज्ञा भवन्तिvol_II_p011 enaṁśa and apanyāsa can be changed...two characteristics cannot change and they are alpatva-bahutva and nyāsavol_II_p158 Alpatva-bahutva (rareté-abondance) ne change pas dans les formes vikṛtā ; essentielle à l'identité de jāti.
VALIDATE invariant(alpatva_bahutva, nyasa) ACROSS vikrta_transformations; required_for jati_identity
entwo characteristics cannot change and they are alpatva-bahutva and nyāsavol_II_p158 Types (9)
Enums and structures used by operations and constraints. Members are exhaustively those attested in the source.
§SvaraEnum
members : SA, RI, GA, MA, PA, DHA, NI
§GrāmaEnum
members : SADJA, MADHYAMA
Sourced by
grāma = cadre tonal; deux grāmas (ṣaḍjagrāma, madhyamagrāma) chacun avec 7 mūrchanās; les tānas servent à distinguer jātis et rāgas des deux grāmas
FUNCTION enumerate_gramas():
gramas := {
'sadjagrama': {murchanas_start_order: [sa, ni, dha, pa, ma, ga, ri]},
'madhyamagrama': {murchanas_start_order: [ma, ga, ri, sa, ni, dha, pa]}
}
ASSERT pancama IN both_gramas # seated in two gramas
# melodic movement must respect grama (gramavirodhena)
RETURN gramas
enPañcama is known as being seated in the two grāmas.vol_I_p016 + 2 more verbatim
Seven jātis pertain to sadjagrāma.
n_jatis(sadjagrama) := 7
Eleven jātis are based on madhyamagrāma.
jatis_based_on(madhyamagrama) := 11
§SvaraRoleEnum
Structural role of a svara within a jāti, bhāṣā or rāga.
members : AMSA, GRAHA, NYASA, APANYASA, ANISA, PARYAYAMSA, KAKALI, ANTARA, SADHARANA
full module docstring
Structural role of a svara within a jāti, bhāṣā or rāga.
Roles attested with rules in domain 0 :
- AMSA : svara prédominant (vādī, principal note)
- GRAHA : svara de départ de l'exécution
- NYASA : svara de conclusion
- APANYASA : cadence intermédiaire interne aux vidārīs
- ANISA : non-aṁśa, désignation explicite
- VINYASA / SAMNYASA : voir UNRESOLVED (mentionnés ailleurs mais
aucune règle 6b en domaine 0)
- PARYAYAMSA : aṁśa alternatif utilisé tour à tour
- KAKALI : niṣāda altéré (vikṛta)
- ANTARA : gāndhāra altéré (vikṛta), utilisé en ascension
- SADHARANA : svara "commun" (gāndhāra ou niṣāda)
evidence:
- AMSA : R_36_amsa_definition, R_4p0_012, amsa_definition_vadi_principal
- GRAHA : graha_definition, graha_63_varieties
- NYASA : R_006_nyasa_definition
- APANYASA : R_c17_apanyasa, R_4p0_005
- ANISA : R_4p1_151
- PARYAYAMSA : R_5p2_1417
- KAKALI : R_kakali_role, R_1853_001
- ANTARA : R_113_antara_identification
- SADHARANA : R_1789_sadharana_svaras
Sourced by
Aṁśa is the predominant/primary svara of a rāga or bhāṣā, the beginning point of a phrase from which tāra ascent is measured
DEFINE amsa AS predominant_svara(raga) WHERE amsa = phrase.start AND tara_ascent = measure_from(amsa)
enfrom the amsa47 (beginning point of a given phrase)vol_I_p056 enHaving niṣāda as amsa (and ) dhaivata as the concluding notevol_II_p106 aṁśa = svara essentiel definissant jāti; enumeration varie: madhyamā=5 (hors gāndhāra+niṣāda), ṣāḍjī=10 (1 śuddha+5 vikṛta+4 ṣāḍava), raktagāndhārī=5 (hors dhaivata+ṛṣabha)
DEFINE aṁśas(jati):
CASES:
madhyamā -> count=5, exclude={'gāndhāra','niṣāda'} # two-śruti svaras
ṣāḍjī -> count=10, breakdown={'śuddha':1,'vikṛta_complete':5,'ṣāḍava':4}
raktagāndhārī -> count=5, exclude={'dhaivata','ṛṣabha'}
role = 'essential_svaras_defining_jati'
RETURN aṁśa_set
enIn madhyamā there are five amśas, excepting the two svaras composed of two śrutis eachvol_II_p022 + 2 more verbatim
Aṁśa is the vādī, the principal note of a rāga/jāti, and regulates intervallic formation of melodic configuration.
amsa(R) := vadin(R); role := principal_note_and_intervallic_regulator
enaṁśa is the regulator of intervallic formation in a melodic configurationvol_II_p159 + 11 more rule(s) :
graha_definition,
graha_63_varieties,
R_006_nyasa_definition,
R_c17_apanyasa,
R_4p0_005,
R_4p1_151,
R_5p2_1417,
R_kakali_role,
R_1853_001,
R_113_antara_identification,
R_1789_sadharana_svaras§JatiFormEnum
Two forms of a jāti, born by samavāya.
members : SUDDHA, VIKRTA
full module docstring
Two forms of a jāti, born by samavāya.
evidence: jati_suddha_vikrta_duality, R_42_jati_definition,
R_619_suddha_jati_definition, R_211_vikrta_transformationSourced by
Les jātis se présentent en deux formes: śuddhā (pure/non altérée) et vikṛtā (altérée/modifiée), nées par samavāya.
CLASSIFY jati.form IN {suddha, vikrta}; origin: samavaya
sktशुद्धाना ज?ातीना शुद्धत्वं विकृतत्वं च रूपद्वयमस्तिvol_II_p011 enThe jātis are born as śuddhā and vikṛtā through samavāyavol_II_p012 Jāti is the foundational melodic abstraction (analogous to caste) from which rāgas are derived; pure and mixed forms exist; rāgas conforming to own jāti are śuddha
DEFINE jati AS melodic_abstraction WHERE has_kind({suddha, vikrta}) AND derives_to(raga)
enembody a valuable comment on the concept of jāti embodying melodic abstractionvol_II_p162 enThose that are one out of the many (individual forms) of their own jāti, they are called śuddha (rāgas).vol_II_p052 + 1 more verbatim
Śuddhā jāti has identical graha, apanyāsa, aniśa; nyāsa in mandra; complete
DEFINE is_suddha_jati(j):
RETURN j.graha == j.apanyasa == j.anisa
AND j.nyasa.register == mandra
AND j.is_complete == TRUE
enWhen a jāti has the same graha, the same apanyāsa and the same aniśa, has nyāsa in the mandra and is complete, then it is known as śuddhā jāti.vol_II_p030 §ScaleCardinalityEnum
Density of a jāti's svara content.
members : SAMPURNA, SADAVA, AUDUVA
full module docstring
Density of a jāti's svara content.
evidence: r_brd_546_sampurna_def, R_shadava_def, R_5p3_1759,
shadava_state_lacks_rsabha, R_027_auduvita_definitionSourced by
Sampūrṇa = a combination employing all seven svaras
FUNCTION is_sampurna(svara_set):
IF count(distinct(svara_set)) == 7: RETURN TRUE
RETURN FALSE
Ṣāḍava is the rāga/jāti type sung with six svaras (hexatonic)
DEFINE ṣāḍava: cardinality(svaras) = 6; status = hexatonic_scale_type
enthat which is sung with six svaras is ṣāḍavāvol_I_p036 Auḍava = scale with 5 svaras
DEFINE auḍava AS scale WHERE count(svaras) == 5
enauḍavā is to be known with five svarasvol_I_p038 §JatiSpecdataclass(frozen=True)
Specification structurelle d'une jāti.
full module docstring
Specification structurelle d'une jāti.
Chaque champ est sourcé par une règle 6b citée dans `evidence`.
Sourced by
kaiśikī = jāti avec pañcama nyāsa, madhyama aṁśa, ṛṣabha non-aṁśa, dhaivata exclu pour auduva, mouvement madhyama-dhaivata + abondance pañcama
DEFINE kaiśikī():
nyāsa = 'pañcama'
aṁśa = 'madhyama'
non_aṁśa = {'ṛṣabha'}
apanyāsas = seven_svaras EXCLUDE {'ṛṣabha'}
movement = 'madhyama <-> dhaivata'
abundance = 'pañcama'
forbid_in_auduva = {'dhaivata'}
pañcama_role = 'a-ṣāḍava'
drama_vṛtti_role = 'fourth_vṛtti(song+dance+gentle)'
origin_when_bhāṣā = 'pañcama_rāga, always saṅkīrṇā'
RETURN spec
+ 6 more verbatim
gāndhārī = jāti basee sur gāndhāra (aṁśa) et madhyama (nyāsa), pañcama a-ṣāḍava, ṛṣabha+dhaivata omis, sancāra ṣaḍja-gāndhāra, mūlabhāṣā de bhinna-ṣaḍja
DEFINE gāndhārī():
aṁśa = 'gāndhāra'
nyāsa = 'madhyama'
basis_svara = 'madhyama'
non_aṁśas = {'ṛṣabha', 'dhaivata'}
omit_for_ṣāḍava_auḍava = non_aṁśas
sañcāra = ('ṣaḍja', 'gāndhāra')
pañcama_role = 'a-ṣāḍava'
tara_extent_template_from = 'eighth_vidārī(gāndhārī)'
context = 'sung_by_solitary_dwellers'
parent_rāga = 'bhinna_ṣaḍja'
RETURN spec
enHaving gāndhāra as aṁśa, madhyama as the concluding note, gāndhārī is based on madhyamavol_II_p106 enIn gāndhārī, the two (svaras) that are not amśas viz. ṛṣabha, dhaivata are always to be omittedvol_II_p022 + 6 more verbatim
pañcamī = jāti avec ṛṣabha+pañcama aniśa, apanyāsas={ṛṣabha,pañcama,niṣāda}, ṛṣabha exclu pour auduvita; bhāṣā dans mālavapañcama
DEFINE pañcamī():
aniśas = {'ṛṣabha', 'pañcama'}
apanyāsas = aniśas UNION {'niṣāda'}
forbid_in_auduvita = {'ṛṣabha'}
forbid_aṁśa_for_pentatonic = {'ṛṣabha'}
bhāṣā_context = 'mālavapañcama(rāga)'
semantic = 'song of mature mind'
RETURN spec
enIn pañcamī, ṛṣabha and pañcama have been said by the gurus to be aniśasvol_II_p022 + 3 more verbatim
§SvaraAssignmentdataclass(frozen=True)
Affecte un rôle structural à un svara dans le contexte d'une jāti / bhāṣā.
full module docstring
Affecte un rôle structural à un svara dans le contexte d'une jāti / bhāṣā.
evidence: amsa_assignment_per_bhasa (chaque bhāṣā/rāga a un aṁśa assigné,
distinct de son nyāsa)Sourced by
Each bhāṣā/rāga is characterised by an assigned aṁśa svara, distinct from its concluding note (nyāsa).
assign_amsa(B) := svara_S such that role(S, B) = principal; e.g. saindhavī.amsa = madhyama; khañjanī.amsa = pañcama; gurjarī.amsa = niṣāda; gāndhārī.amsa = gāndhāra; ravicandrikā.amsa = gāndhāra; pañcamākhyā.amsa = pañcama
enThis saindhavī has madhyama as its aṁśa, ṣaḍja as its concluding notevol_II_p080 + 2 more verbatim
§JatiInstancedataclass(frozen=True)
Instance concrète d'une jāti, avec ses svaras et leurs rôles.
full module docstring
Instance concrète d'une jāti, avec ses svaras et leurs rôles.
Une jāti est l'abstraction mélodique fondamentale (R_42_jati_definition).
Elle a deux formes : śuddhā (où graha=apanyāsa=aniśa, nyāsa en mandra,
completion) et vikṛtā (dérivée par altération).
evidence:
- R_42_jati_definition (jāti = melodic_abstraction, kinds {suddha,vikrta})
- R_619_suddha_jati_definition (śuddhā = identical graha/apanyāsa/aniśa)
- R_211_vikrta_transformation (vikṛtā dérivée de śuddhā par altération
de aṁśa/apanyāsa/completeness ; INVARIANTS = nyāsa, alpatva/bahutva)
- R_1419_alpatva_bahutva_invariantSourced by
Jāti is the foundational melodic abstraction (analogous to caste) from which rāgas are derived; pure and mixed forms exist; rāgas conforming to own jāti are śuddha
DEFINE jati AS melodic_abstraction WHERE has_kind({suddha, vikrta}) AND derives_to(raga)
enembody a valuable comment on the concept of jāti embodying melodic abstractionvol_II_p162 enThose that are one out of the many (individual forms) of their own jāti, they are called śuddha (rāgas).vol_II_p052 + 1 more verbatim
Śuddhā jāti has identical graha, apanyāsa, aniśa; nyāsa in mandra; complete
DEFINE is_suddha_jati(j):
RETURN j.graha == j.apanyasa == j.anisa
AND j.nyasa.register == mandra
AND j.is_complete == TRUE
enWhen a jāti has the same graha, the same apanyāsa and the same aniśa, has nyāsa in the mandra and is complete, then it is known as śuddhā jāti.vol_II_p030 Vikṛtā jāti is derived from śuddhā by altering characteristics; aṁśa/apanyāsa/completeness can change but alpatva-bahutva and nyāsa cannot
DERIVE vikrta FROM suddha BY altering [amsa, apanyasa, completeness]; INVARIANTS = [alpatva_bahutva, nyasa]
sktद्वाभ्या बहुभिर्वा...लक्षणैर्विकृतिमुपगता न्यासवर्ज विकृतसंज्ञा भवन्तिvol_II_p011 enaṁśa and apanyāsa can be changed...two characteristics cannot change and they are alpatva-bahutva and nyāsavol_II_p158 §JATI_SPECS (dict)registry
Sourced by
kaiśikī = jāti avec pañcama nyāsa, madhyama aṁśa, ṛṣabha non-aṁśa, dhaivata exclu pour auduva, mouvement madhyama-dhaivata + abondance pañcama
DEFINE kaiśikī():
nyāsa = 'pañcama'
aṁśa = 'madhyama'
non_aṁśa = {'ṛṣabha'}
apanyāsas = seven_svaras EXCLUDE {'ṛṣabha'}
movement = 'madhyama <-> dhaivata'
abundance = 'pañcama'
forbid_in_auduva = {'dhaivata'}
pañcama_role = 'a-ṣāḍava'
drama_vṛtti_role = 'fourth_vṛtti(song+dance+gentle)'
origin_when_bhāṣā = 'pañcama_rāga, always saṅkīrṇā'
RETURN spec
+ 6 more verbatim
gāndhārī = jāti basee sur gāndhāra (aṁśa) et madhyama (nyāsa), pañcama a-ṣāḍava, ṛṣabha+dhaivata omis, sancāra ṣaḍja-gāndhāra, mūlabhāṣā de bhinna-ṣaḍja
DEFINE gāndhārī():
aṁśa = 'gāndhāra'
nyāsa = 'madhyama'
basis_svara = 'madhyama'
non_aṁśas = {'ṛṣabha', 'dhaivata'}
omit_for_ṣāḍava_auḍava = non_aṁśas
sañcāra = ('ṣaḍja', 'gāndhāra')
pañcama_role = 'a-ṣāḍava'
tara_extent_template_from = 'eighth_vidārī(gāndhārī)'
context = 'sung_by_solitary_dwellers'
parent_rāga = 'bhinna_ṣaḍja'
RETURN spec
enHaving gāndhāra as aṁśa, madhyama as the concluding note, gāndhārī is based on madhyamavol_II_p106 enIn gāndhārī, the two (svaras) that are not amśas viz. ṛṣabha, dhaivata are always to be omittedvol_II_p022 + 6 more verbatim
pañcamī = jāti avec ṛṣabha+pañcama aniśa, apanyāsas={ṛṣabha,pañcama,niṣāda}, ṛṣabha exclu pour auduvita; bhāṣā dans mālavapañcama
DEFINE pañcamī():
aniśas = {'ṛṣabha', 'pañcama'}
apanyāsas = aniśas UNION {'niṣāda'}
forbid_in_auduvita = {'ṛṣabha'}
forbid_aṁśa_for_pentatonic = {'ṛṣabha'}
bhāṣā_context = 'mālavapañcama(rāga)'
semantic = 'song of mature mind'
RETURN spec
enIn pañcamī, ṛṣabha and pañcama have been said by the gurus to be aniśasvol_II_p022 + 3 more verbatim
+ 11 more rule(s) :
BD_6_1_R023,
R_720_sadja_madhyama,
sadji_shuddha_amsa_self_named,
dhaivati_amsa_set,
R_4p1_356,
R_c752_arsabhi,
R_raktagandhari_jati,
R_4p0_026,
karmaravi_formation,
R_224_nandayanti_structural,
sadjakaisiki_structureConstants (12)
Named values pinned directly to source quotes (numbers, ordered lists, named svaras).
§N_JATIS_PER_GRAMA
Sourced by
Seven jātis pertain to sadjagrāma.
n_jatis(sadjagrama) := 7
Eleven jātis are based on madhyamagrāma.
jatis_based_on(madhyamagrama) := 11
The remaining eleven jātis (after ṣaḍja grāma jātis) belong to madhyama grāma
madhyama_grama_jatis = remaining_eleven_jatis; count=11
enthe remaining (eleven) are the jātis of madhyama (grāma).vol_II_p021 §N_JATIS_TOTAL
Sourced by
18 jātis × amsa-svaras → 63 jāti varieties
FUNCTION enumerate_varieties():
total_amsas = sum(j.amsa_count for j in jātis_18)
ASSERT total_amsas == 63
RETURN 63 # one variety per amsa-svara
enThe total number of amsas in 18 jatis = 63. They generate 63 varieties of jātis.vol_II_p155 §N_AMSA_TOTAL_ACROSS_JATIS
Sourced by
Total amsas across all jātis = 63
DEFINE total_amsas(jatis):
ASSERT sum(len(j.amsas) for j in jatis) == 63
enThus sixty-three amsas have been explained.vol_II_p025 18 jātis × amsa-svaras → 63 jāti varieties
FUNCTION enumerate_varieties():
total_amsas = sum(j.amsa_count for j in jātis_18)
ASSERT total_amsas == 63
RETURN 63 # one variety per amsa-svara
enThe total number of amsas in 18 jatis = 63. They generate 63 varieties of jātis.vol_II_p155 §N_GRAHA_VARIETIES
Sourced by
Graha has sixty-three varieties, like aṁśa.
n_varieties(graha) := 63
enThat ( graha ) should be known to have sixty-three varieties just like aniśa.vol_II_p014 sktगान्धारग्रहन्यासा च षड्ज?ांशा तारवर्ज?िताvol_II_p110 §N_SAMSARGAJA_VIKRTA
Sourced by
Eleven saṁsargajā vikṛtā jātis form by mixture and relate to the antara-mārga of musical analysis
DEFINE samsargaja_vikrta_jatis := mixture_combination(base_jatis); count == 11; linked_to(antara_marga)
enthe context of eleven samsargajā vikṛtā jātis that are formed with a mixture of the abovevol_II_p157 §SADJAGRAMA_FIVE_SVARA_JATIS
Sourced by
Ṣaḍjamadhyamā is one of five jātis based in ṣaḍjagrāma with five svaras (alongside niṣādavatī, ārṣabhī, dhaivatī, ṣaḍjodīcyavatī).
SADJAGRAMA_5_JATIS = ['nishadavati','arshabhi','dhaivati','sadjamadhyama','sadjodicyavati']
enNiṣādavatī, ārṣabhī and dhaivatī, ṣadjamadhyamā and ṣadjodīcyavatī, these five that are based in sadjagrāma alone are knownvol_II_p013 Niṣādavatī and ārṣabhī belong to five jātis based in ṣaḍjagrāma which have five svaras.
five_svara_jatis_in_sadjagrama := {nisadavati, arsabhi, dhaivati, sadjamadhyama, sadjodicyavati}
enNiṣādavatī, ārṣabhī and dhaivatī, ṣadjamadhyamā and ṣadjodīcyavatī ... based in sadjagrāma ... with five svarasvol_II_p013 §MADHYAMAGRAMA_NAMED_JATIS
Sourced by
raktagāndhārī is one of five jātis based in madhyamagrāma
ASSERT raktagandhari IN madhyamagrama_jatis
madhyamagrama_jatis := [gandhari, raktagandhari, madhyama, pancami, kaisiki]
enGändhārī, raktagāndhārī, madhyamā, pañcamī and similarly kaiśikī, these five that are based in madhyamagrāmavol_II_p013 §SVARA_JATI_COUNT
Sourced by
Une jāti portant le nom d'un svara prend ce svara comme nyāsa; il existe sept svara-jātis avec deux formes śuddhā et vikṛtā.
IF jati.name == svara.name THEN jati.nyasa := svara; svara_jati.count = 7; svara_jati.forms = {suddha, vikrta}
enThe seven jātis bearing svara-names that have two forms - śuddhā and vikṛtā.vol_II_p160 §SADHARANAKRTA_JATIS
Sourced by
Three jātis are classified as sādhāraṇakṛtā: madhyamā, pañcamī, ṣaḍjamadhyamā.
SADHARANAKRITA_JATIS = ['madhyama','pancami','sadjamadhyama']
sktसाधारणकृतास्तिस्रो विज?्ञेया ज?ातयो बुधैः । मध्यमा पञ्चमी चैव तथा वै षड्जमध्यमाvol_II_p011 Sādhāraṇakṛtā implies the use of antara (gāndhāra) and kākalī (niṣāda).
sadharanakrta := uses({antara_gandhara, kakali_nisada})
enthis ābhīrī is sung by the people as sādhāraņakṛtā, i.e., it uses antara and kākalīvol_II_p085 en'Sādhāraņakṛtā' implies the use of antara - kākalī.vol_II_p165 sādhāraṇakṛtā involves the use of antara and kākalī svaras
DEFINE sādhāraṇakṛtā AS modulation
REQUIRES use(antara) AND use(kākalī)
ensādhāraṇakṛtā, i.e., involves the use of antara and kākalīvol_II_p087 §SADHARANA_SVARAS
Sourced by
sādhāraṇa svaras = {gāndhāra, niṣāda}
ENUMERATE sadharana_svaras := {gandhara, nisada}
ensādhāraņa svaras are gāndhāra and niṣāda.vol_I_p045 §KAKALI_BASE_SVARA / ANTARA_BASE_SVARA
Sourced by
Kākalī designates the altered (vikṛta) niṣāda; in many grāma-rāgas niṣāda (and sometimes gāndhāra as antara) functions as kākalī
IF svara == 'niṣāda' AND raga IN {śuddhaṣāḍava, śuddhakaiśikamadhyama, śuddhakaiśika, bhinna-ṣaḍja, bhinna-pañcama, bhinnakaiśikamadhyama, bhinnakaiśika, bhinnatāna, sauvīraka, vesaraṣāḍava, ṭakkakaiśika, pañcamaṣāḍava} THEN role(niṣāda) = kākalī; IF antara_gāndhāra_present THEN role(gāndhāra) = antara
enNiṣāda and gāndhāra are kākalī and antara (here).vol_II_p053 + 3 more verbatim
Kākali = niṣāda; reached after antara (gandhāra) in ascending pattern
IDENTIFY kākali AS niṣāda; ORDER ascend(antara_gandhāra) -> ascend(kākali_niṣāda) -> reach(sthāyi_svara)
enhaving ascended to the antara (gandhāra) and in the same order having ascended to the kākali (niṣāda) the sthāyi-svara is reachedvol_I_p057 Antara is identified with gāndhāra, used in ascending krama patterns; in Ṭakkakaiśika gāndhāra functions as antara along with niṣāda as kākalī
DEFINE antara = gandhara_variant USED_IN ascending(krama, target=kakali)
enhaving ascended to the antara (gandhāra) and in the same order having ascended to the kākali (niṣāda)vol_I_p057
Unresolved (7)
Concepts present in the domain but no rule pins their values — listed honestly, never invented.
saṁnyāsa / vinyāsastructural roles known in tradition (alongside graha/aṁśa/nyāsa/apanyāsa) but no 6b rule in domain 0 pins them; kept in SvaraRole as conceptual scaffolding only.
complete list of 7 ṣaḍjagrāma jātissadjagrama_seven_jatis asserts n=7; only 5 are individually named (sadjamadhyama_among_five_sadjagrama_jatis); the other 2 are not isolated by any 6b rule.
complete list of 11 madhyamagrāma jātismadhyamagrama_jati_basis + R_5p2_723 give n=11; R_214 names only 5 (gāndhārī/raktagāndhārī/madhyamā/pañcamī/kaiśikī); the 6 saṁsargajā vikṛtā jātis are not individually pinned by 6b rules.
exact bahutva / alpatva per svaraR_1419 asserts invariance, sadjakaisiki_structure and R_143_auduvita_state give cases, but no rule computes alpatva/bahutva operationally.
antaramārga (intermediate path)mentioned by R_1416 (saṁsargajā vikṛtā jātis linked to antara-mārga) and sadji_nishada_rsabha_not_paryayamsas, but no operational definition in domain 0.
sangati pair enumeration completenesssangati_attested_pairs lists pairs but sangati_definition_concert says it is purely melodic and independent of samvāda — list non-exhaustive.
śuddhakaiśika-madhyama grāma assignmentdisputed in domain 3 (R_486); R_846_kaishiki_parent here says born of kaiśikī + ṣaḍjamadhyamā but does not fix a grāma.