13.07.2015 Views

Matematicka logika

Matematicka logika

Matematicka logika

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.3 Kódování posloupností čísel 372.3 Kódování posloupností číselZákladní operace v N jsou následník, sčítání a násobení. Tyto operace jsoutriviálně ∆ 0 (tedy i ∆ 1 ), neboť jsou definovány atomickými formulemi z = Sx,z = x + y, z = x ∗ y. Je mocnina (třeba mocnina dvojky 2 x ) ∆ 1 ? Obecněji, jsou∆ 1 funkce uzavřeny na primitivní rekursi? T.j. např. je-li H(0) = 1, H(n + 1) =F (n, H(n)) kde F je ∆ 1 , je H ∆ 1 ? Odpověď je ANO; ale dokázat to dá jistoupráci. Například: m = 2 n , jestliže existuje posloupnost 〈s 0 , s 1 , . . . , s n 〉 taková,že s 0 = 1, pro i < n je s i+1 = 2 ∗ s i a s n = m. Zde však kvantifikujeme přeslibovolné konečné posloupnosti přirozených čísel; lze je nějak rozumně kódovatčísly? Odpověď je opět ANO, ale opět to dá práci (za to však druhá odpověďdává první odpověď už lehko). Hlavním cílem této sekce je dokázat následujícívětu:2.3.1 Věta. Existuje ∆ 0 množina Seq ⊆ N (její prvky nazýváme posloupnostinebo podrobněji kódy posloupností, unární ∆ 0 operace lh(s) (pro s ∈ Seqnazýváme lh(s) délkou posloupnosti s), binární ∆ 0 operace (s) n argumentů s, n(pro s ∈ Seq a n < lh(s) nazýváme číslo (s) n n-tým prvkem posloupnosti s) abinární ∆ 0 operace s ⌢ t (pro s, t ∈ Seq nazýváme s ⌢ t slepením nebo juxtapozicíposloupností s, t) tak, že platí:• existuje s ∈ Seq takže lh(s) = 0 (značení: s = ∅)• pro n > lh(s) je (s) n = 0• pro každé k ∈ N existuje s tak, že lh(s) = 1 a (s) 0 = k• pro každé s, t ∈ Seq je s ⌢ t ∈ Seq, lh(s ⌢ t) = lh(s) + lh(t), pro i =0, . . . , lh(s) − 1 je (s ⌢ t) i = s i , pro i = 0, . . . , lh(t) − 1 je (s ⌢ t) lh(s)+i = (t) i ;• pro s, t ∈ Seq je s = t právě když lh(s) = lh(t) a pro každé i = 0, . . . , lh(s)−1 je (s) i = (t) i ;• s ≤ s ⌢ t, t ≤ s ⌢ t.Označení Seq, lh je z anglického sequence=posloupnost a length=délka (budedobře, když si čtenář tato slova zapamatuje). Řekneme, že s kóduje posloupnostk 0 , . . . k k−1 , jestliže s ∈ Seq, lh(s) = m, (s) 0 = k 0 , . . . , (s) m−1 = k m−1 . Požadujeme,že kóduje-li s posloupnost k 0 , . . . , k m−1 a t posloupnost h 0 , . . . , h n−1 , paks ⌢ t kóduje k 0 , . . . , k m−1 , h 0 , . . . , h n−1 . Poslední požadavek říká, že posloupnostje jednoznačně určena svou délkou a svými členy (nultým až (lh(s) − 1)-tým).Zbývají dva požadavky: požadavek existence prázdné posloupnosti (délky t) apro každé k ∈ n posloupnost délky 1 s nultým prvkem k.Máme za úkol sestrojit kódování konečných posloupností čísel čísly, které máuvedené vlastnosti a je ∆ 0 , to znamená, že všechny uvedené pojmy jsou definovatelnéomezenými formulemi (bude pro nás vlastně důležité jen to, že množinaSeq a tři uvedené funkce jsou ∆ 1 ; ale dostaneme ∆ 0 se stejným úsilím). Tomimo jiné znamená, že máme definovat kódování jen pomocí sčítání a násobení(formulemi aritmetiky), což je poněkud obtížný úkol. Je mu věnován zbytektohoto odstavce. Prosím čtenáře o trpělivost; vyplatí se nám, neboť jednak uvidíme,že mocnina a spousta jejich funkcí je definovatelná v aritmetice (zvolili

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!