Ich versuche, den folgende Spielzeug Satz über die Ordnung des Naturals zu beweisen:Induktion über Beziehungen
Inductive Le: nat -> nat -> Prop :=
| le_n: forall n, Le n n
| le_S: forall n m, Le n m -> Le n (S m).
Theorem le_Sn_m: forall n m,
Le (S n) m -> Le n m.
Auf dem Papier ist dies eine einfache Induktion über Le (S n) m
. Insbesondere ist der Basisfall le_n
trivial. obwohl
In Coq, meinen Beweis mit Induktion Anfang gibt mir folgend:
Proof.
intros n m H. induction H.
1 subgoal
n, n0 : nat
______________________________________(1/1)
Le n n0
... in dem Fall, dass ich gesperrt bin.
Wie soll ich stattdessen verfahren?
IMHO dieses Beispiel als eine Übung auf Coq inductives Typen und Indizes durchtrennen könnte; Wenn Sie jedoch vorhaben, die '<=' Relation zu formalisieren, ist dies ein totaler Overkill und wird Ihnen viele Kopfschmerzen bereiten. Ich schlage vor, dass Sie Ihre Beziehung als eine Funktion 'nat -> nat -> bool 'definieren. – ejgallego