Step
*
1
1
of Lemma
pi-rank-pi-simple-subst-aux
1. r : ℕ
2. ∀P:pi_term()
(pi-rank(P) < r
⇒ (∀t,x:Name. ∀avoid:Name List. (pi-rank(pi-simple-subst-aux(t;x;P;avoid)) = pi-rank(P) ∈ ℤ)))
3. pre : pi_prefix()
4. P2 : pi_term()
5. (pi-rank(P2) + 1) = r ∈ ℕ@i
6. t : Name@i
7. x : Name@i
8. avoid : Name List@i
⊢ pi-rank(pi_prefix_ind(pre;
pisend(c,v)
⇒ let c1 = if name_eq(c;x) then t else c fi in
let v1 = if name_eq(v;x) then t else v fi in
picomm(pisend(c1;v1);pi-simple-subst-aux(t;x;P2;avoid));
pircv(c,v)
⇒ let w = maybe-new(v;avoid) in
let c1 = if name_eq(c;x) then t else c fi in
let R1 = pi-replace(w;v;P2) in
picomm(pircv(c1;w);pi-simple-subst-aux(t;x;R1;[w / avoid]))) )
= (pi-rank(P2) + 1)
∈ ℤ
BY
{ (D 3
THEN Reduce 0
THEN RepUR ``let`` 0
THEN Unfold `pi-rank` 0
THEN Reduce 0
THEN Fold `pi-rank` 0
THEN RWO "2" 0
THEN Auto
THEN (RWO "pi-rank-pi-replace" 0 THEN Auto THEN Auto')⋅) }
Latex:
Latex:
1. r : \mBbbN{}
2. \mforall{}P:pi\_term()
(pi-rank(P) < r
{}\mRightarrow{} (\mforall{}t,x:Name. \mforall{}avoid:Name List. (pi-rank(pi-simple-subst-aux(t;x;P;avoid)) = pi-rank(P))))
3. pre : pi\_prefix()
4. P2 : pi\_term()
5. (pi-rank(P2) + 1) = r@i
6. t : Name@i
7. x : Name@i
8. avoid : Name List@i
\mvdash{} pi-rank(pi\_prefix\_ind(pre;
pisend(c,v){}\mRightarrow{} let c1 = if name\_eq(c;x) then t else c fi in
let v1 = if name\_eq(v;x) then t else v fi in
picomm(pisend(c1;v1);pi-simple-subst-aux(t;x;P2;avoid));
pircv(c,v){}\mRightarrow{} let w = maybe-new(v;avoid) in
let c1 = if name\_eq(c;x) then t else c fi in
let R1 = pi-replace(w;v;P2) in
picomm(pircv(c1;w);pi-simple-subst-aux(t;x;R1;[w / avoid]))) )
= (pi-rank(P2) + 1)
By
Latex:
(D 3
THEN Reduce 0
THEN RepUR ``let`` 0
THEN Unfold `pi-rank` 0
THEN Reduce 0
THEN Fold `pi-rank` 0
THEN RWO "2" 0
THEN Auto
THEN (RWO "pi-rank-pi-replace" 0 THEN Auto THEN Auto')\mcdot{})
Home
Index