SetImplicitArguments. Module A. Set Universe Polymorphism. Set Primitive Projections. Set Asymmetric Patterns. Inductive paths {A} (x : A) : A -> Type := idpath : paths x x where"x = y" := (@paths _ x y) : type_scope.
Record sigT {A : Type} (P : A -> Type) := existT { projT1 : A; projT2 : P projT1 }. Arguments existT {A} _ _ _. Definition transport {A : Type} (P : A -> Type) {x y : A} (p : x = y) (u : P x) : P y := match p with idpath => u end. Notation"x .1" := (projT1 x). Notation"x .2" := (projT2 x). Notation"( x ; y )" := (existT _ x y). Set Printing All. Definition path_sigma_uncurried {A : Type} (P : A -> Type) (u v : sigT P)
(pq : sigT (fun p : u.1 = v.1 => transport _ p u.2 = v.2))
: u = v
:= match pq with
| existT p q => match u, v return (forall p0 : (u.1 = v.1), (transport P p0 u.2 = v.2) -> (u=v)) with
| (x;y), (x';y') => fun p1 (q1 : transport P p1 (existT P x y).2 = (existT P x' y').2) => match p1 in (_ = x'') return (forall y'', (transport _ p1 y = y'') -> (x;y)=(x'';y'')) with
| idpath => fun y' (q2 : transport _ (@idpath _ _) y = y') => match q2 in (_ = y'') return (x;y) = (x;y'') with
| idpath => @idpath _ _ end end y' q1 end p q end. (* Toplevel input, characters 341-357: Error: Inenvironment A:Type P:forall_:A,Type u:@sigTAP v:@sigTAP pq: @sigT(@pathsA(projT1u)(projT1v)) (funp:@pathsA(projT1u)(projT1v)=> @paths(P(projT1v))(@transportAP(projT1u)(projT1v)p(projT2u)) (projT2v)) p:@pathsA(projT1u)(projT1v) q: @paths(P(projT1v))(@transportAP(projT1u)(projT1v)p(projT2u)) (projT2v) x:A y:Px x':A y':Px' p1:@pathsA(projT1(@existTAPxy))(projT1(@existTAPx'y')) Theterm"projT2(@existTAPxy)"hastype"P(projT1(@existTAPxy))" whileitisexpectedtohavetype"P(projT1(@existTAPxy))".
*) End A.
Module B. Set Universe Polymorphism. Set Primitive Projections. Set Asymmetric Patterns. Inductive paths {A} (x : A) : A -> Type := idpath : paths x x where"x = y" := (@paths _ x y) : type_scope.
Record sigT {A : Type} (P : A -> Type) := existT { projT1 : A; projT2 : P projT1 }. Arguments existT {A} _ _ _. Definition transport {A : Type} (P : A -> Type) {x y : A} (p : x = y) (u : P x) : P y := match p with idpath => u end. Notation"x .1" := (projT1 x). Notation"x .2" := (projT2 x). Notation"( x ; y )" := (existT _ x y). Set Printing All.
Definition path_sigma_uncurried {A : Type} (P : A -> Type) (u v : sigT P)
(pq : sigT (fun p : u.1 = v.1 => transport _ p u.2 = v.2))
: u = v. Proof. destruct u as [x y]. destruct v. (* Toplevel input, characters 0-11: Error:Illegalapplication: Theterm"transport"oftype "forall(A:Type)(P:forall_:A,Type)(xy:A) (_:@pathsAxy)(_:Px),Py" cannotbeappliedtotheterms "A":"Type" "P":"forall_:A,Type" "projT1(@existTAPxy)":"A" "projT1v":"A" "p":"@pathsA(projT1(@existTAPxy))(projT1v)" "projT2(@existTAPxy)":"P(projT1(@existTAPxy))" The5thtermhastype"@pathsA(projT1(@existTAPxy))(projT1v)" whichshouldbecoercibleto "@pathsA(projT1(@existTAPxy))(projT1v)".
*) Abort. End B.
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.23 Sekunden
(vorverarbeitet am 2026-09-28)
¤
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 und die Messung sind noch experimentell.