orthonym.rules.catenated_hydrides#

Note

Internal API. Names and behaviour may change between releases.

Catenated Group-14/Group-15 / chalcogen(+N) hydride namer /.

Alternating homonuclear a(ba)n catenated parent hydrides — a chain of identical Group-14 {Si, Ge, Sn, Pb} OR Group-15 {P, As, Sb, Bi} hub atoms linked by identical bridge heteroatoms {O, N, S, Se, Te}, terminated at both ends by a hub atom, everything else saturated with hydrogen:

[SiH3]O[SiH3] -> disiloxane (2 Si, 1 O)
[SiH3]O[SiH2]O[SiH3] -> trisiloxane (3 Si, 2 O)
[SiH3]N[SiH3] -> N-silylsilanamine (N bridge -> amine,
[SiH3]S[SiH3] -> disilathiane (S bridge; linking 'a')
[SnH3]O[SnH3] -> distannoxane (Sn)
[GeH3]O[GeH3] -> digermoxane (Ge)
P[Se]P -> diphosphaselenane (Group-15 hub, BB 8020 PIN)

A nitrogen bridge is the exception: an ‘-azane’ parent hydride is non-PIN for these, so N-bridged chains are named substitutively as amines on the hub hydride (‘silane’) – see _name_nitrogen_bridged_group14. That amine renderer is documented only for the Group-14 family, so a Group-15 hub with an N bridge falls through it and returns None (fail-closed, cascade-continuation).

Every emitted name round-trips through OPSIN 2.9.0.

SCOPE (fail-closed, accuracy-first): a single unbranched chain that strictly alternates one hub element (Group-14 or Group-15) with one bridge element, terminated by two hub atoms, all H-saturated, standard bonding number, neutral, non-radical, acyclic, single fragment. ANY carbon, branch, mixed hub kind, mixed bridge kind, nonstandard valence (lambda), or extra substituent fails a guard and returns None (cascade-continuation). This is the boundary the skeletal-replacement engine deliberately declines (Gate 3b) — pure homonuclear Si-O-Si chains route here; mixed Si-O-C-S chains stay with skeletal ‘a’.

Graph/atom classifier — no SMARTS broadening; pure (no mol mutation).

orthonym.rules.catenated_hydrides.name_catenated_hydride(mol)#

Return the catenated Group-14/Group-15 hub + bridge hydride PIN, else None.

orthonym.rules.catenated_hydrides.name_homonuclear_pnictogen_chain(mol)#

Return the PIN for a homonuclear Group-15 catenated parent hydride , else None (fail-closed cascade-continuation).

Scope (a pure graph classifier, NOT SMARTS): a single unbranched chain of >=2 IDENTICAL pnictogen atoms {P, As, Sb, Bi}, every one H-saturated, neutral, non-radical, standard bonding number (3), acyclic, single fragment. ANY carbon (organyl phosphane -> name_phosphine), a mononuclear hub (PH3 -> mononuclear hydride), a heteronuclear chain (Si-As -> dinuclear hydride), nitrogen (-> polyazane), a branch, a ring, a multiple bond, a charge/radical, or a nonstandard valence fails a guard and cascades onward. Pure: no mol mutation.

orthonym.rules.catenated_hydrides.name_heterochalcogen_aba(mol)#

Return the PIN for a pure-chalcogen a[ba]n parent hydride / : dithioxane / methyldithioxane / dimethyldithioxane), or that same parent bearing a terminal -ol suffix: HO-S-O-SH -> dithioxanol) when exactly one terminal chalcogen is a bare -OH principal group, else None (fail-closed cascade-continuation). Pure: no mol mutation.

Scope (a graph classifier, NOT SMARTS): a single unbranched chain of >=3 chalcogen atoms strictly alternating between EXACTLY two distinct elements, both termini the SAME element and that element JUNIOR (later in O>S>Se>Te) to the central element; every internal chalcogen H-only; terminal chalcogens bear one H or one pure organyl; neutral, non-radical, acyclic, single fragment; the only non-chalcogen heavy atoms are terminal organyl carbons. A homogeneous chalcogen chain (-> chalcogen_chain), a carbon-in-backbone chain (-> skeletal_replacement), a Group-14 a[ba]n (-> catenated_hydride), a ring, an ion, or a radical fails a guard and cascades onward.

The -ol suffix fires only for a BARE parent (no organyl substituent anywhere) with exactly one terminal -OH and no other decoration: the OH’s own oxygen is itself a chalcogen so it walks straight into the contiguous-chalcogen chain above (HO-S-O-SH is the 4-atom chain O-S-O-S, termini O/S mismatched), so a single terminal atom is peeled and the remainder re-tested as a bare a[ba]n parent. A second -OH leaves an even-length remainder whose mismatched termini are rejected the same way; a combined organyl+``-OH`` decoration is deferred (fails closed), not built here — see -noncarbon Task 7.