Step
*
1
1
of Lemma
filter_map_upto
1. T : Type
2. i : ℕ
3. j : ℕ
4. i < j
5. f : ℕ ⟶ T
6. P : T ⟶ 𝔹
7. ↑(P (f i))
8. upto(j) ~ upto(i) @ map(λx.(x + i);upto(j - i))
9. addi : ℕ ⟶ ℕ@i
10. (λx.(x + i)) = addi ∈ (ℕ ⟶ ℕ)
11. ||filter(P;map(f;map(addi;upto(j - i))))|| = 0 ∈ ℤ
⊢ ||filter(P;map(f;upto(i)))|| < ||filter(P;map(f;upto(i)))|| + ||filter(P;map(f;map(addi;upto(j - i))))||
BY
{ TACTIC:(((RWO "length_zero" (-1)) THENA Auto') THEN Assert ⌜(f i ∈ filter(P;map(f;map(addi;upto(j - i)))))⌝⋅) }
1
.....assertion..... 
1. T : Type
2. i : ℕ
3. j : ℕ
4. i < j
5. f : ℕ ⟶ T
6. P : T ⟶ 𝔹
7. ↑(P (f i))
8. upto(j) ~ upto(i) @ map(λx.(x + i);upto(j - i))
9. addi : ℕ ⟶ ℕ@i
10. (λx.(x + i)) = addi ∈ (ℕ ⟶ ℕ)
11. filter(P;map(f;map(addi;upto(j - i)))) = [] ∈ (T List)
⊢ (f i ∈ filter(P;map(f;map(addi;upto(j - i)))))
2
1. T : Type
2. i : ℕ
3. j : ℕ
4. i < j
5. f : ℕ ⟶ T
6. P : T ⟶ 𝔹
7. ↑(P (f i))
8. upto(j) ~ upto(i) @ map(λx.(x + i);upto(j - i))
9. addi : ℕ ⟶ ℕ@i
10. (λx.(x + i)) = addi ∈ (ℕ ⟶ ℕ)
11. filter(P;map(f;map(addi;upto(j - i)))) = [] ∈ (T List)
12. (f i ∈ filter(P;map(f;map(addi;upto(j - i)))))
⊢ ||filter(P;map(f;upto(i)))|| < ||filter(P;map(f;upto(i)))|| + ||filter(P;map(f;map(addi;upto(j - i))))||
Latex:
Latex:
1.  T  :  Type
2.  i  :  \mBbbN{}
3.  j  :  \mBbbN{}
4.  i  <  j
5.  f  :  \mBbbN{}  {}\mrightarrow{}  T
6.  P  :  T  {}\mrightarrow{}  \mBbbB{}
7.  \muparrow{}(P  (f  i))
8.  upto(j)  \msim{}  upto(i)  @  map(\mlambda{}x.(x  +  i);upto(j  -  i))
9.  addi  :  \mBbbN{}  {}\mrightarrow{}  \mBbbN{}@i
10.  (\mlambda{}x.(x  +  i))  =  addi
11.  ||filter(P;map(f;map(addi;upto(j  -  i))))||  =  0
\mvdash{}  ||filter(P;map(f;upto(i)))||  <  ||filter(P;map(f;upto(i)))||
+  ||filter(P;map(f;map(addi;upto(j  -  i))))||
By
Latex:
TACTIC:(((RWO  "length\_zero"  (-1))  THENA  Auto')
                THEN  Assert  \mkleeneopen{}(f  i  \mmember{}  filter(P;map(f;map(addi;upto(j  -  i)))))\mkleeneclose{}\mcdot{}
                )
Home
Index