Step * of Lemma length-map2

[T:Type]
  ∀[A,B:Type]. ∀[f:A ⟶ B ⟶ T]. ∀[as:A List]. ∀[bs:B List].
    ||map2(f;as;bs)|| ||as|| ∈ ℤ supposing ||as|| ||bs|| ∈ ℤ 
  supposing value-type(T)
BY
(RepeatFor (InductionOnList) THEN RecUnfold `map2` THEN Reduce THEN 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) ∈ ℤ
⊢ ||eval u1 in eval map2(f;v;v1) in   [x L]|| (||v|| 1) ∈ ℤ


Latex:


Latex:
\mforall{}[T:Type]
    \mforall{}[A,B:Type].  \mforall{}[f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  T].  \mforall{}[as:A  List].  \mforall{}[bs:B  List].
        ||map2(f;as;bs)||  =  ||as||  supposing  ||as||  =  ||bs|| 
    supposing  value-type(T)


By


Latex:
(RepeatFor  2  (InductionOnList)  THEN  RecUnfold  `map2`  0  THEN  Reduce  0  THEN  Auto)




Home Index