Step
*
of Lemma
simple_more_general_fan_theorem
∀[T:ℕ ⟶ Type]
  (∀i:ℕ. Bounded(T[i]))
  
⇒ (∀[X:n:ℕ ⟶ (i:ℕn ⟶ T[i]) ⟶ ℙ]
        (∀n:ℕ. ∀s:i:ℕn ⟶ T[i].  Dec(X[n;s])) 
⇒ (∃k:ℕ [(∀f:i:ℕ ⟶ T[i]. ∃n:ℕk. X[n;f])]) 
        supposing ∀f:i:ℕ ⟶ T[i]. (↓∃n:ℕ. X[n;f])) 
  supposing ∀i:ℕ. T[i]
BY
{ (Unfold `bounded-type` 0
   THEN Auto
   THEN (InstLemma `basic_bar_induction` [⌜i:ℕ × T[i]⌝;⌜λ2n s.X[n;project-seq(s)] 
                                                              supposing ∀i:ℕn. ((fst((s i))) = i ∈ ℤ)⌝;
         ⌜λ2n s.∃k:ℕ [(∀f:ℕ ⟶ (i:ℕ × T[i])
                         ∃m:ℕk. X[n + m;project-seq(seq-append(n;m;s;f))] 
                         supposing ∀i:ℕ. ((fst((f i))) = (i + n) ∈ ℤ))] 
                supposing ∀i:ℕn. ((fst((s i))) = i ∈ ℤ)⌝]⋅
         THENA (Auto
                THEN Try (Complete ((RepUR ``seq-append`` 0 THEN RepeatFor 2 (AutoSplit) THEN RWO "-5" 0 THEN Auto)))
                )
         )
   THEN Reduce (-1)) }
1
.....decidable?..... 
1. [T] : ℕ ⟶ Type
2. [%] : ∀i:ℕ. T[i]
3. ∀i:ℕ. ∀K:T[i] ⟶ ℕ.  (∃B:ℕ [(∀t:T[i]. ((K t) ≤ B))])
4. [X] : n:ℕ ⟶ (i:ℕn ⟶ T[i]) ⟶ ℙ
5. ∀f:i:ℕ ⟶ T[i]. (↓∃n:ℕ. X[n;f])
6. ∀n:ℕ. ∀s:i:ℕn ⟶ T[i].  Dec(X[n;s])
7. n : ℕ
8. s : ℕn ⟶ (i:ℕ × T[i])
⊢ Dec(X[n;project-seq(s)] supposing ∀i:ℕn. ((fst((s i))) = i ∈ ℤ))
2
1. [T] : ℕ ⟶ Type
2. [%] : ∀i:ℕ. T[i]
3. ∀i:ℕ. ∀K:T[i] ⟶ ℕ.  (∃B:ℕ [(∀t:T[i]. ((K t) ≤ B))])
4. [X] : n:ℕ ⟶ (i:ℕn ⟶ T[i]) ⟶ ℙ
5. ∀f:i:ℕ ⟶ T[i]. (↓∃n:ℕ. X[n;f])
6. ∀n:ℕ. ∀s:i:ℕn ⟶ T[i].  Dec(X[n;s])
7. n : ℕ
8. s : ℕn ⟶ (i:ℕ × T[i])
9. ∀i:ℕn. ((fst((s i))) = i ∈ ℤ)
10. X[n;project-seq(s)]
⊢ ∃k:ℕ [(∀f:ℕ ⟶ (i:ℕ × T[i])
           ∃m:ℕk. X[n + m;project-seq(seq-append(n;m;s;f))] supposing ∀i:ℕ. ((fst((f i))) = (i + n) ∈ ℤ))]
3
1. [T] : ℕ ⟶ Type
2. [%] : ∀i:ℕ. T[i]
3. ∀i:ℕ. ∀K:T[i] ⟶ ℕ.  (∃B:ℕ [(∀t:T[i]. ((K t) ≤ B))])
4. [X] : n:ℕ ⟶ (i:ℕn ⟶ T[i]) ⟶ ℙ
5. ∀f:i:ℕ ⟶ T[i]. (↓∃n:ℕ. X[n;f])
6. ∀n:ℕ. ∀s:i:ℕn ⟶ T[i].  Dec(X[n;s])
7. n : ℕ
8. s : ℕn ⟶ (i:ℕ × T[i])
9. ∀t:i:ℕ × T[i]
     ∃k:ℕ [(∀f:ℕ ⟶ (i:ℕ × T[i])
              ∃m:ℕk. X[(n + 1) + m;project-seq(seq-append(n + 1;m;s++t;f))] 
              supposing ∀i:ℕ. ((fst((f i))) = (i + n + 1) ∈ ℤ))] 
     supposing ∀i:ℕn + 1. ((fst((s++t i))) = i ∈ ℤ)
