Step
*
1
2
of Lemma
poset_functor_extend_wf
1. C : SmallCategory
2. I : Cname List
3. L : name-morph(I;[]) ⟶ cat-ob(C)
4. E : i:nameset(I) ⟶ c:{c:name-morph(I;[])| (c i) = 0 ∈ ℕ2}  ⟶ (cat-arrow(C) (L c) (L flip(c;i)))
5. n : ℕ
6. ∀n:ℕn
     ∀[c1,c2:name-morph(I;[])].
       ((||filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)|| ≤ n)
       
⇒ poset_functor_extend(C;I;L;E;c1;c2) ∈ cat-arrow(C) (L c1) (L c2) supposing ∀x:nameset(I). ((c1 x) ≤ (c2 x)))
7. c1 : name-morph(I;[])
8. c2 : name-morph(I;[])
9. ¬(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I) = [] ∈ (Cname List))
10. ||filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)|| ≤ n
11. ∀x:nameset(I). ((c1 x) ≤ (c2 x))
⊢ cat-comp(C) (L c1) (L flip(c1;hd(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)))) (L c2) 
  (E hd(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)) c1) 
  poset_functor_extend(C;I;L;E;flip(c1;hd(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)));c2) ∈ cat-arrow(C) (L c1) (L c2)
BY
{ ((InstLemma  `filter_type` [⌜nameset(I)⌝;⌜λx.((c1 x =z 0) ∧b (c2 x =z 1))⌝;⌜I⌝]⋅
   THENM (Reduce (-1) THEN GenConclTerm ⌜hd(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I))⌝⋅)
   )
   THENA (Auto THEN Unfold `nameset` 0 THEN Auto)
   ) }
1
1. C : SmallCategory
2. I : Cname List
3. L : name-morph(I;[]) ⟶ cat-ob(C)
4. E : i:nameset(I) ⟶ c:{c:name-morph(I;[])| (c i) = 0 ∈ ℕ2}  ⟶ (cat-arrow(C) (L c) (L flip(c;i)))
5. n : ℕ
6. ∀n:ℕn
     ∀[c1,c2:name-morph(I;[])].
       ((||filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)|| ≤ n)
       
⇒ poset_functor_extend(C;I;L;E;c1;c2) ∈ cat-arrow(C) (L c1) (L c2) supposing ∀x:nameset(I). ((c1 x) ≤ (c2 x)))
7. c1 : name-morph(I;[])
8. c2 : name-morph(I;[])
9. ¬(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I) = [] ∈ (Cname List))
10. ||filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)|| ≤ n
11. ∀x:nameset(I). ((c1 x) ≤ (c2 x))
12. filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I) ∈ {x:nameset(I)| ↑((c1 x =z 0) ∧b (c2 x =z 1))}  List
13. v : {x:nameset(I)| ↑((c1 x =z 0) ∧b (c2 x =z 1))} 
14. hd(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I)) = v ∈ {x:nameset(I)| ↑((c1 x =z 0) ∧b (c2 x =z 1))} 
⊢ cat-comp(C) (L c1) (L flip(c1;v)) (L c2) (E v c1) poset_functor_extend(C;I;L;E;flip(c1;v);c2) ∈ cat-arrow(C) (L c1) 
                                                                                                  (L c2)
Latex:
Latex:
1.  C  :  SmallCategory
2.  I  :  Cname  List
3.  L  :  name-morph(I;[])  {}\mrightarrow{}  cat-ob(C)
4.  E  :  i:nameset(I)  {}\mrightarrow{}  c:\{c:name-morph(I;[])|  (c  i)  =  0\}    {}\mrightarrow{}  (cat-arrow(C)  (L  c)  (L  flip(c;i)))
5.  n  :  \mBbbN{}
6.  \mforall{}n:\mBbbN{}n
          \mforall{}[c1,c2:name-morph(I;[])].
              ((||filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I)||  \mleq{}  n)
              {}\mRightarrow{}  poset\_functor\_extend(C;I;L;E;c1;c2)  \mmember{}  cat-arrow(C)  (L  c1)  (L  c2) 
                    supposing  \mforall{}x:nameset(I).  ((c1  x)  \mleq{}  (c2  x)))
7.  c1  :  name-morph(I;[])
8.  c2  :  name-morph(I;[])
9.  \mneg{}(filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I)  =  [])
10.  ||filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I)||  \mleq{}  n
11.  \mforall{}x:nameset(I).  ((c1  x)  \mleq{}  (c2  x))
\mvdash{}  cat-comp(C)  (L  c1)  (L  flip(c1;hd(filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I))))  (L  c2) 
    (E  hd(filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I))  c1) 
    poset\_functor\_extend(C;I;L;E;flip(c1;hd(filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I)));c2)
    \mmember{}  cat-arrow(C)  (L  c1)  (L  c2)
By
Latex:
((InstLemma    `filter\_type`  [\mkleeneopen{}nameset(I)\mkleeneclose{};\mkleeneopen{}\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1))\mkleeneclose{};\mkleeneopen{}I\mkleeneclose{}]\mcdot{}
  THENM  (Reduce  (-1)  THEN  GenConclTerm  \mkleeneopen{}hd(filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I))\mkleeneclose{}\mcdot{})
  )
  THENA  (Auto  THEN  Unfold  `nameset`  0  THEN  Auto)
  )
Home
Index