152
Что можно делать с вещественными числами и нельзя делать с целыми числами Ю. В. Матиясевич Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН http://logic.pdmi.ras.ru/~yumat

Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Embed Size (px)

Citation preview

Page 1: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Что можно делатьс вещественными числамии нельзя делать с целыми

числами

Часть 2. Десятая проблема ГильбертаВторая лекция

Ю.В.Матиясевич

Санкт-Петербургское отделениеМатематического института им. В. А. Стеклова РАН

http://logic.pdmi.ras.ru/~yumat

Page 2: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Что можно делатьс вещественными числамии нельзя делать с целыми

числами

Часть 2. Десятая проблема ГильбертаВторая лекция

Ю.В.Матиясевич

Санкт-Петербургское отделениеМатематического института им. В. А. Стеклова РАН

http://logic.pdmi.ras.ru/~yumat

Page 3: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Что можно делатьс вещественными числамии нельзя делать с целыми

числамиЧасть 2. Десятая проблема Гильберта

Вторая лекция

Ю.В.Матиясевич

Санкт-Петербургское отделениеМатематического института им. В. А. Стеклова РАН

http://logic.pdmi.ras.ru/~yumat

Page 4: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Диофантовы уравненияОпределение. Диофантово уравнение имеет вид

M(x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами.

Диофант искал решения в (положительных) рациональныхчислах

Гильберт спрашивал про решение диофантовых уравнений вцелых числах

Мы будем заниматься решением уравнений в натуральныхчислах 0, 1, 2, . . .

Page 5: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Диофантовы уравненияОпределение. Диофантово уравнение имеет вид

M(x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами.

Диофант искал решения в (положительных) рациональныхчислах

Гильберт спрашивал про решение диофантовых уравнений вцелых числах

Мы будем заниматься решением уравнений в натуральныхчислах 0, 1, 2, . . .

Page 6: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Диофантовы уравненияОпределение. Диофантово уравнение имеет вид

M(x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами.

Диофант искал решения в (положительных) рациональныхчислах

Гильберт спрашивал про решение диофантовых уравнений вцелых числах

Мы будем заниматься решением уравнений в натуральныхчислах 0, 1, 2, . . .

Page 7: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Диофантовы уравненияОпределение. Диофантово уравнение имеет вид

M(x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами.

Диофант искал решения в (положительных) рациональныхчислах

Гильберт спрашивал про решение диофантовых уравнений вцелых числах

Мы будем заниматься решением уравнений в натуральныхчислах 0, 1, 2, . . .

Page 8: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Диофантовы уравненияОпределение. Диофантово уравнение имеет вид

M(x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами.

Диофант искал решения в (положительных) рациональныхчислах

Гильберт спрашивал про решение диофантовых уравнений вцелых числах

Мы будем заниматься решением уравнений в натуральныхчислах 0, 1, 2, . . .

Page 9: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Уравнения с параметрамиСемейство диофантовых уравнений имеет вид

M(a1, . . . , an, x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами, переменныекоторго разделены на две группы:

I параметры a1, . . . ,an;I неизвестные x1, . . . ,xm.

Рассмотрим множествоM такое, что

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}.

Множества, имеющие такие представления называютсядиофантовыми.

Page 10: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Уравнения с параметрамиСемейство диофантовых уравнений имеет вид

M(a1, . . . , an, x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами, переменныекоторго разделены на две группы:

I параметры a1, . . . ,an;

I неизвестные x1, . . . ,xm.Рассмотрим множествоM такое, что

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}.

Множества, имеющие такие представления называютсядиофантовыми.

Page 11: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Уравнения с параметрамиСемейство диофантовых уравнений имеет вид

M(a1, . . . , an, x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами, переменныекоторго разделены на две группы:

I параметры a1, . . . ,an;I неизвестные x1, . . . ,xm.

Рассмотрим множествоM такое, что

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}.

Множества, имеющие такие представления называютсядиофантовыми.

Page 12: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Уравнения с параметрамиСемейство диофантовых уравнений имеет вид

M(a1, . . . , an, x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами, переменныекоторго разделены на две группы:

I параметры a1, . . . ,an;I неизвестные x1, . . . ,xm.

Рассмотрим множествоM такое, что

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}.

Множества, имеющие такие представления называютсядиофантовыми.

Page 13: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Уравнения с параметрамиСемейство диофантовых уравнений имеет вид

M(a1, . . . , an, x1, . . . , xm) = 0,

где M – многочлен с целыми коэффициентами, переменныекоторго разделены на две группы:

I параметры a1, . . . ,an;I неизвестные x1, . . . ,xm.

Рассмотрим множествоM такое, что

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}.

Множества, имеющие такие представления называютсядиофантовыми.

Page 14: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Перечислимые множества

Определение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

Page 15: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Перечислимые множестваОпределение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

Page 16: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Гипотеза Martin’a Davis’а

Тривиальный факт. Каждое диофантово множество являетсяперечислимым.

Гипотеза M. Davis’а (начало 50-х). Каждое перечислимоемножество является диофантовым.

Гипотеза M. Davis’а была доказана в 1970 году.

DPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Page 17: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Гипотеза Martin’a Davis’а

Тривиальный факт. Каждое диофантово множество являетсяперечислимым.

Гипотеза M. Davis’а (начало 50-х). Каждое перечислимоемножество является диофантовым.

Гипотеза M. Davis’а была доказана в 1970 году.

DPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Page 18: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Гипотеза Martin’a Davis’а

Тривиальный факт. Каждое диофантово множество являетсяперечислимым.

Гипотеза M. Davis’а (начало 50-х). Каждое перечислимоемножество является диофантовым.

Гипотеза M. Davis’а была доказана в 1970 году.

DPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Page 19: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Гипотеза Martin’a Davis’а

Тривиальный факт. Каждое диофантово множество являетсяперечислимым.

Гипотеза M. Davis’а (начало 50-х). Каждое перечислимоемножество является диофантовым.

Гипотеза M. Davis’а была доказана в 1970 году.

DPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Page 20: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Гипотеза Martin’a Davis’а

Тривиальный факт. Каждое диофантово множество являетсяперечислимым.

Гипотеза M. Davis’а (начало 50-х). Каждое перечислимоемножество является диофантовым.

Гипотеза M. Davis’а была доказана в 1970 году.

DPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Page 21: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

DPRM-теоремаDPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Определение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}

Page 22: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

DPRM-теоремаDPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Определение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}

Page 23: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

DPRM-теоремаDPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Определение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}

Page 24: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

DPRM-теоремаDPRM-теорема. Понятия перечислимое множество идиофантово множество совпадают.

Определение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}

