Step
*
1
of Lemma
poset_functor_extend_wf
.....assertion..... 
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)))
⊢ ∀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)))
BY
{ (CompleteInductionOnNat
   THEN Auto
   THEN RecUnfold `poset_functor_extend` 0
   THEN (CallByValueReduce 0 THENA Auto)
   THEN (BoolCase ⌜null(filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I))⌝⋅ THENA 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)|| ≤ n
10. ∀x:nameset(I). ((c1 x) ≤ (c2 x))
11. filter(λx.((c1 x =z 0) ∧b (c2 x =z 1));I) = [] ∈ (Cname List)
⊢ cat-id(C) (L c1) ∈ cat-arrow(C) (L c1) (L c2)
2
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)
Latex:
Latex:
.....assertion..... 
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)))
\mvdash{}  \mforall{}n:\mBbbN{}
        \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)))
By
Latex:
(CompleteInductionOnNat
  THEN  Auto
  THEN  RecUnfold  `poset\_functor\_extend`  0
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  (BoolCase  \mkleeneopen{}null(filter(\mlambda{}x.((c1  x  =\msubz{}  0)  \mwedge{}\msubb{}  (c2  x  =\msubz{}  1));I))\mkleeneclose{}\mcdot{}  THENA  Auto))
Home
Index