Step
*
2
2
of Lemma
Cn-comb_wf
1. T : Type
2. n : ℤ
3. 0 < n
4. ∀m:ℕ. ∀A:ℕm ⟶ Type.
(n - 1 < m
⇒ (primrec(n - 1;λf.f;λi,F,f,x. (F (C-comb() f x))) ∈ funtype(m;A;T) ⟶ funtype(m;λk.if k <z n - 1 then A (k + 1)
if (k =z n - 1) then A 0
else A k
fi ;T)))
5. m : ℕ
6. A : ℕm ⟶ Type
7. n < m
8. 1 ≤ n
9. f : funtype(m;A;T)
10. (λx.(primrec(n - 1;λf.f;λi,F,f,x. (F (C-comb() f x))) (C-comb() f x)))
= (λx.(primrec(n - 1;λf.f;λi,F,f,x. (F (C-comb() f x))) (C-comb() f x)))
∈ ((A 1) ⟶ funtype(m - 1;λk.if k <z n - 1 then A (k + 2)
if (k =z n - 1) then A 0
else A (k + 1)
fi ;T))
⊢ ((A 1) ⟶ funtype(m - 1;λk.if k <z n - 1 then A (k + 2)
if (k =z n - 1) then A 0
else A (k + 1)
fi ;T)) ⊆r funtype(m;λk.if k <z n then A (k + 1)
if (k =z n) then A 0
else A k
fi ;T)
BY
{ TACTIC:(BLemma `subtype_rel-equal` THENA Auto) }
1
1. T : Type
2. n : ℤ
3. 0 < n
4. ∀m:ℕ. ∀A:ℕm ⟶ Type.
(n - 1 < m
⇒ (primrec(n - 1;λf.f;λi,F,f,x. (F (C-comb() f x))) ∈ funtype(m;A;T) ⟶ funtype(m;λk.if k <z n - 1 then A (k + 1)
if (k =z n - 1) then A 0
else A k
fi ;T)))
5. m : ℕ
6. A : ℕm ⟶ Type
7. n < m
8. 1 ≤ n
9. f : funtype(m;A;T)
10. (λx.(primrec(n - 1;λf.f;λi,F,f,x. (F (C-comb() f x))) (C-comb() f x)))
= (λx.(primrec(n - 1;λf.f;λi,F,f,x. (F (C-comb() f x))) (C-comb() f x)))
∈ ((A 1) ⟶ funtype(m - 1;λk.if k <z n - 1 then A (k + 2)
if (k =z n - 1) then A 0
else A (k + 1)
fi ;T))
⊢ ((A 1) ⟶ funtype(m - 1;λk.if k <z n - 1 then A (k + 2)
if (k =z n - 1) then A 0
else A (k + 1)
fi ;T))
= funtype(m;λk.if k <z n then A (k + 1)
if (k =z n) then A 0
else A k
fi ;T)
∈ Type
Latex:
Latex:
1. T : Type
2. n : \mBbbZ{}
3. 0 < n
4. \mforall{}m:\mBbbN{}. \mforall{}A:\mBbbN{}m {}\mrightarrow{} Type.
(n - 1 < m
{}\mRightarrow{} (primrec(n - 1;\mlambda{}f.f;\mlambda{}i,F,f,x. (F (C-comb() f x))) \mmember{} funtype(m;A;T) {}\mrightarrow{} funtype(m;\mlambda{}k.if k <z n\000C - 1
then A (k + 1)
if (k =\msubz{} n - 1)
then A 0
else A k
fi ;T)))
5. m : \mBbbN{}
6. A : \mBbbN{}m {}\mrightarrow{} Type
7. n < m
8. 1 \mleq{} n
9. f : funtype(m;A;T)
10. (\mlambda{}x.(primrec(n - 1;\mlambda{}f.f;\mlambda{}i,F,f,x. (F (C-comb() f x))) (C-comb() f x)))
= (\mlambda{}x.(primrec(n - 1;\mlambda{}f.f;\mlambda{}i,F,f,x. (F (C-comb() f x))) (C-comb() f x)))
\mvdash{} ((A 1) {}\mrightarrow{} funtype(m - 1;\mlambda{}k.if k <z n - 1 then A (k + 2)
if (k =\msubz{} n - 1) then A 0
else A (k + 1)
fi ;T)) \msubseteq{}r funtype(m;\mlambda{}k.if k <z n then A (k + 1)
if (k =\msubz{} n) then A 0
else A k
fi ;T)
By
Latex:
TACTIC:(BLemma `subtype\_rel-equal` THENA Auto)
Home
Index