Step
*
2
2
1
1
1
of Lemma
decidable-bar-rec-equal-spector
1. j : ℤ
2. 0 < j
3. ∀n:ℕ. ∀s,ind,base,dec:Base.
(λspector-bar-rec,n,s. case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => ⊥
| inr() =>
ind n s (λt.(spector-bar-rec (n + 1) s.t@n))^j - 1
⊥
n
s ≤ fix((λdecidable-bar-rec,n,s. case dec n s
of inl(r) =>
base n s r
| inr(x) =>
ind n s (λt.(decidable-bar-rec (n + 1) s.t@n))))
n
s)
4. n : ℕ
5. s : Base
6. ind : Base
7. base : Base
8. dec : Base
9. is-exception(case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => ⊥
| inr() =>
ind n s
(λt.(λspector-bar-rec,n,s. case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => ⊥
| inr() =>
ind n s (λt.(spector-bar-rec (n + 1) s.t@n))^j - 1
⊥
(n + 1)
s.t@n)))
10. case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff of inl() => ff | inr() => tt
∈ Top + Top
11. (case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff of inl() => ff | inr() => tt)↓
12. if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff ∈ Top + Top
13. (if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff)↓
14. n ∈ ℤ
15. case dec n s of inl() => 0 | inr() => n + 1 ∈ ℤ
16. (case dec n s of inl() => 0 | inr() => n + 1)↓
17. dec n s ∈ Top + Top
18. x : Top
19. (dec n s) = (inl x) ∈ (Top + Top)
⊢ case case if (n) < (0) then tt else ff of inl() => ff | inr() => tt
of inl() =>
base n s x
| inr() =>
ind n s
(λt.(λspector-bar-rec,n,s. case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => ⊥
| inr() =>
ind n s (λt.(spector-bar-rec (n + 1) s.t@n))^j - 1
⊥
(n + 1)
s.t@n)) ≤ base n s x
BY
{ AutoSplit }
Latex:
Latex:
1. j : \mBbbZ{}
2. 0 < j
3. \mforall{}n:\mBbbN{}. \mforall{}s,ind,base,dec:Base.
(\mlambda{}spector-bar-rec,n,s. case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1)
then tt
else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => \mbot{}
| inr() =>
ind n s (\mlambda{}t.(spector-bar-rec (n + 1) s.t@n))\^{}j - 1
\mbot{}
n
s \mleq{} fix((\mlambda{}decidable-bar-rec,n,s. case dec n s
of inl(r) =>
base n s r
| inr(x) =>
ind n s (\mlambda{}t.(decidable-bar-rec (n + 1) s.t@n))))
n
s)
4. n : \mBbbN{}
5. s : Base
6. ind : Base
7. base : Base
8. dec : Base
9. is-exception(case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => \mbot{}
| inr() =>
ind n s
(\mlambda{}t.(\mlambda{}spector-bar-rec,n,s. case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1)
then tt
else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => \mbot{}
| inr() =>
ind n s (\mlambda{}t.(spector-bar-rec (n + 1) s.t@n))\^{}j - 1
\mbot{}
(n + 1)
s.t@n)))
10. case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff
of inl() =>
ff
| inr() =>
tt \mmember{} Top + Top
11. (case if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff
of inl() =>
ff
| inr() =>
tt)\mdownarrow{}
12. if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff \mmember{} Top + Top
13. (if (n) < (case dec n s of inl() => 0 | inr() => n + 1) then tt else ff)\mdownarrow{}
14. n \mmember{} \mBbbZ{}
15. case dec n s of inl() => 0 | inr() => n + 1 \mmember{} \mBbbZ{}
16. (case dec n s of inl() => 0 | inr() => n + 1)\mdownarrow{}
17. dec n s \mmember{} Top + Top
18. x : Top
19. (dec n s) = (inl x)
\mvdash{} case case if (n) < (0) then tt else ff of inl() => ff | inr() => tt
of inl() =>
base n s x
| inr() =>
ind n s
(\mlambda{}t.(\mlambda{}spector-bar-rec,n,s. case case if (n) < (case dec n s of inl() => 0 | inr() => n + 1)
then tt
else ff
of inl() =>
ff
| inr() =>
tt
of inl() =>
case dec n s of inl(r) => base n s r | inr(x) => \mbot{}
| inr() =>
ind n s (\mlambda{}t.(spector-bar-rec (n + 1) s.t@n))\^{}j - 1
\mbot{}
(n + 1)
s.t@n)) \mleq{} base n s x
By
Latex:
AutoSplit
Home
Index