Step
*
1
of Lemma
name-morph-extend_wf
1. I : Cname List
2. J : Cname List
3. f : name-morph(I;J)
4. v : Cname
5. ¬(v ∈ I)
6. fresh-cname(I) = v ∈ {x:Cname| ¬(x ∈ I)} 
7. v1 : Cname
8. ¬(v1 ∈ J)
9. fresh-cname(J) = v1 ∈ {x:Cname| ¬(x ∈ J)} 
⊢ λx.if CnameDeq x v then v1 else f x fi  ∈ name-morph([v / I];[v1 / J])
BY
{ TACTIC:Assert ⌜extd-nameset(J) ⊆r extd-nameset([v1 / J])⌝⋅ }
1
.....assertion..... 
1. I : Cname List
2. J : Cname List
3. f : name-morph(I;J)
4. v : Cname
5. ¬(v ∈ I)
6. fresh-cname(I) = v ∈ {x:Cname| ¬(x ∈ I)} 
7. v1 : Cname
8. ¬(v1 ∈ J)
9. fresh-cname(J) = v1 ∈ {x:Cname| ¬(x ∈ J)} 
⊢ extd-nameset(J) ⊆r extd-nameset([v1 / J])
2
1. I : Cname List
2. J : Cname List
3. f : name-morph(I;J)
4. v : Cname
5. ¬(v ∈ I)
6. fresh-cname(I) = v ∈ {x:Cname| ¬(x ∈ I)} 
7. v1 : Cname
8. ¬(v1 ∈ J)
9. fresh-cname(J) = v1 ∈ {x:Cname| ¬(x ∈ J)} 
10. extd-nameset(J) ⊆r extd-nameset([v1 / J])
⊢ λx.if CnameDeq x v then v1 else f x fi  ∈ name-morph([v / I];[v1 / J])
Latex:
Latex:
1.  I  :  Cname  List
2.  J  :  Cname  List
3.  f  :  name-morph(I;J)
4.  v  :  Cname
5.  \mneg{}(v  \mmember{}  I)
6.  fresh-cname(I)  =  v
7.  v1  :  Cname
8.  \mneg{}(v1  \mmember{}  J)
9.  fresh-cname(J)  =  v1
\mvdash{}  \mlambda{}x.if  CnameDeq  x  v  then  v1  else  f  x  fi    \mmember{}  name-morph([v  /  I];[v1  /  J])
By
Latex:
TACTIC:Assert  \mkleeneopen{}extd-nameset(J)  \msubseteq{}r  extd-nameset([v1  /  J])\mkleeneclose{}\mcdot{}
Home
Index