Step * 1 2 1 1 1 1 of Lemma A-loop_wf


1. Val Type
2. : ℕ
3. AType array{i:l}(Val;n)
4. lo : ℕn
5. : ℤ
6. 0 < k
7. 1 < lo  (∀body:{lo..lo (k 1)-} ⟶ (A-map Unit). (A-loop(AType;lo;lo (k 1);body) ∈ A-map Unit))
8. k < lo
9. body {lo..lo k-} ⟶ (A-map Unit)
10. A-loop(AType;lo;lo (k 1);body) ∈ A-map Unit
11. lo < lo k
12. (lo (k 1)) ((lo k) 1) ∈ ℤ
13. A-loop(AType;lo;(lo k) 1;body) ∈ A-map Unit
⊢ A-bind(array-model(AType)) A-loop(AType;lo;(lo k) 1;body) x.(body ((lo k) 1))) ∈ A-map Unit
BY
(InstLemma `A-bind_wf` [⌜Val⌝;⌜n⌝;⌜AType⌝;⌜Unit⌝;⌜Unit⌝]⋅ THEN Auto THEN SupInf THEN Auto) }


Latex:


Latex:

1.  Val  :  Type
2.  n  :  \mBbbN{}
3.  AType  :  array\{i:l\}(Val;n)
4.  lo  :  \mBbbN{}n
5.  k  :  \mBbbZ{}
6.  0  <  k
7.  k  -  1  <  n  -  lo
{}\mRightarrow{}  (\mforall{}body:\{lo..lo  +  (k  -  1)\msupminus{}\}  {}\mrightarrow{}  (A-map  Unit).  (A-loop(AType;lo;lo  +  (k  -  1);body)  \mmember{}  A-map  Unit))
8.  k  <  n  -  lo
9.  body  :  \{lo..lo  +  k\msupminus{}\}  {}\mrightarrow{}  (A-map  Unit)
10.  A-loop(AType;lo;lo  +  (k  -  1);body)  \mmember{}  A-map  Unit
11.  lo  <  lo  +  k
12.  (lo  +  (k  -  1))  =  ((lo  +  k)  -  1)
13.  A-loop(AType;lo;(lo  +  k)  -  1;body)  \mmember{}  A-map  Unit
\mvdash{}  A-bind(array-model(AType))  A-loop(AType;lo;(lo  +  k)  -  1;body)  (\mlambda{}x.(body  ((lo  +  k)  -  1)))  \mmember{}  A-map 
                                                                                                                                                                                          Unit


By


Latex:
(InstLemma  `A-bind\_wf`  [\mkleeneopen{}Val\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}AType\mkleeneclose{};\mkleeneopen{}Unit\mkleeneclose{};\mkleeneopen{}Unit\mkleeneclose{}]\mcdot{}  THEN  Auto  THEN  SupInf  THEN  Auto)




Home Index