1
私はData
スキーマのシーケンスを追跡Array
スキーマを持っています。プロモーションを使用して、Array
で使用するIncrement
の操作を宣伝できます。
ArrayIncrement
は、Array
の中で1つのデータをインクリメントします。 ごとにData
を入力して\ran data
に増やす方法を教えてください。
私はData
スキーマのシーケンスを追跡Array
スキーマを持っています。プロモーションを使用して、Array
で使用するIncrement
の操作を宣伝できます。
ArrayIncrement
は、Array
の中で1つのデータをインクリメントします。 ごとにData
を入力して\ran data
に増やす方法を教えてください。
すべての値をインクリメントするあなたのアプローチの基本的な障害は、(最後の行)を推進中関係オーバーライドの使用が指定されていることであるその位置index?
を除いdata
と同じ値にdata'
マップ内のすべての値。それが持つ無限のソリューションが存在することになるせず、私たちは、ドメインが同じままと述べている体の最初の行で
--- ArrayIncrement ---
| ΔArray
---
| dom data = dom data'
| ∀ i:dom data; ΔData ·
| θData = data i ∧ θData' = data' i ∧ Increment
------
:
一つのアプローチは、明示的にすべての要素の関係上、「反復」することです追加要素。
次の行では、ソリューションのPromote
の2番目の行と同様に、特定のインデックスの前後の状態を表す変数を設定します。