Step
*
2
1
2
2
1
2
1
1
of Lemma
fan-implies-bar-sep
1. [T] : Type
2. t : T
3. size : ℕ
4. T ~ ℕsize
5. A : (T List) ⟶ ℙ
6. B : (T List) ⟶ ℙ
7. Decidable(A)
8. Decidable(B)
9. jbar(T;T;A;B)
10. k : ℕ
11. ∀L:{L:T List| k ≤ ||unshuffle(L)||} 
      ((∃n:ℕ||unshuffle(L)||. (A firstn(n;map(λp.(fst(p));unshuffle(L)))))
      ∨ (∃n:ℕ||unshuffle(L)||. (B firstn(n;map(λp.(snd(p));unshuffle(L))))))
12. ¬(∀L:T List. ((||L|| = (2 * k) ∈ ℤ) 
⇒ (∃n:ℕ||unshuffle(L)||. (A firstn(n;map(λp.(fst(p));unshuffle(L)))))))
13. f : ℕ ⟶ T
14. ∃L:T List. ((||L|| = (2 * k) ∈ ℤ) ∧ (∀n:ℕ||unshuffle(L)||. (¬(A firstn(n;map(λp.(fst(p));unshuffle(L)))))))
⊢ ∃n:ℕ. (B map(f;upto(n)))
BY
{ (RepeatFor 2 (D (-1))
   THEN (Assert ||unshuffle(L)|| = k ∈ ℤ BY
               ((RWO "length-unshuffle" 0 THENA Auto)
                THEN (Subst ⌜||L|| ~ k * 2⌝ 0⋅ THEN Auto)
                THEN RWO "div_mul_cancel" 0
                THEN Auto))
   ) }
1
1. [T] : Type
2. t : T
3. size : ℕ
4. T ~ ℕsize
5. A : (T List) ⟶ ℙ
6. B : (T List) ⟶ ℙ
7. Decidable(A)
8. Decidable(B)
9. jbar(T;T;A;B)
10. k : ℕ
11. ∀L:{L:T List| k ≤ ||unshuffle(L)||} 
      ((∃n:ℕ||unshuffle(L)||. (A firstn(n;map(λp.(fst(p));unshuffle(L)))))
      ∨ (∃n:ℕ||unshuffle(L)||. (B firstn(n;map(λp.(snd(p));unshuffle(L))))))
12. ¬(∀L:T List. ((||L|| = (2 * k) ∈ ℤ) 
⇒ (∃n:ℕ||unshuffle(L)||. (A firstn(n;map(λp.(fst(p));unshuffle(L)))))))
13. f : ℕ ⟶ T
14. L : T List
15. ||L|| = (2 * k) ∈ ℤ
16. ∀n:ℕ||unshuffle(L)||. (¬(A firstn(n;map(λp.(fst(p));unshuffle(L)))))
17. ||unshuffle(L)|| = k ∈ ℤ
⊢ ∃n:ℕ. (B map(f;upto(n)))
Latex:
Latex:
1.  [T]  :  Type
2.  t  :  T
3.  size  :  \mBbbN{}
4.  T  \msim{}  \mBbbN{}size
5.  A  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
6.  B  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
7.  Decidable(A)
8.  Decidable(B)
9.  jbar(T;T;A;B)
10.  k  :  \mBbbN{}
11.  \mforall{}L:\{L:T  List|  k  \mleq{}  ||unshuffle(L)||\} 
            ((\mexists{}n:\mBbbN{}||unshuffle(L)||.  (A  firstn(n;map(\mlambda{}p.(fst(p));unshuffle(L)))))
            \mvee{}  (\mexists{}n:\mBbbN{}||unshuffle(L)||.  (B  firstn(n;map(\mlambda{}p.(snd(p));unshuffle(L))))))
12.  \mneg{}(\mforall{}L:T  List
                ((||L||  =  (2  *  k))  {}\mRightarrow{}  (\mexists{}n:\mBbbN{}||unshuffle(L)||.  (A  firstn(n;map(\mlambda{}p.(fst(p));unshuffle(L)))))))
13.  f  :  \mBbbN{}  {}\mrightarrow{}  T
14.  \mexists{}L:T  List
          ((||L||  =  (2  *  k))  \mwedge{}  (\mforall{}n:\mBbbN{}||unshuffle(L)||.  (\mneg{}(A  firstn(n;map(\mlambda{}p.(fst(p));unshuffle(L)))))))
\mvdash{}  \mexists{}n:\mBbbN{}.  (B  map(f;upto(n)))
By
Latex:
(RepeatFor  2  (D  (-1))
  THEN  (Assert  ||unshuffle(L)||  =  k  BY
                          ((RWO  "length-unshuffle"  0  THENA  Auto)
                            THEN  (Subst  \mkleeneopen{}||L||  \msim{}  k  *  2\mkleeneclose{}  0\mcdot{}  THEN  Auto)
                            THEN  RWO  "div\_mul\_cancel"  0
                            THEN  Auto))
  )
Home
Index