Step
*
1
4
1
1
1
1
1
2
of Lemma
face-maps-comp-property
1. a1 : Cname
2. a2 : ℕ2
3. L : (Cname × ℕ2) List
4. ∀[I:Cname List]
     ∀y:nameset(map(λp.(fst(p));L) @ I)
       (((↑isname(face-maps-comp(L) y)) 
⇒ ((¬(y ∈ map(λp.(fst(p));L))) ∧ ((face-maps-comp(L) y) = y ∈ nameset(I))))
       ∧ ((¬↑isname(face-maps-comp(L) y))
         
⇒ ((y ∈ map(λp.(fst(p));L)) ∧ ((face-maps-comp(L) y) = outl(apply-alist(CnameDeq;L;y)) ∈ ℕ2))))
5. [I] : Cname List
6. y : nameset([a1 / (map(λp.(fst(p));L) @ I)])
7. y = a1 ∈ Cname
⊢ ((↑isname(uext(face-maps-comp(L)) a2))
⇒ ((¬(a1 ∈ [a1 / map(λp.(fst(p));L)])) ∧ ((uext(face-maps-comp(L)) a2) = a1 ∈ nameset(I))))
∧ ((¬↑isname(uext(face-maps-comp(L)) a2))
  
⇒ ((a1 ∈ [a1 / map(λp.(fst(p));L)])
     ∧ ((uext(face-maps-comp(L)) a2)
       = outl(if eqof(CnameDeq) a1 a1 then inl a2 else apply-alist(CnameDeq;L;a1) fi )
       ∈ ℕ2)))
BY
{ TACTIC:(Subst' uext(face-maps-comp(L)) a2 ~ a2 0 THENA (RepUR ``uext isname`` 0 THEN Auto)) }
1
1. a1 : Cname
2. a2 : ℕ2
3. L : (Cname × ℕ2) List
4. ∀[I:Cname List]
     ∀y:nameset(map(λp.(fst(p));L) @ I)
       (((↑isname(face-maps-comp(L) y)) 
⇒ ((¬(y ∈ map(λp.(fst(p));L))) ∧ ((face-maps-comp(L) y) = y ∈ nameset(I))))
       ∧ ((¬↑isname(face-maps-comp(L) y))
         
⇒ ((y ∈ map(λp.(fst(p));L)) ∧ ((face-maps-comp(L) y) = outl(apply-alist(CnameDeq;L;y)) ∈ ℕ2))))
5. [I] : Cname List
6. y : nameset([a1 / (map(λp.(fst(p));L) @ I)])
7. y = a1 ∈ Cname
⊢ ((↑isname(a2)) 
⇒ ((¬(a1 ∈ [a1 / map(λp.(fst(p));L)])) ∧ (a2 = a1 ∈ nameset(I))))
∧ ((¬↑isname(a2))
  
⇒ ((a1 ∈ [a1 / map(λp.(fst(p));L)])
     ∧ (a2 = outl(if eqof(CnameDeq) a1 a1 then inl a2 else apply-alist(CnameDeq;L;a1) fi ) ∈ ℕ2)))
Latex:
Latex:
1.  a1  :  Cname
2.  a2  :  \mBbbN{}2
3.  L  :  (Cname  \mtimes{}  \mBbbN{}2)  List
4.  \mforall{}[I:Cname  List]
          \mforall{}y:nameset(map(\mlambda{}p.(fst(p));L)  @  I)
              (((\muparrow{}isname(face-maps-comp(L)  y))
              {}\mRightarrow{}  ((\mneg{}(y  \mmember{}  map(\mlambda{}p.(fst(p));L)))  \mwedge{}  ((face-maps-comp(L)  y)  =  y)))
              \mwedge{}  ((\mneg{}\muparrow{}isname(face-maps-comp(L)  y))
                  {}\mRightarrow{}  ((y  \mmember{}  map(\mlambda{}p.(fst(p));L))  \mwedge{}  ((face-maps-comp(L)  y)  =  outl(apply-alist(CnameDeq;L;y))))))
5.  [I]  :  Cname  List
6.  y  :  nameset([a1  /  (map(\mlambda{}p.(fst(p));L)  @  I)])
7.  y  =  a1
\mvdash{}  ((\muparrow{}isname(uext(face-maps-comp(L))  a2))
{}\mRightarrow{}  ((\mneg{}(a1  \mmember{}  [a1  /  map(\mlambda{}p.(fst(p));L)]))  \mwedge{}  ((uext(face-maps-comp(L))  a2)  =  a1)))
\mwedge{}  ((\mneg{}\muparrow{}isname(uext(face-maps-comp(L))  a2))
    {}\mRightarrow{}  ((a1  \mmember{}  [a1  /  map(\mlambda{}p.(fst(p));L)])
          \mwedge{}  ((uext(face-maps-comp(L))  a2)
              =  outl(if  eqof(CnameDeq)  a1  a1  then  inl  a2  else  apply-alist(CnameDeq;L;a1)  fi  ))))
By
Latex:
TACTIC:(Subst'  uext(face-maps-comp(L))  a2  \msim{}  a2  0  THENA  (RepUR  ``uext  isname``  0  THEN  Auto))
Home
Index