Record prod (A B : Type) : Type :=
pair { fst : A; snd : B }.
Print prod_rect.
(* What I really want: *) Definition prod_rect' A B (P : prod A B -> Type) (u : forall (fst : A) (snd : B), P (pair fst snd))
(p : prod A B) : P p
:= u (fst p) (snd p).
Check eq_refl : @prod_rect = @prod_rect'. (* Toplevel input, characters 6-13: Error: The term "eq_refl" has type "prod_rect = prod_rect" while it is expected to have type "prod_rect = prod_rect'"
(cannot unify "prod_rect" and "prod_rect'"). *)
Record sigma (A : Type) (B : A -> Type) : Type :=
dpair { pi1 : A ; pi2 : B pi1 }.
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.