Отношение «равное себе» характеризует то единственно общее, что есть у каждого элемента множества. Поскольку оно единственно, то единица таким образом и выражается. Каждое последующее число то, что равно себе и не равно каждому предыдущему.
441 открытий5К показов
Когда считаем, мы выделяем в предметах отношения: равняться себе и различаться с каждым предыдущим. Именно эти отношения заносим в N в виде символьной записи чисел.
В такой интерпретации отношение «равное себе» характеризует то единственно общее, что есть у каждого элемента множества. Поскольку оно единственно, то единица таким образом и выражается.
«Равное себе» (что истинно) равно единице. Идейно, это близко тому, как в теории категорий дается определение единичному (тождественному) морфизму.
учебник-по-теории-категорий.pdf (komar.in)
Для сравнения, в аксиомах Пеано единица никак не определяется. Лишь констатируется, что она есть. В определении Фреге-Рассела единица выводится, но в таком определении не дается понимания как именно единица связана с тем, что считается. И, как следствие, неясно становится, как связаны последующие числа с тем, что считаем.
В кольцах вообще могут быть заданы несколько «единичных элементов», которые не мыслимы без операции. Однако сама по себе единица не связана с какой-либо алгебраической операцией. Сказать «элемент – один» можно. Арифметика именно с этого начинается.
Часто утверждается, что численные отношения начинаются там, где имеются ввиду взаимно-однозначные отношения предметов. Это верно, но без учета определения единицы. Поскольку неявно ее используем в таком понимании. И поэтому такой подход также оказывается не годен при конструировании всех чисел.
Ниже решение НЕ ТАКОЕ, как у Фреге:
Понятия F и G равночисленны, если объекты их объемов находятся во взаимно-ОДНОзначном соответствии.
Его пример:
Если официант хочет быть уверен, что он положил на стол ножей столько же, сколько и тарелок, ему нет надобности считать и те и другие; как только он справа от каждой тарелки рядом положит нож, каждый нож на столе будет находиться рядом с соответствующей тарелкой. Тарелки и ножи будут взаимно ОДНОзначно соотнесены друг с другом.
#Ножа столько же, сколько и тарекли:
print('''Количественно: ножа столько же, сколько и тарелки, если
('нож' == 'нож') == ('тарелка' == 'тарелка') is''',
("нож" == "нож") == ("тарелка" == "тарелка") ) #True
def iseq(m1, m2):
#Как сказать для множеств, что они равномощны,
#не употребляя слова c "один", включая взаимно-ОДНОзначно?
s1=[]; s2=[]
for x, in m1:
s1.append(x==x)
for x in m2:
s2.append(x==x)
if s1 == s2:
return "равномощны"
else:
return "не равномощны"
a="a"; b="b";c="c"; m1 = {a,b,c}
e="e"; r="r";p="p"; m2 = {e,r,p}
print("\n Множества", iseq(m1, m2), ":", m1, m2)
""" Вывод:
Множества равномощны : {'a', 'b', 'c'} {'r', 'e', 'p'}
"""
Неважно, что подставлять вместо Х в формулу 1==(x==x). Можно выразить и одно яблоко, и одно пять, и одно то, что больше семи. При этом, True и 1 – разные понятия в общем случае. 7>3 истинно, но это не единица.
def f(s, x):
print(" для X =", x)
for xi in s:
if x == xi:
print("есть такое Х, что ", x, "==", xi)
return "X – одно (Х есть)"
else: # "не равное себе" эквивалентно "равное неравных"
print("нет такого Х, что", x, "==", xi)
return "X - ноль (его нет)"
a="a"; b="b"; c="c"; d="d";
print(f((a,b,c), b))
print(f((a,b,c), d))
""" Вывод будет следующим
для X = b
нет такого Х, что b == a
есть такое Х, что b == b
X – одно (Х есть)
для X = d
нет такого Х, что d == a
нет такого Х, что d == b
нет такого Х, что d == c
X - ноль (его нет)
"""
#include
using namespace std;
int main() {
bool b1 { true };
bool b0 { false };
int i1 (1);
int i0 (0);
cout << (i0==((i0==i0) && (i0!=i0))) << endl; //1
cout<< "Дословно: ноль равно тому, "<< endl;
cout<<" что ноль равен и не равен нулю"<< endl;
cout << "(i0==((i0==i0) && (i0!=i0)))"<< endl;
cout << "арифметические операции с логическими значениями" << endl;
cout << (b0 < b1) << endl; //1
cout << (b0 / b1) << endl; //0
cout << "логические операции с арифметическими значениями" << endl;
cout << (i0 && i1) << endl; //0
cout << (i0 || i1) << endl; //1
}
def nn(s):
""" Ноль - то, что не равно себе.
Каждое последующее число - то, что
равно себе и не равно каждому предыдущему"""
print("Считаем элементы множества ", s, ",")
print("используя возможность неявно суммировать единицы")
n = (False != False)
for x in s:
n = (x == x) + n
return n
m = {"a", "b", "c"}
n = nn(m)
print(n, "= |", m, "|")
""" Вывод:
Считаем элементы множества {"a", "b", "c"}
используя возможность неявно суммировать единицы
3 = | {"a", "b", "c"} |
"""
########################
print()
def nn(s):
""" Ноль - то, что не равно себе.
Каждое последующее число - то, что
равно себе и не равно каждому предыдущему.
При необходимости N можно сохранить"""
print("Считаем элементы множества ", s, ",")
print("не используя возможность суммирования")
print("""
*********************************************************
* Когда считаем, мы выделяем в предметах отношения:
* быть равными себе и не равняться с предыдущими.
* Именно эти свойства (отношения) предметов сохраняем в N
* в виде символьной записи чисел.
*********************************************************
""")
print("Символьная запись чисел, при этом,\
может быть любой, разумеется.\n")
N = []
zero = ((False == False) and (False != False))
z = input("Введите символ числа ноль\
или предоставьте это программе: ")
if z:
N.append(z)
else: N.append(zero)
se = []; #se.append(" ")
for x in s:
while(True):
print("\nУже подсчитано", se)
print("Уже используется ", N, "Введите символ числа,")
print("что не равно каждому предыдущему и равно себе: ", end="")
y = input()
if y not in N and (y==y) and (x==x):
'''кроме того, элементы множества s попарно различаются'''
N.append(y)
se.append(x)
print()
break
else:
print("\nError: \
должно различаться с каждым предыдущим: \n")
return N
m = {"a", "b", "c"}
N = nn(m)
print("упорядоченное множество натуральных чисел: \n", N)
print(N.pop(), "= |", m, "|")
Как понимал числа Фреге: быть не равным себе => число 0; быть равным 0 => число 1