Re[101]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 10:29
Оценка:
S>Вот такого примера достаточно:

это уже слишком банальный пример, и для него функция F восстанавливается как другой однозначный вариант функции F(более простой) и HelloSum. при этом наличие нескольких восстановленных функций F ничему не мешают.
HellSum(source)=>source.F_2().Sum();


F_2(source)=>source.Select(i => i ^ (i >> 16));

или так
HellSum(source)=>source.F_2(a:0).Sum();


F_2(source, a)=>source.Select(i => (i << (a &&0x4)) ^ (i >> 16));


т.е. как только появляется реальный код для которого выполняется однозначность, по нему всегда можно восстановить спецификацию результата.

и здесь тоже можно выкинуть спецификации на yield, ienumerable и foreach



DG>>декларация же может быть задана в виде: результат должен быть таким же, как результат вот такого-то вычисления, а выполнять можете как хотите (и для сложных алгоритмов нет другого способа задания результата)

S>Как интересно. То есть вы настаиваете, что разницы между декларативным и императивным описаниями нет. Тогда объясните это vdimas-у, а то он почему-то считает РА более императивной, чем РИ.

нет четкой границы, где заканчивается декларативная программа и начинается императивная (и соответственно, черно/белый подход — декларативная/императивная имеет очень низкую полезность)
при этом можно использовать сравнительную степень более декларативная/менее декларативная на той или иной метрике декларативности


DG>>при этом утверждение "делайте как хотите, главное чтобы результат был тем же самым" и так уже говорится, что для ФЯ, что для ООП и т.д. — что внутреннее поведение неважно, важно чтобы сохранялось внешнее поведение(внешний результат)

S>Вы движетесь в правильную сторону. Остаётся понять, что такое "внешнее поведение", и вы сможете отличить декларативную программу от императивной.

я знаю, что это такое.
а вот samius и ты похоже не понимаете что такое спецификация результата, как и на чем она пишется. скорее всего это означает, что вы либо на прологе(или аналоге) вообще ничего не писали, или не писали сложные вещи.


DG>>что две спецификации результата, отличающиеся лишь спецификацией результата для некорректного поведения — для значимой части программ являются одной и той же спецификацией.

S>Отлично. Осталось определить, что такое "корректное поведение", что такое "некорректное поведение", и что такое "результат". А то вот вы взяли и "исправили" мою программу, написав свою. Да, "результат" работы вашей программы иногда получается таким же, как и у моей программы.

S>Но ведь тогда я могу в некоторой библиотеке заменить вычисление синуса на return 0; сказав, что во всех корректных программах аргумент всегда равен нулю, а те, кто передаёт не ноль — сами виноваты. Чем моя аргументация будет хуже вашей? Она столь же произвольна.


ты перепрыгиваешь:
во-первых, от реальных программ к библиотекам
во-вторых, к правилам хорошего тона для кодирования.

ни то, ни другое не имеет никакого отношения к тому, что по реальной программе (на которую накладывается лишь требование однозначности) можно восстановить спецификацию результата, и выкинуть спецификацию вычислителя

я согласен с тем, что правила "хорошо пахнущего кода" упрощают восстановление спецификации результата
Re[109]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 10:46
Оценка:
S> Это как раз доказывает что есть люди, которые считают что понятие "упорядоченная последовательность" неоднозначно. Хотя на самом деле оно однозначно.

выйди на улицу. и спроси у первых двадцати прохожих, что такое "упорядоченная последовательность" и запиши.
для проверки понимания также стоит спросить, как они будут проверять, что последовательность упорядочена, и каких действий достаточно для проверки упорядоченности.

на сколько я знаю, тебя ждут сюрпризы


S>Эффективным было бы сказать "есть множество писем", уповая на то, что собеседник знает что такое множество, а не объяснять что под последовательностью ты подразумеваешь множество, вопреки понятию "последовательность".


вот только проблема в том, что для C#-программиста и математика понятия множество, коллекция, последовательность и т.д. отличаются.
для программистов пишушего на других языках эти понятия тоже будут иметь свое понимание.

для C#-программиста последовательность более общее понятие, чем множество. т.к у последовательности есть только требование перебора элементов, а у множества уже появляется требование сравнимости элементов, проверка наличия элемента за O(1) и т.д.
коллекция — это последовательность для которой известно количество.
и это понимание понятий последовательность, коллекция и множество формируется на основе .net-интерфейсов: IEnumerable, ICollection, ISet

