pub fn and<X: Prop, Y: Prop, A: Prop, B: Prop>( (xa, pord_xa): Ty<X, A>, (yb, pord_yb): Ty<Y, B>, ) -> Ty<And<X, Y>, And<A, B>>
(x : a) ⋀ (y : b) => ((x ⋀ y) : (a ⋀ b)).
(x : a) ⋀ (y : b) => ((x ⋀ y) : (a ⋀ b))