Step
*
1
1
1
of Lemma
howard-bar-rec_wf
1. B : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
2. Q : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
3. bar : ∀s:ℕ ⟶ ℕ. ⇃(∃n:ℕ. B[n;s])@i
4. mon : ∀n:ℕ. ∀m:ℕn. ∀s:ℕn ⟶ ℕ.  (B[m;s] 
⇒ B[n;s])@i
5. base : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  (B[n;s] 
⇒ Q[n;s])@i
6. ind : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  ((∀m:ℕ. Q[n + 1;s.m@n]) 
⇒ Q[n;s])@i
7. M : n:ℕ ⟶ s:(ℕn ⟶ ℕ) ⟶ (k:ℕn × B[k;ext2Baire(n;s;0)]?)
8. ∀f:ℕ ⟶ ℕ
     ∃n:ℕ
      ∃k:ℕn
       ∃p:B[k;ext2Baire(n;f;0)]
        (((M n f) = (inl <k, p>) ∈ (k:ℕn × B[k;ext2Baire(n;f;0)]?)) ∧ (∀m:ℕ. ((↑isl(M m f)) 
⇒ (m = n ∈ ℕ))))
⊢ ↓(λn,s. (howard-bar-rec(M;mon;base;ind;n;s) ∈ Q[n;s])) 0 seq-normalize(0;⊥)
BY
{ (Refine_SquashedBarInduction ⌜ℕ⌝ ⌜λn,s. (↑isl(M n s))⌝ `n' `s' `m' `x' `w'⋅ THEN AllReduce THEN Try (Complete (Auto)))\000C }
1
1. B : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
2. Q : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
3. bar : ∀s:ℕ ⟶ ℕ. ⇃(∃n:ℕ. B[n;s])@i
4. mon : ∀n:ℕ. ∀m:ℕn. ∀s:ℕn ⟶ ℕ.  (B[m;s] 
⇒ B[n;s])@i
5. base : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  (B[n;s] 
⇒ Q[n;s])@i
6. ind : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  ((∀m:ℕ. Q[n + 1;s.m@n]) 
⇒ Q[n;s])@i
7. M : n:ℕ ⟶ s:(ℕn ⟶ ℕ) ⟶ (k:ℕn × B[k;ext2Baire(n;s;0)]?)
8. ∀f:ℕ ⟶ ℕ
     ∃n:ℕ
      ∃k:ℕn
       ∃p:B[k;ext2Baire(n;f;0)]
        (((M n f) = (inl <k, p>) ∈ (k:ℕn × B[k;ext2Baire(n;f;0)]?)) ∧ (∀m:ℕ. ((↑isl(M m f)) 
⇒ (m = n ∈ ℕ))))
9. s : ℕ ⟶ ℕ
⊢ ↓∃n:ℕ. (↑isl(M n seq-normalize(n;s)))
2
1. B : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
2. Q : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
3. bar : ∀s:ℕ ⟶ ℕ. ⇃(∃n:ℕ. B[n;s])@i
4. mon : ∀n:ℕ. ∀m:ℕn. ∀s:ℕn ⟶ ℕ.  (B[m;s] 
⇒ B[n;s])@i
5. base : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  (B[n;s] 
⇒ Q[n;s])@i
6. ind : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  ((∀m:ℕ. Q[n + 1;s.m@n]) 
⇒ Q[n;s])@i
7. M : n:ℕ ⟶ s:(ℕn ⟶ ℕ) ⟶ (k:ℕn × B[k;ext2Baire(n;s;0)]?)
8. ∀f:ℕ ⟶ ℕ
     ∃n:ℕ
      ∃k:ℕn
       ∃p:B[k;ext2Baire(n;f;0)]
        (((M n f) = (inl <k, p>) ∈ (k:ℕn × B[k;ext2Baire(n;f;0)]?)) ∧ (∀m:ℕ. ((↑isl(M m f)) 
⇒ (m = n ∈ ℕ))))
9. n : ℕ
10. s : ℕn ⟶ ℕ
11. w : ↑isl(M n s)
⊢ howard-bar-rec(M;mon;base;ind;n;s) ∈ Q[n;s]
3
1. B : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
2. Q : n:ℕ ⟶ (ℕn ⟶ ℕ) ⟶ ℙ@i'
3. bar : ∀s:ℕ ⟶ ℕ. ⇃(∃n:ℕ. B[n;s])@i
4. mon : ∀n:ℕ. ∀m:ℕn. ∀s:ℕn ⟶ ℕ.  (B[m;s] 
⇒ B[n;s])@i
5. base : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  (B[n;s] 
⇒ Q[n;s])@i
6. ind : ∀n:ℕ. ∀s:ℕn ⟶ ℕ.  ((∀m:ℕ. Q[n + 1;s.m@n]) 
⇒ Q[n;s])@i
7. M : n:ℕ ⟶ s:(ℕn ⟶ ℕ) ⟶ (k:ℕn × B[k;ext2Baire(n;s;0)]?)
8. ∀f:ℕ ⟶ ℕ
     ∃n:ℕ
      ∃k:ℕn
       ∃p:B[k;ext2Baire(n;f;0)]
        (((M n f) = (inl <k, p>) ∈ (k:ℕn × B[k;ext2Baire(n;f;0)]?)) ∧ (∀m:ℕ. ((↑isl(M m f)) 
⇒ (m = n ∈ ℕ))))
9. n : ℕ
10. s : ℕn ⟶ ℕ
11. w : ∀m:ℕ. (howard-bar-rec(M;mon;base;ind;n + 1;λx.if x=n then m else (s x)) ∈ Q[n + 1;λx.if x=n then m else (s x)])
⊢ howard-bar-rec(M;mon;base;ind;n;s) ∈ Q[n;s]
Latex:
Latex:
1.  B  :  n:\mBbbN{}  {}\mrightarrow{}  (\mBbbN{}n  {}\mrightarrow{}  \mBbbN{})  {}\mrightarrow{}  \mBbbP{}@i'
2.  Q  :  n:\mBbbN{}  {}\mrightarrow{}  (\mBbbN{}n  {}\mrightarrow{}  \mBbbN{})  {}\mrightarrow{}  \mBbbP{}@i'
3.  bar  :  \mforall{}s:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}.  \00D9(\mexists{}n:\mBbbN{}.  B[n;s])@i
4.  mon  :  \mforall{}n:\mBbbN{}.  \mforall{}m:\mBbbN{}n.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  \mBbbN{}.    (B[m;s]  {}\mRightarrow{}  B[n;s])@i
5.  base  :  \mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  \mBbbN{}.    (B[n;s]  {}\mRightarrow{}  Q[n;s])@i
6.  ind  :  \mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  \mBbbN{}.    ((\mforall{}m:\mBbbN{}.  Q[n  +  1;s.m@n])  {}\mRightarrow{}  Q[n;s])@i
7.  M  :  n:\mBbbN{}  {}\mrightarrow{}  s:(\mBbbN{}n  {}\mrightarrow{}  \mBbbN{})  {}\mrightarrow{}  (k:\mBbbN{}n  \mtimes{}  B[k;ext2Baire(n;s;0)]?)
8.  \mforall{}f:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}
          \mexists{}n:\mBbbN{}
            \mexists{}k:\mBbbN{}n.  \mexists{}p:B[k;ext2Baire(n;f;0)].  (((M  n  f)  =  (inl  <k,  p>))  \mwedge{}  (\mforall{}m:\mBbbN{}.  ((\muparrow{}isl(M  m  f))  {}\mRightarrow{}  (m  =  n))\000C))
\mvdash{}  \mdownarrow{}(\mlambda{}n,s.  (howard-bar-rec(M;mon;base;ind;n;s)  \mmember{}  Q[n;s]))  0  seq-normalize(0;\mbot{})
By
Latex:
(Refine\_SquashedBarInduction  \mkleeneopen{}\mBbbN{}\mkleeneclose{}  \mkleeneopen{}\mlambda{}n,s.  (\muparrow{}isl(M  n  s))\mkleeneclose{}  `n'  `s'  `m'  `x'  `w'\mcdot{}
  THEN  AllReduce
  THEN  Try  (Complete  (Auto)))
Home
Index