Page 25: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

An e-mail

Dear Professor,

you are wrong. I am a brilliant young programmer andlast night I wrote a sophisticated program in Java##.My program solves Hilbert’s tenth problem in the__positive__ sense. Namely, for every Diophantineequation given as input, the program will print 1 or 0depending on whether the equation has a solution ornot.

The attachment contains my ingenious program. You canrun it on your favorite Diophantine equations and seehow fast my program works.

Have a fun, Professor!

Page 26: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

An e-mailDear Professor,

you are wrong. I am a brilliant young programmer andlast night I wrote a sophisticated program in Java##.My program solves Hilbert’s tenth problem in the__positive__ sense. Namely, for every Diophantineequation given as input, the program will print 1 or 0depending on whether the equation has a solution ornot.

The attachment contains my ingenious program. You canrun it on your favorite Diophantine equations and seehow fast my program works.

Have a fun, Professor!

Page 27: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Первый шагТеорема (Martin Davis [1950]) Каждое перечислимоемножествоM имеет "почти диофантово" представление

〈a1, . . . , an〉 ∈ M⇐⇒∃z∀y≤z∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm, y , z) = 0}.

Page 28: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

DPR-теоремаОпределение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

Теорема (Martin Davis, Hilary Putnam, Julia Robinson[1961]). Для каждого перечислимого множества можнопостроить его экспоненциально диофантово представление:

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{EL(a1, . . . , an, x1, . . . , xm) = ER(a1, . . . , an, x1, . . . , xm)}

