Step
*
2
1
2
2
1
2
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
⊢ ∃n:ℕ. (B map(f;upto(n)))
BY
{ ((Assert Dec(∃L:T List
                ((||L|| = (2 * k) ∈ ℤ) ∧ (∀n:ℕ||unshuffle(L)||. (¬(A firstn(n;map(λp.(fst(p));unshuffle(L)))))))) BY
          (BLemma `decidable__exists_length`
           THEN Auto'
           THEN Try ((ProveDecidable1 THEN Auto))
           THEN With ⌜size⌝ (D 0)⋅
           THEN Auto))
   THEN D -1
   ) }
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. ((||L|| = (2 * k) ∈ ℤ) ∧ (∀n:ℕ||unshuffle(L)||. (¬(A firstn(n;map(λp.(fst(p));unshuffle(L)))))))
⊢ ∃n:ℕ. (B map(f;upto(n)))
2
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)))
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
\mvdash{}  \mexists{}n:\mBbbN{}.  (B  map(f;upto(n)))
By
Latex:
((Assert  Dec(\mexists{}L:T  List
                            ((||L||  =  (2  *  k))
                            \mwedge{}  (\mforall{}n:\mBbbN{}||unshuffle(L)||.  (\mneg{}(A  firstn(n;map(\mlambda{}p.(fst(p));unshuffle(L))))))))  BY
                (BLemma  `decidable\_\_exists\_length`
                  THEN  Auto'
                  THEN  Try  ((ProveDecidable1  THEN  Auto))
                  THEN  With  \mkleeneopen{}size\mkleeneclose{}  (D  0)\mcdot{}
                  THEN  Auto))
  THEN  D  -1
  )
Home
Index