Step
*
1
2
1
of Lemma
name-morph-decomp
1. I : Cname List
2. J : Cname List
3. f : name-morph(I;J)
4. ∀[f@0:{x:nameset(I)| ↑¬bisname(f x)}  ⟶ (Cname × ℕ2)]. (mapfilter(f@0;λx.(¬bisname(f x));I) ∈ (Cname × ℕ2) List)
5. mapfilter(λx.<x, f x>λx.(¬bisname(f x));I) ∈ (Cname × ℕ2) List
⊢ ∃K:Cname List
   (nameset(I) ≡ nameset(map(λp.(fst(p));mapfilter(λx.<x, f x>λx.(¬bisname(f x));I)) @ K)
   ∧ (∃g:nameset(K) ⟶ nameset(J)
       (Inj(nameset(K);nameset(J);g)
       ∧ (f = (face-maps-comp(mapfilter(λx.<x, f x>λx.(¬bisname(f x));I)) o degeneracy-map(g)) ∈ name-morph(I;J)))))
BY
{ (Subst' map(λp.(fst(p));mapfilter(λx.<x, f x>λx.(¬bisname(f x));I)) ~ filter(λx.(¬bisname(f x));I) 0
   THENA (RepUR ``mapfilter`` 0
          THEN (RWO "map-map" 0 THENA Auto)
          THEN RepUR ``compose`` 0
          THEN RWO "map-id" 0
          THEN Try ((BLemma `filter_wf_top`  THEN Try (Fold `nameset` 0) THEN Auto))
          THEN Auto)
   ) }
1
1. I : Cname List
2. J : Cname List
3. f : name-morph(I;J)
4. ∀[f@0:{x:nameset(I)| ↑¬bisname(f x)}  ⟶ (Cname × ℕ2)]. (mapfilter(f@0;λx.(¬bisname(f x));I) ∈ (Cname × ℕ2) List)
5. mapfilter(λx.<x, f x>λx.(¬bisname(f x));I) ∈ (Cname × ℕ2) List
⊢ ∃K:Cname List
   (nameset(I) ≡ nameset(filter(λx.(¬bisname(f x));I) @ K)
   ∧ (∃g:nameset(K) ⟶ nameset(J)
       (Inj(nameset(K);nameset(J);g)
       ∧ (f = (face-maps-comp(mapfilter(λx.<x, f x>λx.(¬bisname(f x));I)) o degeneracy-map(g)) ∈ name-morph(I;J)))))
Latex:
Latex:
1.  I  :  Cname  List
2.  J  :  Cname  List
3.  f  :  name-morph(I;J)
4.  \mforall{}[f@0:\{x:nameset(I)|  \muparrow{}\mneg{}\msubb{}isname(f  x)\}    {}\mrightarrow{}  (Cname  \mtimes{}  \mBbbN{}2)]
          (mapfilter(f@0;\mlambda{}x.(\mneg{}\msubb{}isname(f  x));I)  \mmember{}  (Cname  \mtimes{}  \mBbbN{}2)  List)
5.  mapfilter(\mlambda{}x.<x,  f  x>\mlambda{}x.(\mneg{}\msubb{}isname(f  x));I)  \mmember{}  (Cname  \mtimes{}  \mBbbN{}2)  List
\mvdash{}  \mexists{}K:Cname  List
      (nameset(I)  \mequiv{}  nameset(map(\mlambda{}p.(fst(p));mapfilter(\mlambda{}x.<x,  f  x>\mlambda{}x.(\mneg{}\msubb{}isname(f  x));I))  @  K)
      \mwedge{}  (\mexists{}g:nameset(K)  {}\mrightarrow{}  nameset(J)
              (Inj(nameset(K);nameset(J);g)
              \mwedge{}  (f  =  (face-maps-comp(mapfilter(\mlambda{}x.<x,  f  x>\mlambda{}x.(\mneg{}\msubb{}isname(f  x));I))  o  degeneracy-map(g))))))
By
Latex:
(Subst'  map(\mlambda{}p.(fst(p));mapfilter(\mlambda{}x.<x,  f  x>\mlambda{}x.(\mneg{}\msubb{}isname(f  x));I)) 
  \msim{}  filter(\mlambda{}x.(\mneg{}\msubb{}isname(f  x));I)  0
  THENA  (RepUR  ``mapfilter``  0
                THEN  (RWO  "map-map"  0  THENA  Auto)
                THEN  RepUR  ``compose``  0
                THEN  RWO  "map-id"  0
                THEN  Try  ((BLemma  `filter\_wf\_top`    THEN  Try  (Fold  `nameset`  0)  THEN  Auto))
                THEN  Auto)
  )
Home
Index