Step
*
1
1
of Lemma
wf-term-hereditarily-correct-sort-arity
1. [opr] : Type
2. sort : term(opr) ⟶ ℕ
3. arity : opr ⟶ ((ℕ × ℕ) List)
4. bts : bound-term(opr) List
5. ∀bt:bound-term(opr)
     ((bt ∈ bts) 
⇒ (↑wf-term(arity;sort;snd(bt)) 
⇐⇒ hereditarily(opr;s.correct-sort-arity(sort;arity;s);snd(bt))))
6. f : opr
7. (||bts|| = ||arity f|| ∈ ℤ)
∧ (∀i:ℕ||bts||
     ((||fst(bts[i])|| = (fst(arity f[i])) ∈ ℤ)
     ∧ ((sort (snd(bts[i]))) = (snd(arity f[i])) ∈ ℤ)
     ∧ (↑wf-term(arity;sort;snd(bts[i])))))
⊢ correct-sort-arity(sort;arity;mkterm(f;bts))
BY
{ (RepUR ``correct-sort-arity isvarterm term-opr term-bts mkterm let`` 0 THEN Auto) }
Latex:
Latex:
1.  [opr]  :  Type
2.  sort  :  term(opr)  {}\mrightarrow{}  \mBbbN{}
3.  arity  :  opr  {}\mrightarrow{}  ((\mBbbN{}  \mtimes{}  \mBbbN{})  List)
4.  bts  :  bound-term(opr)  List
5.  \mforall{}bt:bound-term(opr)
          ((bt  \mmember{}  bts)
          {}\mRightarrow{}  (\muparrow{}wf-term(arity;sort;snd(bt))
                \mLeftarrow{}{}\mRightarrow{}  hereditarily(opr;s.correct-sort-arity(sort;arity;s);snd(bt))))
6.  f  :  opr
7.  (||bts||  =  ||arity  f||)
\mwedge{}  (\mforall{}i:\mBbbN{}||bts||
          ((||fst(bts[i])||  =  (fst(arity  f[i])))
          \mwedge{}  ((sort  (snd(bts[i])))  =  (snd(arity  f[i])))
          \mwedge{}  (\muparrow{}wf-term(arity;sort;snd(bts[i])))))
\mvdash{}  correct-sort-arity(sort;arity;mkterm(f;bts))
By
Latex:
(RepUR  ``correct-sort-arity  isvarterm  term-opr  term-bts  mkterm  let``  0  THEN  Auto)
Home
Index