для математика наоборот множество более общее понятие, чем последовательность, потому что первое может не иметь способа перебора элементов, а для последовательности уже задан способ перебора элементов.

и для большинства понятий это нормальное явление, что в каждой области свое толкование одного и того же понятия.
Re[109]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 11:01
Оценка:
S>Эффективным было бы сказать "есть множество писем", уповая на то, что собеседник знает что такое множество, а не объяснять что под последовательностью ты подразумеваешь множество, вопреки понятию "последовательность".

другие виды общения еще менее эффективные.
в качестве примера можно взять этот тред: копий вокруг трактовки терминов сломано много, а по сути сообщений не так уж и много,
при этом и введение терминов не помогало — как только вводятся термины, то их вообще никто не читает — посмотри сколько сообщений в ветке относительное ООП, или в ветке л-существования.
и это в часности вызвано тем, что человек имеет очень ограниченные способности по усвоению понятий (одна из оценок в 2^16)
и это означает, что человеку доступно лишь 16 последовательных развилок в трактовании терминов.
Re[110]: Immutable object
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.01.12 11:20
Оценка:
Здравствуйте, DarkGray, Вы писали:

S>> Это как раз доказывает что есть люди, которые считают что понятие "упорядоченная последовательность" неоднозначно. Хотя на самом деле оно однозначно.


DG>выйди на улицу. и спроси у первых двадцати прохожих, что такое "упорядоченная последовательность" и запиши.

DG>для проверки понимания также стоит спросить, как они будут проверять, что последовательность упорядочена, и каких действий достаточно для проверки упорядоченности.

DG>на сколько я знаю, тебя ждут сюрпризы

Тут все просто. Понятие однозначно, но его могут не знать. то что человек не может сформулировать даже интуитивно ему понятное — не значит, что он пользуется другим понятием. Человек с улицы не показатель однозначности понятия.

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


S>>Эффективным было бы сказать "есть множество писем", уповая на то, что собеседник знает что такое множество, а не объяснять что под последовательностью ты подразумеваешь множество, вопреки понятию "последовательность".


DG>вот только проблема в том, что для C#-программиста и математика понятия множество, коллекция, последовательность и т.д. отличаются.

Не может быть. Есть понятия — математические абстракции, есть частные реализации этих абстракций. То, о чем именно в данном случае речь, можно понять из контекста, если об этом не сказано напрямую. Но контейнер System.Collections.Generic.Set никак не подменяет понятие математической абстракции "множество".
DG>для программистов пишушего на других языках эти понятия тоже будут иметь свое понимание.

DG>для C#-программиста последовательность более общее понятие, чем множество. т.к у последовательности есть только требование перебора элементов, а у множества уже появляется требование сравнимости элементов, проверка наличия элемента за O(1) и т.д.

Тут ты говоришь не о понятиях, а о реализациях. Причем с требованием проверки наличия за O(1) ты явно загнул. Опровержение тому — OrderedSet.

DG>коллекция — это последовательность для которой известно количество.

DG>и это понимание понятий последовательность, коллекция и множество формируется на основе .net-интерфейсов: IEnumerable, ICollection, ISet
Формировать понятия о математических асбтракциях на основе .net интерфейсов — это ошибка природы.

DG>для математика наоборот множество более общее понятие, чем последовательность, потому что первое может не иметь способа перебора элементов, а для последовательности уже задан способ перебора элементов.


DG>и для большинства понятий это нормальное явление, что в каждой области свое толкование одного и того же понятия.

Теперь я понял, ты в форуме декларативного программирования в русле разговора о хаскеле объяснял собеседнику о смысле понятия, которое ты вкладываешь в слово "последовательность" на основе понятия IEnumerable из .net. И при этом сказал что письма просто хранятся в последовательности, а на самом деле их просто много...
Браво, что тут сказать
Re[110]: Immutable object
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.01.12 11:28
Оценка:
Здравствуйте, DarkGray, Вы писали:

S>>Эффективным было бы сказать "есть множество писем", уповая на то, что собеседник знает что такое множество, а не объяснять что под последовательностью ты подразумеваешь множество, вопреки понятию "последовательность".


