Generative rules

1087 rules total — 58 shown (capped at 500). ← back to grammar index

rule_idCategoryConceptSummaryBody (excerpt)N att.
R_c25_sadava derivation ṣāḍava ṣāḍ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 12
R_073_bhasas_derivation derivation bhāṣā Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73 DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73 6
grama_raga_origin_and_use derivation grāma-rāgas Grāma-rāgas are born from the two grāmas, are generated by jātis through their aṁśas, and must be used in daśarūpaka according to prescribed grama_ragas := born_from(grama_set); generated_by := jati.amsa; usage(grama_raga, dasarupaka) := prescribed_rules; context(giti) := grama_raga 4
R_1733_two_gramas_derivation derivation द्विस्वरप्रयोगमूलप्रयोग Two grāmas (ṣadja and madhyama) are formulated because musical performance is rooted in dual-svara usage (dvisvara-prayoga) DERIVE gramas FROM dvisvara_prayoga_mula; ENUMERATE gramas = [sadja, madhyama]; COUNT = 2 3
R_c83_nandayanti derivation nandayantī nandayantī = jāti dérivée de ārṣabhī + gāndhārī par adjonction de pañcamī; tāra monte jusqu'à ṣaḍja quand pañcama est aṃśa FUNCTION derive_nandayanti(): · nandayanti := merge(arsabhi, gandhari) + {pancami} · IF amsa == pancama: · tara_extent := up_to_sadja · # solfege patt 3
saindhavī_origin_desi_takkaraga derivation saindhavī Saindhavī is a regional (deśī) bhāṣā born of ṭakkarāga, originating from the Sindhu region. saindhavī := {type: bhasa, regional: desi, parent: takkaraga, region: sindhu} 3
vesarasadava_origin_and_bhasas derivation vesaraṣāḍava Vesaraṣāḍava is born of ṣaḍjamadhyamā (hence related to ṣaḍjagrāma); its bhāṣās include bāhyaṣāḍavā and nādākhyā. vesarasadava := {parent: sadjamadhyama, grama: sadjagrama, bhasas: [bahyasadava, nadakhya]} 3
R_1734_suddha_vikrta_grama derivation शुद्धाभिर्विकृताभिष्टच Śadja-grāma born from śuddhā jātis; madhyama-grāma born from vikṛtā jātis DERIVE grama FROM jati: · IF jati.kind == 'suddha' THEN sadja_grama · IF jati.kind == 'vikrta' THEN madhyama_grama · SAMKIRNA: born from both 2
R_298_upalolaka_def derivation upalolaka upalolaka derived from udvāhita by repeating svara-pairs twice DEFINE upalolaka := udvahita WITH repeat(svara_pairs, n=2) · RELATION: upalolaka IS_VARIANT_OF udvahita 2
R_4p0_026 derivation āndhrī āndhrī = jāti nee du blending d'ārṣabhī et gāndhārī seul; ṣaḍja+madhyama+dhaivata sont non-aṁśas DEFINE āndhrī(): · parents = {'ārṣabhī', 'gāndhārī'} · derivation = 'blending_alone' · non_aṁśas = {'ṣaḍja', 'madhyama', 'dhaivata'} · RETURN jāti('āndh 2
R_4p1_862 derivation गौडकैशिकः Gauḍakaiśika is derived from kaiśikī and ṣaḍjamadhyamā jātis; aṁśa = ṣaḍja, nyāsa = pañcama DERIVE Gauḍakaiśika FROM jātis={kaiśikī, ṣaḍjamadhyamā} · SET aṁśa = ṣaḍja · SET nyāsa = pañcama 2
R_884_takkakaishika derivation Ţakkakaiśika Ṭakkakaiśika is born of dhaivatī and madhyamā jātis, and is related to ṣaḍjagrāma. IF entity == 'takkakaishika': parent_jatis = {dhaivati, madhyama}; grama_relation = 'shadjagrama' 2
R_c231_magadhi_giti derivation māgadhī gīti māgadhī gīti = résultat de pṛthulā gīti (assignée à dakṣiṇa mārga) exécutée en citra mārga (plus rapide); va avec ekakala tāla, 12 kalās FUNCTION derive_magadhi_giti(): · source := {giti: 'prthula', marga: 'daksina'} · transform := perform_in(source, target_marga='citra') # i.e. faster · R 2
gandharapancama_derivation_from_jatis derivation gāndhārapañcama Gāndhārapañcama is born of the jātis gāndhārī and raktagāndhārī; despite cross-grāma parentage, it relates to madhyamagrāma (per Durgaśakti, GANDHARAPANCAMA = { · 'parent_jatis': ['gandhari','raktagandhari'], · 'grama_assignment': 'madhyamagrama', · 'alt_view': 'sadjagrama (Durgasakti)' · } 2
gaudakaisika_jati_origin_grama derivation gaudakaiśika rāga Gaudakaiśika rāga is born of kaiśikī and ṣaḍjamadhyamā jātis and is related to madhyamagrāma. jati_origin(gaudakaisika) := {kaisiki, sadjamadhyama}; grama_of(gaudakaisika) := madhyamagrama 2
revagupta_jati_origin_and_svaras derivation revagupta Revagupta is born of ārṣabhī and madhyamā jātis, has ṛṣabha as aṁśa and madhyama as nyāsa. jati_origin(revagupta) := {arsabhi, madhyama}; amsa(revagupta) := rsabha; nyasa(revagupta) := madhyama 2
sadjagrama_membership_via_birth_jati derivation sadjagrāma A rāga is related to ṣaḍjagrāma when born from a sadjagrāma jāti (sauvīraka←ṣaḍjamadhyamā) or via 4-śruti pañcama (ṭakkakaiśika). grama(R) := sadjagrama if parent_jati(R) in sadjagrama_jatis OR pancama_sruti(R)==4 2
sadjagrama_sadava_murchana_formation derivation sadjagrāma The ṣāḍava mūrchanās of ṣaḍja-grāma arise by omitting one of {ṣaḍja, ṛṣabha, pañcama, niṣāda}; the omission of gāndhāra is not prescribed in sadava_murchanas(sadjagrama) := {omit(s) | s in {sadja, rsabha, pancama, nisada}}; forbidden_omission := gandhara 2
sankirna_jati_derivation derivation संकीर्णा Saṁkīrṇā jātis are born from the two types of jātis (śuddhā and vikṛtā) by mixing-up and slight augmentation/diminution of svaras, which the def derive_sankirna(shuddha_jatis, vikrta_jatis): · return mix(shuddha_jatis + vikrta_jatis, ops=['utkarsha','apakarsha','sankirnatva']) 2
svara_jati_nyasa_naming derivation svara-jāti 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} 2
BD_6_1_R019 derivation Madhyamodīcyavā Madhyamodīcyavā arises from blending of gāndhārī, madhyamā, pañcamī and dhaivatī DEFINE madhyamodichyava.origin: · parents = [gandhari, madhyama, panchami, dhaivati] · operation = 'blending' // samsarga · RETURN BLEND(parents) 1
BD_6_1_R025 derivation drāviḍī Drāvidī is the third bhāṣā born of ṭakkakaiśika and is described with lakṣaṇas DEFINE dravidi: · parent = takkakaishika · birth_order = 3 · has_lakshanas = true 1
R_1280_01 derivation pañcamanyāsaḥ Pañcamanyāsa structural element originates from Kaiśikī jāti FUNCTION origin_of(pañcamanyāsa): · RETURN 'Kaiśikī_jāti' 1
R_1389_01 derivation aṁśa svara 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 1
R_1803_kuta_tanas_vyutkrama derivation क्टताना kūṭa-tānas = melodic sequences formed by vyutkrama (permutation) DERIVE kuta_tana FROM svara_sequence BY vyutkrama(permutation) 1
R_1808_01 derivation निषादस्यापि Each svara generates 720 kūṭa-tānas; seven svaras together = 5040 FOR svara IN [ni,dha,pa,ma,ga,ri,sa]: COUNT(kūṭa-tānas) = 720 · TOTAL = 7 * 720 = 5040 1
R_2193_kuta_tana_permutation derivation kūļa-tāna Kūṭa-tāna is generated by permutation/combination with explicit count per variety GENERATE kuta_tana = permutations(svara_set) WITH count_per_variety 1
R_266_gramaraga derivation grāma-rāgas Each grāmarāga is born of one or more jātis. FOR_EACH gramaraga: parents = list_of_jatis WHERE len(parents) >= 1 1
R_354_vikrta_jatis derivation vikṛtā jātis Vikṛtā jātis are derived from śuddhā jātis by violation of one, two, or many lakṣaṇas, EXCEPT the nyāsa (which must be preserved). DERIVE vikrta(jati) := suddha_jati WITH violations(lakshanas, count ∈ {1, 2, many}); CONSTRAINT: preserve(nyasa) 1
R_370_sadava_derive derivation षाडवा Hexatonic (ṣāḍava) form derived by omitting ṣaḍja DERIVE sadava(scale) := omit(scale, sadja) · ASSERT |sadava| == 6 1
R_498_shunya derivation śūnya The introduction of śūnya (zero/void) paves the way for the unit druta (1/2 mātrā) in deśī tālas. IF tala_system == 'deshi': introduce(shunya) => enable(druta = 0.5 * matra) 1
R_524_vanmaya_rel derivation vānmaya all vānmaya (speech/language) is born from nāda DERIVE vanmaya FROM nada · INVARIANT: forall x IN vanmaya: source(x) == nada 1
R_5p2_679 derivation ṣaḍja-kaiśikī ṣaḍjakaiśikī jāti is derived from the blending of ṣaḍjā and gāndhārī sadjakaisiki = blend(sadja, gandhari) 1
R_5p2_841 derivation ṣadjodicyavati Bhinna-ṣaḍja rāga is born from ṣadjodīcyavatī jāti IF jati == sadjodicyavati THEN derived_raga = bhinna_sadja 1
R_5p2_887 derivation kaiśikī jāti Mālavakaiśika is derived from kaiśikī jāti IF jati == kaisiki THEN may_derive(malavakaisika) 1
R_5p2_921 derivation antara-bhāṣā Antara-bhāṣās are derived from vibhāṣās antara_bhasha = derive_from(vibhasha) 1
R_5p3_1699 derivation ārṣabhī jāti Ārṣabhī jāti is parent of Kakubha and revagupta IF jati IN {'Kakubha', 'revagupta'} THEN parent_jati := 'ārṣabhī' 1
R_674_01 derivation samsargajā vikṛtā 11 jātis derived as vikṛtā by mutual blending FUNCTION derive_eleven_jātis(): · RETURN blend(vikṛtā_varieties) # state = altered, not śuddha 1
R_677_samavaya_jati_origin derivation samavāya Jātis are born as śuddhā and vikṛtā through samavāya (commingling of svaras with functions graha/aṁśa/nyāsa) FOR svaras WITH functions IN {graha, amsa, nyasa, ...}: APPLY samavaya(commingle) -> jati IN {suddha, vikrta} 1
R_680_sadjodicyavati_derivation derivation ṣadjodicyavati Ṣaḍjodīcyavatī dérive de ṣaḍjā et gāndhārī avec ajout de dhaivatī. DERIVE sadjodicyavati FROM combine(sadja, gandhari) ADD dhaivati 1
R_681_gandhara_pancami_derivation derivation gāndhārapañcamī gāndhāra-pañcamī arises only from gāndhārī and pañcamī svaras DEFINE gandhara_pancami_source(): · RETURN {gandhari, pancami} 1
R_763_auduva_dhaivati derivation auduva formation auduva of dhaivatī is formed by omitting pañcama and ṣaḍja DEFINE auduva(dhaivati) := svaras(dhaivati) \ {pancama, sadja} 1
R_781_shadava_gandharodicyava derivation षाडवं ṣāḍava (hexatonic) form of Gāndhārodīcyavā is created by omitting ṛṣabha DEFINE shadava(Gandharodicyava) := svaras(Gandharodicyava) \ {rshabha} 1
R_824_01 derivation ṣadjamadhyamā jāti Śuddhasādhārita is born of ṣaḍjamadhyamā jāti FUNCTION derive_śuddhasādhārita(): · RETURN born_of(ṣaḍjamadhyamā_jāti) 1
R_826_suddhakaisika_birth derivation kārmāravī jāti Śuddhakaiśika is born from kaiśikī jāti and kārmāravī jāti DEFINE suddhakaisika.parents := {kaisiki_jati, karmaravi_jati} 1
R_920_vibhasa_from_bhasa derivation vibhāṣā Vibhāṣās are derived from bhāṣās DEFINE vibhasa.parent := bhasa; (and bhasa.parent := grama_raga) 1
R_934_01 derivation Bottaraga māṅgalī bhāṣā is born of boṭṭa-rāga FUNCTION derive_māṅgalī(): · RETURN born_of(boṭṭa_rāga) 1
R_935_takkakaisika_parents derivation takkakaiśika Mālavā and bhinnavālikā are born of ṭakkakaiśika DEFINE children(takkakaisika) INCLUDES {malava, bhinnavalika} 1
audavita_via_two_samvadin_omissions derivation samvādin The state of auduvita arises by the omission of two saṁvādin svaras. def to_audavita(svara_set): · return svara_set.omit_pairs(SAMVADIN_PAIRS, n=2) 1
bhinnakaiśika_origin_madhyamagrama derivation bhinnakaiśika Bhinnakaiśika is born of kaiśikī and kārmāravī jātis and is therefore related to madhyamagrāma. origin(bhinnakaiśika) := jatis{kaiśikī, kārmāravī}; grama(bhinnakaiśika) := madhyamagrama 1
ekakala_vidhuta_formation derivation ekakala Ekakala vidhuta is formed through gradual successive ascent of two svaras. def ekakala_vidhuta(svaras): · assert len(svaras) == 2 and svaras[1] > svaras[0] · return Alankara('ekakala_vidhuta') 1
gaudaraga_etymology_gaudagiti derivation गौडरागा Gauḍa rāgas are so named because they relate to gauḍagīti (the Gauḍa musical/performance style). GAUDA_RAGAS = {'name_origin':'gaudagiti_relation'} 1
karmaravi_formation derivation kārmāravī Kārmāravī is formed from ārṣabhī, gāndhārī, and pañcamī jātis with omission of gāndhāri and addition of niṣādā. karmaravi := (arsabhi + gandhari + pancami) - {gandhari_svara} + {nisada} 1
revagupta_from_arshabhi_madhyama derivation ārṣabhī and madhyamā jātis Revagupta is born of the ārṣabhī and madhyamā jātis. REVAGUPTA = {'parent_jatis':['arshabhi','madhyama']} 1
rupasadharita_origin derivation Rūpasādhārita Rūpasādhārita appartient à ṣaḍjagrāma et provient de ṣaḍjamadhyamā et niṣādavatī. DERIVE rupasadharita FROM {sadjamadhyama, nisadavati}; grama_relation: sadjagrama 1
shaka_derivation_grama derivation śaka Śaka is born of the ṣāḍjī and dhaivatī jātis and is related to ṣaḍjagrāma. SHAKA = {'parent_jatis': ['sadji','dhaivati'], 'grama': 'sadjagrama'} 1
takkaraga_derivation_and_grama derivation ṭakkarāga Takkarāga is born of dhaivatī and ṣaḍjamadhyamā jātis and is related to ṣaḍjagrāma. TAKKARAGA = {'parent_jatis': ['dhaivati','sadjamadhyama'], 'grama': 'sadjagrama'} 1
takkasaindhava_from_sadji_dhaivati derivation ṣāḍjī and dhaivatī jātis Takkasaindhava is born from the ṣāḍjī and dhaivatī jātis. takkasaindhava := DERIVED_FROM({sadji, dhaivati}) 1