Step
*
3
of Lemma
member-free-vars-aux-not-bound
1. opr : Type
2. bts : bound-term(opr) List
3. ∀bt:bound-term(opr)
     ((bt ∈ bts) 
⇒ (∀bnds:varname() List. ∀v:varname().  ((v ∈ free-vars-aux(bnds;snd(bt))) 
⇒ (¬(v ∈ bnds)))))
4. f : opr
5. bnds : varname() List
6. v : varname()
7. (v ∈ free-vars-aux(bnds;mkterm(f;bts)))
⊢ ¬(v ∈ bnds)
BY
{ (Unfold `free-vars-aux` -1
   THEN Reduce -1
   THEN (RWO "member-l-union-list" (-1) THENA Auto)
   THEN (RWO "member-map" (-1) THENA Auto)
   THEN Reduce -1
   THEN ExRepD) }
1
1. opr : Type
2. bts : bound-term(opr) List
3. ∀bt:bound-term(opr)
     ((bt ∈ bts) 
⇒ (∀bnds:varname() List. ∀v:varname().  ((v ∈ free-vars-aux(bnds;snd(bt))) 
⇒ (¬(v ∈ bnds)))))
4. f : opr
5. bnds : varname() List
6. v : varname()
7. l : varname() List
8. y : bound-term(opr)
9. (y ∈ bts)
10. l = let vs,a = y in free-vars-aux(rev(vs) + bnds;a) ∈ (varname() List)
11. (v ∈ l)
⊢ ¬(v ∈ bnds)
Latex:
Latex:
1.  opr  :  Type
2.  bts  :  bound-term(opr)  List
3.  \mforall{}bt:bound-term(opr)
          ((bt  \mmember{}  bts)
          {}\mRightarrow{}  (\mforall{}bnds:varname()  List.  \mforall{}v:varname().    ((v  \mmember{}  free-vars-aux(bnds;snd(bt)))  {}\mRightarrow{}  (\mneg{}(v  \mmember{}  bnds)))))
4.  f  :  opr
5.  bnds  :  varname()  List
6.  v  :  varname()
7.  (v  \mmember{}  free-vars-aux(bnds;mkterm(f;bts)))
\mvdash{}  \mneg{}(v  \mmember{}  bnds)
By
Latex:
(Unfold  `free-vars-aux`  -1
  THEN  Reduce  -1
  THEN  (RWO  "member-l-union-list"  (-1)  THENA  Auto)
  THEN  (RWO  "member-map"  (-1)  THENA  Auto)
  THEN  Reduce  -1
  THEN  ExRepD)
Home
Index