Step * 2 1 1 of Lemma alpha-rename-aux_wf

.....subterm..... T:t
1:n
1. opr Type
2. : ℕ
3. ∀n:ℕn
     ∀[a:term(opr)]
       ((term-size(a) ≤ n)
        (∀[bnds:varname() List]
             ∀f:{v:varname()| (v ∈ bnds all-vars(a))}  ⟶ varname()
               alpha-rename-aux(f;bnds;a) ∈ term(opr) 
               supposing ∀x:{v:varname()| (v ∈ bnds all-vars(a))} 
                           (((f x) nullvar() ∈ varname())  (x nullvar() ∈ varname()))))
4. term(opr) ≡ coterm-fun(opr;term(opr))
5. y1 opr
6. y2 (varname() List × term(opr)) List
7. inr <y1, y2>  ∈ term(opr)
8. term-size(inr <y1, y2> ) ≤ n
9. bnds varname() List
10. {v:varname()| (v ∈ bnds all-vars(inr <y1, y2> ))}  ⟶ varname()
11. ∀x:{v:varname()| (v ∈ bnds all-vars(inr <y1, y2> ))} (((f x) nullvar() ∈ varname())  (x nullvar() ∈ varnam\000Ce()))
12. y2 ∈ {bt:varname() List × term(opr)| (bt ∈ y2)}  List
13. b1 varname() List
14. b2 term(opr)
15. (<b1, b2> ∈ y2)
⊢ map(f;b1) ∈ varname() List
BY
(Enough to prove {v:varname()| (v ∈ b1)}  ⊆{v:varname()| (v ∈ bnds all-vars(inr <y1, y2> ))} 
    Because ((Assert b1 ∈ {v:varname()| (v ∈ b1)}  List BY Auto) THEN MemCD THEN Auto)) }

1
1. opr Type
2. : ℕ
3. ∀n:ℕn
     ∀[a:term(opr)]
       ((term-size(a) ≤ n)
        (∀[bnds:varname() List]
             ∀f:{v:varname()| (v ∈ bnds all-vars(a))}  ⟶ varname()
               alpha-rename-aux(f;bnds;a) ∈ term(opr) 
               supposing ∀x:{v:varname()| (v ∈ bnds all-vars(a))} 
                           (((f x) nullvar() ∈ varname())  (x nullvar() ∈ varname()))))
4. term(opr) ≡ coterm-fun(opr;term(opr))
5. y1 opr
6. y2 (varname() List × term(opr)) List
7. inr <y1, y2>  ∈ term(opr)
8. term-size(inr <y1, y2> ) ≤ n
9. bnds varname() List
10. {v:varname()| (v ∈ bnds all-vars(inr <y1, y2> ))}  ⟶ varname()
11. ∀x:{v:varname()| (v ∈ bnds all-vars(inr <y1, y2> ))} (((f x) nullvar() ∈ varname())  (x nullvar() ∈ varnam\000Ce()))
12. y2 ∈ {bt:varname() List × term(opr)| (bt ∈ y2)}  List
13. b1 varname() List
14. b2 term(opr)
15. (<b1, b2> ∈ y2)
⊢ {v:varname()| (v ∈ b1)}  ⊆{v:varname()| (v ∈ bnds all-vars(inr <y1, y2> ))} 


Latex:


Latex:
.....subterm.....  T:t
1:n
1.  opr  :  Type
2.  n  :  \mBbbN{}
3.  \mforall{}n:\mBbbN{}n
          \mforall{}[a:term(opr)]
              ((term-size(a)  \mleq{}  n)
              {}\mRightarrow{}  (\mforall{}[bnds:varname()  List]
                          \mforall{}f:\{v:varname()|  (v  \mmember{}  bnds  @  all-vars(a))\}    {}\mrightarrow{}  varname()
                              alpha-rename-aux(f;bnds;a)  \mmember{}  term(opr) 
                              supposing  \mforall{}x:\{v:varname()|  (v  \mmember{}  bnds  @  all-vars(a))\} 
                                                      (((f  x)  =  nullvar())  {}\mRightarrow{}  (x  =  nullvar()))))
4.  term(opr)  \mequiv{}  coterm-fun(opr;term(opr))
5.  y1  :  opr
6.  y2  :  (varname()  List  \mtimes{}  term(opr))  List
7.  inr  <y1,  y2>    \mmember{}  term(opr)
8.  term-size(inr  <y1,  y2>  )  \mleq{}  n
9.  bnds  :  varname()  List
10.  f  :  \{v:varname()|  (v  \mmember{}  bnds  @  all-vars(inr  <y1,  y2>  ))\}    {}\mrightarrow{}  varname()
11.  \mforall{}x:\{v:varname()|  (v  \mmember{}  bnds  @  all-vars(inr  <y1,  y2>  ))\}  .  (((f  x)  =  nullvar())  {}\mRightarrow{}  (x  =  nullvar())\000C)
12.  y2  \mmember{}  \{bt:varname()  List  \mtimes{}  term(opr)|  (bt  \mmember{}  y2)\}    List
13.  b1  :  varname()  List
14.  b2  :  term(opr)
15.  (<b1,  b2>  \mmember{}  y2)
\mvdash{}  map(f;b1)  \mmember{}  varname()  List


By


Latex:
(Enough  to  prove  \{v:varname()|  (v  \mmember{}  b1)\}    \msubseteq{}r  \{v:varname()|  (v  \mmember{}  bnds  @  all-vars(inr  <y1,  y2>  ))\} 
    Because  ((Assert  b1  \mmember{}  \{v:varname()|  (v  \mmember{}  b1)\}    List  BY  Auto)  THEN  MemCD  THEN  Auto))




Home Index