Step * 1 of Lemma array_subtype


1. Val1 Type
2. Val2 Type
3. : ℕ
4. : ℕ
5. Val1 ⊆Val2
6. Val2 ⊆Val1
7. n ≤ m
8. Arr Type
9. idx : ℕm ⟶ Arr ⟶ Val1
10. upd : ℕm ⟶ Val1 ⟶ Arr ⟶ Arr
11. newarray Val1 ⟶ Arr
12. : ⋂i:ℕm. ∀[v:Val1]. ((idx (newarray v)) v ∈ Val1)
13. : ℕn
⊢ x ∈ ∀[v:Val2]. ((idx (newarray v)) v ∈ Val2)
BY
(With ⌜i⌝ (D (-2))⋅ THEN Auto) }


Latex:


Latex:

1.  Val1  :  Type
2.  Val2  :  Type
3.  m  :  \mBbbN{}
4.  n  :  \mBbbN{}
5.  Val1  \msubseteq{}r  Val2
6.  Val2  \msubseteq{}r  Val1
7.  n  \mleq{}  m
8.  Arr  :  Type
9.  idx  :  \mBbbN{}m  {}\mrightarrow{}  Arr  {}\mrightarrow{}  Val1
10.  upd  :  \mBbbN{}m  {}\mrightarrow{}  Val1  {}\mrightarrow{}  Arr  {}\mrightarrow{}  Arr
11.  newarray  :  Val1  {}\mrightarrow{}  Arr
12.  x  :  \mcap{}i:\mBbbN{}m.  \mforall{}[v:Val1].  ((idx  i  (newarray  v))  =  v)
13.  i  :  \mBbbN{}n
\mvdash{}  x  \mmember{}  \mforall{}[v:Val2].  ((idx  i  (newarray  v))  =  v)


By


Latex:
(With  \mkleeneopen{}i\mkleeneclose{}  (D  (-2))\mcdot{}  THEN  Auto)




Home Index