Step * of Lemma comma-cat_wf

[A,B,C:SmallCategory]. ∀[S:Functor(A;C)]. ∀[T:Functor(B;C)].  ((S ↓ T) ∈ SmallCategory)
BY
(Auto
   THEN Unfold `comma-cat` 0
   THEN At ⌜Type⌝ MemCD⋅
   THEN Try (QuickAuto)
   THEN Try (RepeatFor (((D THENA Auto) THEN DSetVars THEN DProds THEN Reduce 0)))
   THEN Try (RepeatFor (((D THENA Auto) THEN DSetVars THEN DProds THEN Reduce 0)))) }

1
.....subterm..... T:t
3:n
1. SmallCategory
2. SmallCategory
3. SmallCategory
4. Functor(A;C)
5. Functor(B;C)
6. a:cat-ob(A) × b:cat-ob(B) × (cat-arrow(C) (ob(S) a) (ob(T) b))
⊢ let a,b,f in 
  <cat-id(A) a, cat-id(B) b> ∈ let a,b,f in 
  let a',b',f' in 
  {gh:cat-arrow(A) a' × (cat-arrow(B) b')| 
   (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b') (arrow(T) b' (snd(gh))))
   (cat-comp(C) (ob(S) a) (ob(S) a') (ob(T) b') (arrow(S) a' (fst(gh))) f')
   ∈ (cat-arrow(C) (ob(S) a) (ob(T) b'))} 

2
.....subterm..... T:t
4:n
1. SmallCategory
2. SmallCategory
3. SmallCategory
4. Functor(A;C)
5. Functor(B;C)
6. a:cat-ob(A) × b:cat-ob(B) × (cat-arrow(C) (ob(S) a) (ob(T) b))
7. a:cat-ob(A) × b:cat-ob(B) × (cat-arrow(C) (ob(S) a) (ob(T) b))
8. a:cat-ob(A) × b:cat-ob(B) × (cat-arrow(C) (ob(S) a) (ob(T) b))
9. fp let a,b,f in 
let a',b',f' in 
{gh:cat-arrow(A) a' × (cat-arrow(B) b')| 
 (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b') (arrow(T) b' (snd(gh))))
 (cat-comp(C) (ob(S) a) (ob(S) a') (ob(T) b') (arrow(S) a' (fst(gh))) f')
 ∈ (cat-arrow(C) (ob(S) a) (ob(T) b'))} 
10. gp let a,b,f in 
let a',b',f' in 
{gh:cat-arrow(A) a' × (cat-arrow(B) b')| 
 (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b') (arrow(T) b' (snd(gh))))
 (cat-comp(C) (ob(S) a) (ob(S) a') (ob(T) b') (arrow(S) a' (fst(gh))) f')
 ∈ (cat-arrow(C) (ob(S) a) (ob(T) b'))} 
⊢ let a,b,x in 
  let a',b',x' in 
  let a'',b'',x'' in 
  let f,g fp 
  in let f',g' gp 
     in <cat-comp(A) a' a'' f', cat-comp(B) b' b'' g'> ∈ let a,b,f in 
  let a',b',f' in 
  {gh:cat-arrow(A) a' × (cat-arrow(B) b')| 
   (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b') (arrow(T) b' (snd(gh))))
   (cat-comp(C) (ob(S) a) (ob(S) a') (ob(T) b') (arrow(S) a' (fst(gh))) f')
   ∈ (cat-arrow(C) (ob(S) a) (ob(T) b'))} 

3
1. SmallCategory
2. SmallCategory
3. SmallCategory
4. Functor(A;C)
5. Functor(B;C)
6. cat-ob(A)
7. cat-ob(B)
8. x2 cat-arrow(C) (ob(S) a) (ob(T) b)
9. a1 cat-ob(A)
10. b1 cat-ob(B)
11. y2 cat-arrow(C) (ob(S) a1) (ob(T) b1)
12. f1 cat-arrow(A) a1
13. f2 cat-arrow(B) b1
14. [%1] (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b1) x2 (arrow(T) b1 (snd(<f1, f2>))))
(cat-comp(C) (ob(S) a) (ob(S) a1) (ob(T) b1) (arrow(S) a1 (fst(<f1, f2>))) y2)
∈ (cat-arrow(C) (ob(S) a) (ob(T) b1))
⊢ (<cat-comp(A) a1 (cat-id(A) a) f1, cat-comp(B) b1 (cat-id(B) b) f2>
= <f1, f2>
∈ {gh:cat-arrow(A) a1 × (cat-arrow(B) b1)| 
   (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b1) x2 (arrow(T) b1 (snd(gh))))
   (cat-comp(C) (ob(S) a) (ob(S) a1) (ob(T) b1) (arrow(S) a1 (fst(gh))) y2)
   ∈ (cat-arrow(C) (ob(S) a) (ob(T) b1))} )
∧ (<cat-comp(A) a1 a1 f1 (cat-id(A) a1), cat-comp(B) b1 b1 f2 (cat-id(B) b1)>
  = <f1, f2>
  ∈ {gh:cat-arrow(A) a1 × (cat-arrow(B) b1)| 
     (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b1) x2 (arrow(T) b1 (snd(gh))))
     (cat-comp(C) (ob(S) a) (ob(S) a1) (ob(T) b1) (arrow(S) a1 (fst(gh))) y2)
     ∈ (cat-arrow(C) (ob(S) a) (ob(T) b1))} )

4
1. SmallCategory
2. SmallCategory
3. SmallCategory
4. Functor(A;C)
5. Functor(B;C)
6. cat-ob(A)
7. cat-ob(B)
8. x2 cat-arrow(C) (ob(S) a) (ob(T) b)
9. a1 cat-ob(A)
10. b1 cat-ob(B)
11. y2 cat-arrow(C) (ob(S) a1) (ob(T) b1)
12. a2 cat-ob(A)
13. b2 cat-ob(B)
14. z2 cat-arrow(C) (ob(S) a2) (ob(T) b2)
15. a3 cat-ob(A)
16. b3 cat-ob(B)
17. w2 cat-arrow(C) (ob(S) a3) (ob(T) b3)
18. f1 cat-arrow(A) a1
19. f2 cat-arrow(B) b1
20. (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b1) x2 (arrow(T) b1 (snd(<f1, f2>))))
(cat-comp(C) (ob(S) a) (ob(S) a1) (ob(T) b1) (arrow(S) a1 (fst(<f1, f2>))) y2)
∈ (cat-arrow(C) (ob(S) a) (ob(T) b1))
21. g1 cat-arrow(A) a1 a2
22. g2 cat-arrow(B) b1 b2
23. (cat-comp(C) (ob(S) a1) (ob(T) b1) (ob(T) b2) y2 (arrow(T) b1 b2 (snd(<g1, g2>))))
(cat-comp(C) (ob(S) a1) (ob(S) a2) (ob(T) b2) (arrow(S) a1 a2 (fst(<g1, g2>))) z2)
∈ (cat-arrow(C) (ob(S) a1) (ob(T) b2))
24. h1 cat-arrow(A) a2 a3
25. h2 cat-arrow(B) b2 b3
26. (cat-comp(C) (ob(S) a2) (ob(T) b2) (ob(T) b3) z2 (arrow(T) b2 b3 (snd(<h1, h2>))))
(cat-comp(C) (ob(S) a2) (ob(S) a3) (ob(T) b3) (arrow(S) a2 a3 (fst(<h1, h2>))) w2)
∈ (cat-arrow(C) (ob(S) a2) (ob(T) b3))
⊢ <cat-comp(A) a2 a3 (cat-comp(A) a1 a2 f1 g1) h1, cat-comp(B) b2 b3 (cat-comp(B) b1 b2 f2 g2) h2>
= <cat-comp(A) a1 a3 f1 (cat-comp(A) a1 a2 a3 g1 h1), cat-comp(B) b1 b3 f2 (cat-comp(B) b1 b2 b3 g2 h2)>
∈ {gh:cat-arrow(A) a3 × (cat-arrow(B) b3)| 
   (cat-comp(C) (ob(S) a) (ob(T) b) (ob(T) b3) x2 (arrow(T) b3 (snd(gh))))
   (cat-comp(C) (ob(S) a) (ob(S) a3) (ob(T) b3) (arrow(S) a3 (fst(gh))) w2)
   ∈ (cat-arrow(C) (ob(S) a) (ob(T) b3))} 


Latex:


Latex:
\mforall{}[A,B,C:SmallCategory].  \mforall{}[S:Functor(A;C)].  \mforall{}[T:Functor(B;C)].    ((S  \mdownarrow{}  T)  \mmember{}  SmallCategory)


By


Latex:
(Auto
  THEN  Unfold  `comma-cat`  0
  THEN  At  \mkleeneopen{}Type\mkleeneclose{}  MemCD\mcdot{}
  THEN  Try  (QuickAuto)
  THEN  Try  (RepeatFor  7  (((D  0  THENA  Auto)  THEN  DSetVars  THEN  DProds  THEN  Reduce  0)))
  THEN  Try  (RepeatFor  3  (((D  0  THENA  Auto)  THEN  DSetVars  THEN  DProds  THEN  Reduce  0))))




Home Index