Step
*
1
of Lemma
wfbts_wf
1. opr : Type
2. sort : term(opr) ⟶ ℕ
3. arity : opr ⟶ ((ℕ × ℕ) List)
4. t : term(opr)
5. ↑wf-term(arity;sort;t)
6. ¬↑isvarterm(t)
7. f : opr
8. bts : bound-term(opr) List
9. t = mkterm(f;bts) ∈ term(opr)
10. (||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])))))
⊢ wfbts(t) ∈ (varname() List × wfterm(opr;sort;arity)) List
BY
{ ((Assert wfbts(t) = bts ∈ (bound-term(opr) List) BY
          (Unfold `wfbts` 0 THEN (RWO "-2" 0 THENA Auto) THEN RepUR ``term-bts mkterm`` 0 THEN Auto))
   THEN DupHyp (-1)
   THEN MoveToConcl (-1)
   THEN (GenConcl ⌜wfbts(t) = L ∈ (bound-term(opr) List)⌝⋅ THENA Auto)
   THEN Thin (-1)) }
1
1. opr : Type
2. sort : term(opr) ⟶ ℕ
3. arity : opr ⟶ ((ℕ × ℕ) List)
4. t : term(opr)
5. ↑wf-term(arity;sort;t)
6. ¬↑isvarterm(t)
7. f : opr
8. bts : bound-term(opr) List
9. t = mkterm(f;bts) ∈ term(opr)
10. (||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])))))
11. wfbts(t) = bts ∈ (bound-term(opr) List)
12. L : bound-term(opr) List
⊢ (L = bts ∈ (bound-term(opr) List)) 
⇒ (L ∈ (varname() List × wfterm(opr;sort;arity)) List)
Latex:
Latex:
1.  opr  :  Type
2.  sort  :  term(opr)  {}\mrightarrow{}  \mBbbN{}
3.  arity  :  opr  {}\mrightarrow{}  ((\mBbbN{}  \mtimes{}  \mBbbN{})  List)
4.  t  :  term(opr)
5.  \muparrow{}wf-term(arity;sort;t)
6.  \mneg{}\muparrow{}isvarterm(t)
7.  f  :  opr
8.  bts  :  bound-term(opr)  List
9.  t  =  mkterm(f;bts)
10.  (||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{}  wfbts(t)  \mmember{}  (varname()  List  \mtimes{}  wfterm(opr;sort;arity))  List
By
Latex:
((Assert  wfbts(t)  =  bts  BY
                (Unfold  `wfbts`  0  THEN  (RWO  "-2"  0  THENA  Auto)  THEN  RepUR  ``term-bts  mkterm``  0  THEN  Auto))
  THEN  DupHyp  (-1)
  THEN  MoveToConcl  (-1)
  THEN  (GenConcl  \mkleeneopen{}wfbts(t)  =  L\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  Thin  (-1))
Home
Index