Step * 1 1 3 2 1 1 1 of Lemma fan-implies-nwkl!-using-PFan

.....equality..... 
1. Fan
2. (𝔹 List) ⟶ ℙ
3. ∀as:𝔹 List. Dec(t as)
4. infinite-tree(t)
5. eff-unique(t)
6. ∀n:ℕ. ∀ss:((𝔹 × 𝔹List) ⟶ ℙ.
     ((∀bc:(𝔹 × 𝔹List. Dec(ss bc))
      (∀bc,bc':(𝔹 × 𝔹List.  (bc ≤ bc'  (ss bc)  (ss bc')))
      (∀gh:ℕ ⟶ (𝔹 × 𝔹)
           ((¬(map(λi.(fst((gh i)));upto(n)) map(λi.(snd((gh i)));upto(n)) ∈ (𝔹 List)))
            (∃m:ℕ(ss map(gh;upto(m))))))
      (∃k:ℕ
          ∀gh:ℕ ⟶ (𝔹 × 𝔹)
            ((¬(map(λi.(fst((gh i)));upto(n)) map(λi.(snd((gh i)));upto(n)) ∈ (𝔹 List)))  (ss map(gh;upto(k))))))
7. : ℕ
8. ∀ss:((𝔹 × 𝔹List) ⟶ ℙ
     ((∀bc:(𝔹 × 𝔹List. Dec(ss bc))
      (∀bc,bc':(𝔹 × 𝔹List.  (bc ≤ bc'  (ss bc)  (ss bc')))
      (∀gh:ℕ ⟶ (𝔹 × 𝔹)
           ((¬(map(λi.(fst((gh i)));upto(n)) map(λi.(snd((gh i)));upto(n)) ∈ (𝔹 List)))
            (∃m:ℕ(ss map(gh;upto(m))))))
      (∃k:ℕ
          ∀gh:ℕ ⟶ (𝔹 × 𝔹)
            ((¬(map(λi.(fst((gh i)));upto(n)) map(λi.(snd((gh i)));upto(n)) ∈ (𝔹 List)))  (ss map(gh;upto(k))))))
9. : ℕ
10. n < k
11. ∀gh:ℕ ⟶ (𝔹 × 𝔹)
      ((¬(map(λi.(fst((gh i)));upto(n)) map(λi.(snd((gh i)));upto(n)) ∈ (𝔹 List)))
       ((λbc.(¬((t map(λp.(fst(p));bc)) ∧ (t map(λp.(snd(p));bc))))) map(gh;upto(k))))
12. n ≤ k
13. : 𝔹 List
14. : 𝔹 List
15. ||b|| k ∈ ℤ
16. ||c|| k ∈ ℤ
17. b
18. c
19. ¬(firstn(n;b) firstn(n;c) ∈ (𝔹 List))
⊢ map(λi.(fst(((λi.if i <then <b[i], c[i]> else <tt, tt> fi i)));upto(n)) firstn(n;b) ∈ (𝔹 List)
BY
(Thin (-1)
   THEN (BLemma `list_extensionality`⋅ THENA (Reduce THEN Try (Complete (Auto))))
   THEN RWW "map-length length_upto length_firstn" 0
   THEN Auto
   THEN ((RWW "select-map" THENM Reduce 0)
         THEN Auto
         THEN (RWW "length_upto" 0⋅
               THEN Auto
               THEN RWO "length_upto select-upto select-firstn" 0⋅
               THEN Auto
               THEN AutoSplit)⋅)⋅}


Latex:


Latex:
.....equality..... 
1.  Fan
2.  t  :  (\mBbbB{}  List)  {}\mrightarrow{}  \mBbbP{}
3.  \mforall{}as:\mBbbB{}  List.  Dec(t  as)
4.  infinite-tree(t)
5.  eff-unique(t)
6.  \mforall{}n:\mBbbN{}.  \mforall{}ss:((\mBbbB{}  \mtimes{}  \mBbbB{})  List)  {}\mrightarrow{}  \mBbbP{}.
          ((\mforall{}bc:(\mBbbB{}  \mtimes{}  \mBbbB{})  List.  Dec(ss  bc))
          {}\mRightarrow{}  (\mforall{}bc,bc':(\mBbbB{}  \mtimes{}  \mBbbB{})  List.    (bc  \mleq{}  bc'  {}\mRightarrow{}  (ss  bc)  {}\mRightarrow{}  (ss  bc')))
          {}\mRightarrow{}  (\mforall{}gh:\mBbbN{}  {}\mrightarrow{}  (\mBbbB{}  \mtimes{}  \mBbbB{})
                      ((\mneg{}(map(\mlambda{}i.(fst((gh  i)));upto(n))  =  map(\mlambda{}i.(snd((gh  i)));upto(n))))
                      {}\mRightarrow{}  (\mexists{}m:\mBbbN{}.  (ss  map(gh;upto(m))))))
          {}\mRightarrow{}  (\mexists{}k:\mBbbN{}
                    \mforall{}gh:\mBbbN{}  {}\mrightarrow{}  (\mBbbB{}  \mtimes{}  \mBbbB{})
                        ((\mneg{}(map(\mlambda{}i.(fst((gh  i)));upto(n))  =  map(\mlambda{}i.(snd((gh  i)));upto(n))))
                        {}\mRightarrow{}  (ss  map(gh;upto(k))))))
7.  n  :  \mBbbN{}
8.  \mforall{}ss:((\mBbbB{}  \mtimes{}  \mBbbB{})  List)  {}\mrightarrow{}  \mBbbP{}
          ((\mforall{}bc:(\mBbbB{}  \mtimes{}  \mBbbB{})  List.  Dec(ss  bc))
          {}\mRightarrow{}  (\mforall{}bc,bc':(\mBbbB{}  \mtimes{}  \mBbbB{})  List.    (bc  \mleq{}  bc'  {}\mRightarrow{}  (ss  bc)  {}\mRightarrow{}  (ss  bc')))
          {}\mRightarrow{}  (\mforall{}gh:\mBbbN{}  {}\mrightarrow{}  (\mBbbB{}  \mtimes{}  \mBbbB{})
                      ((\mneg{}(map(\mlambda{}i.(fst((gh  i)));upto(n))  =  map(\mlambda{}i.(snd((gh  i)));upto(n))))
                      {}\mRightarrow{}  (\mexists{}m:\mBbbN{}.  (ss  map(gh;upto(m))))))
          {}\mRightarrow{}  (\mexists{}k:\mBbbN{}
                    \mforall{}gh:\mBbbN{}  {}\mrightarrow{}  (\mBbbB{}  \mtimes{}  \mBbbB{})
                        ((\mneg{}(map(\mlambda{}i.(fst((gh  i)));upto(n))  =  map(\mlambda{}i.(snd((gh  i)));upto(n))))
                        {}\mRightarrow{}  (ss  map(gh;upto(k))))))
9.  k  :  \mBbbN{}
10.  n  <  k
11.  \mforall{}gh:\mBbbN{}  {}\mrightarrow{}  (\mBbbB{}  \mtimes{}  \mBbbB{})
            ((\mneg{}(map(\mlambda{}i.(fst((gh  i)));upto(n))  =  map(\mlambda{}i.(snd((gh  i)));upto(n))))
            {}\mRightarrow{}  ((\mlambda{}bc.(\mneg{}((t  map(\mlambda{}p.(fst(p));bc))  \mwedge{}  (t  map(\mlambda{}p.(snd(p));bc)))))  map(gh;upto(k))))
12.  n  \mleq{}  k
13.  b  :  \mBbbB{}  List
14.  c  :  \mBbbB{}  List
15.  ||b||  =  k
16.  ||c||  =  k
17.  t  b
18.  t  c
19.  \mneg{}(firstn(n;b)  =  firstn(n;c))
\mvdash{}  map(\mlambda{}i.(fst(((\mlambda{}i.if  i  <z  k  then  <b[i],  c[i]>  else  <tt,  tt>  fi  )  i)));upto(n))  =  firstn(n;b)


By


Latex:
(Thin  (-1)
  THEN  (BLemma  `list\_extensionality`\mcdot{}  THENA  (Reduce  0  THEN  Try  (Complete  (Auto))))
  THEN  RWW  "map-length  length\_upto  length\_firstn"  0
  THEN  Auto
  THEN  ((RWW  "select-map"  0  THENM  Reduce  0)
              THEN  Auto
              THEN  (RWW  "length\_upto"  0\mcdot{}
                          THEN  Auto
                          THEN  RWO  "length\_upto  select-upto  select-firstn"  0\mcdot{}
                          THEN  Auto
                          THEN  AutoSplit)\mcdot{})\mcdot{})




Home Index