3. Слово в алфавите
Словом в алфавите A называется конечная цепочка
записанных подряд символов этого
алфавита
4. Подслово
Говорят, что слово α входит в слово β (α является
подсловом слова β), если найдутся такие слова γ и δ, что
β = γαδ.
5. Формальный язык
Множество всех слов в алфавите A обозначается через
∗
(пустое слово принадлежит ∗
).
Формальным языком (или просто языком) в алфавите A
называется какое угодно подмножество множества ∗
.
6. Примеры слов в С++
void f() {}
class A
{
public:
void DoSomething();
};
7. Абстракция
Пусть L – формальный язык, обозначим через ̌
множество всех подслов языка L. Тогда F: X → ̌
называется абстрагированием, где X – произвольное
множество, а образ F(x) - абстракцией x.
9. Критерий линейной производительности
Грубо: процесс разработки программы на языке L
обладает линейной скоростью, тогда и только тогда,
когда трудоемкость написания каждого слова этой
программы ограничена некоторой константой C.
Количество слов/количество операций над словами
12. Возможно ли создать искусственный интеллект?
1980 Michael O'Donnell
“A Critique of the Foundations of Hoare-Style Programming
Logics”
2001 А. Н. Ващенко, Е. Е. Витяев, Н. Г. Загоруйко, А. А.
Мальцев, Н. Н. Непейвода, Д. Е. Пальчунов, С. Г. Пыркин,
А. В. Ткачев, Рефлексирующие программные системы
15. Геом. смысл импликации
Пусть P1 → P,
B = { x | P1(x) = 1},
A = { x | P (x) = 1}.
Тогда B ⊂ A.
P ⊨ P1. Говорят, что P –
более слабое условие, P1 –
более сильное.
16. Есть выход - аксиома вывода
P1 → P, {P} S {Q}, Q → Q1 ╞ {P1} S {Q1}
P1 → P, {P} S {Q} ╞ {P1} S {Q}
{P} S {Q}, Q → Q1 ╞ {P} S {Q1}
19. Вывод условного оператора
Пусть L = {{P} f {Q}, }, B – предикат.
P^B→P (A3 ИВ)
{P^B}f{Q} (аксиома вывода)
{P}if (B) then f endif {Q} (аксиома условного
оператора)
20. Почему держимся за условия и циклы
Система аксиом, содержащая if и while полна.
То есть можно выразить любую задачу, в принципе
реализуемую на машинах Тьюринга.
21. if и while - это абстракции для ...
Формул с квантором всеобщности