Step
*
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)
⊢ ∀[L1,L2:B List].
    (map(f;firstn(||L1||;[u / v])) = L1 ∈ (B List)) ∧ (map(f;nth_tl(||L1||;[u / v])) = L2 ∈ (B List)) 
    supposing map(f;[u / v]) = (L1 @ L2) ∈ (B List)
BY
{ xxx(RepeatFor 3 ((D 0 THENA Auto)) THEN (D (-3)) THEN (Reduce (-1)) THEN Reduce 0)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. L2 : B List
8. [f u / map(f;v)] = L2 ∈ (B List)
⊢ (map(f;firstn(0;[u / v])) = [] ∈ (B List)) ∧ ([f u / map(f;v)] = L2 ∈ (B List))
2
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))
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)
\mvdash{}  \mforall{}[L1,L2:B  List].
        (map(f;firstn(||L1||;[u  /  v]))  =  L1)  \mwedge{}  (map(f;nth\_tl(||L1||;[u  /  v]))  =  L2) 
        supposing  map(f;[u  /  v])  =  (L1  @  L2)
By
Latex:
xxx(RepeatFor  3  ((D  0  THENA  Auto))  THEN  (D  (-3))  THEN  (Reduce  (-1))  THEN  Reduce  0)xxx
Home
Index