10. ∀i:ℕn. ((fst((s i))) = i ∈ ℤ)
⊢ ∃k:ℕ [(∀f:ℕ ⟶ (i:ℕ × T[i])
           ∃m:ℕk. X[n + m;project-seq(seq-append(n;m;s;f))] supposing ∀i:ℕ. ((fst((f i))) = (i + n) ∈ ℤ))]
4
1. T : ℕ ⟶ Type
2. ∀i:ℕ. T[i]
3. ∀i:ℕ. ∀K:T[i] ⟶ ℕ.  (∃B:ℕ [(∀t:T[i]. ((K t) ≤ B))])
4. X : n:ℕ ⟶ (i:ℕn ⟶ T[i]) ⟶ ℙ
5. ∀f:i:ℕ ⟶ T[i]. (↓∃n:ℕ. X[n;f])
6. ∀n:ℕ. ∀s:i:ℕn ⟶ T[i].  Dec(X[n;s])
7. alpha : ℕ ⟶ (i:ℕ × T[i])
⊢ ↓∃m:ℕ. X[m;project-seq(alpha)] supposing ∀i:ℕm. ((fst((alpha i))) = i ∈ ℤ)
5
1. [T] : ℕ ⟶ Type
2. [%] : ∀i:ℕ. T[i]
3. ∀i:ℕ. ∀K:T[i] ⟶ ℕ.  (∃B:ℕ [(∀t:T[i]. ((K t) ≤ B))])
4. [X] : n:ℕ ⟶ (i:ℕn ⟶ T[i]) ⟶ ℙ
5. ∀f:i:ℕ ⟶ T[i]. (↓∃n:ℕ. X[n;f])
6. ∀n:ℕ. ∀s:i:ℕn ⟶ T[i].  Dec(X[n;s])
7. ∀x:Top
     ∃k:ℕ [(∀f:ℕ ⟶ (i:ℕ × T[i])
              ∃m:ℕk. X[0 + m;project-seq(seq-append(0;m;x;f))] supposing ∀i:ℕ. ((fst((f i))) = (i + 0) ∈ ℤ))] 
     supposing ∀i:ℕ0. ((fst((x i))) = i ∈ ℤ)
⊢ ∃k:ℕ [(∀f:i:ℕ ⟶ T[i]. ∃n:ℕk. X[n;f])]
Latex:
Latex:
\mforall{}[T:\mBbbN{}  {}\mrightarrow{}  Type]
    (\mforall{}i:\mBbbN{}.  Bounded(T[i]))
    {}\mRightarrow{}  (\mforall{}[X:n:\mBbbN{}  {}\mrightarrow{}  (i:\mBbbN{}n  {}\mrightarrow{}  T[i])  {}\mrightarrow{}  \mBbbP{}]
                (\mforall{}n:\mBbbN{}.  \mforall{}s:i:\mBbbN{}n  {}\mrightarrow{}  T[i].    Dec(X[n;s]))  {}\mRightarrow{}  (\mexists{}k:\mBbbN{}  [(\mforall{}f:i:\mBbbN{}  {}\mrightarrow{}  T[i].  \mexists{}n:\mBbbN{}k.  X[n;f])]) 
                supposing  \mforall{}f:i:\mBbbN{}  {}\mrightarrow{}  T[i].  (\mdownarrow{}\mexists{}n:\mBbbN{}.  X[n;f])) 
    supposing  \mforall{}i:\mBbbN{}.  T[i]
By
Latex:
(Unfold  `bounded-type`  0
  THEN  Auto
  THEN  (InstLemma  `basic\_bar\_induction`  [\mkleeneopen{}i:\mBbbN{}  \mtimes{}  T[i]\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}n  s.X[n;project-seq(s)] 
                                                                                                                        supposing  \mforall{}i:\mBbbN{}n.  ((fst((s  i)))  =  i)\mkleeneclose{};
              \mkleeneopen{}\mlambda{}\msubtwo{}n  s.\mexists{}k:\mBbbN{}  [(\mforall{}f:\mBbbN{}  {}\mrightarrow{}  (i:\mBbbN{}  \mtimes{}  T[i])
                                              \mexists{}m:\mBbbN{}k.  X[n  +  m;project-seq(seq-append(n;m;s;f))] 
                                              supposing  \mforall{}i:\mBbbN{}.  ((fst((f  i)))  =  (i  +  n)))] 
                            supposing  \mforall{}i:\mBbbN{}n.  ((fst((s  i)))  =  i)\mkleeneclose{}]\mcdot{}
              THENA  (Auto
                            THEN  Try  (Complete  ((RepUR  ``seq-append``  0
                                                                      THEN  RepeatFor  2  (AutoSplit)
                                                                      THEN  RWO  "-5"  0
                                                                      THEN  Auto)))
                            )
              )
  THEN  Reduce  (-1))
Home
Index