Step * 1 of Lemma bar_recursion_wf


1. Type
2. n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
3. n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
4. : ∀n:ℕ. ∀s:ℕn ⟶ T.  Dec(R[n;s])
5. : ∀n:ℕ. ∀s:ℕn ⟶ T.  (R[n;s]  A[n;s])
6. : ∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀t:T. A[n 1;seq-append(n;1;s;λi.t)])  A[n;s])
7. : ℕ
8. : ℕn ⟶ T
9. ∀alpha:ℕ ⟶ T. (↓∃m:ℕR[n m;seq-append(n;m;s;alpha)])
⊢ k,u. bar_recursion(d;b;i;n k;seq-normalize(n k;seq-append(n;k;s;u)))) 0 ⊥
  ∈ k,u. A[n k;seq-normalize(n k;seq-append(n;k;s;u))]) 0 ⊥
BY
TACTIC:(All (Unfold `so_apply`)⋅
          THEN Bar_Induction ⌜T⌝ ⌜λk,u. (R (n k) seq-normalize(n k;seq-append(n;k;s;u)))⌝⋅⋅
          THEN Reduce 0
          THEN Try (BackThruSomeHyp')
          THEN All Reduce
          THEN Auto
          THEN Try (((InstHyp [⌜alpha⌝(-2)⋅ THENA Auto)
                     THEN RepeatFor (ParallelLast)
                     THEN RWO "seq-normalize-append" 0
                     THEN Auto))
          THEN RecUnfold `bar_recursion` 0
          THEN Auto
          THEN All (\h. (RWO "seq-normalize-append" THEN Auto))⋅)⋅ }

1
1. Type
2. n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
3. n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
4. : ∀n:ℕ. ∀s:ℕn ⟶ T.  Dec(R s)
5. : ∀n:ℕ. ∀s:ℕn ⟶ T.  ((R s)  (A s))
6. : ∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀t:T. (A (n 1) seq-append(n;1;s;λi.t)))  (A s))
7. : ℕ
8. : ℕn ⟶ T
9. ∀alpha:ℕ ⟶ T. (↓∃m:ℕ(R (n m) seq-append(n;m;s;alpha)))
10. n1 : ℕ
11. s1 : ℕn1 ⟶ T
12. ∀t:T
      (bar_recursion(d;
                     b;
                     i;
                     n1 1;seq-append(n;n1 1;s;λm.if m=n1 then else (s1 m))) ∈ (n n1 1) 
                                                                          seq-append(n;n1 1;s;λm.if m=n1
                                                                                                   then t
                                                                                                   else (s1 m)))
⊢ case (n n1) seq-append(n;n1;s;s1)
   of inl(r) =>
   (n n1) seq-append(n;n1;s;s1) r
   inr(r) =>
   (n n1) seq-append(n;n1;s;s1) 
   t.bar_recursion(d;
                     b;
                     i;
                     (n n1) 1;λm.if m=n n1 then else (seq-append(n;n1;s;s1) m))) ∈ (n n1) seq-append(n;n1;s;\000Cs1)


Latex:


Latex:

1.  T  :  Type
2.  R  :  n:\mBbbN{}  {}\mrightarrow{}  (\mBbbN{}n  {}\mrightarrow{}  T)  {}\mrightarrow{}  \mBbbP{}
3.  A  :  n:\mBbbN{}  {}\mrightarrow{}  (\mBbbN{}n  {}\mrightarrow{}  T)  {}\mrightarrow{}  \mBbbP{}
4.  d  :  \mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  T.    Dec(R[n;s])
5.  b  :  \mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  T.    (R[n;s]  {}\mRightarrow{}  A[n;s])
6.  i  :  \mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  T.    ((\mforall{}t:T.  A[n  +  1;seq-append(n;1;s;\mlambda{}i.t)])  {}\mRightarrow{}  A[n;s])
7.  n  :  \mBbbN{}
8.  s  :  \mBbbN{}n  {}\mrightarrow{}  T
9.  \mforall{}alpha:\mBbbN{}  {}\mrightarrow{}  T.  (\mdownarrow{}\mexists{}m:\mBbbN{}.  R[n  +  m;seq-append(n;m;s;alpha)])
\mvdash{}  (\mlambda{}k,u.  bar\_recursion(d;b;i;n  +  k;seq-normalize(n  +  k;seq-append(n;k;s;u))))  0  \mbot{}
    \mmember{}  (\mlambda{}k,u.  A[n  +  k;seq-normalize(n  +  k;seq-append(n;k;s;u))])  0  \mbot{}


By


Latex:
TACTIC:(All  (Unfold  `so\_apply`)\mcdot{}
                THEN  Bar\_Induction  \mkleeneopen{}T\mkleeneclose{}  \mkleeneopen{}\mlambda{}k,u.  (R  (n  +  k)  seq-normalize(n  +  k;seq-append(n;k;s;u)))\mkleeneclose{}\mcdot{}\mcdot{}
                THEN  Reduce  0
                THEN  Try  (BackThruSomeHyp')
                THEN  All  Reduce
                THEN  Auto
                THEN  Try  (((InstHyp  [\mkleeneopen{}alpha\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
                                      THEN  RepeatFor  2  (ParallelLast)
                                      THEN  RWO  "seq-normalize-append"  0
                                      THEN  Auto))
                THEN  RecUnfold  `bar\_recursion`  0
                THEN  Auto
                THEN  All  (\mbackslash{}h.  (RWO  "seq-normalize-append"  h  THEN  Auto))\mcdot{})\mcdot{}




Home Index