日本語 · English(未訳)

ADR-19: premise の原始的定義と派生的定義。型は正体で分け作り方で分けない

判断: premise の定義には、原始的定義(primitive。派生元を持たない根の定義。グレゴリオ暦の閏年規則など。 多行になり、大半は標準ライブラリが同梱するのでユーザは書かず引く)と、派生的定義(derived。既存 premise を 土台に差分だけを述べる。会計暦=グレゴリオ暦の月・年境界を +3 ずらす、など。一行になり得る)がある。 派生は premise → premise の関数であり、premise 型の内部で閉じる(本体層の stream → stream 閉包と対称)。 原始と派生は同じ premise 型であり、別の型に分けない。型は正体(外延か内包か)で分け、作り方(原始か派生か)で 分けない。

背景: 派生的定義は premise 層における閉包性そのもの(暦法を入力に暦法を出す)。もし原始 premise を作る層と 派生 premise を作る層を分けて三層化すると、同一概念(premise)に製法別の二つの名が必要になる。しかし複雑な 原始 premise もそこから派生した premise も、同じ premise 型で、本体層から見れば見分けがつかず(context calendar-system: X の X に等しく入る)、使う側にとって出自は無関係。同じ場所に同じ資格で入るものを作り方の 違いで別型に割るのは、型の意味を作り手の都合に従属させる転倒であり、ユビキタス言語を腐らせる(同一物の二名)。 「3 か月ずらす」は窓境界のオフセット(解釈 P:日付は不動、月・年窓の切れ目だけ +3)であり、ADR-07「暦法= 窓分割」と一致し基底固定(ADR-09)を守る。軸そのものの平行移動(解釈 Q)ではない。

却下した案: 原始 premise 用の層と派生 premise 用の層に三層化する案。同一概念に製法別の別名を強い、層を 分ける意義がないため却下。

帰結(premise は基底座標をパラメータに取る): premise の解決には、基底上の座標を入力する管が一本ある。 これは当初 asof(どの時点で見た版か。ADR-15)の管として発見されたが、一般には次を含む同一の管である。

すなわち二層は一方通行でなく、premise が時間ストリームを生む向きと、基底座標(いつ・どの錨・どのスケール)が premise を確定する向きの、境界に通る一本の管で結ばれる。ただし複数の物理時間軸の相対論的調停(地球時と火星 固有時の重力・速度によるズレ)は基底の単一性(I1)を破るためスコープ外とする。火星暦を SI 秒基底の窓として 載せるところまでが射程で、固有時のズレ補正はデータ/外部系の責務(I7 と同じ、基底の単一性を守る線引き)。