Step
*
2
2
2
1
2
of Lemma
term-ext
1. opr : Type
2. coterm(opr) ≡ coterm-fun(opr;coterm(opr))
3. y1 : opr
4. u : varname() List × term(opr)
5. v : (varname() List × term(opr)) List
6. (1 + reduce(λx,y. (x + y);0;map(λbt.coterm-size(snd(bt));v)))↓
⊢ (1 + coterm-size(snd(u)) + reduce(λx,y. (x + y);0;map(λbt.coterm-size(snd(bt));v)))↓
BY
{ (Subst' 1 + coterm-size(snd(u)) + reduce(λx,y. (x + y);0;map(λbt.coterm-size(snd(bt));v)) ~ coterm-size(snd(u))
   + 1
   + reduce(λx,y. (x + y);0;map(λbt.coterm-size(snd(bt));v)) 0
   THENA Auto
   ) }
1
1. opr : Type
2. coterm(opr) ≡ coterm-fun(opr;coterm(opr))
3. y1 : opr
4. u : varname() List × term(opr)
5. v : (varname() List × term(opr)) List
6. (1 + reduce(λx,y. (x + y);0;map(λbt.coterm-size(snd(bt));v)))↓
⊢ (coterm-size(snd(u)) + 1 + reduce(λx,y. (x + y);0;map(λbt.coterm-size(snd(bt));v)))↓
Latex:
Latex:
1.  opr  :  Type
2.  coterm(opr)  \mequiv{}  coterm-fun(opr;coterm(opr))
3.  y1  :  opr
4.  u  :  varname()  List  \mtimes{}  term(opr)
5.  v  :  (varname()  List  \mtimes{}  term(opr))  List
6.  (1  +  reduce(\mlambda{}x,y.  (x  +  y);0;map(\mlambda{}bt.coterm-size(snd(bt));v)))\mdownarrow{}
\mvdash{}  (1  +  coterm-size(snd(u))  +  reduce(\mlambda{}x,y.  (x  +  y);0;map(\mlambda{}bt.coterm-size(snd(bt));v)))\mdownarrow{}
By
Latex:
(Subst'  1  +  coterm-size(snd(u))  +  reduce(\mlambda{}x,y.  (x  +  y);0;map(\mlambda{}bt.coterm-size(snd(bt));v)) 
  \msim{}  coterm-size(snd(u))  +  1  +  reduce(\mlambda{}x,y.  (x  +  y);0;map(\mlambda{}bt.coterm-size(snd(bt));v))  0
  THENA  Auto
  )
Home
Index