Step * 1 of Lemma alpha-aux_wf


1. opr Type
2. : ℕ
3. term(opr) ≡ coterm-fun(opr;term(opr))
4. y1 opr
5. u2 varname() List
6. u3 term(opr)
7. (varname() List × term(opr)) List
8. inr <y1, [<u2, u3> v]>  ∈ term(opr)
9. (1 + Σ(term-size(snd(bt)) bt ∈ [<u2, u3> v])) ≤ n
10. y3 opr
11. u4 varname() List
12. u5 term(opr)
13. v1 (varname() List × term(opr)) List
14. inr <y3, [<u4, u5> v1]>  ∈ term(opr)
15. vs varname() List
16. ws varname() List
17. 0 ≤ Σ(term-size(snd(bt)) bt ∈ [<u2, u3> v])
18. ∀[a:term(opr)]
      ((term-size(a) ≤ (n 1))  (∀[b:term(opr)]. ∀[vs,ws:varname() List].  (alpha-aux(opr;vs;ws;a;b) ∈ ℙ)))
⊢ term-size(u3) ≤ (n 1)
BY
((Assert term-size(snd(<u2, u3>)) ≤ Σ(term-size(snd(bt)) bt ∈ [<u2, u3> v]) BY
          ((InstLemma `summand-le-lsum` [⌜bound-term(opr)⌝;⌜[<u2, u3> v]⌝;⌜λ2bt.term-size(snd(bt))⌝]⋅ THENA Auto)
           THEN BHyp -1
           THEN Auto))
   THEN All Reduce
   THEN Auto) }


Latex:


Latex:

1.  opr  :  Type
2.  n  :  \mBbbN{}
3.  term(opr)  \mequiv{}  coterm-fun(opr;term(opr))
4.  y1  :  opr
5.  u2  :  varname()  List
6.  u3  :  term(opr)
7.  v  :  (varname()  List  \mtimes{}  term(opr))  List
8.  inr  <y1,  [<u2,  u3>  /  v]>    \mmember{}  term(opr)
9.  (1  +  \mSigma{}(term-size(snd(bt))  |  bt  \mmember{}  [<u2,  u3>  /  v]))  \mleq{}  n
10.  y3  :  opr
11.  u4  :  varname()  List
12.  u5  :  term(opr)
13.  v1  :  (varname()  List  \mtimes{}  term(opr))  List
14.  inr  <y3,  [<u4,  u5>  /  v1]>    \mmember{}  term(opr)
15.  vs  :  varname()  List
16.  ws  :  varname()  List
17.  0  \mleq{}  \mSigma{}(term-size(snd(bt))  |  bt  \mmember{}  [<u2,  u3>  /  v])
18.  \mforall{}[a:term(opr)]
            ((term-size(a)  \mleq{}  (n  -  1))
            {}\mRightarrow{}  (\mforall{}[b:term(opr)].  \mforall{}[vs,ws:varname()  List].    (alpha-aux(opr;vs;ws;a;b)  \mmember{}  \mBbbP{})))
\mvdash{}  term-size(u3)  \mleq{}  (n  -  1)


By


Latex:
((Assert  term-size(snd(<u2,  u3>))  \mleq{}  \mSigma{}(term-size(snd(bt))  |  bt  \mmember{}  [<u2,  u3>  /  v])  BY
                ((InstLemma  `summand-le-lsum`  [\mkleeneopen{}bound-term(opr)\mkleeneclose{};\mkleeneopen{}[<u2,  u3>  /  v]\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}bt.term-size(snd(bt))\mkleeneclose{}]
                    \mcdot{}
                    THENA  Auto
                    )
                  THEN  BHyp  -1
                  THEN  Auto))
  THEN  All  Reduce
  THEN  Auto)




Home Index