(************************************************************************) (* v * The Coq Proof Assistant / The Coq Development Team *) (* CastConv (f a) | CastVM a -> CastVM (f a) | CastCoerce -> CastCoerce | CastNative a -> CastNative (f a) let smartmap_cast_type f c = match c with | CastConv a -> let a' = f a in if a' == a then c else CastConv a' | CastVM a -> let a' = f a in if a' == a then c else CastVM a' | CastCoerce -> CastCoerce | CastNative a -> let a' = f a in if a' == a then c else CastNative a' (** Equalities on [glob_sort] *) let glob_sort_eq g1 g2 = match g1, g2 with | GProp, GProp -> true | GSet, GSet -> true | GType None, GType None -> true | GType (Some s1), GType (Some s2) -> CString.equal s1 s2 | _ -> false