DG>другие виды общения еще менее эффективные.

DG>в качестве примера можно взять этот тред: копий вокруг трактовки терминов сломано много, а по сути сообщений не так уж и много,
DG>при этом и введение терминов не помогало — как только вводятся термины, то их вообще никто не читает — посмотри сколько сообщений в ветке относительное ООП, или в ветке л-существования.
Этот тред показателен тем, что вместо того что бы использовать общепринятые определения, ты выдумывал свои.

DG>и это в часности вызвано тем, что человек имеет очень ограниченные способности по усвоению понятий (одна из оценок в 2^16)

DG>и это означает, что человеку доступно лишь 16 последовательных развилок в трактовании терминов.

Какой смысл вообще о чем-то разговаривать, если собеседник не понимает о чем ты говоришь, и только и делает что пытается вытащить у тебя смысл, который ты вкладываешь в устоявшиеся термины? Каким образом вообще нужно строить беседу, если в течении беседы оказывается что ты используешь термины таким образом, что это противоречит их определениям?
Re[102]: Immutable object
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.01.12 11:36
Оценка:
Здравствуйте, DarkGray, Вы писали:

S>>Вот такого примера достаточно:


DG>это уже слишком банальный пример, и для него функция F восстанавливается как другой однозначный вариант функции F(более простой) и HelloSum.

DG>т.е. как только появляется реальный код для которого выполняется однозначность, по нему всегда можно восстановить спецификацию результата.
Я правильно понимаю, что для каждого примера применения функции F вы предлагаете отдельные варианты функции F?
1. К сожалению, вопросы реального программирования не исчерпываются разработкой программ для выполнения фиксированного алгоритма над фиксированным набором входных данных.
2. Варианты преобразований, которые вы предлагаете, не сохраняют эквивалентность с исходной программой. В этом, собственно, и состоит проблема перевода императивной программы в декларативную форму.

DG>нет четкой границы, где заканчивается декларативная программа и начинается императивная (и соответственно, черно/белый подход — декларативная/императивная имеет очень низкую полезность)

DG>при этом можно использовать сравнительную степень более декларативная/менее декларативная на той или иной метрике декларативности
Ок, мы всё ещё с нетерпением ждём примера этой метрики. Ваши предыдущие попытки ввести такую метрику были, скажем так, неудачны.
DG>я знаю, что это такое.
DG>а вот samius и ты похоже не понимаете что такое спецификация результата, как и на чем она пишется. скорее всего это означает, что вы либо на прологе(или аналоге) вообще ничего не писали, или не писали сложные вещи.
О, ещё один телепат в форуме. Ок, предположим, вы правы. Мы с samius никогда не писали программ сложнее Hello World и алгоритмов сложнее bubblesort. Вы, надо полагать, писали. Почему же тогда у вас восстановление спецификации результата по спецификации протокола вызывает такие затруднения?

S>>Но ведь тогда я могу в некоторой библиотеке заменить вычисление синуса на return 0; сказав, что во всех корректных программах аргумент всегда равен нулю, а те, кто передаёт не ноль — сами виноваты. Чем моя аргументация будет хуже вашей? Она столь же произвольна.


DG>ты перепрыгиваешь:

DG>во-первых, от реальных программ к библиотекам
А чем отличается библиотека от реальной программы? Вы не спешите отвечать, а то опять получится ерунда.
DG>во-вторых, к правилам хорошего тона для кодирования.
Не вижу никакого перехода к правилам хорошего тона. Зачем вы его сюда приплели — совершенно непонятно. Лично я пока что обсуждал только вопросы корректности преобразования программ из императивной формы в декларативную. Вы утверждаете, что это — тривиальное занятие, но при этом весьма несложный случай у вас вызывает затруднения.
DG>ни то, ни другое не имеет никакого отношения к тому, что по реальной программе (на которую накладывается лишь требование однозначности) можно восстановить спецификацию результата, и выкинуть спецификацию вычислителя
Ну, моя функция синуса вполне себе однозначна. Просто я предпочёл вот так восстановить спецификацию результата.

DG>я согласен с тем, что правила "хорошо пахнущего кода" упрощают восстановление спецификации результата

