Strukturální indukce

Strukturální indukce nebo strukturální indukce je způsob definice z funkce nebo vlastnost na konstrukci, to znamená, že na objektech (matematické nebo počítač) strukturovaných jako seznamy , na strom nebo stromy binární , ale obecněji se používá na jakoukoli matematickou strukturu, která má rekurzivní definici . Tím, že stejný princip umožňuje definovat celkový predikát, tj. Který je definován všude, je strukturální indukce také metodou demonstrace vlastnosti na struktuře.

Strukturální indukce je zobecněním tradiční recidivy i konkrétním případem opodstatněné rekurence .

Příklady

Funkce definované strukturální indukcí zobecňují funkce definované indukcí na celá čísla .

Seznamy

Seznamy jsou definovány jako

Funkce délky, která definuje délku seznamu, je definována strukturální indukcí:

Funkce concat, která spojuje dva seznamy a

Můžeme dokázat strukturální indukcí následující tvrzení:

délka ( concat ( )) = délka ( ) + délka ( ).

První etapa

délka (concat ([], )) = délka ( ) = 0 + délka ( ) = délka ([]) + délka ( )

Druhý krok Důkaz využívá hypotézu strukturní indukce

Délka (concat (a: , )) = délka (A: concat ( , )) = 1 + délka (concat ( , )) = (strukturální indukční hypotézou) 1+ délka ( ) + délka ( ) = délka (a :) + délka ( )

Binární stromy

Zvažte binární stromy definované takto:

Můžeme definovat velikostní funkci (počet vnitřních uzlů binárního stromu):

Zásady

Zvažte strukturu definovanou konstruktory arity . Konstruktory arity 0 jsou konstanty.

Definice strukturální indukcí

Definice strukturní indukce funkce je napsána pro každý konstruktor

kde je výraz, který závisí na i '. Všimněte si, že pokud je konstanta, je definice základního případu:

Odůvodnění strukturální indukcí

Demonstrační diagram, že vlastnost P je platná pro celou strukturu, je prezentován ve formě pravidla odvození pro každý konstruktor

Je proto nutné provést demonstraci „dědičnosti“ pro každého konstruktéra.

Případ přirozených čísel

Případ přirozených celých čísel je takový, kde existují dva konstruktory: 0 arity 0 (tedy konstanta) a succ (jinými slovy +1 ) arity 1 . Tradiční opakování se proto u těchto dvou výrobců snižuje na strukturální opakování.

Bibliografie

Podívejte se také

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">