0
は、あなたがエラーを修正することができます:コック:強制の定義でエラーが発生しました
私は
Coercion f (u:Arg) (x y z: Arg -> Prop) (t:x u /\ y u /\ z u): x u. tauto. Defined. Print f.
は、あなたがエラーを修正することができます:コック:強制の定義でエラーが発生しました
私は
Coercion f (u:Arg) (x y z: Arg -> Prop) (t:x u /\ y u /\ z u): x u. tauto. Defined. Print f.
部分的な答えから用語を取るとき、私は同じエラーを取得しています:あなたのfun t => @proj1 (x u) (y u /\ z u) t
用語はですタイプx u /\ y u /\ z u -> x /\ u
と入力します。あなたは強制的に型式がx u
になるようにしたいので、関数x u /\ y u /\ z u
をx u
にするために関数に与える必要があります。
fun t => proj1 t
のため混乱していると思います。混乱を避けるために、この変数の名前をfun foobar => proj1 foobar
のような新しい名前に変更すると、実際にはt
引数を使用することはありません。
したがって、全体の用語は(fun t => @proj1 (x u) (y u /\ z u) t) t
であり、Definition
で動作します。しかし、Coercion
の場合、次のメッセージが表示されます。
c is defined
Warning: c does not respect the uniform inheritance condition
Error: Cannot find the target class.