Nuprl Lemma : W-elimination-facts
∀A:Type. ∀B:A ⟶ Type. ∀w:W(A;a.B[a]).
((cw-step(A;a.B[a]) ∈ Type)
∧ (W-rel(A;a.B[a];w) ∈ n:ℕ ⟶ (ℕn ⟶ cw-step(A;a.B[a])) ⟶ cw-step(A;a.B[a]) ⟶ ℙ)
∧ (W(A;a.B[a]) ∈ Type)
∧ (W(A;a.B[a]) ⊆r (pco-W ⋅))
∧ (∀n:ℕ. ∀s:ℕn ⟶ cw-step(A;a.B[a]). (Barred(<n, s>) ∨ (¬Barred(<n, s>))))
∧ (∀alpha:ℕ ⟶ cw-step(A;a.B[a]). ((∀n:ℕ. (W-rel(A;a.B[a];w) n alpha (alpha n)))
⇒ (alpha ∈ Path)))
∧ (∀[pp:n:ℕ × (ℕn ⟶ cw-step(A;a.B[a]))]. (Barred(pp) ∈ ℙ))
∧ (∀alpha:ℕ ⟶ cw-step(A;a.B[a]). ((∀n:ℕ. (W-rel(A;a.B[a];w) n alpha (alpha n)))
⇒ (↓∃n:ℕ. Barred(<n, alpha>))))
∧ (∀a:A. ∀x1:B[a] ⟶ W(A;a.B[a]). ∀n:ℕ+. ∀s:ℕn ⟶ cw-step(A;a.B[a]). ∀a1:A. ∀w1:b:B[a1] ⟶ (pco-W ⋅). ∀x:B[a1]. ∀a2:A.
∀z1:b:B[a2] ⟶ (pco-W ⋅).
((∀k:ℕn. (W-rel(A;a.B[a];<a, x1>) k s (s k)))
⇒ ((s (n - 1)) = <⋅, <a1, w1>, inl x> ∈ cw-step(A;a.B[a]))
⇒ ((w1 x) = <a2, z1> ∈ (pco-W ⋅))
⇒ (z1 ∈ B[a2] ⟶ W(A;a.B[a])))))
Proof
Definitions occuring in Statement :
W-rel: W-rel(A;a.B[a];w)
,
W: W(A;a.B[a])
,
cw-step: cw-step(A;a.B[a])
,
pcw-pp-barred: Barred(pp)
,
pcw-path: Path
,
param-co-W: pco-W
,
int_seg: {i..j-}
,
nat_plus: ℕ+
,
nat: ℕ
,
it: ⋅
,
subtype_rel: A ⊆r B
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
so_apply: x[s]
,
all: ∀x:A. B[x]
,
exists: ∃x:A. B[x]
,
not: ¬A
,
squash: ↓T
,
implies: P
⇒ Q
,
or: P ∨ Q
,
and: P ∧ Q
,
unit: Unit
,
member: t ∈ T
,
apply: f a
,
function: x:A ⟶ B[x]
,
pair: <a, b>
,
product: x:A × B[x]
,
inl: inl x
,
subtract: n - m
,
natural_number: $n
,
universe: Type
,
equal: s = t ∈ T
Definitions unfolded in proof :
all: ∀x:A. B[x]
,
and: P ∧ Q
,
cand: A c∧ B
,
uall: ∀[x:A]. B[x]
,
member: t ∈ T
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
,
W: W(A;a.B[a])
,
param-W: pW
,
subtype_rel: A ⊆r B
,
so_lambda: λ2x y.t[x; y]
,
so_apply: x[s1;s2]
,
so_lambda: so_lambda(x,y,z.t[x; y; z])
,
top: Top
,
so_apply: x[s1;s2;s3]
,
implies: P
⇒ Q
,
prop: ℙ
,
pcw-path: Path
,
nat: ℕ
,
le: A ≤ B
,
less_than': less_than'(a;b)
,
false: False
,
not: ¬A
,
exists: ∃x:A. B[x]
,
pcw-partial: pcw-partial(path;n)
,
W-rel: W-rel(A;a.B[a];w)
,
param-W-rel: param-W-rel(P;p.A[p];p,a.B[p; a];p,a,b.C[p; a; b];par;w)
,
cw-step: cw-step(A;a.B[a])
,
squash: ↓T
Lemmas referenced :
cw-step_wf,
W-rel_wf,
W_wf,
param-co-W_wf,
top_wf,
all_wf,
pcw-path_wf,
unit_wf2,
it_wf,
pcw-step-agree_wf,
false_wf,
le_wf,
squash_wf,
exists_wf,
nat_wf,
pcw-pp-barred_wf,
pcw-partial_wf,
pcw-pp-barred-W-decidable,
int_seg_wf,
W-path-lemma,
pcw-pp-barred-W,
subtype_rel_self,
pcw-step_wf,
W-path-lemma2
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
lambdaFormation,
cut,
introduction,
extract_by_obid,
sqequalHypSubstitution,
isectElimination,
thin,
hypothesisEquality,
sqequalRule,
lambdaEquality,
applyEquality,
hypothesis,
independent_pairFormation,
because_Cache,
setElimination,
rename,
setEquality,
cumulativity,
functionExtensionality,
isect_memberEquality,
voidElimination,
voidEquality,
functionEquality,
dependent_set_memberEquality,
natural_numberEquality,
dependent_functionElimination,
independent_functionElimination,
equalityTransitivity,
equalitySymmetry,
imageElimination,
imageMemberEquality,
baseClosed,
universeEquality
Latex:
\mforall{}A:Type. \mforall{}B:A {}\mrightarrow{} Type. \mforall{}w:W(A;a.B[a]).
((cw-step(A;a.B[a]) \mmember{} Type)
\mwedge{} (W-rel(A;a.B[a];w) \mmember{} n:\mBbbN{} {}\mrightarrow{} (\mBbbN{}n {}\mrightarrow{} cw-step(A;a.B[a])) {}\mrightarrow{} cw-step(A;a.B[a]) {}\mrightarrow{} \mBbbP{})
\mwedge{} (W(A;a.B[a]) \mmember{} Type)
\mwedge{} (W(A;a.B[a]) \msubseteq{}r (pco-W \mcdot{}))
\mwedge{} (\mforall{}n:\mBbbN{}. \mforall{}s:\mBbbN{}n {}\mrightarrow{} cw-step(A;a.B[a]). (Barred(<n, s>) \mvee{} (\mneg{}Barred(<n, s>))))
\mwedge{} (\mforall{}alpha:\mBbbN{} {}\mrightarrow{} cw-step(A;a.B[a])
((\mforall{}n:\mBbbN{}. (W-rel(A;a.B[a];w) n alpha (alpha n))) {}\mRightarrow{} (alpha \mmember{} Path)))
\mwedge{} (\mforall{}[pp:n:\mBbbN{} \mtimes{} (\mBbbN{}n {}\mrightarrow{} cw-step(A;a.B[a]))]. (Barred(pp) \mmember{} \mBbbP{}))
\mwedge{} (\mforall{}alpha:\mBbbN{} {}\mrightarrow{} cw-step(A;a.B[a])
((\mforall{}n:\mBbbN{}. (W-rel(A;a.B[a];w) n alpha (alpha n))) {}\mRightarrow{} (\mdownarrow{}\mexists{}n:\mBbbN{}. Barred(<n, alpha>))))
\mwedge{} (\mforall{}a:A. \mforall{}x1:B[a] {}\mrightarrow{} W(A;a.B[a]). \mforall{}n:\mBbbN{}\msupplus{}. \mforall{}s:\mBbbN{}n {}\mrightarrow{} cw-step(A;a.B[a]). \mforall{}a1:A. \mforall{}w1:b:B[a1] {}\mrightarrow{} (pco-W
\mcdot{}).
\mforall{}x:B[a1]. \mforall{}a2:A. \mforall{}z1:b:B[a2] {}\mrightarrow{} (pco-W \mcdot{}).
((\mforall{}k:\mBbbN{}n. (W-rel(A;a.B[a];<a, x1>) k s (s k)))
{}\mRightarrow{} ((s (n - 1)) = <\mcdot{}, <a1, w1>, inl x>)
{}\mRightarrow{} ((w1 x) = <a2, z1>)
{}\mRightarrow{} (z1 \mmember{} B[a2] {}\mrightarrow{} W(A;a.B[a])))))
Date html generated:
2019_06_20-PM-00_36_32
Last ObjectModification:
2018_08_08-AM-08_40_15
Theory : co-recursion
Home
Index