Das dritte Kapitel von CPDT erläutert kurz, warum negative induktive Typen in Coq verboten sind. Wenn wirNachweis mit negativen induktiven Typen in Coq falsch
Inductive term : Set :=
| App : term -> term -> term
| Abs : (term -> term) -> term.
hatte dann könnten wir leicht eine Funktion definieren
Definition uhoh (t : term) : term :=
match t with
| Abs f => f t
| _ => t
end.
so dass der Begriff uhoh (Abs uhoh)
nicht-Abschluss wäre, mit dem „wir jeden Satz zu beweisen wäre in der Lage“.
Ich verstehe den Nicht-Kündigung Teil, aber ich verstehe nicht, wie wir damit etwas beweisen können. Wie würde man False
mit term
wie oben definiert beweisen?