Я не понимаю, с чем вы согласны.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[111]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 11:42
Оценка:
DG>>и для большинства понятий это нормальное явление, что в каждой области свое толкование одного и того же понятия.
S>Теперь я понял, ты в форуме декларативного программирования в русле разговора о хаскеле объяснял собеседнику о смысле понятия, которое ты вкладываешь в слово "последовательность" на основе понятия IEnumerable из .net.

так как говоришь в математике называется множество с заданной функцией перебора элементов?
Re[112]: Immutable object
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.01.12 11:45
Оценка:
Здравствуйте, DarkGray, Вы писали:


DG>>>и для большинства понятий это нормальное явление, что в каждой области свое толкование одного и того же понятия.

S>>Теперь я понял, ты в форуме декларативного программирования в русле разговора о хаскеле объяснял собеседнику о смысле понятия, которое ты вкладываешь в слово "последовательность" на основе понятия IEnumerable из .net.

DG>так как говоришь в математике называется множество с заданной функцией перебора элементов?

Если ты о последовательности, то она не является множеством. Потому затрудняюсь ответить, как называется такая пара, особенно безотносительно свойств этой пары.
Лучше прочитай определение последовательности.
Re[113]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 13:35
Оценка:
DG>>так как говоришь в математике называется множество с заданной функцией перебора элементов?
S>Если ты о последовательности, то она не является множеством.

а где ты говоришь учился на математика?

Последовательность — это набор элементов некоторого множества:
для каждого натурального числа можно указать элемент данного множества;
это число является номером элемента и обозначает позицию данного элемента в последовательности;
для любого элемента (члена) последовательности можно указать следующий за ним элемент последовательности.


http://ru.wikipedia.org/wiki/%CF%EE%F1%EB%E5%E4%EE%E2%E0%F2%E5%EB%FC%ED%EE%F1%F2%FC

набор
2.коллекция, собрание, множество вещей, связанных по некоему общему признаку

http://ru.wiktionary.org/wiki/%D0%BD%D0%B0%D0%B1%D0%BE%D1%80

sequence is a logically ordered set of elements

http://en.wikipedia.org/wiki/Sequence

S> Потому затрудняюсь ответить, как называется такая пара, особенно безотносительно свойств этой пары.

S>Лучше прочитай определение последовательности.

хуже невежд только невежественные фанатики, которые считают, что то, что они знают — является полным и окончательным знанием (в частности, считающие — что они-то уж знают, что такое правильное определение терминов)

ps
формальное определение последовательности — это произвольное множество отображенное на множество натуральных чисел.


ззы
S>Если ты о последовательности, то она не является множеством.

в последней версии математики вообще ничего кроме множеств нет, даже числа и то вводятся, как множества.
Re[103]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 13:57
Оценка:
DG>>а вот samius и ты похоже не понимаете что такое спецификация результата, как и на чем она пишется. скорее всего это означает, что вы либо на прологе(или аналоге) вообще ничего не писали, или не писали сложные вещи.
S>О, ещё один телепат в форуме. Ок, предположим, вы правы. Мы с samius никогда не писали программ сложнее Hello World и алгоритмов сложнее bubblesort. Вы, надо полагать, писали. Почему же тогда у вас восстановление спецификации результата по спецификации протокола вызывает такие затруднения?

такое ощущение, что ты даже не прочитал мое утверждение. я предполагаю, что ты и samius не писали сложных программ на прологе.
то, что ты можешь писать достаточно сложные программы на одном-двух своих любимых языках верю, особенно в той области в которой набил руку.
vdimas скорее всего сможет осилить более сложные программы, чем ты, а samius более простые чем ты.
при этом твой код скорее всего более четкий и структурированный и проще в поддержке, чем у vdimas-а
Re[114]: Immutable object
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.01.12 14:04
Оценка: +1
Здравствуйте, DarkGray, Вы писали:


DG>>>так как говоришь в математике называется множество с заданной функцией перебора элементов?

S>>Если ты о последовательности, то она не является множеством.

DG>а где ты говоришь учился на математика?

УрГУ

DG>

DG>Последовательность — это набор элементов некоторого множества:
DG> для каждого натурального числа можно указать элемент данного множества;
DG> это число является номером элемента и обозначает позицию данного элемента в последовательности;
DG> для любого элемента (члена) последовательности можно указать следующий за ним элемент последовательности.


DG>http://ru.wikipedia.org/wiki/%CF%EE%F1%EB%E5%E4%EE%E2%E0%F2%E5%EB%FC%ED%EE%F1%F2%FC

