Step
*
1
of Lemma
lsum-append
1. T : Type
2. L1 : T List
3. L2 : T List
4. f : {x:T| (x ∈ L1 @ L2)}  ⟶ ℤ
⊢ l_sum(map(λx.f[x];L1) @ map(λx.f[x];L2)) = (l_sum(map(λx.f[x];L1)) + l_sum(map(λx.f[x];L2))) ∈ ℤ
BY
{ ((Assert L1 ∈ {x:T| (x ∈ L1 @ L2)}  List BY
          (SubsumeC ⌜{x:T| (x ∈ L1)}  List⌝⋅ THEN Auto))
   THEN (Assert L2 ∈ {x:T| (x ∈ L1 @ L2)}  List BY
               (SubsumeC ⌜{x:T| (x ∈ L2)}  List⌝⋅ THEN Auto))
   ) }
1
1. T : Type
2. L1 : T List
3. L2 : T List
4. f : {x:T| (x ∈ L1 @ L2)}  ⟶ ℤ
5. L1 ∈ {x:T| (x ∈ L1 @ L2)}  List
6. L2 ∈ {x:T| (x ∈ L1 @ L2)}  List
⊢ l_sum(map(λx.f[x];L1) @ map(λx.f[x];L2)) = (l_sum(map(λx.f[x];L1)) + l_sum(map(λx.f[x];L2))) ∈ ℤ
Latex:
Latex:
1.  T  :  Type
2.  L1  :  T  List
3.  L2  :  T  List
4.  f  :  \{x:T|  (x  \mmember{}  L1  @  L2)\}    {}\mrightarrow{}  \mBbbZ{}
\mvdash{}  l\_sum(map(\mlambda{}x.f[x];L1)  @  map(\mlambda{}x.f[x];L2))  =  (l\_sum(map(\mlambda{}x.f[x];L1))  +  l\_sum(map(\mlambda{}x.f[x];L2)))
By
Latex:
((Assert  L1  \mmember{}  \{x:T|  (x  \mmember{}  L1  @  L2)\}    List  BY
                (SubsumeC  \mkleeneopen{}\{x:T|  (x  \mmember{}  L1)\}    List\mkleeneclose{}\mcdot{}  THEN  Auto))
  THEN  (Assert  L2  \mmember{}  \{x:T|  (x  \mmember{}  L1  @  L2)\}    List  BY
                          (SubsumeC  \mkleeneopen{}\{x:T|  (x  \mmember{}  L2)\}    List\mkleeneclose{}\mcdot{}  THEN  Auto))
  )
Home
Index