
Russian: 
Кажется, нужно сделать дополнение к уже сказанному о терминальных объектах. 
Я ничего не сказал об исходящих стрелках из терминального объекта. 
Я говорил о входящих стрелках в терминальный, что они уникальны для каждого объекта. 
Это не значит, что исходящих нет, на деле, обычно есть стрелки из терминального объекта, и это те стрелки, что помогают нам определить
_глобальные элементы_ в других объектах. 
[Здесь они названы обобщёнными, это неверно, см.  https://ncatlab.org/nlab/show/global+element]
Каждая стрелка из терминального объекта в другой объект определяет глобальный элемент того объекта. 

English: 
So there was a question.  Maybe I should add one more thing
to what I said about terminal objects. 
There is nothing I said about
outgoing arrows from the terminal object. 
I talked about incoming arrows to the terminal object - they have to be unique from every object, right? 
It doesn't mean that there are no outgoing arrows and in fact there are usually
outgoing arrows from the terminal object and these are the arrows that help us define these generalized
elements in other objects, right?   Every arrow from a terminal object to another object
is a definition of a generalized element in this other object

English: 
because this is what we what happens instead when you when you map a singleton set
into some other set. 
That's equivalent of picking one element and saying this
element of the singleton set is mapped into this particular element
of the
other set, so it's picking another...
There are many morphisms - each of them takes a different element, right? 
So you can generalize it to any category and say if I have a terminal object in my category then a
morphism from terminal object to any other object
Is sort of like taking an element right? 
I don't know really what an element is
This is as close as like as I can come to say this is a generalized element
And this is why it's important because like if you want to have a category that sort of is like Set category

Russian: 
Так оно ведёт себя на множествах, когда вы отображаете одноэлементное в какое-то другое, это эквивалентно выбору элемента того множеста
"Вот этот элемент одноэлементного множества отображается вот в тот конкретный элемент другого множества"
Это выбор элемента.  Есть много таких морфизмов, и каждый выбирает разный элемент. 
Это можно обобщить для любой категории с терминальным объектом: морфизм из терминального в любой другой объект
это примерно как выбор элемента.  Я не знаю, что такое элемент, но это самое близкое к тому, чтобы называться глобальным элементом. 
Поэтому-то это важно, если вам нужна категория, похожая на категорию множеств,

English: 
There is a bunch of categories that have similar properties as the category of sets
You know so there are certain things that you would like to have in them and one of these things is being able to
Having a terminal object because the terminal object gives you this way of picking elements, okay? 
Okay, so now let's talk
We have we have now two examples of universal constructions
the terminal object and the initial object
and
And I was kind of talking a lot about the terminal object right, but when I was talking about the initial object
I was sort of like just
Waiting my hand saying well do you do the same thing as with the terminal object just reverse the arrows right? 
it's like a lot of this stuff is just

Russian: 
есть куча категорий с похожими свойствами, как у категории множеств. 
Есть кой-какие вещи, которые бы вы хотели в них увидеть, и одна из них - существование терминального объекта. 
Терминальный объект даёт вам возможность выбирать элементы. 
Теперь давайте поговорим о...
У нас есть два примера универсальных конструкций: терминальный и инициальный объекты. 
О терминальном я много говорил, а про инициальный лишь махал руками и советовал обратить стрелки. 

Russian: 
Это всё очень скучно рассказывать, просто обратите стрелки и получите другую конструкцию. 
Оказывается, у этого трюка с обращением стрелок намного более глубокий смысл. 
У любой конструкции в теории категорий есть дуальная конструкция, получаемая обращением стрелок. 
Если вы определили терминальный объект, определение инициального получаете бесплатно, повторив всё с обратным стрелками. 

English: 
simple.    Boring stuff, right?   Because it just happens when you reverse the arrows you get the other one
So it turns out that this trick - this trick  with reversing arrows - actually is a much
Has a much deeper meaning
Okay? 
every
construction in Category Theory actually has
Its opposite construction that is done by reversing arrows. 
So if you if you define terminal object, you know you get for free the definition of the initial object
by just repeating the same thing, but we with inverted arrows and
this property is related to the fact that
for any category
You can always
create a

Russian: 
Это свойство связано с тем, что для любой категории всегда можно создать новую, тождественную оригинальной,
но все стрелки в ней обращены. 
Вот у вас категория C, какие-то объекты a, b, стрелка a -> b итд, это пример. 
_Дуальная категория_ обозначается обычно C^op
Она получается из заданной категории.  В ней те же объекты, тот же a, тот же b.
И если тут есть f, то здесь есть стрелка в обратном направлении. 
Обозначается f^op
Каждой стрелке f :: a -> b соответствует стрелка
f^op :: b -> a

English: 
new category in
Which which is identical to the other category, but with all the arrows reversed, right? 
So you have a category C., right?   You have some objects a, b...
You have an arrow from a to b. And so on there's an example, right? 
The opposite category, it's called C^op
usually
It's obtained from this category
It has the same
objects so we have the same a, the same b...
and if this was f, right?  This arrow is called f
We have an arrow going in the opposite direction
We call it f^op
Okay? 
So f so to every arrow f here from a to b
there is an arrow f^op going from b to a

English: 
Alright? 
Now how do we know this is a category - wait a moment.   I said just this is a category - is this a category? 
Can you just add another
object and then try to compose it? 
Right.   So we have to think about composition, right?  So what happens if I have an object c and some g here, right? 
Yeah, let me make this category a little bigger
So we have an object c now the opposite of g will go this way
the composition of g after f
Goes this way from a to c, right?   Now if I map this stuff

Russian: 
Откуда мы знаем, что это категория?  Погодите-ка, я сказал, что это категория.  А так ли это? 
Ага.  Нужно подумать о композиции.  Что получится, если есть ещё объект c и какая-то стрелка g.
Ну-ка, сделаю категорию побольше. 
Вот у нас объект c
Дуальная g пойдёт вот так. 

English: 
To be opposite to category, I will have (g after f)^op
All right, so this arrow is mapped to this arrow that goes from c to a so
the trick is that when I reverse all the arrows I also have to reverse the direction of
composition, right?   So (g after f)^op
is a composition of f^op
after
g^op, right? 
Because the end of g^op is b, the beginning of f^op is b. I can compose them, right?  Then I get this one
So but notice that this this was g after f and this is f^op after g^op, ok?  I have inverted
the order

Russian: 
Композиция g∘f :: a -> c, если я её отображу в дуальную категорию, получу (g∘f)^op
Эта стрелка отображается в эту, что идёт c -> a
Трюк в том, что при обращении стрелок обращается и направление композиции. 
(g∘f)^op = f^op ∘ g^op
Т.к.  конец g^op это b, начало f^op это b, я могу их скомпоновать и получить вот эту стрелку. 
Заметьте, что тут было g∘f, а тут f^op ∘ g^op,
порядок обратный. 

Russian: 
В остальном же, это абсолютно нормальная категория, ассоциативность очевидна.  Что будет с тождеством? 
Ну если обратить тождество, получите опять тождество. 
Это всё тривиально. 
Для любой категории есть дуальная, где стрелки идут наоборот. 
Это очень полезная вещь.  Вместо того, чтобы определять иницальный объект, я бы мог просто сказать:
"Иницальный объект это терминальный объект в дуальной категории." 
Потому что в дуальной категории стрелки идут наоборот. 
Терминальный объект в дуальной категории, положим, вот этот.  Он же тогда инициальный в этой категории. 

English: 
But other than that, it's a perfectly good category.  I mean associativity is automatic here
What happens to unit - to identity? 
Well the identity when you invert the identity you get their identity, right? 
So that's kind of trick
Okay
So for every category you have the opposite category and in this opposite category the arrows go the opposite way, right? 
This is a very useful thing so
instead of me saying
"let's now define an initial object", I could have just say
Initial object is defined as the terminal object in the opposite category, right? 
that's it, because in the opposite category the arrows go the opposite way and
the terminal object in the opposite category will be this guy,  right?   And this is an initial object in this category. 

English: 
So there's there are a lot of constructions like this
Right word you just say well now let's go to your office of the category, and that's it
and I usually
Will will actually describe in more detail what happens in the opposite category because it's an interesting construction
It doesn't mean it's trivial.  You know I mean the difference between a
terminal object and an initial object is huge right? 
It's an empty set and a singleton set they have completely different properties
so continuing this story of
this ancient civilization that knew
set theory
And then they forgot everything about it and now they have category theory and only know about arrows and stuff, right? 

Russian: 
Полным-полно таких конструкций, в которых просто переходите к дуальной категории. 
Обычно я буду в деталях объяснять, что происходит в дуальной категории, потому как это интересная конструкция. 
Это не значит, что она тривиальна.  Разница между терминальным и инициальным объектами огромна. 
Это пустое и одноэлементное множества, у них совершенно различные свойства. 
Продолжая эту историю о древней цивилизации, где знали теорию множеств,
а потом забыли всё о ней, теперь у них теория категорий, они понимают только стрелки и прочее. 

English: 
They discover one day that the ancients knew - had something called
Cartesian product
ok
And what was it you know, so? 
Cartesian product in terms of elements they knew that, the ancients, but they never wrote it down so we don't know about it
But what they were thinking is that a Cartesian product of two sets right?  It's a it's - I think you have one set a
and another set b, you know?  You take an element from
one set and then one from some other set and you form a pair
you want e_2 and the set of all these pairs is called the Cartesian product of
these two, right?   And we have examples of
Cartesian products - for instance a
plane is a Cartesian product of two axes, right? 

Russian: 
Как-то раз они обнаружили, что древние знали что-то, называемое "декартовым произведением". 
Что же это было? 
Декартово произведение на языке элементов, древние это знали, но так и не записали , так что нам ничего не известно об этом. 
Они думали, что декартово произведение двух множеств это...
Положим, у вас есть множество a и другое множество b.
Берёте элемент из одного множества и элемент другого, формируете из них пару. 
(e1, e2)
И множество всех таких пар называется декартовым произведением. 
[тех двух множеств]
У нас есть примеры декартовых произведений.  Например, плоскость является декартовым произведением двух осей. 

Russian: 
У нас есть иксы на одной оси, игреки на другой, пара (x, y) тогда соответствует точке. 
Я часто буду рисовать что-то такое:
Это один объект, это другой, а вот их декартово произведение. 
В некотором смысле, у вас есть вот это. 
Точка в декартовом произведении соответствует паре точек в [неразборчиво]
Но мы уже забыли это всё, сейчас читаем эти древние свитки, в них указано,
что декартово произведение обладает некоторыми свойствами. 
И они выражаются на языке стрелок, функций. 

English: 
So we have the x's from one axis and the y's from another one and the pair (x, y)
corresponds to a point in there.   So I often will be drawing stuff like you know
This is one object.  This is another object.  This is a Cartesian product, right? 
Because in a sense you have this - right? -   the point in a Cartesian product
corresponds to a pair of points in the others
But we have already forgotten about this stuff, and now we are reading these these ancient
scrolls and
they say
This this Cartesian product has some properties, right? 
that are expressed in terms of
arrows, functions, right? 
Like,  what are the properties of the Cartesian product, that we can

Russian: 
Какие функции декартова произведения можно выразить в терминах функций? 
Для любого декартова произведения двух множеств существуют две специальные функции, называемые _проекциями_. 
На языке программирования, в Haskell мы их называем fst [first] и snd [second]
Древние нам сказали, что для любого декартова произведения a×b существует две стрелки fst, snd
Одна отображает его в a, другая в b.
fst :: (a, b) -> a
snd :: (a, b) -> b

English: 
express in terms of functions
What there are - for every Cartesian product of two sets...
There are these two special functions called projections, okay? 
In in a programming language like in Haskell, we've we call them
first
fsd and snd
second okay
so the ancients told us that there are these - for every Cartesian product - you know
of a cross b
There are these two arrows of first and second
that this one maps it to a, and this one maps it to b.
Well actually I should draw this as a point because now we are in a category.  I don't even know - this is like an

Russian: 
Вообще мне бы их лучше нарисовать точками, потому как мы теперь в категории, это просто объекты. 
Этот объект называется a×b
И я только знаю, что есть эти стрелки. 
Это всё, что известно. 
Так что угодно может называться декартовым произведением,
Это шаблон, у нас два множества или два объекта
a и b
И есть ещё объект, что прикидывается... Я его пока назову просто c,
я ж пока не знаю, является ли он декартовым произведением. 
Я думаю, он может быть декартовым произведением. 
Единственное, что известно - есть две функции. 
Назову их p и q
Вот у меня есть такой шаблон, в нём a и b зафиксированы. 

English: 
object, right?   this is an object called a plus b
And I just know that there are these arrows, ok? 
It's all we know
It's like anything can be called a Cartesian product.  I mean
That's that's a pattern right.  We have two sets a and b - or two objects a and b
Then we have an object that pretends to be
I'll just call it c now, because I don't know if this is a Cartesian product or not right? 
I think it might be a cartesian product all I know is it has these two functions
Well, maybe I'll call them p and q, okay? 
And I'm saying okay.  I have this pattern I mean a and b are fixed

Russian: 
Но шаблон такой - возьмите объект c, из которого есть две стрелки, одна идёт в a, другая - в b
Это мой шаблон.  Нарисую их чёрным цветом, это фиксированная часть шаблона. 
Другая часть подвижна. 
Где ещё цвет? 
Таких может быть много, я ведь знаю только, что есть объект, из которого по стрелке в a и b.
Это может быть что угодно. 
Один из них - моё декартово произведение.  Но какой? 
Вот этих много. 

English: 
Right, but the pattern is - pick an object c that has two
arrows one going to a, one going to b
Right, so this is my pattern
let me make sure to change the color and
I'll draw this in black because this is fixed part of the pattern right? 
the other part is is
flexible right?   So do I have another color? 
Well okay, so so there could be many such things
because I don't know anything else about this pattern
other than it's an object and two arrows going to a and b.
It could be anything
Right?  Now one of them is
my Cartesian product.   But which one? 

English: 
Right?   I have lots of these guys. 
So second c_1, c_2, you know, p_1 and p_2, and so on.  I have lots of these. 
And if I could look inside, I would know - oh!  this is my Cartesian product because it's just the pairs right
but if I can't look inside, how do I know which one is the correct one and
of course the universal construction to the rescue
I have to be able to rank them
I have to be able to say you know this candidate for a Cartesian product
Is better than another candidate. 
So how do we rank these things? 

Russian: 
Если бы я мог заглянуть внутрь, то понял бы, а, вот это моё декартово произведение, т.к.  это просто пары. 
Но если не могу, как понять, какой из них правильный? 
Конечно же, универсальная конструкция спешит на помощь! 
Мне нужно уметь их ранжировать. 
Нужно понимать, что вот этот кандидат в декартовы произведения лучше, чем другой. 
Как же их ранжировать? 

Russian: 
Положим, есть c и c'
Это p и q, два морфизма, давайте их звать проекциями. 
Это p' и q'.  И тут мы сравниваем. 
Мы говорим, что c лучше, чем c', если существует морфизм m :: c' -> c
Это похоже на то, как мы ранжировали терминальные и инициальные объекты, там был просто морфизм между кандидатами. 
Просто стрелка между ними. 
Как и раньше, мы налагаем ограничение - стрелка должна быть уникальна. 
Так что уникальная стрелка c' -> c

English: 
So let's say we have c and c'
So this is p and q
these are the two morphisms, p and q, these two projections
let's call them projections, and this is p' and this is q', okay? 
And we are comparing these we are saying that c is better than c'
if
there is a morphism - let's call it m - from c' to c
Okay, so this is sort of similar to what we did by with ranking our for the terminal object and the initial object
let's just say that there is a morphism that maps them, right? 
So there is an arrow between them
right and just like previously
We impose the condition that this arrow is unique
okay, so a
unique arrow from c' to c
Is this enough

Russian: 
Достаточно ли этого, чтобы найти лучшее совпадение? 
Нет, всё ещё нет.  Ведь мы так ничего и не сказали об этих проекциях. 
Мы не только должны уметь сказать, что этот объект лучше, потому что есть морфизм в него, но и проекции должны быть лучше. 
Условие для проекций такое: если вы пройдёте по p∘m, то получите p'.  Так же и для q, q'. 

English: 
to pick the best fit
No.   Still no, because we haven't talked anything about these projections, right? 
We also have to have a way of saying not only this object is better
And it's because there is a morphism going into it, but also these projections are better
so the conditions for the projections
are that
If you go q after m,  or p after m -  if you go p after m
then you have to get p'
So p after m must be equal to p'
q after m must be equal to q'
Okay

English: 
so
to summarize
c is better than c'
If there is a unique morphism m from c' to c
such that
this is true
Now what? 
This how do we read this? 
Right?   I mean if this were multiplication then you would say
p' factorizes
into p times m, and q' factorizes into q times m
so p' and q'  have have a common factor - m
right? 
So I can like extract the common factor from p' and q'
So my morphism is really special - this morphism is special.  It's a unique morphism that
factorizes these two projections

Russian: 
Кратко повторю: c лучше, чем c', если существует уникальный морфизм m :: c' -> c такой, что вот это верно. 
Как это вообще прочесть? 
Если бы это было умножение, можно было бы сказать, что p' факторизуется как p и m,
q' факторизуется как q и m.
У p' и q' есть "общий множитель" m.
Т.е.  я могу извлечь "общий множитель" из p' и q'. 
Мой морфизм особый, это уникальный морфизм, факторизующий эти две проекции. 

Russian: 
Он как бы берёт худшее из этих проекций, собирает в себе
и говорит: "Ну теперь у вас есть хорошие, настоящие проекции, дающие тот же результат." 
Почему я говорю, что берёт худшее?  Потому как если посмотреть на разных кандидатов,
тут работает принцип золотой середины, некоторые кандидаты слишком большие,  другие слишком маленькие, они не подходят. 
И этот морфизм, как и любой другой, может уничтожать информацию, сжимать что-то, проецировать две вещи в одну,

English: 
So it like takes the worst out of these two projections
condenses them
And then says now you can do your nice thing and do the real projections, right? 
And you'll get the same result
Now why am I saying that this is the worst thing that happens?   Because if you look at different candidates
you know it's it's it's like the the Goldilocks principle some candidates are just too big
other candidates are just too small.  They don't fit, right? 
And this morphism
like
any other morphism it can
lose information, right?   So it can shrink stuff
you know it can project two things into one you can squeeze
It doesn't cover the whole thing here like think about

Russian: 
стягивать, он не покрывает всё  здесь.  Вспомните об инъекциях, сюръекциях итд. 
Вся эта неинъективность и несюръективность сконцентрирована в этом m, он настоящий проходимец. 
Он творит всю эту неинъективно-несюръективную беду. 
У этих ребят свои пороки.  И m концентрирует все пороки в одном месте. 
p - хорошая, чистая проекция, но если к ней добавить вот эту мерзкую бяку, получите плохую проекцию p'
Я покажу вам примеры, а то это пока только сказки. 

English: 
injections and surjections, and so on so like all this non-injectivity, non-surjectivity
is concentrated in this m. This is a bad guy, right? 
It does all this ugly non-injective, non-surjective stuff
And these guys have their vices too and this guy just
concentrates all these vices in one place and
says you know, p is this nice clean projection
Right, but if you add to it this ugliness, then you will get this bad projection p'
Okay, I'll give you examples because this is like, you know, just storytelling
So let's let's pick a few so like the real
So now go let's go to program right so the real product of a and b is a pair

English: 
maybe
right the type in Haskell
this is this is a type - if you are C++ programmer than you will probably say pair of a and b
That's the type
right? 
And in Haskell it's just a comma, that's the type of pair
And we have these two functions first
which takes a pair a
and we don't care what's this.   This is like a wild card here and returns a.  And second -
takes a wild card here that doesn't matter, b - and returns b, right? 
So it takes the first component and this one takes the second component of the pair.   And this is the real
problem, that's the good one
Okay now

Russian: 
Давайте вернёмся к программированию.  Настоящее произведение a и b это пара (a, b).  Это тип, в Haskell это тип. 
Если вы программируете на C++, скорее всего, напишете pair, такой тип. 
В Haskell это просто (a, b) - тип пары. 
И есть две функции: fst, что берёт пару a и без разницы чего ещё
[знаком '_' обозначается подстановка чего угодно]
возвращает a, и функция snd аналогично забивает на первый элемент пары, возвращает второй. 
Они выбирают соответствующий компонент пары. 
И это настоящее произведение.  Оно хорошее. 

Russian: 
Теперь давайте покажу плохие произведения. 
Сначала выберу типы a и b, для простоты.  Положим a это Int, b это Bool. 
Выбираем эти два объекта, теперь смотрим на кандидатов.  Кандидатом в произведение, очень-очень фиговым, будет просто Int. 
Это совсем не похоже на произведение Int и Bool, даже не близко. 
Произведением их будет пара (Int, Bool), это я знаю. 
Вот этот плохой. 

English: 
Let me give you some bad problems, okay? 
int
Okay, no first first let me pick some two types a and b. Just you know for
simplicity let's let's say a is Int and
b is Bool
So we picked these two objects and now we are looking at candidates, okay? 
So a candidate for a product a really bad candidate is - Int
right
That doesn't look like a product of Int and Bool at all.   The product of Int and Bool is a pair - (Int, Bool). 
I know that, right?   This guy is bad. 
But it says "hey, I have projections too!",  right? 

English: 
Like is there a function - let's say let's call it p you know that takes Int
and
produces an Int
Right like the first here would produce an Int.  So yeah. 
We can define p as identity right? 
It just takes an Int and returns an Int, fine. 
What about the second one the q, okay?   This guy has to take an Int
and
return a boolean, right? 
Just like second here.  We will return a boolean
well, no problem! 
q equals true
good candidate
right?  It fits my description. 

Russian: 
Но он говорит, что у него тоже есть проекции.  Ну-ка, есть ли функция, назовём её p :: Int -> Int
fst тут возвращает Int.  Ну ладно, пусть p будет тождеством. 
Просто берёт и возвращает Int, ладно. 
А что насчёт q :: Int -> Bool
Должна возвращать Bool, как и snd. 
О, никаких проблем!  q = True
Хороший кандидат. 

Russian: 
Он подходит под моё описание.  Единственный способ вычеркнуть его из выборки - сказать что вот это лучше, чем то. 
Нужно показать, что есть отображение m из Int, моего плохого кандидата, в (Int, Bool). 
m на каком-то x равно... Чему же? 
Именно так. 

English: 
So the only way I can eliminate this guy from competition is say
That this is better than this right? 
so I have to show that there is a a mapping m
So m would have to go from Int
my bad candidate to a pair of Int and Bool
So m of some x equals
What should it be? 
x true
x comma True
exactly
And now let's look at this guy

English: 
The this guy is this is bad in the sense that it's shrinks stuff, right? 
so this is the non-injective badness that's
distilled in this guy
So this is how we know that this q is bad because its non-injective part is distilled in here
Okay, let's try a different
candidate, okay?   Let's let's try a candidate that's much - no, sorry this is a and that's Int
but we want a candidate that's
a richer candidate, okay?   So let's have a candidate that's a triple
Okay, so it's an Int, Int, Bool
So now I can define a projection

Russian: 
Посмотрим, почему он плох.  Потому что не накрывает Bool!  Вся эта несюръективная дрянь собралась здесь. 
Так мы узнаём, что q не годится, т.к.  его несюръективность сконцентрирована тут. 
Давайте попробуем другого кандидата. 
Нам нужен более богатый кандидат. 
Пусть будет кандидат-тройка, (Int, Int, Bool). 

Russian: 
Теперь я могу определить проекцию из него в Int.  Вот у меня (Int, Int, Bool), это мой кандидат, мой c'
Я его проецирую на Int, мой первый компонент.  Вот мой Int. 
А это мой Bool. 
Пусть p' будет брать первый компонент. 

English: 
From this guy to Int
so I have Int
Int
Bool
That's my candidate.  That's my c', and I'm projecting it into
Int, right? 
To my first component, so this is my Int here
and this is my Bool
This is first
This is second
Right?   And this is my c', p', q'. 
So this is my p'
Okay, now p'.  Let's let's let's take p' to be like the first component so x blank blank
equals x.  So it will pick the first component, it will ignore everything else.  It will pick the first component. 

Russian: 
Она выберет первый компонент, проигнорирует остальные, неплохая проекция. 
Она не уникальна, можно было взять и второй компонент, вариантов много. 
Это тоже хорошая проекция, она не теряет информацию об этом компоненте, как и та не теряет информацию о своём компоненте. 
Они не теряют информацию, ничего не стягивают. 
Берут Int - возвращают Int, берут Bool - возвращают Bool

English: 
That's a good projection, okay? 
It's not unique.  I mean you can also pick the second component.  There are many possibilities right?  There. 
Okay, now this one
so this Int Int Bool
into Bool, right?   This q' this is Int Int Bool and this is Bool
Well, so let's let's let's just take, you know -  ignore ignore
b equals b
So this is a nice projection too, right? 
It doesn't lose any information of this component.   This one doesn't lose any information of this component
So they don't lose information - they don't squish anything

English: 
Right?   They take an integer and they give you integer?  They take a Bool, they give you Bool.   Right? 
but
This guy is too big, right? -  to be a product.   It has redundant information
like if I drew a picture of this it would be like
this is a
three-dimensional cube
Right whereas my product is just a square
All right, so I'm shrinking stuff
so the first one was actually covering just like
One line in the product
corresponding to true and not to false
That was a non-surjective candidate
This oneness is non-injective because it shrinks
it identifies all the guys that have different second components

Russian: 
Но этот кандидат слишком велик, чтобы быть произведением.  В нём избыточная информация. 
Если нарисовать, это будет трёхмерный куб, хотя произведение это лишь квадрат. 
Значит, он что-то сжимает. 
Первый кандидат покрывал, так сказать, одну линию в произведении, соответствующую значению True, а False пустовало. 
Это был несюръективный кандидат. 
А это неинъективный кандидат, он стягивает, отождествляет все значения, у которых разные вторые компоненты. 
Все они отображаются в одно. 

Russian: 
Что такое m в этом случае? 
m должно быть отображением из плохого кандидата (Int, Int, Bool) в хороший. 
И опять тут всё просто.  m просто игнорирует второй компонент. 
Из (x, y, b) он выбирает (x, b), игнорируя y
Потому он неинъективен. 

English: 
They are all mapped into the same thing right okay, so sorry
So now what is the m in this case? 
So m would have to be a mapping from the bad candidate
which is Int Int Bool
to a good candidate right and
again, it's very simple it just ignores the second component all right, so it's x
y
b
and it picks x
and it picks b - ignores y, right? 
So it's non-injective. 

Russian: 
Это очень похоже на эпи- и мономорфизмы, только уже в двух измерениях. 
У нас есть изъяны в этих отображениях, то неинъективность, то несюръективность. 
У всех этих кандидатов есть какой-то изъян, кроме хорошего кандидата. 
И мы всегда можем сконцентрировать эти изъяны в морфизме m.
Наконец-то можем определить произведение.  И я его определю, используя стрелки и объекты. 
Не нужно говорить о множествах, я даже не буду его называть декартовым произведением.  Просто _произведение_. 
Иногда люди называют это _категорным произведением_. 

English: 
All right, so so all these kind of so this is very similar to what we talked about epimorphisms and monomorphisms
Except that now it's two-dimensional.  So we have the these
You know flaws in our mapping it's either non-injective or non-surjective
Right so all these candidates have some flaw
Except for the good one right and we can always
Distill these flaws into this m
So finally we can we can say how do we define the product and and and now I'm going to define the product using arrows
and objects.  I don't have to talk about sets.  I don't even have to call it a Cartesian product
I'll just call it a product
Okay
sometimes people call it categorical product
So a categorical product

Russian: 
Категорное произведение двух объектов a и b
это другой объект c, обладающий двумя проекциями p и q,
p :: c -> a; q :: c -> b
Вот эта тройка.  Объект плюс две проекции. 
Он должен обладать универсальным свойством, это значит, что для любого другого объекта с двумя проекциями
Для любого другого c', p :: c' -> a, q :: c' -> b

English: 
This is is an object
So a categorical product product of two objects a and b
is a third object c
with two projections p and q
okay, so p has to go from
c to a
q
has to go from c to b, okay? 
So it's this triple.   It's the object plus the projections, right? 
Which has the universal property
which means
for any other object with two projections, so for any other c' that has some p'
from c' to a and q'
from c' to b so for any other

English: 
pretender
there is a
unique
morphism
m that goes from c' to c
which
factorizes the two projections - p' equals - what is it - p after m
b' equals p after m, yes p after m and q' equals q after m
So that's quite a mouthful.  Isn't it? 
Yes

Russian: 
Для любого другого самозванца существует уникальный морфизм m :: c' -> c
который факторизует две проекции
p' = p∘m
q' = q∘m
Ну и замута, не правда ли? 
Да? 

English: 
Did you try m is a c' to c - or - cause you just wrote that it's a c' to c'. 
Oh.   Thank you.   Yeah
but I said c, right?   I just
right
It's really I mean I'm writing it down, but really I'm looking at the picture
Well, I have to change this picture again to p and q and this to a and b, right? 
But really these things without these pictures
This stuff would be really really impossible to remember yeah
But you remember these pictures - these diagrams
and when I say you know that this this this is m
factorizing
morphisms I mean that this diagram commutes

Russian: 
О, спасибо. 
Без рисунка это невозможно запомнить. 
Запомните рисунок, диаграмму.  Когда я говорю, что m факторизует эти морфизмы, подразумеваю, что эта диаграмма _коммутативна_. 

Russian: 
И эта коммутативна.  Что этот путь это то же самое, что и этот. 
И тут этот путь это то же, что и вот этот. 
Это коммутативная диграмма.  Коммутативная значит, что два пути на диаграмме дают один и тот же результат. 
Нет-нет, этот набор правил определяет объект с двумя проекциями.  Если всё это верно, то объект c называется произведением. 
Произведением a и b.

English: 
And this diagram commutes right that this path is the same as this path
and here this path is the same as this path that's
commuting diagram.   Commuting diagramming meaning that two paths through a diagram give you the same result. 
Yes? 
So, so this set of things that you've
set of rules - is this a category? 
No.   This set of rules
Defines an object with two
projections that is called now
If this is all true, then c with p and q is called the product
of a and b
so not every category has products and
even if it has

Russian: 
Не во всякой категории есть произведения, а даже если есть, то не факт, что для всех пар объектов. 
Но если в категории есть все произведения, это годная категория, похожая на категорию множеств, потому что
в категории множеств у любых двух множеств есть произведение. 
Если мы хотим имитировать категорию множеств, то нам нужны категории с инициальными и терминальными объектами, произведениями,
и копроизведениями, как мы дальше увидим, это дуальное понятие для произведений. 
Но о копроизведениях поговорим в следующий раз. 
На сегодня достаточно. 

English: 
Maybe it doesn't have them for every pair of objects
But if the category has products then it's a nice category
just like the category of sets because in in the category of sets every two sets
have a product. 
So if we want to imitate
The Set category we will want to have categories that have
initial objects, terminal objects
products and
later we'll see also the opposite of product which is a coproduct, but I think about co-products
we'll talk next time
Okay, that should be enough for today.