Step
*
1
of Lemma
bar_recursion_wf1
1. T : Type
2. R : n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
3. A : n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
4. d : ∀n:ℕ. ∀s:ℕn ⟶ T.  Dec(R[n;s])
5. b : ∀n:ℕ. ∀s:ℕn ⟶ T.  (R[n;s] 
⇒ A[n;s])
6. i : ∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀t:T. A[n + 1;seq-append(n;1;s;λi.t)]) 
⇒ A[n;s])
7. ∀alpha:ℕ ⟶ T. (↓∃m:ℕ. R[m;alpha])
8. c : Top
⊢ bar_recursion(d;
                b;
                i;
                0;c) ∈ A[0;c]
BY
{ Assert ⌜(λn,s. bar_recursion(d;b;i;n;s)) 0 c ∈ A 0 c⌝⋅ }
1
.....assertion..... 
1. T : Type
2. R : n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
3. A : n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
4. d : ∀n:ℕ. ∀s:ℕn ⟶ T.  Dec(R[n;s])
5. b : ∀n:ℕ. ∀s:ℕn ⟶ T.  (R[n;s] 
⇒ A[n;s])
6. i : ∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀t:T. A[n + 1;seq-append(n;1;s;λi.t)]) 
⇒ A[n;s])
7. ∀alpha:ℕ ⟶ T. (↓∃m:ℕ. R[m;alpha])
8. c : Top
⊢ (λn,s. bar_recursion(d;b;i;n;s)) 0 c ∈ A 0 c
2
1. T : Type
2. R : n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
3. A : n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ
4. d : ∀n:ℕ. ∀s:ℕn ⟶ T.  Dec(R[n;s])
5. b : ∀n:ℕ. ∀s:ℕn ⟶ T.  (R[n;s] 
⇒ A[n;s])
6. i : ∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀t:T. A[n + 1;seq-append(n;1;s;λi.t)]) 
⇒ A[n;s])
7. ∀alpha:ℕ ⟶ T. (↓∃m:ℕ. R[m;alpha])
8. c : Top
9. (λn,s. bar_recursion(d;b;i;n;s)) 0 c ∈ A 0 c
⊢ bar_recursion(d;
                b;
                i;
                0;c) ∈ A[0;c]
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.  \mforall{}alpha:\mBbbN{}  {}\mrightarrow{}  T.  (\mdownarrow{}\mexists{}m:\mBbbN{}.  R[m;alpha])
8.  c  :  Top
\mvdash{}  bar\_recursion(d;
                                b;
                                i;
                                0;c)  \mmember{}  A[0;c]
By
Latex:
Assert  \mkleeneopen{}(\mlambda{}n,s.  bar\_recursion(d;b;i;n;s))  0  c  \mmember{}  A  0  c\mkleeneclose{}\mcdot{}
Home
Index