Step
*
2
2
of Lemma
map_is_append
1. A : Type
2. B : Type
3. f : A ⟶ B
4. u : A
5. v : A List
6. ∀[L1,L2:B List].
     (map(f;firstn(||L1||;v)) = L1 ∈ (B List)) ∧ (map(f;nth_tl(||L1||;v)) = L2 ∈ (B List)) 
     supposing map(f;v) = (L1 @ L2) ∈ (B List)
7. u1 : B
8. v1 : B List
9. L2 : B List
10. [f u / map(f;v)] = [u1 / (v1 @ L2)] ∈ (B List)
⊢ (map(f;firstn(||v1|| + 1;[u / v])) = [u1 / v1] ∈ (B List)) ∧ (map(f;nth_tl(||v1|| + 1;[u / v])) = L2 ∈ (B List))
BY
{ xxx((InstHyp [⌜v1⌝; ⌜L2⌝] (-5))⋅ THENA Auto)xxx }
1
1. A : Type
2. B : Type
3. f : A ⟶ B
4. u : A
5. v : A List
6. ∀[L1,L2:B List].
     (map(f;firstn(||L1||;v)) = L1 ∈ (B List)) ∧ (map(f;nth_tl(||L1||;v)) = L2 ∈ (B List)) 
     supposing map(f;v) = (L1 @ L2) ∈ (B List)
7. u1 : B
8. v1 : B List
9. L2 : B List
10. [f u / map(f;v)] = [u1 / (v1 @ L2)] ∈ (B List)
11. (map(f;firstn(||v1||;v)) = v1 ∈ (B List)) ∧ (map(f;nth_tl(||v1||;v)) = L2 ∈ (B List))
⊢ (map(f;firstn(||v1|| + 1;[u / v])) = [u1 / v1] ∈ (B List)) ∧ (map(f;nth_tl(||v1|| + 1;[u / v])) = L2 ∈ (B List))
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  f  :  A  {}\mrightarrow{}  B
4.  u  :  A
5.  v  :  A  List
6.  \mforall{}[L1,L2:B  List].
          (map(f;firstn(||L1||;v))  =  L1)  \mwedge{}  (map(f;nth\_tl(||L1||;v))  =  L2)  supposing  map(f;v)  =  (L1  @  L2)
7.  u1  :  B
8.  v1  :  B  List
9.  L2  :  B  List
10.  [f  u  /  map(f;v)]  =  [u1  /  (v1  @  L2)]
\mvdash{}  (map(f;firstn(||v1||  +  1;[u  /  v]))  =  [u1  /  v1])  \mwedge{}  (map(f;nth\_tl(||v1||  +  1;[u  /  v]))  =  L2)
By
Latex:
xxx((InstHyp  [\mkleeneopen{}v1\mkleeneclose{};  \mkleeneopen{}L2\mkleeneclose{}]  (-5))\mcdot{}  THENA  Auto)xxx
Home
Index