Step * of Lemma member-free-vars-aux

No Annotations
[opr:Type]
  ∀t:term(opr). ∀v:varname(). ∀bnds:varname() List.
    ((v ∈ free-vars-aux(bnds;t)) ⇐⇒ (v ∈ free-vars-aux([];t)) ∧ (v ∈ bnds)))
BY
(Intro THEN BLemma `term-induction` THEN Auto) }

1
1. [opr] Type
2. {v:varname()| ¬(v nullvar() ∈ varname())} 
3. v@0 varname()
4. bnds varname() List
5. (v@0 ∈ free-vars-aux(bnds;varterm(v)))
⊢ (v@0 ∈ free-vars-aux([];varterm(v)))

2
1. opr Type
2. {v:varname()| ¬(v nullvar() ∈ varname())} 
3. v@0 varname()
4. bnds varname() List
5. (v@0 ∈ free-vars-aux(bnds;varterm(v)))
⊢ ¬(v@0 ∈ bnds)

3
1. opr Type
2. {v:varname()| ¬(v nullvar() ∈ varname())} 
3. v@0 varname()
4. bnds varname() List
⊢ free-vars-aux(bnds;varterm(v)) ∈ varname() List

4
1. [opr] Type
2. {v:varname()| ¬(v nullvar() ∈ varname())} 
3. v@0 varname()
4. bnds varname() List
5. (v@0 ∈ free-vars-aux([];varterm(v)))
6. ¬(v@0 ∈ bnds)
⊢ (v@0 ∈ free-vars-aux(bnds;varterm(v)))

5
1. opr Type
2. {v:varname()| ¬(v nullvar() ∈ varname())} 
3. v@0 varname()
4. bnds varname() List
⊢ free-vars-aux([];varterm(v)) ∈ varname() List

6
1. [opr] Type
2. bts bound-term(opr) List
3. ∀bt:bound-term(opr)
     ((bt ∈ bts)
      (∀v:varname(). ∀bnds:varname() List.
           ((v ∈ free-vars-aux(bnds;snd(bt))) ⇐⇒ (v ∈ free-vars-aux([];snd(bt))) ∧ (v ∈ bnds)))))
4. opr
5. varname()
6. bnds varname() List
7. (v ∈ free-vars-aux(bnds;mkterm(f;bts)))
⊢ (v ∈ free-vars-aux([];mkterm(f;bts)))

7
1. opr Type
2. bts bound-term(opr) List
3. ∀bt:bound-term(opr)
     ((bt ∈ bts)
      (∀v:varname(). ∀bnds:varname() List.
           ((v ∈ free-vars-aux(bnds;snd(bt))) ⇐⇒ (v ∈ free-vars-aux([];snd(bt))) ∧ (v ∈ bnds)))))
4. opr
5. varname()
6. bnds varname() List
7. (v ∈ free-vars-aux(bnds;mkterm(f;bts)))
⊢ ¬(v ∈ bnds)

8
1. [opr] Type
2. bts bound-term(opr) List
3. ∀bt:bound-term(opr)
     ((bt ∈ bts)
      (∀v:varname(). ∀bnds:varname() List.
           ((v ∈ free-vars-aux(bnds;snd(bt))) ⇐⇒ (v ∈ free-vars-aux([];snd(bt))) ∧ (v ∈ bnds)))))
4. opr
5. varname()
6. bnds varname() List
7. (v ∈ free-vars-aux([];mkterm(f;bts)))
8. ¬(v ∈ bnds)
⊢ (v ∈ free-vars-aux(bnds;mkterm(f;bts)))


Latex:


Latex:
No  Annotations
\mforall{}[opr:Type]
    \mforall{}t:term(opr).  \mforall{}v:varname().  \mforall{}bnds:varname()  List.
        ((v  \mmember{}  free-vars-aux(bnds;t))  \mLeftarrow{}{}\mRightarrow{}  (v  \mmember{}  free-vars-aux([];t))  \mwedge{}  (\mneg{}(v  \mmember{}  bnds)))


By


Latex:
(Intro  THEN  BLemma  `term-induction`  THEN  Auto)




Home Index