Эта ссылка подтверждает что последовательность множеством не является. К чему ты ее привел?

DG>

DG>набор
DG>2.коллекция, собрание, множество вещей, связанных по некоему общему признаку

DG>http://ru.wiktionary.org/wiki/%D0%BD%D0%B0%D0%B1%D0%BE%D1%80
Набор мы не обсуждаем. Или ты считаешь что это одно и то же, что и последовательность?


DG>

DG>sequence is a logically ordered set of elements

DG>http://en.wikipedia.org/wiki/Sequence
по ссылке нет процитированного текста. Вместо него там

a sequence is an ordered list of objects (or events)

Твой трюк с подменой текста в википедии пошловат.

S>> Потому затрудняюсь ответить, как называется такая пара, особенно безотносительно свойств этой пары.

S>>Лучше прочитай определение последовательности.

DG>хуже невежд только невежественные фанатики, которые считают, что то, что они знают — является полным и окончательным знанием (в частности, считающие — что они-то уж знают, что такое правильное определение терминов)

Еще хуже — тыкать в определение, и не понимать что там написано, или подменять текст в нем.

DG>ps

DG>формальное определение последовательности — это произвольное множество отображенное на множество натуральных чисел.
Произвольное множество, отображенное на множество натуральных чисел, в общем случае не является множеством.
Вот тебе тривиальный пример { 1, 1, 1, 1, ... }

DG>ззы

S>>Если ты о последовательности, то она не является множеством.

DG>в последней версии математики вообще ничего кроме множеств нет, даже числа и то вводятся, как множества.

Выше пример не множества.
Re[104]: Immutable object
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.01.12 14:22
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>такое ощущение, что ты даже не прочитал мое утверждение. я предполагаю, что ты и samius не писали сложных программ на прологе.

Я — прочитал. Просто его можно понять двояко. Ок, поправка принимается. Да, я не писал сложных программ на прологе.
Однако, я не понимаю, какое это отношение имеет к конверсии императивных программ в декларативные?
На всякий случай напомню, что пролог решает обратную задачу.
DG>то, что ты можешь писать достаточно сложные программы на одном-двух своих любимых языках верю, особенно в той области в которой набил руку.

DG>vdimas скорее всего сможет осилить более сложные программы, чем ты, а samius более простые чем ты.
DG>при этом твой код скорее всего более четкий и структурированный и проще в поддержке, чем у vdimas-а
А вылечить по фотографии от заикания, или, скажем, алкоголизма, у вас возможность есть?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[115]: Immutable object
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.01.12 14:34
Оценка:
Здравствуйте, samius, Вы писали:

DG>>ps

DG>>формальное определение последовательности — это произвольное множество отображенное на множество натуральных чисел.
S>Произвольное множество, отображенное на множество натуральных чисел, в общем случае не является множеством.
S>Вот тебе тривиальный пример { 1, 1, 1, 1, ... }

Вы слишком строги с коллегой DG. Он, конечно же, имел в виду отображение множества натуральных чисел на наше произвольное множество, а не наоборот.
Хотя задать последовательность, конечно же, можно и без прямого указания этого отображения. А, например, при помощи задания на элементах множества отношения полного порядка. Из этого отношения можно восстановить отображение натуральных чисел в элементы множества.

Что характерно, никакой "функции перебора" ни в том, ни в другом случае нет, несмотря на трогательные заблуждения нашего оппонента. Если у нас есть отображение множества натуральных чисел на множество наших элементов, M: x:N->s:S, то нам ничего перебирать не нужно. Можно просто получить s42 = M(42).

Задание "функции перебора" — это третий способ математически определить последовательность, задав функцию Succ: s1:S -> s2:S.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[115]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 14:58
Оценка: -1
S>Вот тебе тривиальный пример { 1, 1, 1, 1, ... }

и каким свойством эта штука не обладает, по которому его можно исключить из класса множеств?

например, берем одно из определений множества

Множество есть совокупность различных элементов, мыслимая как единое целое


