Step
*
2
of Lemma
rename-one-name_wf
1. I : Cname List
2. z1 : Cname
3. z2 : Cname
4. ¬(z1 ∈ I)
5. ¬(z2 ∈ I)
⊢ ∀i,j:nameset([z1 / I]).
    ((↑isname(if eq-cname(i;z1) then z2 else i fi ))
    
⇒ (↑isname(if eq-cname(j;z1) then z2 else j fi ))
    
⇒ (if eq-cname(i;z1) then z2 else i fi  = if eq-cname(j;z1) then z2 else j fi  ∈ extd-nameset([z2 / I]))
    
⇒ (i = j ∈ nameset([z1 / I])))
BY
{ TACTIC:(RepeatFor 2 ((D 0 THENA Auto))
          THEN (BoolCase ⌜eq-cname(i;z1)⌝⋅ THENA Auto)
          THEN (BoolCase ⌜eq-cname(j;z1)⌝⋅ THENA Auto)
          THEN (RWW  "isname-nameset" 0 THENA Auto)
          THEN Reduce 0
          THEN (Subst' isname(z2) ~ tt 0 THENA (All Thin THEN D 1 THEN RepUR ``isname`` 0 THEN Auto))
          THEN Reduce 0
          THEN RepeatFor 2 ((D 0 THENA Auto))) }
1
1. I : Cname List
2. z1 : Cname
3. z2 : Cname
4. ¬(z1 ∈ I)
5. ¬(z2 ∈ I)
6. i : nameset([z1 / I])
7. j : nameset([z1 / I])
8. i = z1 ∈ Cname
9. j = z1 ∈ Cname
10. True
11. True
⊢ (z2 = z2 ∈ extd-nameset([z2 / I])) 
⇒ (i = j ∈ nameset([z1 / I]))
2
1. I : Cname List
2. z1 : Cname
3. z2 : Cname
4. ¬(z1 ∈ I)
5. ¬(z2 ∈ I)
6. i : nameset([z1 / I])
7. j : nameset([z1 / I])
8. ¬(j = z1 ∈ Cname)
9. i = z1 ∈ Cname
10. True
11. True
⊢ (z2 = j ∈ extd-nameset([z2 / I])) 
⇒ (i = j ∈ nameset([z1 / I]))
3
1. I : Cname List
2. z1 : Cname
3. z2 : Cname
4. ¬(z1 ∈ I)
5. ¬(z2 ∈ I)
6. i : nameset([z1 / I])
7. ¬(i = z1 ∈ Cname)
8. j : nameset([z1 / I])
9. j = z1 ∈ Cname
10. True
11. True
⊢ (i = z2 ∈ extd-nameset([z2 / I])) 
⇒ (i = j ∈ nameset([z1 / I]))
4
1. I : Cname List
2. z1 : Cname
3. z2 : Cname
4. ¬(z1 ∈ I)
5. ¬(z2 ∈ I)
6. i : nameset([z1 / I])
7. ¬(i = z1 ∈ Cname)
8. j : nameset([z1 / I])
9. ¬(j = z1 ∈ Cname)
10. True
11. True
⊢ (i = j ∈ extd-nameset([z2 / I])) 
⇒ (i = j ∈ nameset([z1 / I]))
Latex:
Latex:
1.  I  :  Cname  List
2.  z1  :  Cname
3.  z2  :  Cname
4.  \mneg{}(z1  \mmember{}  I)
5.  \mneg{}(z2  \mmember{}  I)
\mvdash{}  \mforall{}i,j:nameset([z1  /  I]).
        ((\muparrow{}isname(if  eq-cname(i;z1)  then  z2  else  i  fi  ))
        {}\mRightarrow{}  (\muparrow{}isname(if  eq-cname(j;z1)  then  z2  else  j  fi  ))
        {}\mRightarrow{}  (if  eq-cname(i;z1)  then  z2  else  i  fi    =  if  eq-cname(j;z1)  then  z2  else  j  fi  )
        {}\mRightarrow{}  (i  =  j))
By
Latex:
TACTIC:(RepeatFor  2  ((D  0  THENA  Auto))
                THEN  (BoolCase  \mkleeneopen{}eq-cname(i;z1)\mkleeneclose{}\mcdot{}  THENA  Auto)
                THEN  (BoolCase  \mkleeneopen{}eq-cname(j;z1)\mkleeneclose{}\mcdot{}  THENA  Auto)
                THEN  (RWW    "isname-nameset"  0  THENA  Auto)
                THEN  Reduce  0
                THEN  (Subst'  isname(z2)  \msim{}  tt  0  THENA  (All  Thin  THEN  D  1  THEN  RepUR  ``isname``  0  THEN  Auto))
                THEN  Reduce  0
                THEN  RepeatFor  2  ((D  0  THENA  Auto)))
Home
Index