include "basics/types.ma". (* Stuff about Sigma types *) definition pi1: ∀A.∀P:A → Prop. (Σx:A. P x) → A ≝ λA,P,c. match c with [ dp w _ ⇒ w ]. coercion pi1: ∀A.∀P:A → Prop.∀p:(Σx:A. P x).A ≝ pi1 on _p:Σx:?.? to ?. definition pi2: ∀A.∀P:A → Prop. ∀x:Σx:A. P x. P x ≝ λA,P,c. match c return λx:Σx:A. P x. P x with [ dp _ p ⇒ p ].