Step * 1 of Lemma length-map2


1. Type
2. value-type(T)
3. Type
4. Type
5. A ⟶ B ⟶ T
6. A
7. List
8. ∀[bs:B List]. ||map2(f;v;bs)|| ||v|| ∈ ℤ supposing ||v|| ||bs|| ∈ ℤ
9. u1 B
10. v1 List
11. ||map2(f;[u v];v1)|| ||[u v]|| ∈ ℤ supposing ||[u v]|| ||v1|| ∈ ℤ
12. (||v|| 1) (||v1|| 1) ∈ ℤ
⊢ ||eval u1 in eval map2(f;v;v1) in   [x L]|| (||v|| 1) ∈ ℤ
BY
RepeatFor ((CallByValueReduce THENA Auto)) }

1
1. Type
2. value-type(T)
3. Type
4. Type
5. A ⟶ B ⟶ T
6. A
7. List
8. ∀[bs:B List]. ||map2(f;v;bs)|| ||v|| ∈ ℤ supposing ||v|| ||bs|| ∈ ℤ
9. u1 B
10. v1 List
11. ||map2(f;[u v];v1)|| ||[u v]|| ∈ ℤ supposing ||[u v]|| ||v1|| ∈ ℤ
12. (||v|| 1) (||v1|| 1) ∈ ℤ
⊢ ||[f u1 map2(f;v;v1)]|| (||v|| 1) ∈ ℤ


Latex:


Latex:

1.  T  :  Type
2.  value-type(T)
3.  A  :  Type
4.  B  :  Type
5.  f  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  T
6.  u  :  A
7.  v  :  A  List
8.  \mforall{}[bs:B  List].  ||map2(f;v;bs)||  =  ||v||  supposing  ||v||  =  ||bs||
9.  u1  :  B
10.  v1  :  B  List
11.  ||map2(f;[u  /  v];v1)||  =  ||[u  /  v]||  supposing  ||[u  /  v]||  =  ||v1||
12.  (||v||  +  1)  =  (||v1||  +  1)
\mvdash{}  ||eval  x  =  f  u  u1  in  eval  L  =  map2(f;v;v1)  in      [x  /  L]||  =  (||v||  +  1)


By


Latex:
RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))




Home Index