リムナンテスは愉快な気分

徒然なるままに、言語、数学、音楽、プログラミング、時々人生についての記事を書きます

チェコ語の1格所有代名詞と4格人称代名詞

ロシア語を学習していたときにも思ったのですが、所有代名詞と人称代名詞の語形が結構似ているので混乱するんですよね。どっちが所有代名詞でどっちが人称代名詞かわからなくなるので、一旦表にしてみました。とりあえず単数だけ。

比較でロシア語(ラテン文字転写)も載せておきます。

1格所有代名詞

チェコ語 ロシア語
m n,f m n f
1sg můj moje moj mojó mojá
2sg tvůj tvoje tvoj tvojó tvojá
3sg 彼の jeho jevó
彼女の jeji jejó
1pl náš naše naš náše náša
2pl váš vaše vaš váše váša
3pl jejich ix


4格人称代名詞

チェコ語 ロシア語
1sg mne; mě menjá
2sg tebe; tě tebjá
3sg m活 jeho (něho), jej (něj); ho jevó (nevó)
m不活 jej (něj); ho
n je (ně), jej (něj); ho
f ji (ni) jejó (nejó)
1pl nás nas
2pl vás vas
3pl je (ně) ix (nix)


括弧は前置詞に続く場合の語形


1pl、2plはšが1格所有代名詞、sが4格人称代名詞。

1pl、2plはšが1格所有代名詞、sが4格人称代名詞。

1pl、2plはšが1格所有代名詞sが4格人称代名詞


流石に覚えただろこれで。

【gi-gtk】Haskellでdesktop GUIを実装するための最初の一歩

qiita.com

HaskellGUIライブラリ

wxHaskellとかいろいろありますがgtkでなんとかする。
gtkもいろいろな種類があり、どれを使えばいいのかわからんし今もわかってませんが、とりあえずこの通りにやれば動く。

前提

前準備

$ stack new <プロジェクト名>

で新規プロジェクトを立ち上げると勝手にいろんなファイルを作ってくれます。

package.yamlに以下のようにgi-gtkを追加します。

dependencies:
- base >= 4.7 && < 5
- haskell-gi-base
- gi-gtk

gi-gtkはstack buid時にコンパイルされますが、依存関係の問題があるらしいので以下のコマンドを実行する。

$ brew install gobject-introspection gtk+ gtk+3

mac 以外でやる場合は公式を参照。

Hello World

gtkの"Hello World"がこちら。

