Step
*
1
1
1
1
of Lemma
A-eval_wf
1. Val : Type
2. n : ℕ
3. AType : array{i:l}(Val;n)
4. T : Type
⊢ A-eval(array-model(AType)) ∈ (Arr(AType) ⟶ (T × Arr(AType))) ⟶ Arr(AType) ⟶ T
BY
{ Unfold `array` 3 }
1
1. Val : Type
2. n : ℕ
3. AType : Arr:Type
× idx:ℕn ⟶ Arr ⟶ Val
× upd:ℕn ⟶ Val ⟶ Arr ⟶ Arr
× newarray:Val ⟶ Arr
× ∀[i:ℕn]. ∀[v:Val].  ((idx i (newarray v)) = v ∈ Val)
× (∀[i,j:ℕn]. ∀[x:Arr]. ∀[v:Val].  ((idx i (upd j v x)) = if (i =z j) then v else idx i x fi  ∈ Val))
4. T : Type
⊢ A-eval(array-model(AType)) ∈ (Arr(AType) ⟶ (T × Arr(AType))) ⟶ Arr(AType) ⟶ T
Latex:
Latex:
1.  Val  :  Type
2.  n  :  \mBbbN{}
3.  AType  :  array\{i:l\}(Val;n)
4.  T  :  Type
\mvdash{}  A-eval(array-model(AType))  \mmember{}  (Arr(AType)  {}\mrightarrow{}  (T  \mtimes{}  Arr(AType)))  {}\mrightarrow{}  Arr(AType)  {}\mrightarrow{}  T
By
Latex:
Unfold  `array`  3
Home
Index