Strukturelle Induktion in Haskell

7

Ist das folgende eine Definition der strukturellen Induktion?

%Vor%

Kann mir jemand ein Beispiel für strukturelle Induktion in Haskell geben?

    
user1913592 19.02.2013, 14:41
quelle

1 Antwort

23

Sie haben es nicht angegeben, aber ich nehme an, dass :: die Liste concentition und bedeutet Verwenden Sie ++ , da dies der in Haskell verwendete Operator ist. Um dies zu beweisen, werden wir eine Induktion auf xs durchführen. Zuerst zeigen wir, dass die Anweisung gilt für den Basisfall (d. h. xs = [] )

%Vor%

und

%Vor%

Nun nehmen wir an, dass die Induktions-Hypothese foldr f a (xs ++ ys) = foldr f (foldr f a ys) xs für xs gilt und zeigen, dass sie für die Liste gilt x:xs ebenfalls.

%Vor%

und

%Vor%

Nach unserer Induktionsannahme wissen wir, dass k1 und k2 gleich sind. deshalb

%Vor%

So beweisen wir unsere Hypothese.

    
sabauma 19.02.2013, 15:01
quelle

Tags und Links