我已經想出了下面玩具證明腳本:Coq:爲什麼我需要手動展開一個值,即使它有一個'提示Unfold`?
Inductive myType : Type :=
| c : unit -> myType.
Inductive myProp : myType -> Type :=
| d : forall t, myProp (c t).
Hint Constructors myProp.
Definition myValue : myType := c tt.
Hint Unfold myValue.
Example test: myProp myValue.
Proof.
auto 1000. (* does nothing *)
unfold myValue.
trivial.
Qed.
爲什麼我需要手動展開myValue
這裏?不應該提示足夠嗎?