элементы есть, совокупность есть, единое целое тоже есть — значит множество.
Re[105]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 15:04
Оценка:
DG>>такое ощущение, что ты даже не прочитал мое утверждение. я предполагаю, что ты и samius не писали сложных программ на прологе.
S>Я — прочитал. Просто его можно понять двояко. Ок, поправка принимается. Да, я не писал сложных программ на прологе.
S>Однако, я не понимаю, какое это отношение имеет к конверсии императивных программ в декларативные?

Опыт написания сложных программ на языках типа пролога дает понимание, что то, что люди считают однозначным на самом деле таковым не является, и что однозначность появляется только на очень узких задачах.
Re[116]: Immutable object
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 18.01.12 15:10
Оценка: -1
S> отображение множества натуральных чисел на наше произвольное множество

из одного следует другое. можно лишь поговорить на тему: скольки элементам одного множества сколько элементов другого множества соответствует.


S>Что характерно, никакой "функции перебора" ни в том, ни в другом случае нет


если есть отображение множества на множество натуральных чисел, при этом одно натуральное число переходит в один элемент множества, то есть и функция перебора. перебирая натуральные числа перебираются и элементы исходного множества.
Re[116]: Immutable object
От: VoidEx  
Дата: 18.01.12 15:35
Оценка: +2
Здравствуйте, DarkGray, Вы писали:

S>>Вот тебе тривиальный пример { 1, 1, 1, 1, ... }


DG>и каким свойством эта штука не обладает, по которому его можно исключить из класса множеств?


DG>например, берем одно из определений множества

DG>

DG>Множество есть совокупность различных элементов, мыслимая как единое целое


DG>элементы есть, совокупность есть, единое целое тоже есть — значит множество.


А различных есть?
Re[117]: Immutable object
От: VoidEx  
Дата: 18.01.12 15:40
Оценка:
Здравствуйте, DarkGray, Вы писали:

S>>Что характерно, никакой "функции перебора" ни в том, ни в другом случае нет


DG>если есть отображение множества на множество натуральных чисел, при этом одно натуральное число переходит в один элемент множества, то есть и функция перебора. перебирая натуральные числа перебираются и элементы исходного множества.


Только вот тогда последовательность { 1, 1, 1, 1 } не задать, так как одному элементу множества (1) соответствует аж 4 натуральных. Так что всё же наоборот, отображение натуральных на наше.

Математик, говоришь?
Re[116]: Immutable object
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.01.12 15:48
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, samius, Вы писали:


DG>>>ps

DG>>>формальное определение последовательности — это произвольное множество отображенное на множество натуральных чисел.
S>>Произвольное множество, отображенное на множество натуральных чисел, в общем случае не является множеством.
S>>Вот тебе тривиальный пример { 1, 1, 1, 1, ... }

S>Вы слишком строги с коллегой DG. Он, конечно же, имел в виду отображение множества натуральных чисел на наше произвольное множество, а не наоборот.

Вау, я был слишком добр к нему. Я не заметил, что он написал отображение НА множество натуральных чисел, и считал что он написал отображение множества натуральных чисел.

Пример, кстати, показывает отображение множества натуральных чисел на множество натуральных чисел, заданное в виде
f(n) = 1


S>Хотя задать последовательность, конечно же, можно и без прямого указания этого отображения. А, например, при помощи задания на элементах множества отношения полного порядка. Из этого отношения можно восстановить отображение натуральных чисел в элементы множества.

Это тот случай, когда множество элементов последовательности будет совпадать с множеством элементов множества. Но наличие порядка будет отличать последовательность от множества.

S>Что характерно, никакой "функции перебора" ни в том, ни в другом случае нет, несмотря на трогательные заблуждения нашего оппонента. Если у нас есть отображение множества натуральных чисел на множество наших элементов, M: x:N->s:S, то нам ничего перебирать не нужно. Можно просто получить s42 = M(42).


S>Задание "функции перебора" — это третий способ математически определить последовательность, задав функцию Succ: s1:S -> s2:S.

Да, как способ годится, но он не такой гибкий, как отображение. В виде функции Succ мы не сможем задать последовательности вида { 1, 1, 1, 2, 2, 2, ... }
Re[106]: Immutable object
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.01.12 15:53
Оценка:
Здравствуйте, DarkGray, Вы писали:
DG>Опыт написания сложных программ на языках типа пролога дает понимание, что то, что люди считают однозначным на самом деле таковым не является, и что однозначность появляется только на очень узких задачах.
Не понимаю, к чему вы это.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.