Ich habe Probleme, Coq/CIC Kopf Normalform zu verstehen. Genauer verstehe ich nicht, was ein Kopf ist. Das Referenzhandbuch (8.5p1) sagt, dassWas ist ein Kopf in Coq Kopf Normalform?
Jeder Begriff kann geschrieben werden:
Aber die obige Definition ist im negativen Sinne: es erfordert t0
nicht zu sein Anwendung, aber nicht gesagt, was kannt0
sein. Soweit ich mich erinnern kann, ist das einzige, was als t0 t1 t2 ...
geschrieben werden kann, eine Anwendung einer Funktion oder Konstruktor t0
.
Kann jemand mithelfen, was genau kann der Kopf hier sein?
Sie schreiben, dass 't0' eine Lambda-Abstraktion sein kann, aber in diesem Fall wäre das keine normale Form, da ein' t0 t1' ein Beta-Redex wäre. – pintoch
Tatsächlich haben Sie Recht. Aber weder das Handbuch noch ich sage es * in normaler Form *. Überprüfen Sie Abschnitt [4.4] (https://coq.inria.fr/distrib/current/refman/Reference-Manual006.html#subtyping-rules), Unterabschnitt "Normal form". Die Frage kommt von den Versuchen des OP, es durchzuarbeiten. –