Nuprl Lemma : W-path-lemma2
∀A1:Type. ∀B1:A1 ⟶ Type. ∀a:A1. ∀x1:B1[a] ⟶ W(A1;a.B1[a]). ∀n:ℕ+. ∀s:ℕn ⟶ cw-step(A1;a.B1[a]). ∀a1:A1.
∀w1:b:B1[a1] ⟶ (pco-W ⋅). ∀x:B1[a1]. ∀a2:A1. ∀z1:b:B1[a2] ⟶ (pco-W ⋅).
  ((∀k:ℕn. (W-rel(A1;a.B1[a];<a, x1>) k s (s k)))
  
⇒ ((s (n - 1)) = <⋅, <a1, w1>, inl x> ∈ cw-step(A1;a.B1[a]))
  
⇒ ((w1 x) = <a2, z1> ∈ (pco-W ⋅))
  
⇒ (z1 ∈ b:B1[a2] ⟶ W(A1;a.B1[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])
, 
param-co-W: pco-W
, 
int_seg: {i..j-}
, 
nat_plus: ℕ+
, 
it: ⋅
, 
so_apply: x[s]
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
member: t ∈ T
, 
apply: f a
, 
function: x:A ⟶ B[x]
, 
pair: <a, b>
, 
inl: inl x
, 
subtract: n - m
, 
natural_number: $n
, 
universe: Type
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
all: ∀x:A. B[x]
, 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
so_lambda: λ2x.t[x]
, 
so_apply: x[s]
, 
so_lambda: λ2x y.t[x; y]
, 
so_apply: x[s1;s2]
, 
so_lambda: so_lambda(x,y,z.t[x; y; z])
, 
so_apply: x[s1;s2;s3]
, 
ext-family: F ≡ G
, 
implies: P 
⇒ Q
, 
top: Top
, 
subtype_rel: A ⊆r B
, 
uimplies: b supposing a
, 
ext-eq: A ≡ B
, 
and: P ∧ Q
, 
respects-equality: respects-equality(S;T)
, 
int_seg: {i..j-}
, 
nat_plus: ℕ+
, 
lelt: i ≤ j < k
, 
decidable: Dec(P)
, 
or: P ∨ Q
, 
iff: P 
⇐⇒ Q
, 
not: ¬A
, 
rev_implies: P 
⇐ Q
, 
false: False
, 
uiff: uiff(P;Q)
, 
subtract: n - m
, 
le: A ≤ B
, 
less_than': less_than'(a;b)
, 
true: True
, 
sq_stable: SqStable(P)
, 
guard: {T}
, 
squash: ↓T
, 
cw-step: cw-step(A;a.B[a])
, 
pcw-step: pcw-step(P;p.A[p];p,a.B[p; a];p,a,b.C[p; a; b])
, 
pi2: snd(t)
, 
pi1: fst(t)
, 
sq_type: SQType(T)
, 
W: W(A;a.B[a])
, 
istype: istype(T)
Lemmas referenced : 
param-co-W-ext, 
unit_wf2, 
it_wf, 
param-co-W_wf, 
top_wf, 
istype-void, 
subtype-respects-equality, 
cw-step_wf, 
subtract_wf, 
decidable__le, 
istype-false, 
not-le-2, 
less-iff-le, 
condition-implies-le, 
minus-one-mul, 
zero-add, 
minus-one-mul-top, 
istype-int, 
minus-add, 
minus-minus, 
add-associates, 
add-swap, 
add-commutes, 
add_functionality_wrt_le, 
add-zero, 
le-add-cancel, 
decidable__lt, 
not-lt-2, 
nat_plus_wf, 
add-mul-special, 
zero-mul, 
le-add-cancel-alt, 
istype-le, 
istype-less_than, 
int_seg_wf, 
W-rel_wf, 
int_seg_subtype_nat, 
subtype_rel_function, 
int_seg_subtype, 
sq_stable__le, 
le_weakening2, 
subtype_rel_self, 
W_wf, 
istype-universe, 
param-W-ext, 
cw-pp-lemma, 
nat_plus_subtype_nat, 
subtype_rel_weakening, 
param-W_wf, 
W-ext, 
subtype_base_sq, 
unit_subtype_base, 
equal-implies-member-param-W, 
istype-top, 
ext-eq_inversion
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
Error :lambdaFormation_alt, 
cut, 
introduction, 
extract_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
hypothesis, 
sqequalRule, 
Error :lambdaEquality_alt, 
hypothesisEquality, 
Error :universeIsType, 
because_Cache, 
applyEquality, 
dependent_functionElimination, 
Error :equalityIstype, 
Error :isect_memberEquality_alt, 
voidElimination, 
Error :dependent_pairEquality_alt, 
Error :functionIsType, 
productEquality, 
functionEquality, 
independent_isectElimination, 
productElimination, 
independent_functionElimination, 
Error :inhabitedIsType, 
Error :dependent_set_memberEquality_alt, 
setElimination, 
rename, 
natural_numberEquality, 
independent_pairFormation, 
unionElimination, 
addEquality, 
minusEquality, 
equalityTransitivity, 
equalitySymmetry, 
Error :productIsType, 
imageMemberEquality, 
baseClosed, 
imageElimination, 
instantiate, 
universeEquality, 
applyLambdaEquality, 
cumulativity, 
functionExtensionality, 
Error :inlEquality_alt, 
Error :unionIsType, 
hypothesis_subsumption
Latex:
\mforall{}A1:Type.  \mforall{}B1:A1  {}\mrightarrow{}  Type.  \mforall{}a:A1.  \mforall{}x1:B1[a]  {}\mrightarrow{}  W(A1;a.B1[a]).  \mforall{}n:\mBbbN{}\msupplus{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  cw-step(A1;a.B1[a]).
\mforall{}a1:A1.  \mforall{}w1:b:B1[a1]  {}\mrightarrow{}  (pco-W  \mcdot{}).  \mforall{}x:B1[a1].  \mforall{}a2:A1.  \mforall{}z1:b:B1[a2]  {}\mrightarrow{}  (pco-W  \mcdot{}).
    ((\mforall{}k:\mBbbN{}n.  (W-rel(A1;a.B1[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:B1[a2]  {}\mrightarrow{}  W(A1;a.B1[a])))
Date html generated:
2019_06_20-PM-00_36_29
Last ObjectModification:
2018_11_23-PM-03_54_16
Theory : co-recursion
Home
Index