где EL и ER – выражения, построенные по традиционным пра-вилам из переменных и конкретных натуральных чисел с по-мощью операций сложения, умножения и возведения в степень.

Page 29: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

DPR-теоремаОпределение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

Теорема (Martin Davis, Hilary Putnam, Julia Robinson[1961]). Для каждого перечислимого множества можнопостроить его экспоненциально диофантово представление:

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{EL(a1, . . . , an, x1, . . . , xm) = ER(a1, . . . , an, x1, . . . , xm)}

где EL и ER – выражения, построенные по традиционным пра-вилам из переменных и конкретных натуральных чисел с по-мощью операций сложения, умножения и возведения в степень.

Page 30: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

DPR-теоремаОпределение. МножествоM, состоящее из n-ок натуральныхчисел называется перечислимым, если можно написатьпрограмму R, такую что

R-〈a1, . . . , an〉 -остановка, если 〈a1, . . . , an〉 ∈ M

вечная работа в противном случае

Теорема (Martin Davis, Hilary Putnam, Julia Robinson[1961]). Для каждого перечислимого множества можнопостроить его экспоненциально диофантово представление:

〈a1, . . . , an〉 ∈ M⇐⇒∃x1 . . . xm{EL(a1, . . . , an, x1, . . . , xm) = ER(a1, . . . , an, x1, . . . , xm)}

где EL и ER – выражения, построенные по традиционным пра-вилам из переменных и конкретных натуральных чисел с по-мощью операций сложения, умножения и возведения в степень.

Page 31: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Регистровые машины

Регистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 32: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

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

Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 33: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 34: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:

I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 35: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;Si

II. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 36: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;Sj

III. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 37: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 38: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Регистровые машиныРегистровая машина имеет конечное количество регистровR1, . . . ,Rn каждый из которых может содержать произвольнобольшое натуральное число. Машина выполняет программусостоящую из конечного числа инструкций снабженныхметками S1, . . . ,Sm. Когда машина выполняет инструкцию сметкой Sk , мы говорим, что машина находится в состоянии Sk .

Инструкции бывают трёх типов:I. Sk : R`++;SiII. Sk : R`−−; Si ;SjIII. Sk : STOP

Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967],Shepherdson и Sturgis [1963]

Page 39: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

Начальное состояние S1

Начальное содержимое регистров R1=a, R2=0

В каком случае машина остановится?

Page 40: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

Начальное состояние S1

Начальное содержимое регистров R1=a, R2=0

В каком случае машина остановится?

Page 41: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

Начальное состояние S1

Начальное содержимое регистров R1=a, R2=0

В каком случае машина остановится?

Page 42: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

Начальное состояние S1

Начальное содержимое регистров R1=a, R2=0

В каком случае машина остановится?

Page 43: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0S1 s1,q . . . s1,t+1 s1,t . . . s1,0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0...

......

......

......

Sm sm,q . . . sm,t+1 sm,t . . . sm,0

sk,t =

