Class Pointed (M:Type -> Type) :=
{
creturn: forall {A: Type}, A -> M A
}.
UnsetImplicitArguments. Inductive FPair (A B:Type) (neutral: B) : Type:=
fpair : forall (a:A) (b:B), FPair A B neutral. Arguments fpair {A B neutral}.
SetImplicitArguments.
Notation"( x ,> y )" := (fpair x y) (at level 0).
#[export] Instance Pointed_FPair B neutral:
Pointed (fun A => FPair A B neutral) :=
{ creturn := fun A (a:A) => (a,> neutral) }. Definition blah_fail (x:bool) : FPair bool nat O :=
creturn x. Set Printing All. Print blah_fail.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.