(* Inductive t : Type -> Type := *) (* | Just : forall (A : Type), t A -> t A. *)
(* Fixpoint test {A : Type} (x : t A) : t (A + unit) := *) (* match x in t A return t (A + unit) with *) (* | Just T x => @test T x *) (* end. *)
Definition Type1 := Type. Definition Type2 := Type. Definition cast (x:Type2) := x:Type1. Axiom f: Type2 -> Prop. Definition A := let T := fun A:Type1 => _ in fun A':Type2 =>
eq_refl : T A' = f A' :> Prop. (* Type2 <= Type1... f A -> Type1 <= Type2 *)
Inductive t : Type -> Type :=
| Just : forall (A : Type), t A -> t A.
Fixpoint test {A : Type} (x : t A) : t (A + unit) := match x in t A with
| Just B x => @test B x end.
¤ Dauer der Verarbeitung: 0.21 Sekunden
(vorverarbeitet)
¤
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.