{1, если на шаге t машина была в состоянии k0 в противном случае

Page 44: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0S1 s1,q . . . s1,t+1 s1,t . . . s1,0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0...

......

......

......

Sm sm,q . . . sm,t+1 sm,t . . . sm,0

sk,t =

{1, если на шаге t машина была в состоянии k0 в противном случае

Page 45: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0...

......

......

......

Sk sk,q . . . sk,t+1 sk,t . . . sk,0...

......

......

......

R1 r1,q . . . r1,t+1 r1,t . . . r1,0...

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0...

......

......

......

Rn rn,q . . . rn,t+1 rn,t . . . rn,0

r`,t – это содержимое `-го регистра на шаге t

Page 46: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протоколq . . . t + 1 t . . . 0

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0...

......

......

......

......

......

......

...R` r`,q . . . r`,t+1 r`,t . . . r`,0...

......

......

......

Z1 z1,q . . . z1,t+1 z1,t . . . z1,0...

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0...

......

......

......

Zn zn,q . . . zn,t+1 zn,t . . . zn,0

z`,t =

{1, если r`,t > 00 в противном случае

Page 47: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 48: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 =

r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 49: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t

+ s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 50: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t

+ s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 51: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t

− z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 52: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t

− z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 53: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t

− z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 54: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t

− z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 55: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 56: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 =

r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 57: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t

+ s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 58: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t

− z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 59: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 60: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 =

(1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 61: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t

s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 62: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 =

z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 63: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 64: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 =

z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 65: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t

+ z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 66: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t

s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 67: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 =

s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 68: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t

s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 69: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 =

z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 70: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 71: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 =

(1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 72: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t

+ s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 73: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t

s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 74: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 =

z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 75: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 76: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 =

(1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 77: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t

+ s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 78: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t

s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 79: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 =

(1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 80: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 81: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 =

1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 82: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1

s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 83: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0

r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 84: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 =

a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 85: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a

r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 86: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 87: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1

s1,q = · · · = s8,q = 0

Page 88: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 89: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ПримерS1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP

r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t

r2,t+1 = r2,t + s3,t − z2,ts6,t

s1,t+1 = (1− z2,t)s6,t s2,t+1 = z1,ts1,t

s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t

s6,t+1 = (1− z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t

s8,t+1 = (1− z1,t)s1,t + s8,t s9,t+1 = (1− z1,t)s2,t

s1,0 = 1 s2,0 = · · · = s9,0 = 0r1,0 = a r2,0 = 0

s9,q = 1 s1,q = · · · = s8,q = 0

Page 90: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

r`,t+1 = r`,t +∑+

` sk,t −∑−

` z`,tsk,t

где∑+

` -суммирование ведется по всем инструкциям вида

Sk : R`++; Si ,

а∑−

` -суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sj .

Page 91: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

r`,t+1 = r`,t +∑+

` sk,t −∑−

` z`,tsk,t

где∑+

` -суммирование ведется по всем инструкциям вида

Sk : R`++; Si ,

а∑−

` -суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sj .

Page 92: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

r`,t+1 = r`,t +∑+

` sk,t −∑−

` z`,tsk,t

где∑+

` -суммирование ведется по всем инструкциям вида

Sk : R`++; Si ,

а∑−

` -суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sj .

Page 93: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sd ,t+1 =∑+

d sk,t +∑−

d z`,tsk,t +∑0

d(1− z`,t)sk,t

где∑+

d -суммирование ведется по всем инструкциям вида

Sk : R`++; Sd ,∑−d -суммирование ведется по всем инструкциям вида

Sk : R`−−; Sd ; Sj ,

а∑0

d -суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sd .

Page 94: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sd ,t+1 =∑+

d sk,t +∑−

d z`,tsk,t +∑0

d(1− z`,t)sk,t

где∑+

d -суммирование ведется по всем инструкциям вида

Sk : R`++; Sd ,

∑−d -суммирование ведется по всем инструкциям вида

Sk : R`−−; Sd ; Sj ,

а∑0

d -суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sd .

Page 95: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sd ,t+1 =∑+

d sk,t +∑−

d z`,tsk,t +∑0

d(1− z`,t)sk,t

где∑+

d -суммирование ведется по всем инструкциям вида

Sk : R`++; Sd ,∑−d -суммирование ведется по всем инструкциям вида

Sk : R`−−; Sd ; Sj ,

а∑0

d -суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sd .

Page 96: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sd ,t+1 =∑+

d sk,t +∑−

d z`,tsk,t +∑0

d(1− z`,t)sk,t

где∑+

d -суммирование ведется по всем инструкциям вида

Sk : R`++; Sd ,∑−d -суммирование ведется по всем инструкциям вида

Sk : R`−−; Sd ; Sj ,

а∑0

d -суммирование – по всем инструкциям вида

Sk : R`−−; Si ; Sd .

Page 97: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Начальные значения

Всегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 98: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Начальные значенияВсегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 99: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Начальные значенияВсегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 100: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Начальные значенияВсегда начинаем в состоянии S1:

s1,0 = 1,

s2,0 = · · · = sm,0 = 0.

(Единственная) входная величина a помещается в регистр R1:

r1,0 = a,

все остальные регистры пусты:

r2,0 = · · · = rn,0 = 0.

Page 101: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

ОстановкаSm является единственной командой STOP:

sm,q = 1,

s1,q = · · · = sm−1,q = 0.

При остановке все регистры пусты:

r1,q = · · · = rn,q = 0.

Page 102: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0

b = 2c+1

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0

= sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0

= r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 103: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0

b = 2c+1

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0

=

sk =∑q

t=0 sk,tbt

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0

= r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 104: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0

b = 2c+1

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =

∑qt=0 sk,tb

t

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0

= r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 105: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0

b = 2c+1

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =

∑qt=0 sk,tb

t

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0 = r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0

= z` =∑q

t=0 z`,tbt

......

......

......

...

Page 106: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0

b = 2c+1

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =

∑qt=0 sk,tb

t

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0 = r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0 = z` =∑q

t=0 z`,tbt

......

......

......

...

Page 107: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Протокол

q . . . t + 1 t . . . 0 b = 2c+1

......

......

......

...Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk =

∑qt=0 sk,tb

t

......

......

......

......

......

......

......

R` r`,q . . . r`,t+1 r`,t . . . r`,0 = r` =∑q

t=0 r`,tbt

......

......

......

......

......

......

......

Z` z`,q . . . z`,t+1 z`,t . . . z`,0 = z` =∑q

t=0 z`,tbt

......

......

......

...

Page 108: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Поразрядное умножение

a =∞∑k=0

ak2k b =∞∑k=0

bk2k

a& b =∞∑k=0

akbk2k

Page 109: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Поразрядное умножение

a =∞∑k=0

ak2k b =∞∑k=0

bk2k

a& b =∞∑k=0

akbk2k

Page 110: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+

` sk,t

bt+1

−∑−

` z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 111: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+

` sk,t

bt+1

−∑−

` z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 112: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+

` sk,t

bt+1

−∑−

` z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 113: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1

bt+1

=

q−1∑t=0

(

r`,t

bt+1

+∑+

` sk,t

bt+1

−∑−

` z`,tsk,t

bt+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 114: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(

r`,tbt+1 +

∑+` sk,tb

t+1 −∑−

` z`,tsk,tbt+1

)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 115: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tb

t+1 +∑+

` sk,tbt+1 −

∑−` z`,tsk,tb

t+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 116: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tb

t+1 +∑+

` sk,tbt+1 −

∑−` z`,tsk,tb

t+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 117: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tb

t+1 +∑+

` sk,tbt+1 −

∑−` z`,tsk,tb

t+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 118: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые значения регистров

sk =

q∑t=0

sk,tbt r` =

q∑t=0

r`,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

r`,t+1bt+1 =

q−1∑t=0

(r`,tb

t+1 +∑+

` sk,tbt+1 −

∑−` z`,tsk,tb

t+1)

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

r1 − a = br1 + b∑+

` sk − b∑−

` (z`& sk)

r` = br` + b∑+

` sk − b∑−

` (z`& sk), ` = 2, . . . , n

Page 119: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+d sk,t

bt+1

+∑−

d z`,tsk,t

bt+1

+∑0

d(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 120: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+d sk,t

bt+1

+∑−

d z`,tsk,t

bt+1

+∑0

d(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 121: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+d sk,t

bt+1

+∑−

d z`,tsk,t

bt+1

+∑0

d(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 122: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1

bt+1

=

=

q−1∑t=0

(

∑+d sk,t

bt+1

+∑−

d z`,tsk,t

bt+1

+∑0

d(1− z`,t)sk,t

bt+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 123: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(

∑+d sk,tb

t+1 +∑−

d z`,tsk,tbt+1 +

∑0d(1− z`,t)sk,tb

t+1

)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 124: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+d sk,tb

t+1 +∑−

d z`,tsk,tbt+1 +

∑0d(1− z`,t)sk,tb

t+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 125: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+d sk,tb

t+1 +∑−

d z`,tsk,tbt+1 +

∑0d(1− z`,t)sk,tb

t+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 126: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+d sk,tb

t+1 +∑−

d z`,tsk,tbt+1 +

∑0d(1− z`,t)sk,tb

t+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 127: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Новые состояния

sk =

q∑t=0

sk,tbt z` =

q∑t=0

z`,tbt

q−1∑t=0

sd ,t+1bt+1 =

=

q−1∑t=0

(∑+d sk,tb

t+1 +∑−

d z`,tsk,tbt+1 +

∑0d(1− z`,t)sk,tb

t+1)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =

q−1∑t=0

1 · bt+1 =bq − 1b − 1

Page 128: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f &((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 129: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1

= 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f &((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 130: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f &((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 131: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))

bt

=

q∑t=0

2cz`,t

bt

2c f &((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 132: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))bt =

q∑t=0

2cz`,tbt

2c f &((2c − 1)f + r`) = 2cz`

f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 133: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))bt =

q∑t=0

2cz`,tbt

2c f &((2c − 1)f + r`) = 2cz` f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 134: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))bt =

q∑t=0

2cz`,tbt

2c f &((2c − 1)f + r`) = 2cz` f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 135: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Индикаторы нуля

z`,t =

{0, если r`,t = 01 в противном случае

b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

2c &(2c − 1+ r`,t) = 2cz`,t

q∑t=0

(2c &(2c − 1+ r`,t))bt =

q∑t=0

2cz`,tbt

2c f &((2c − 1)f + r`) = 2cz` f =

q∑t=0

1 · bt = bq+1 − 1b − 1

Page 136: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b

= 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(

2c & r`,t

)bt

= 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 137: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1

r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(

2c & r`,t

)bt

= 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 138: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(

2c & r`,t

)bt

= 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 139: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(

2c & r`,t

)bt

= 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 140: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(

2c & r`,t

)bt

= 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 141: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(

2c & r`,t

)bt

= 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 142: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(

2c & r`,t

)bt

= 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 143: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(2c & r`,t)bt = 0

2c f & r` = 0

f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 144: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Выбор c

r`,t < b = 2c+1 r`,t ≤ 2c − 1 = 01 . . . 1

2c − 1+ r`,t =

{01 . . . 1, если r`,t = 01 ∗ · · · ∗ в противном случае

q∑t=0

(2c & r`,t)bt = 0

2c f & r` = 0 f =

q∑t=0

1 · bt+1 =bq+1 − 1b − 1

Page 145: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0 sm = bq

Page 146: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0 sm = bq

Page 147: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0 sm = bq

Page 148: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0 sm = bq

Page 149: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0 sm = bq

Page 150: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0 sm = bq

Page 151: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0

sm = bq

Page 152: Что можно делать с вещественными числами и нельзя с целыми, осень 2013: Регистровые машины, арифметизация

Все условия

b = 2c+1

r` − r`,0 = br` + b∑+

` sk − b∑−

` (z`& sk)

sd − sd ,0 = b∑+

d sk + b∑+

d (z`& sk) + b∑0

d((e − z`)& sk)

e =bq − 1b − 1

2c f &((2c − 1)f + r`) = 2cz` f =bq+1 − 1b − 1

2c f & r` = 0 sm = bq