{-# LANGUAGE OverloadedStrings, OverloadedLabels #-}
module Main where

import qualified GI.Gtk as Gtk
import Data.GI.Base

main :: IO ()
main = do
    Gtk.init Nothing
    win <- new Gtk.Window [ #title := "やあ" ]
    on win #destroy Gtk.mainQuit
    button <- new Gtk.Button [ #label := "押してくれ" ]
    on button #clicked (set button [ #sensitive := False, #label := "クリックしてくれてありがとう!" ] )
    #add win button
    #showAll win
    Gtk.main

これをapp/Main.hsに書いて(src/Lib.hsは消してもOK)

$ stack build

して

$ stack exec <プロジェクト名>-exe

するとウィンドウが表示されるはず。

f:id:frecafloros:20210703220115p:plain

f:id:frecafloros:20210703220128p:plain

自由加群【環上の加群 5】

環の時にもPIDだのUFDのEDだのクラスがたくさんありました。
加群にもその特性によって様々なクラスがあります。

f:id:frecafloros:20210615221350p:plain

今回は最も基本的なクラスである自由加群について。
自由加群とは、基底を持つ加群のことである。

基底

ベクトル空間(線型空間)には必ず基底が存在しました(選択公理→Tukeyの補題から言える)。つまり、空間の全てのベクトルを表すことのできる一次独立(線型独立)なベクトルの集合があった。

しかし加群の場合、詳細は後述しますが必ずしも基底を持つとは限りません。基底を持たない加群と区別するために、基底を持つ加群=ベクトル空間に限りなく近い加群は特別に自由加群と名付けられています。何がどう自由なのかよくわかりませんが、多分圏論をやればわかると思う。

基底を定義します。


def 5.1R-加群M の部分集合 S=\{x_1,\cdots,x_n\}\subset MM の基底であるとは、
 (1) SM を生成する
 (2) S=\{x_1,\cdots,x_n\} が一次独立である
を満たすことである。

つまり、SM の一次独立な生成系なら、SM の基底。(1)は S の元と R の元を使って M の全ての元を表すことができるということ、(2)は M の元を S の元と R の元で一意に表せることを意味します。

もう少しちゃんと説明をすると、

(1) M の任意の元 x\in M が、S の元 x_j に係数である R の元 a_j をかけたものの有限和(x=a_1x_1+a_2x_2+\cdots +a_jx_j)で表すことができる
(2) a_1x_1+\cdots +a_jx_j=0\in M であれば a_1=\cdots=a_j=0\in R

であるとき、SMの基底です。

自由加群


def 5.2R-加群M が基底を持つとき(つまりMが一次独立な生成系 S を持つとき)、M自由 R-加群という。

基底を持つ加群が自由加群
つまるところ、R^I=\oplus_{i\in I}R と同型な加群が自由加群
ベクトル空間は必ず基底を持ちましたが、加群は基底を持つとは限りません。なので、基底を持つか持たないかを区別します。

自由加群の例

\mathbb{Z}[X] は自由 \mathbb{Z}-加群

\mathbb{Z}[X]X^n, n\in\mathbb{N}不定元(変数)とした整数係数の多項式環のことです。
例えば  1, X, X^2, 2X+1\in\mathbb{Z}[X]

定義の R=\mathbb{Z}M=\mathbb{Z}[X] とすると、
\mathbb{Z}[X] の部分集合 S=\{1,X,X^2,\cdots,X^n,\cdots\}\mathbb{Z}[X] を生成します。
また、S\mathbb{Z} 上一次独立です。
したがって、def 5.1 より SM=\mathbb{Z}[X]\mathbb{Z} 基底なので def 5.2 より基底 S を持つ \mathbb{Z}[X] は自由 \mathbb{Z}-加群となります。


ちなみに、 R の元を各基底に掛けていると考えると、無限次元整数ベクトル空間と同一視できます。


なお便宜上、零加群\{0\}空集合を基底とした自由加群と見なされます。

自由加群でない例

基底を持たない加群とはなんぞや、というお話。


\mathbb{Q}\mathbb{Z} 上の加群だが、自由 \mathbb{Z}-加群ではない

任意の2つの有理数 a,b\in\mathbb{Q}を既約分数表示して

a=\frac{p}{q}, b=\frac{r}{s}, (p,q,r,s\in\mathbb{Z})

とすると、(qr)a-(sp)b=0 であり qr\neq 0, sp\neq 0 なので一次従属。したがって基底があるとすれば1個しかないはずだが、全ての有理数を1つの有理数の整数倍で表すことはできない(=\mathbb{Q} 全体を生成できる有理数は存在しない)ので\mathbb{Q}は基底を持たない。


\mathbb{Z}/n\mathbb{Z} は自由 \mathbb{Z}-加群ではない

もう少し簡単な例。例えば \mathbb{Z}/6\mathbb{Z} を考えます。
6 で割った余りが  n になる整数全体の集合を \bar{n} とすると、集合として

\mathbb{Z}/6\mathbb{Z}=\{\bar{0},\bar{1},\bar{2},\bar{3},\bar{4},\bar{5}\}
と表記できます。ここで \bar{1}0,1,2,3,4,5 を掛けると \mathbb{Z}/6\mathbb{Z} の元の全てを表すことができるので、\mathbb{Z}/6\mathbb{Z}\bar{1} で生成されると言えそうです。つまり、\langle\bar{1}\rangle=\mathbb{Z}/6\mathbb{Z} です。

f:id:frecafloros:20210616232300p:plain

というわけで \bar{1} は基底の候補です。しかし一方で、

6\cdot\bar{1}=\overline{6\cdot 1}=\bar{6}=\bar{0}
となるので、生成系 \{\bar{1}\} は一次独立ではありません。

したがって生成系 \{\bar{1}\} が基底ではないので、\mathbb{Z}/6\mathbb{Z} は自由 \mathbb{Z}-加群ではありません。

階数

可換環で自由で基底があって基底として有限個で取れるとき、ベクトル空間の次元の概念が  R-加群で一般化される。
どういうことかというと、基底があるので自由加群の階数(rank)が定義できます。


def 5.3可換環 R の有限生成自由 R-加群 M の基底の個数を M の階数(rank)といい、{\rm rank}_R M と表す。

R が「可換」であることがミソ。R が非可換環だとすると、R\simeq R^2 がとれてしまったりするのでrankが定義できなくなる。

ガウス整数環 \mathbb{Z}[i] について。
\mathbb{Z}[i]\{1,i\} を基底に持つ自由 \mathbb{Z}-加群であり、基底が2つなので \mathrm{rank}_\mathbb{Z}\mathbb{Z}[i]=2 といえます。

また、\{1,\sqrt{2},i,i\sqrt{2}\}\mathbb{Q} 上一次独立なので、

M=\mathbb{Z}\oplus\mathbb{Z}\sqrt{2}\oplus\mathbb{Z}i\oplus\mathbb{Z}i\sqrt{2}

という直和を考えると、M\{1,\sqrt{2},i,i\sqrt{2}\} を基底に持つ自由 \mathbb{Z}-加群と言えます。
したがって \mathrm{rank}_\mathbb{Z}M=4

また一方で、\{1,\sqrt{2}\} を基底に持つ自由 \mathbb{Z}[i]-加群ともみなせるので、\mathrm{rank}_\mathbb{Z}\mathbb{Z}[i]=2


↑初:加群の定義【環上の加群 1】 - リムナンテスは愉快な気分
←前:直積と直和【環上の加群 4】 - リムナンテスは愉快な気分
→次:表現行列

【p5.js】絶対和音感アプリで和音を可視化する

f:id:frecafloros:20210613231655p:plain

こういうのを作ってます。一応今回で完結。


前回記事を見る場合はこちらから:
limnanthaceae.hatenablog.com



シリーズの最初から見る場合はこちらから:
limnanthaceae.hatenablog.com


せっかくp5.jsを使っているので、もう少し動的なあれこれを実装します。

その前にレイアウト変更

スマホで閲覧しても見やすいような配置に変更します。
constellation→chord→config→buttonの順番でしたが、configを前に持ってきてconfig→constellation→chord→buttonの順に。各要素が縦に並ぶようにして、constellation→chord→buttonが一画面に収まるようにします(configからスクロールしないと操作できないというのは些か面倒ではあるので折りたたみ式とかにするかも)。PCではconfigが左半分、それ以外が右半分という表示になります。

wrapを使うと、画面の横幅が小さくなった時に自動的に縦配列になります。

.container{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

ついでなので、「全選択」とblack adder chord(イキスギコード)*1も追加。


See the Pen
chordtrainer-10
by frecafloros (@frecafloros)
on CodePen.

ボタン改良

「解答」ボタンと「次の問題」ボタンを統合します。こいつらは元々交互に押されるものであって2つもいらないので。

本当はjQueryを使うのが簡単に実装できる方法だとは思いますが、今回はcssjavascriptで制御します。

css側からテキストを制御するために、:before:after*2といった「擬似要素」と呼ばれるものを活用します。普通にcsscontentで指定するだけでは文字列の書き換えをすることが(多分)できないのですが、擬似要素で要素もどきを作ることで文字列の書き換えができるようになります。

:before:afterは要素の前後に内容を追加することができるもので、class名:beforeで要素の直前、class名:afterで要素の直後に内容を追加します。

「次の問題」のclassをqa-next、「解答」のclassをqa-answerとして、次のように指定します。

<div class="obj-qa">
	<button class="qa-next" id="btn-qa"> </button>
</div>
#btn-qa{
	width: 80px;
}

/* 次の問題ボタン */
.qa-next{
	font-size: 0px;
}

.qa-next:after{
	font-size: 14px;
	content: '次の問題';
}

/* 解答ボタン */
.qa-answer{
	font-size: 0px;
}

.qa-answer:after{
	font-size: 14px;
	content: '解答';
}

続いて、「次の問題」→「解答」→「次の問題」→…の(テキストと押したときの効果の)切り替えは要素のclassをjsで書き換えることにより実装します。ボタンを押すたびに関数の実行、qa-nextclassとqa-answerclassの入れ替えを実施します。

// qaボタン制御
let buttonQA = ()=>{
	const buttonQA = document.getElementById("btn-qa");
	let buttonQAClass = document.getElementsByClassName("qa-next");
	if(buttonQAClass.length == 0){
		// 現在のclassがqa-answer
		buttonAnswer(); // 解答の表示
		buttonQA.classList.remove("qa-answer");
		buttonQA.classList.add("qa-next");
	}else{
		// 現在のclassがqa-next
		buttonNext(); // 出題
		buttonQA.classList.remove("qa-next");
		buttonQA.classList.add("qa-answer");
	}
}

getElementsByClassNameは指定したclassの要素を抽出してくる関数で、要素をリスト形式で管理します。今回はフラグの代わりとして使っていて、リストの長さが0(=qa-nextのクラスとなっている要素が無い=今のクラスがqa-answer)かそうでないか(=今のクラスがqa-next)で処理を分岐させています。


ボタンのデザインも少し変更したものがこちら。


See the Pen
chordtrainer-11
by frecafloros (@frecafloros)
on CodePen.

サウンドビジュアライズ

本題。解答表示後、和音の可視化をします。

音の振幅値をとるためにp5.soundを導入します。これはp5.jsの拡張ライブラリです。(本当はTone.jsでやりたかったけど振幅値をリアルタイムで取れなかったのでp5側でやります。)
振幅値とるの無理だったので決めうちで実装。後述。

解答表示する前に可視化されると盛大なネタバレになってしまうので、表示したい時に表示できるようにしたい。

loop()noLoop()を使います。

まずsetup()の時点ではリアルタイムで描画しないのでnoLoop()で止めておきます。

draw()が実質メインループになりますので、ここで描画処理させます。今回はメインループの外に関数drawConstellation();soundVisualizer()を作りました。一定時間が経過するとnoLoop()を実行してループが停止します。あんまりメインループにループ停止書かないほうがいい気はする。

// chord constellationの描画
function setup(){
	createCanvas(canvasWidth, canvasHeight).parent('chord-constellation');

	textAlign(CENTER,CENTER);
	textSize(16);
	textFont('Optima');

	translate(canvasWidth/2, canvasHeight/2);
	const r = 80;
	for(let i=0;i<12;i++){
		text(pitch2keyname[i], r*sin(i*TAU/12), -1*r*cos(i*TAU/12));
	}

	// 描画停止
	noLoop();
}

// サウンドビジュアル描画(メインループ?)
function draw(){
	// user gesture
	onclickSound.onclick = buttonSound;
	onclickQA.onclick = buttonQA;

	if(t<60){
		// 描画
		drawConstellation();
		soundVisualizer();

		// buttonQAを非活性化
		buttonQAId.setAttribute("disabled", true);
	}else{
		// 描画停止
		noLoop();
		
		// buttonQAを活性化
		buttonQAId.removeAttribute("disabled");
	}
}


constellation の描画中に次の問題に行かれると次の問題の constellation を描画されてしまうので、constellation 描画中は「次の問題」ボタンを非活性にしています。非活性化はsetAttribute("disabled", true)、活性化はremoveAttribute("disabled")。"disabled"という属性をつけたり剥いだりして実装しています。


soundVisualizer()では、和音構成音に対応した円弧を描画します。

function soundVisualizer(){
	t = t + 1;

	// 円弧の size 設定
	if(t<4){
		// Attack
		size = rVisual/4*t;
	}else if(t<10){
		// Decay
		size = rVisual - rVisual/4*(t-4)/6;
	}else{
		// Release
		size = rVisual*3/4 - rVisual*3/4*(t-10)/50;
	}

	//円弧を描く
	colorMode(HSB);
	for(let i=0;i<chord.length;i++){
		tmpTone = (rootPc + chordTypes[chordNum]['chordKeys'][i])%12;
		fill(30*tmpTone,60,85,0.4);
		stroke(30*tmpTone,60,85);
		tmpRad = tmpTone*TAU/12 - HALF_PI;
		arc(canvasWidth/2,canvasHeight/2,size,size,tmpRad-0.2,tmpRad+0.2,PIE);
	}
}


上半分で、円弧のサイズを数式的に決め打ちしてます。最初に勢いよく大きくなって、少ししぼんだらゆっくり消えゆく感じ。

下半分で実際に円弧を描画しています。
音に沿って色相を動かしたかったので、HSBで色を指定しています。colorMode(HSB)をすると、fillstrokeの色指定がHSBになります。


下はデモです。



See the Pen
chordtrainer-12
by frecafloros (@frecafloros)
on CodePen.


一応やりたいことはこれでだいたい済んだので、あとはアプリで和音感を鍛える修行します。

おわり。

*1:解釈の仕方は色々ありますが、本アプリでの扱いは #IVaug/I [I blk]。

*2:css3ではコロン2つの::before、::after表記。特にcss3である必要がないと思うのでコロン1つでよいかと。

イスクイル 4 (v.0.19) で地理的固有名詞を表す(2)

この記事はイスクイル 4 (2021)を扱っています。対応するバージョンは

です。


limnanthaceae.hatenablog.com

これの続きです。


都市・国家について。

都市名

語幹 -PHW- を用います。hluséi-phwära または phwära hle'i または phwära hi に固有名詞を後置させると表現できます。意味は「〜という固有名で表される街」。

とてもかんたん。

日本語 イスクイル
東京 hluséi-phwära tokyo
デリー hluséi-phwära dilli
上海 hluséi-phwära zaňhe
サンパウロ hluséi-phwära saupaulu
メキシコシティ hluséi-phwära méxiko
カイロ hluséi-phwära alkáhira
ムンバイ hluséi-phwära mumbëi
北京 hluséi-phwära peičiň
ダッカ hluséi-phwära dhaka
大阪 hluséi-phwära osaka
ニューヨーク hluséi-phwära nuyórk

「シティ」は音写しないほうがよいと思います。

国名

くそめんどい。

基本は wusuḑca 「〜という地/国」を使います。文脈から国だとわかる場合は単に wusa でも可。

日本語 イスクイル
日本 wusuḑca nihón *1
カナダ wusuḑca kánada
フランス wusuḑca fřans
ドイツ wusuḑca doič
イタリア wusuḑca italya
ロシア wusuḑca rasiya


国名に政治体制が含まれる場合(ドミニカ共和国など)や、方角が含まれる場合(北マケドニア南アフリカなど)、その政治体制や方角の部分をイスクイルの語彙を使って表現します。

…というよりは政治体制込みでないと、国家が特定されない場合だと思いますが。

共和国

共和国は語根 -ḐT- を使います。

日本語 イスクイル
中央アフリカ共和国 hlusëudnéi-eḑtëila áfrika
ドミニカ共和国 hlusëudnéi-eḑtëila domínika
コンゴ民主共和国 hlaḑtáu-eḑtëila hi kongo


ちなみにドミニカ国wusuḑca domínikaコンゴ共和国wusuḑca kongo

方角・地理的特徴入り

日本語 イスクイル
北マケドニア wusaidna makedóniya
南アフリカ wusuidna áfrika
南スーダン wusuidna sudán
赤道ギニア hlantňú-wusa giné

首長国連邦・連合王国・合衆国

日本語 イスクイル
アラブ首長国連邦 hlellú-ellkina hi arab
グレートブリテン及び北アイルランド連合王国 hlellú-allkila (hi britanya hiu wusadnuň eryë)
アメリカ合衆国 hluséi-eksmaça amérika

*1:母語話者感覚

イスクイル 4 (v.0.19) で地理的固有名詞を表す(1)

この記事はイスクイル 4 (2021)を扱っています。対応するバージョンは

です。


大州・大洋・山・海・湖・川・砂漠といった、自然のものに対する固有名詞がイスクイル 4でどのように表されるか?



固有名詞はイスクイルの音韻に適合するように発音が置き換えられ、借用語として扱われます。

固有名詞はイスクイル単語としてそのまま使えず、必ず媒介語幹(carrier stem)-S- から作られる単語に後置されます。(具体的な形態論構成は各具体例の下で説明するので、そちらを参照してください。)
ショートカット hle'ihi を使うこともありますが。

大州

大州=大陸と考えても多分差し支えない。

ここで、大州とはアジア州ヨーロッパ州アフリカ州オセアニア州北アメリカ州南アメリカ州、南極州からなる七大州を指すこととします。
アジアとヨーロッパはユーラシア大陸じゃないのかとか思いますが、大州・大陸の数え方は諸説あるようですので、とりあえず一番細かい分類である七大州のイスクイル的表現を考えます。

これら大州を表すときは usarça を用います。この単語の大まかな意味(直訳)は「(後続する名詞は)地理的な場所を表す固有名称または借用語で、3つ以上の互いに異なる各要素が連合して相補的に一つの機能を持っている」です。

なおイスクイルには「北方」を表す接辞 -aidn- 、「南方」を表す接辞 -uidn- があります。これらの接辞は usarç- と -a の間に挿入されます。したがって、北アメリカ州には usarçaidna南アメリカ州には usarçuidna が使われます。なので、それぞれイスクイル的には「アメリカ州の北部」、「アメリカ州の南部」といったような表現になると思われます。

日本語 イスクイル
アフリカ州 usarça áfrika
南極州 usarça antárktika
アジア州 usarça asya
ヨーロッパ州 usarça europa
オセアニア州 usarça oseanya
北アメリカ州 usarçaidna amérika
南アメリカ州 usarçuidna amérika


usarça は形態論的に u-s-a-rç-a と分解されます。
(Slot Xの音価 [n] は「後ろからn番目の音節にアクセント」を意味します。)

Slot 音価 グロス
II u S3/PRC
III s [the "carrier" root]
IV a STA/BSC/EXS
VI COA/MDF/DEL/M/NRM
IX a THM
X [2] UNFRAMED


usarçaidna

Slot 音価 グロス
II u S3/PRC
III s [the "carrier" root]
IV a STA/BSC/EXS
VI COA/MDF/DEL/M/NRM
VII aidn OGC_2/1
IX a THM
X [2] UNFRAMED


usarçuidna

Slot 音価 グロス
II u S3/PRC
III s [the "carrier" root]
IV a STA/BSC/EXS
VI COA/MDF/DEL/M/NRM
VII uidn OGC_2/1
IX a THM
X [2] UNFRAMED

大洋

ここでいう大洋は太平洋、大西洋、インド洋、北極海南極海の五大洋を指すこととします。

大洋を表すには hluséi-bwala もしくは bwala hi を使います。
bwala が「海」を表しています。hluséi-の部分が「固有名」といったような意味合いを持っています。「〜という固有名の海」を表すには、「固有名」で「海」を修飾する、つまり「固有名の」のような形容詞を作ればよいです。イスクイルでは、修飾語(「固有名」)の語形を変えてハイフンで被修飾語(「海」)に繋げることで実現します。この修飾語のことを concatenated formative (連結形成素;修飾形成素*1)、被修飾語のことを parent formative (親形成素;被修飾形成素)と呼びます。

もう一つの方法の bwala hi ですが、この hi は register adjunct (記銘付属詞)と呼ばれるもののうちの SPECIFICATIVE です。hi の後ろの単語は、hi に先行する形成詞の固有名詞を表します。

日本語 イスクイル
太平洋 hluséi-bwala pasífika / bwala hi pasífika
大西洋 hluséi-bwala atlantis / bwala hi atlantis
インド洋 hluséi-bwala indus / bwala hi indus
北極海*2 hluséi-bwala arktos / bwala hi arktos / bwalaidna
南極海 bwaluidna


hluséi-bwala
Type-1は形容詞が修飾する、Type-2は合成語を生成する、といったイメージでよいと思います、
hluséi の slot IX はアクセントが乗っていますが Illocution+Expectation+Validation ではなく Format(=Case?)を表します。多分、格と同じと考えてよいと思います。多分。というわけで、hluséi は様格「〜として」を取っています。

Slot 音価 グロス
I hl [Type-1 Concatenation]/[Default]
II u S3/PRC
III s [the "carrier" root]
IX ei ESS
X [1] UNFRAMED
-
II (a) S1/PRC
III bw 'body of salt water'
IV a STA/BSC/EXS
VI l CSL/UPX/DEL/M/NRM
IX a THM
X [2] UNFRAMED


bwala hi

II (a) S3/PRC
III bw [the "carrier" root]
IV a STA/BSC/EXS
VI l COA/MDF/DEL/M/NRM
IX a THM
X [2] UNFRAMED
hi SPF

その他海・内海

地中海、黒海東シナ海、大洋でない内海など。

内海だと思うなら hluséi-bwaleuxa を使います。hluséi-bwala に「小さいもの」を意味する接中辞 -eux- が挟まった形です。全体で「〜という名の固有名で表される小さい海」のような意味になります(これを使った例が公式ドキュメントに存在しないのですが)。

他のでかい海の一部分だと思う場合は hluséi-bwala に -ft (部分)の type-2 接辞を適用します。

階梯 -ft_2 POR 部分
1 -aift- 最小部分
2 -auft- 非常に小さい部分
3 -eift- 小さい部分
4 -euft- いくらか小さい部分
5 -ëuft- 部分
6 -ouft- かなりを占める部分
7 -oift- (ほぼ)半分
8 -iuft- 大部分
9 -uift- ほとんど全部

例えば階梯6なら hluséi-bwaloufta になりますし、階梯3なら hluséi-bwaleifta になります。どれを使うかは主観。ですが、比較対象が太平洋、大西洋、インド洋レベルなので、ほぼほぼ階梯6以下になるとは思います。ええ。

日本語 イスクイル
地中海 hluséi-bwaloufta mediterra / bwaloufta hi mediterra
黒海 hraxmé-bwaleufta
アゾフ海 hluséi-bwaleifta azof / bwaleifta hi azof
北海 bwalaidneufta
バルト海 hluséi-bwalëufta balt / bwalëufta hi balt
カリブ海 hluséi-bwalëufta karíb / bwalëufta hi karíb
ベーリング海 hluséi-bwalëufta bering / bwalëufta hi bering
アラビア海 hluséi-bwalëufta arab / bwalëufta hi arab

バルト海まあまあ小さいんで hluséi-bwaleifta balt とかの方がよさそうですけどね…そのあたりはお好みで。
地中海、黒海アゾフ海のように回りを陸地で囲まれているような海は hluséi-bwaleuxa を使ってもよいです。
なお黒海、北海は借用語を使わずにそれぞれ「黒い海」、「北の海」という合成語で表しています。

塩水なら -BW- 、淡水なら -LZ-

日本語 イスクイル
カスピ海 hluséi-wubwiuxa kaspi / wubwiuxa hi kaspi
アラル海 hluséi-wubwoixäkta aral / wubwoixäkta hi aral
バイカル湖 hluséi-wubwoixa baikál / wubwoixa hi baikál
ジュネーヴ hluséi-wubwoixa ženév / wubwoixa hi ženév
エリー湖 hluséi-walziuxa érìe / walziuxa hi érìe
ガリラヤ湖 hluséi-wulza kínneret / wulza hi kínneret

内海と同じく。
実はめんどくさい湾の区別。
イスクイルでは湾の湾曲度合いによって微妙に語彙が変わります。

日本語 イスクイル
ビスケー湾 hluséi-bwaleufta biskaya
ベニン湾 hluséi-bwalaufta benín
メキシコ湾 hluséi-bwaleufta méxiko
サンフランシスコ湾 hluséi-bwalaifta sanfransisko
ハドソン湾 hluséi-bwaleufta hëdsën
ジェームズ湾 hluséi-bwaleifta jeimz

砂漠・山・高原・峡谷・ツンドラ・滝・三角州

日本語 イスクイル
ゴビ砂漠 hluséi-wazha gob
アンデス山脈 hluséi-ejlamska andes
ヒマラヤ山脈 hluséi-ejlamska himálaya
チベット高原 hluséi-wujliuxa phö
グランドキャニオン wevňiuxa
ナイアガラの滝 hluséi-urţraňska nayagra
アマゾン川デルタ hluséi-welzwa amazonas

河川

hluséi-welza を使います。由来は語根 -LZ- のstem 2。

なお同じ河川でも呼び名が複数ある場合があり、イスクイルにおいて河川名は

  1. 最も支配的な民族における名称
  2. 複数の呼び名を複合した名称
  3. 古語または祖語での発音による名称

のような形式で表されています。

日本語 イスクイル
ナイル川 hluséi-welza nil
アマゾン川 hluséi-welza amazonas
長江 hluséi-welza caňčyaň*3
ミシシッピ川 hluséi-welza misisipi
ミズーリ川 hluséi-welza misuri
イェニセイ川 hluséi-welza yeniséi
黄河 hluséi-welza hwaňhë *4


hluséi-welza

Slot 音価 グロス
I hl [Type-1 Concatenation]/[Default]
II u S3/PRC
III s [the "carrier" root]
IX ei ESS
X [1] UNFRAMED
-
I w [No concatenation present]/[Default]
II e S2/PRC
III lz 'body of fresh water'
IX a THM
X [2] UNFRAMED

*1:もう少しいい訳語があれば誰か提案してほしい

*2:公式ドキュメントには"bwalaidna"の語は無いのですが、あくまでもガイドラインでしかないという解釈のもと、南極海との対比で"bwalaidna"を入れました。個人的には"arktos"を借用する方が文化依存的なので気にくわないのですが。

*3:中古漢語?

*4:公式では”黄”のみ音写しているが、語源を考えると"河"まで音写すべき

イスクイル 4 (v.0.19) で日付・時刻を表す

この記事はイスクイル 4 (2021)を扱っています。対応するバージョンは

です。


イスクイル 3に比べてかなり扱いやすくなりました。

イスクイルでは日時を表す時に「ある期間における何番目」という表現をします。

例えば「午前8時」なら「1日のうちの8番目の時刻」ですし、「水曜日」なら「3番目の日」、「5月20日」なら「5月20番目の日」です。


イスクイルにおいてはこの「ある期間」を接辞で、「何番目」を語根(というか語幹と接辞)で表現します。

SPT (-rw / -ry)

まず期間の方から。期間を表す接辞は -rw / -ry*1です。イスクイルにおける接辞は通称VxCs接辞(実質的に接中辞)と呼ばれるもので、イスクイルでは接辞を使って語彙を爆発的に増やしています。

単語をやらずに接中辞からやるのも変な話ですが、こちらの方が説明が少ないので接辞からいきます。

期間を表す接辞 -rw / -ry は「n番目」とすると以下のように9段階*2に変化します。

階梯 -rw / -ry*3 SPT 暦上定点
1 -arw- / -ary- 1分に対する(n秒)
2 -ärw- / -äry- 1時間に対する(n分)
3 -erw- / -ery- 1日に対する(n時)
4 -irw- / -iry- 1週間に対する(第n曜日)
5 -ëirw- / -ëiry- 1ヶ月に対する(第n日)
6 -örw- / -öry- 1ヶ月に対する(第n週)
7 -orw- / -ory- 1年に対する(第n月)
8 -ürw- / -üry- (n年)
9 -urw- / -ury- (n世紀)

ちなみに接辞はタイプ1からタイプ3まであって上表はタイプ1なのですが、「SPTタイプ1の第3階梯」のことを「SPT_1/3」と表記したりします。

例えば「21世紀」は上の表の階梯9を使って"wullärsurya"と表されます。"wullärs"が21番目(後述)で、"ury"が〜世紀にあたります。最後の"a"は格です。格はだいたい接辞の後に置かれます。"a"は辞書形くらいのイメージでとりあえずは大丈夫だと思います。

もう一つ例を。「曜日に」は上の表の階梯4を使って"wucpirwa'o"と表されます。"wucp"が6番目、つまり月曜日から数えて6番目の曜日は土曜日ということになります。"irw"が「週のうちの〜」なので全体で「週のうちの6番目の日」=「土曜日」。

数体系

続いて「n番目」の部分について。イスクイルの数体系は(多分)10進化100進法を採用しています。

次の表は日時を表すのに使われる0〜10までの数詞*4*5です。

n 語根 n番目 (短縮系)
0 VR uvral- wuvr-
1 LL ullal- wull-
2 KS uksal- wuks-
3 Z uzal- wuz-
4 upšal- wupš-
5 ST ustal- wust-
6 CP ucpal- wucp-
7 NS unsal- wuns-
8 ČK učkal- wučk-
9 LẒ ulẓal- wulẓ-
10 J ujal- wuj-


「n番目」の列が基本形です。その時の意味合いによって母音を変化させる場合があります。ある特定の場合は一番右の列のような短縮系を使うことができます。音節数が減るので、使えるときは短縮系を使うことが多いと思います。例えば「第3」なら"wuzörwa"と表されます。(日曜日が0番目なのか7番目なのかは謎)


11以上99以下の2桁の数字を作るには以下の接辞 -rs を使います。

階梯 -rs TNX 10の倍数
1 -ars- n+10
2 -ärs- n+20
3 -ers- n+30
4 -irs- n+40
5 -ëirs- n+50
6 -örs- n+60
7 -ors- n+70
8 -ürs- n+80
9 -urs- n+90

ドイツ語のように「一の位-十の位」の語順になるので、11はwullars-、12はwuksars-、13はwuzars-、と続きます。なお(イスクイル 3とは違い?)20, 30, 40, ... はそれぞれ 0+20, 0+30, 0+40, ... と解釈されるので、20はwuvrärs-、30はwuvrers-、40はwuvrirs-、となります。

期間の話の時の例で言えば「21世紀」は"wullärsurya"でしたが、21を表す wullärs- は wull(1)-ärs(+20)- のように分解されます。

日時の表現の例

その前に便利な格について。イスクイル 4には格が68個ありますが、日時の表現に頻出の格をピックアップします。

1 a themaic 主題格(デフォルトの格)
41 ë'i*6 comitative 随伴格「〜に沿って」
61 a'o concursive 時間格「〜の時点で」
68 o'a prolimitive 到達格「〜までに」


以下は日時の表現例です。

34秒までに:wupšersaryo'a
wupš(4)- ers(+30)- ary(秒\subset分)- o'a(までに)


日付に関しては少し便利な表現の仕方があります。

5月22日:wuksärsëirwiasta *7
wuks(2) - ärs(+20) - ëirw(日\subset月) - iast(5) - a

wuksärsëirw- までは今まで通り「22日」と解釈されます。で、5月であることを表す時に「5月」という単語を追加するのではなく、5を表す接辞 -iast- を付加することで、全体で「5月22日」を表現することができます。

1〜12までの接辞を次の表にまとめます。

n グロス 語形*8
1 XX1 -iazc-
2 XX2 -iaks-
3 XX3 -iaz-
4 XX4 -iapš-
5 XX5 -iast-
6 XX6 -iacp-
7 XX7 -ians-
8 XX8 -iačk-
9 XX9 -ialẓ-
10 X10 -iaj-
11 X11 -iacg-
12 X12 -iajd-


1969年3月15日:wustarsëirwiaza walẓarsa'o walẓörsürwë'i
wust(5) - ars(+10) - ëirw(日\subset月) - iaz(3) - a(デフォルト) walẓ(9) - ars(+10) - a'o(の) walẓ(9) - örs(+60) - ürw(年) - ë'i(に沿って)

全体で「1969年の3月15日」という解釈です。
wustarsëirwiaza で3月15日、walẓarsa'o walẓörsürwë'i で1969年です。1969年のうち walẓars- が上二桁の「19」、walẓörs- が下二桁の「69」に対応します。
walẓars- の方が -a'o で wustarsëirwiaza 「3月15日」を修飾し、walẓörs- は -ë'i で walẓarsa'o を修飾しています。


また、SPT_1/3を使った時刻表現については特殊な用法があります

午前8時52分:wučkerwa waksëirs *9
wučk(8) - erw(時-分\subset日) - a(デフォルト) waks(2) - ëirs(+50) - oň(と*10

-erw- は「〜時」を表す接辞なので wučkerwa で「8時」を意味します。
ただ、この -erw- を使う場合、後続要素に「〜分」を接続することが可能です。waksëirs- に -oň をつけた waksëirsoň*11を後置すると「52分」を表すことができます。


午後8時52分33秒:wuvrärserwa waksëirs wazersarwë'i
wuvr(0) - ärs(+20) - erw(時-分\subset日) - a(デフォルト) waks(2) - ëirs(50) - oň(と) waz(3) - ers(+30) - arw(秒\subset分) - ë'i(に沿って)

午後8時は20時なので wuvrärs-(20) を使って表現します。こちらも先の例文同様に waksëirsoň が後続し、頭の2単語で「20時52分」=「午後8時52分」を表しています。
秒は別単語として wazersarw-ë'i が続きます。解釈に迷いますが wazersarwë'i は wuvrärserwa を修飾しているとみて良いと思います。


(書いてて思ったんですけど、イスクイル 4って格の表示が完全に後置詞ですね。)

*1:wとyは前後の音環境で交替することがある。

*2:本当は10段階3タイプあるので全30段階だがひとまず使わないのでここでは触れません

*3:表はSPT_1/1からSPT_1/9まで。

*4:数詞という品詞はイスクイルには存在しないのですが、便宜上数詞という言葉を使います。

*5:以降基本形としてS3/PRC-STA/BSC/EXS-CSL/UPX/DEL/M/NRMを想定。

*6:原型は ëi' だが、イスクイルの音韻論では語末にglottal stopが来ないという規則があるのでしばしば ë'i の形になる

*7:文法書6.0章には ksialärsëirwiasta って書いてありましたけど別に普通に5月22日って言いたければ wuks-で いいんですよね…?と思ったので wuks- で紹介しています。

*8:全てdegree 4 type 3

*9:waks- と ksal- < (a)ksal は同じ意味だと思っているので、いちいち説明するのもめんどくさいため waks- 表記しています。

*10:COO_1/7

*11:品詞がわからない。文法書で何か見落としてるかもしれない。