Pull to refresh
3

Пользователь

1
Subscribers
Send message

Обновился, радуюсь. Вопрос возник по выравниванию кода после вложенных циклов.
Пишу что-нибудь такое


    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 3; ++j)
            for (int k = 0; k < 3; ++k) {
                int s1 = i * i;
                int s2 = j + k;
            }
            std::cout << "incorrect indentation\n";

и после этого выравнивание идет по закрывающей фигурной скобке. Code->Reformat Code приводит все в порядок, то есть строка после цикла будет с тем же отступом, что и внешний for. Вставка пустой строки не помогает.

Ну, я не эксперт в теории категорий, поэтому могу наврать. Сам по себе факт, что стрелки категории являются в то же время и ее объектами, не исключителен: вот если вы Мак Лейна откроете, то дискретную категорию он именно так и вводит: там класс морфизмов совпадает с классом объектов (потому что ничего, кроме тождественных морфизмов и не нужно). Я (очень возможно, по невежеству) ничего особо интересного тут не вижу, честно говоря, потому что математику поставили на теоретико-множественный фундамент, и «все есть множество» (включая и отображения между двумя множествами) в математике скорее банальность (которая некогда была великим прорывом, само собой).
Получается, что в категории множеств класс объектов и класс морфизмов совпадают? По крайней мере, с точностью до изоморфизмов

Именно что с точностью до изоморфизма, то есть сами классы не совпадают. А морфизмы нужны, чтобы композицию из них делать, и тут мы нужную для этого информацию безнадежно теряем. Как сюда Ионеду воткнуть, тоже не очень видно, потому что там все про hom-множества, а не про их отдельные элементы. Может и можно как-то проинтерпретировать, при желании.
Насчет отображений в пустое множество из непустого: их нет, как вы и предполагали. Объяснение такое: для каждого x из области определения f(x) должна быть элементом области прибытия (кодомена), а у нас в кодомене ничего нет (если область определения X не пуста, то какой-то x в ней взять можно). Формальнее (все равно не доказательство): функция из X в Y — это такое множество пар (x,y), т. е. подмножество декартова произведения X на Y, что для каждого элемента из X есть ровно одна пара, его содержащая. Произведение пустого множества на что угодно является пустым множеством, его единственное подмножество — оно само. Тогда из пустого множества X у нас есть пустое отображение в произвольное Y: поскольку в X ничего нет, то «для любого x из X что-то выполняется» всегда верно. А вот если X непусто, а Y пусто, то никакого шанса найти для какого-то x из X пару (x,y), где y — элемент пустого множества, у нас нет.
2

Information

Rating
Does not participate
Location
Berkeley, California, США
Date of birth
Registered
Activity