В общем, я бы сказал, что "b - это степень 2", эквивалентно "каждому делителю b, кроме 1, является кратным 2". То есть:
∀x ((∃y (y * x = b & ¬ (x = S0))) → ∃z (SS0 * z = x))
РЕДАКТИРОВАТЬ: Это не работает в течение 10 (спасибо за комментарии). Но, по крайней мере, это работает для всех простых чисел. Сожалею. Я думаю, что вы должны использовать какие-то последовательности кодирования в конце концов. Я предлагаю «Теоремы Гёделя о неполноте» Раймона Смулляна, если вы хотите подробный и более общий подход к этому.
Или вы можете кодировать последовательности чисел, используя китайскую теорему остатка, а затем кодировать рекурсивные определения, так что вы можете определить выражение. Фактически, именно так вы можете доказать, что арифметика Пеано завершена.
Попробуйте это:
D(x,y)=∃a(a*x=y)
Prime(x)=¬x=1&∀yD(y,x)→y=x|y=1
a=b mod c = ∃k a=c*k+b
Тогда
∃y ∃k(
∀x(D(x,y)&Prime(x)→¬D(x*x,y)) &
∀x(D(x,y)&Prime(x)&∀z(Prime(z)&z<x→¬D(z,y))→(k=1 mod x)) &
∀x∀z(D(x,y)&Prime(x)&D(z,y)&Prime(z)&z<x&∀t(z<t<x→¬(Prime(t)&D(t,y)))→
∀a<x ∀c<z ((k=a mod x)&(k=c mod z)-> a=c*10))&
∀x(D(x,y)&Prime(x)&∀z(Prime(z)&z>x→¬D(z,y))→(b<x & (k=b mod x))))
должен заявить, что "b - это степень 10", фактически говоря "существует число y и число k, такое, что y является произведением различных простых чисел, и последовательность, кодируемая k через эти простые числа, начинается с 1, имеет свойство" что следующий элемент c a равен 10 * a и оканчивается на b "