To, že jsou dvě věci ekvivalentní přece neznamená, že nemohou být jiné.
To už je slovíčkaření - tak si pojďme definovat, o čem se bavíme. Ty jsi mě napadal, že nemůžu použít tudle indukci a musím použít jinou. Čimž si "jinost" definoval jako schopnost dokázat jinou množinu tvrzení. A v tomto smyslu ty dvě indukce prostě jiné nejsou.
Jinými slovy - ekvivalentní znamená v matematice záměnné. Takže pokud jsou dvě věci ekvivalentní, není pravda, že musím použít jednu a nesmím použít druhou.
První krok udělat nemusíš. A tvůj indukční předpoklad je zbytečný ve všech krocích, a zbytečné jsou i samotné kroky. Snažíš se nacpat indukci tam, kde žádná není potřeba. Následující tvrzení přece platí i bez jakýchkoli premis...
Samozřejmě, že to tvrzení je pravdivé samo o sobě. Btw. jestli sis všimnul, tak ve svém důkazu jsem právě podobné lema zavedl. Jenže to Ti nestačí - ty totiž při výpočtu P(n) hodnoty P(i) neznáš!
Protože ty přeci v tom algoritmu nesčítáš minimální košíky, ty sčítáš nějaké čísla, o kterých tvrdíš, že to jsou minimální košíky.
A to, že ta čísla co sčítáš jsou opravdu minimální košíky je právě ten indukční předpoklad. Formálněji: Máš funkci danou předpisem:
f(0) = 0
f(n) = min( i(n), f(a) + f(b): a+b = n), a,b,n je z N, i(n) = nejnižší cena balení s i prvky,
existuje-li, jinak nekonečno.
Tudle funkci počítá ten můj algoritmus (nemám tam teda pro jednoduchost ošetřenou nulu na vstupu). Chceš dokázat, že pro každé n z N platí tvrzení T(n).
P(n) = f(n)
K tomu, abys toto tvrzení dokázal tu indukci potřebuješ. Protože pro každé n potřebuješ aplikovat ono lema + indukční předpoklad, že f(a) a f(b) jsou minimální košíky pro a/b prvků.
Pokud nevěříš mě, tak si přečti to, co jsem už asi pěštrát postoval:
http://math.feld.cvut.cz/habala/teaching/dma/dmknih03.pdfpříklad 3a.d algoritmus pro výpočet faktoriálu. V podstatě to samé.
Pro důkaz n! =n*(n-1)! indukci nepotřebuješ. Pro důkaz korektnosti algoritmu tento vzorec užívajícího však ano.A pokud jde o to, že nikde dál nepoužiješ předpoklad pro nulu, tak to je MI úplnej šumák.
Pro MI je prostě potřeba mít nějakej pevnej bod, z kterýho začneš. Jelikož se bod pro nulu sestrojí nejjednodušeji a zároveň nezesložití indukční krok, je velmi vhodné začít z něho. Je úplně jedno, jestli ho pak někdy použiješ nebo ne.
U důkazu matematickou indukcí, kterým budu dokazovat, že pro každé přirozené n platí sqrt(n^2)=abs(n), dokonce žádný "indukční krok" nebude potřebovat indukční premisu, a důkazu to taky nijak nevadí...
A proto klidně můžu MI užít. Ale tady je jednodušší to tvrzení dokázat jinak, takže užití MI není nejvhodnější, byť možné. To však není náš případ, my jak jsem ukázal MI užít musíme.
Ale trvám na tom, že není pravdivé tvoje tvrzení, že moje tvrzení není pravdivé. A také není pravdivé tvoje tvrzení, že by bylo nutné povolovat nějaké záporné počty balení.
Na to, aby šlo psát f(a) + f(b) je třeba definovat operaci sesypání košíku a co je to košík. Definujeme ho tedy jako n-rozměrný vektorový prostor nad pologrupou jejíž hodnoty jsou počet balení, kde bázi tvoří jednotlivá balení. Sesypání košíku je pak součet vektorů. Cena košíku c(k) je daná jako skalární součin vektoru košíku a vektoru ceny jednotlivých balení. Velikost košíku v(k) je skalární součin s vektorem počtu produktů v balení.
P(n) a f(n) má pak definiční obor daný oborem hodnot funkce v(k).
Není-li možný záporný počet balení, pak je danou grupou grupa N_0 a obor hodnot v(k) a tedy definiční obor f(n) je taktéž N_0.
v T(-55) je užito f(-55), ta je však definovaná taktéž pouze nad N_0. Tvrzení tedy nemá smysl. (stejně jako nemá smysl tvrzení, ve kterém je dělení nulou.
Je-li možný záporný počet balení, pak T(1) neplatí. Protože
T(1) je P(1) = f(1), kde f(1) = min(i(1)), tedy
Přitom snadno se sestrojí protipříklad s balením po dvou za 2Kč a po třech za 3(Kč), kde
f(1) = nekonečno, přitom P(1) <= 1
neboť pro k= {1*3kusy - 2*2kusy} je v(k)=1 a c(k)=1.
A T(1) tedy neplatí. Co jiného jsem předtím tvrdil?
Pozn.: T(-55) => T(1) je v tomto případě pravdivé: (false => false) <=> true, ale nemůže být indukčním krokem, protože T(n) je nepravdivé pro každé n (a tedy vůbec nelze užít indukci). O pravdivosti této celé implikace jsem předtím ale nemluvil.