← all domains · grammar index

Domain #0 : jāti / svara-roles structural 6c.3

Module : jati_structure.py  ·  ✗ self-test PASS
170concepts
207input rules
74rules traced
9types
8operations
4constraints
7unresolved
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
ensampūrņa is known with seven (svaras)vol_I_p030
R_shadava_def definition
Ṣāḍ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
sktस्यादियं षाडवा ज्ञेयाvol_II_p078
R_5p3_1759 definition
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
enThe first gīti is śuddhāvol_II_p048

§is_valid_omission_for_sadava

test if a svara can be omitted to form ṣāḍava
Sourced by
R_c25_sadava derivation
ṣāḍ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
sktज?ातिरागहानिकरो भवेत्vol_I_p028

§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
sktऋषभधैवतहीनमौडुविितम्।vol_II_p036
enauduvita obtained on account of precription alone is prohibitedvol_II_p027
+ 7 more verbatim
R_143_auduvita_state transformation
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
sktऔडुविते न कस्याप्यल्पत्वमशेषाणा बहुत्वम्vol_II_p035

§derive_sadava_form

return 6-svara form by single omission
Sourced by
R_c25_sadava derivation
ṣāḍ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
R_shadava_def definition
Ṣāḍ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
sktस्यादियं षाडवा ज्ञेयाvol_II_p078
Ṣāḍ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
sktऋषभहीनं षाडवम्,vol_II_p036

§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
sktऋषभधैवतहीनमौडुविितम्।vol_II_p036
enauduvita obtained on account of precription alone is prohibitedvol_II_p027
+ 7 more verbatim
R_143_auduvita_state transformation
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
sktऔडुविते न कस्याप्यल्पत्वमशेषाणा बहुत्वम्vol_II_p035
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
R_kakali_role assignment
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
sktनिषादोऽत्र काकली, औडुवश्च।vol_II_p054
+ 3 more verbatim
R_1853_001 relation
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
sktनिषादगान्धारौ चात्र काकल्यन्तरौ।vol_II_p066

§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
R_c25_sadava derivation
ṣāḍ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
sktइति एताः षड्जग्रामसम्बन्धाः सप्त ज?ातयःvol_II_p035
Eleven jātis are based on madhyamagrāma.
jatis_based_on(madhyamagrama) := 11
sktएवमेकादश ज?्ञेया मध्यमग्रामसंश्रयाःvol_II_p011
R_5p2_723 enumeration
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
Sourced by

§GrāmaEnum

members : SADJA, MADHYAMA
Sourced by
R_c57_grama enumeration
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
sktग्रामाविरोधेन यथेष्टं सञ्चारःvol_II_p035
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
sktइति एताः षड्जग्रामसम्बन्धाः सप्त ज?ातयःvol_II_p035
Eleven jātis are based on madhyamagrāma.
jatis_based_on(madhyamagrama) := 11
sktएवमेकादश ज?्ञेया मध्यमग्रामसंश्रयाःvol_II_p011

§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
R_4p0_012 definition
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
enAnd it has ten amsasvol_II_p032
+ 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 vādī alone i.e. only the vādīvol_II_p014
enaṁśa is the regulator of intervallic formation in a melodic configurationvol_II_p159

§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_transformation
Sourced 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
+ 1 more rule(s) : R_211_vikrta_transformation

§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_definition
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
ensampūrņa is known with seven (svaras)vol_I_p030
R_shadava_def definition
Ṣāḍ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
sktस्यादियं षाडवा ज्ञेयाvol_II_p078
R_5p3_1759 definition
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
R_4p0_002 structural
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
sktकैशिक्यामृषभोऽनंशो न्यासौ तु द्विश्रुतीvol_II_p023
sktकैशिकी पञ्चमन्यासाvol_II_p092
+ 6 more verbatim
R_4p0_003 structural
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
R_4p0_007 structural
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
enThese two alongwith niṣāda are apanyāsavol_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
enKhañjanî has pañcama as aṁśavol_II_p085
+ 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_invariant
Sourced 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
R_4p0_002 structural
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
sktकैशिक्यामृषभोऽनंशो न्यासौ तु द्विश्रुतीvol_II_p023
sktकैशिकी पञ्चमन्यासाvol_II_p092
+ 6 more verbatim
R_4p0_003 structural
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
R_4p0_007 structural
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
enThese two alongwith niṣāda are apanyāsavol_II_p022
+ 3 more verbatim

Constants (12)

Named values pinned directly to source quotes (numbers, ordered lists, named svaras).

§SVARA_ORDER

Sourced by
shared domain 3 (rule not loaded)

§N_JATIS_PER_GRAMA

Sourced by
Seven jātis pertain to sadjagrāma.
n_jatis(sadjagrama) := 7
sktइति एताः षड्जग्रामसम्बन्धाः सप्त ज?ातयःvol_II_p035
Eleven jātis are based on madhyamagrāma.
jatis_based_on(madhyamagrama) := 11
sktएवमेकादश ज?्ञेया मध्यमग्रामसंश्रयाःvol_II_p011
R_5p2_723 enumeration
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
R_1389_01 derivation
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
R_1389_01 derivation
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_63_varieties enumeration
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}
sktस्वरजातित्वाद् गान्धारो न्यासः,vol_II_p036
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
R_4p1_419 definition
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
R_kakali_role assignment
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
sktनिषादोऽत्र काकली, औडुवश्च।vol_II_p054
+ 3 more verbatim
R_1853_001 relation
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
sktनिषादगान्धारौ चात्र काकल्यन्तरौ।vol_II_p066

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.